From 36a7aff6d656f81a62a66d5f9dfd3b173a7c26d9 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 21 Jun 2023 15:52:14 +0200 Subject: [PATCH 01/10] use env var to switch next.js to turbopack mode (#51353) ### What? this forces all tests to use turbopack independent of the way they invoke next dev ### Why? some tests were not running turbopack fixes WEB-1187 --- .github/workflows/build_and_test.yml | 2 +- jest.config.js | 2 +- .../crates/next-dev-tests/tests-manifest.js | 4 +- packages/next/src/cli/next-build.ts | 6 +- packages/next/src/cli/next-dev.ts | 4 + .../custom-routes/test/index.test.js | 32 -- .../telemetry/test/page-features.test.js | 470 +++++++++--------- .../turbopack-unsupported-log/index.test.ts | 161 +++--- test/lib/next-test-utils.js | 32 +- 9 files changed, 335 insertions(+), 378 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 06d4e666de5ba87..56119e8be0c344a 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -118,7 +118,7 @@ jobs: uses: ./.github/workflows/build_reusable.yml with: skipForDocsOnly: 'yes' - afterBuild: RUST_BACKTRACE=0 NEXT_EXTERNAL_TESTS_FILTERS="$(pwd)/packages/next-swc/crates/next-dev-tests/tests-manifest.js" __INTERNAL_NEXT_DEV_TEST_TURBO_DEV=TRUE __INTERNAL_CUSTOM_TURBOPACK_BINDINGS="$(pwd)/packages/next-swc/native/next-swc.linux-x64-gnu.node" __INTERNAL_NEXT_DEV_TEST_TURBO_GLOB_MATCH="*" NEXT_E2E_TEST_TIMEOUT=240000 NEXT_TEST_MODE=dev node run-tests.js --type development --timings -c ${TEST_CONCURRENCY} + afterBuild: RUST_BACKTRACE=0 NEXT_EXTERNAL_TESTS_FILTERS="$(pwd)/packages/next-swc/crates/next-dev-tests/tests-manifest.js" TURBOPACK=1 __INTERNAL_CUSTOM_TURBOPACK_BINDINGS="$(pwd)/packages/next-swc/native/next-swc.linux-x64-gnu.node" NEXT_E2E_TEST_TIMEOUT=240000 NEXT_TEST_MODE=dev node run-tests.js --type development --timings -c ${TEST_CONCURRENCY} secrets: inherit test-next-swc-wasm: diff --git a/jest.config.js b/jest.config.js index 7b3fae7009d0b1f..e33a02a765e4417 100644 --- a/jest.config.js +++ b/jest.config.js @@ -39,7 +39,7 @@ if (shouldEnableTestTrace) { customJestConfig.reporters = ['default'] } - const outputDirectory = process.env.__INTERNAL_NEXT_DEV_TEST_TURBO_DEV + const outputDirectory = process.env.TURBOPACK ? '/turbopack-test-junit-report' : '/test-junit-report' customJestConfig.reporters.push([ diff --git a/packages/next-swc/crates/next-dev-tests/tests-manifest.js b/packages/next-swc/crates/next-dev-tests/tests-manifest.js index 25eae38737479d4..30828b5cc76beb0 100644 --- a/packages/next-swc/crates/next-dev-tests/tests-manifest.js +++ b/packages/next-swc/crates/next-dev-tests/tests-manifest.js @@ -14,7 +14,6 @@ const enabledTests = [ 'test/development/basic/define-class-fields.test.ts', 'test/development/basic/emotion-swc.test.ts', 'test/development/basic/legacy-decorators.test.ts', - 'test/development/basic/styled-components-disabled.test.ts', 'test/development/basic/tailwind-jit.test.ts', 'test/development/basic/theme-ui.test.ts', 'test/development/dotenv-default-expansion/index.test.ts', @@ -23,7 +22,6 @@ const enabledTests = [ 'test/development/project-directory-with-styled-jsx-suffix/index.test.ts', 'test/development/repeated-dev-edits/repeated-dev-edits.test.ts', 'test/development/tsconfig-path-reloading/index.test.ts', - 'test/development/typescript-auto-install/index.test.ts', 'test/e2e/app-dir/_allow-underscored-root-directory/_allow-underscored-root-directory.test.ts', 'test/e2e/app-dir/actions/app-action-export.test.ts', 'test/e2e/app-dir/app-alias/app-alias.test.ts', @@ -256,6 +254,8 @@ const enabledTests = [ 'test/integration/static-page-name/test/index.test.js', 'test/integration/styled-jsx-plugin/test/index.test.js', 'test/integration/tsconfig-verifier/test/index.test.js', + 'test/integration/telemetry/test/page-features.test.js', + 'test/integration/turbopack-unsupported-log/index.test.ts', 'test/integration/turbotrace-with-webpack-worker/test/index.test.js', 'test/integration/typeof-window-replace/test/index.test.js', 'test/integration/typescript-baseurl/test/index.test.js', diff --git a/packages/next/src/cli/next-build.ts b/packages/next/src/cli/next-build.ts index 043c49f445e4a4c..8048e26055df7f3 100755 --- a/packages/next/src/cli/next-build.ts +++ b/packages/next/src/cli/next-build.ts @@ -74,6 +74,10 @@ const nextBuild: CliCommand = (argv) => { printAndExit(`> No such directory exists as the project root: ${dir}`) } + if (args['--experimental-turbo']) { + process.env.TURBOPACK = '1' + } + return build( dir, args['--profile'], @@ -81,7 +85,7 @@ const nextBuild: CliCommand = (argv) => { !args['--no-lint'], args['--no-mangling'], args['--experimental-app-only'], - args['--experimental-turbo'], + !!process.env.TURBOPACK, args['--build-mode'] || 'default' ).catch((err) => { console.error('') diff --git a/packages/next/src/cli/next-dev.ts b/packages/next/src/cli/next-dev.ts index 578bcb78215091e..49b78babca99a3b 100644 --- a/packages/next/src/cli/next-dev.ts +++ b/packages/next/src/cli/next-dev.ts @@ -221,6 +221,10 @@ const nextDev: CliCommand = async (argv) => { } if (args['--turbo']) { + process.env.TURBOPACK = '1' + } + + if (process.env.TURBOPACK) { isTurboSession = true const { validateTurboNextConfig } = diff --git a/test/integration/custom-routes/test/index.test.js b/test/integration/custom-routes/test/index.test.js index f777ee74622a757..e80e08ef55cdc86 100644 --- a/test/integration/custom-routes/test/index.test.js +++ b/test/integration/custom-routes/test/index.test.js @@ -2732,38 +2732,6 @@ describe('Custom routes', () => { runTests(true) }) - // enable once https://github.com/vercel/turbo/pull/3894 is landed - describe.skip('dev mode (turbo)', () => { - let nextConfigContent - - beforeAll(async () => { - // ensure cache with rewrites disabled doesn't persist - // after enabling rewrites - await fs.remove(join(appDir, '.next')) - nextConfigContent = await fs.readFile(nextConfigPath, 'utf8') - await fs.writeFile( - nextConfigPath, - nextConfigContent.replace('// no-rewrites comment', 'return []') - ) - - const tempPort = await findPort() - const tempApp = await launchApp(appDir, tempPort, { turbo: true }) - await renderViaHTTP(tempPort, '/') - - await killApp(tempApp) - await fs.writeFile(nextConfigPath, nextConfigContent) - - appPort = await findPort() - app = await launchApp(appDir, appPort, { turbo: true }) - buildId = 'development' - }) - afterAll(async () => { - await fs.writeFile(nextConfigPath, nextConfigContent) - await killApp(app) - }) - runTests(true, true) - }) - describe('no-op rewrite', () => { beforeAll(async () => { appPort = await findPort() diff --git a/test/integration/telemetry/test/page-features.test.js b/test/integration/telemetry/test/page-features.test.js index fcb666f0ab8e78b..7a6bacdb7593c93 100644 --- a/test/integration/telemetry/test/page-features.test.js +++ b/test/integration/telemetry/test/page-features.test.js @@ -34,283 +34,287 @@ const setupAppDir = async () => { } describe('page features telemetry', () => { - it('detects --turbo correctly for `next dev`', async () => { - let port = await findPort() - let stderr = '' + if (process.env.TURBOPACK) { + it('detects --turbo correctly for `next dev`', async () => { + let port = await findPort() + let stderr = '' - const teardown = await setupAppDir() + const teardown = await setupAppDir() - try { - const handleStderr = (msg) => { - stderr += msg - } - let app = await launchApp(appDir, port, { - onStderr: handleStderr, - env: { - NEXT_TELEMETRY_DEBUG: 1, - }, - turbo: true, - }) - await check(() => stderr, /NEXT_CLI_SESSION_STARTED/) + try { + const handleStderr = (msg) => { + stderr += msg + } + let app = await launchApp(appDir, port, { + onStderr: handleStderr, + env: { + NEXT_TELEMETRY_DEBUG: 1, + }, + turbo: true, + }) + await check(() => stderr, /NEXT_CLI_SESSION_STARTED/) + + if (app) { + await killApp(app) + } - if (app) { - await killApp(app) + try { + expect(stderr).toContain('NEXT_CLI_SESSION_STARTED') + const event1 = /NEXT_CLI_SESSION_STARTED[\s\S]+?{([\s\S]+?)}/ + .exec(stderr) + .pop() + + expect(event1).toMatch(/"pagesDir": true/) + expect(event1).toMatch(/"turboFlag": true/) + } catch (err) { + require('console').error('failing stderr', stderr, err) + throw err + } + } finally { + await teardown() } + }) + + it('detects --turbo correctly for `next dev` stopped', async () => { + let port = await findPort() + let stderr = '' + + const teardown = await setupAppDir() try { - expect(stderr).toContain('NEXT_CLI_SESSION_STARTED') - const event1 = /NEXT_CLI_SESSION_STARTED[\s\S]+?{([\s\S]+?)}/ + const handleStderr = (msg) => { + stderr += msg + } + let app = await launchApp(appDir, port, { + onStderr: handleStderr, + env: { + NEXT_TELEMETRY_DEBUG: 1, + }, + turbo: true, + }) + + await check(() => stderr, /NEXT_CLI_SESSION_STARTED/) + + if (app) { + await killApp(app) + } + await check(() => stderr, /NEXT_CLI_SESSION_STOPPED/) + + expect(stderr).toContain('NEXT_CLI_SESSION_STOPPED') + const event1 = /NEXT_CLI_SESSION_STOPPED[\s\S]+?{([\s\S]+?)}/ .exec(stderr) .pop() expect(event1).toMatch(/"pagesDir": true/) expect(event1).toMatch(/"turboFlag": true/) - } catch (err) { - require('console').error('failing stderr', stderr, err) - throw err - } - } finally { - await teardown() - } - }) - - it('detects --turbo correctly for `next dev` stopped', async () => { - let port = await findPort() - let stderr = '' - const teardown = await setupAppDir() - - try { - const handleStderr = (msg) => { - stderr += msg + expect( + await fs.pathExists(path.join(appDir, '.next/_events.json')) + ).toBe(false) + } finally { + await teardown() } - let app = await launchApp(appDir, port, { - onStderr: handleStderr, - env: { - NEXT_TELEMETRY_DEBUG: 1, - }, - turbo: true, - }) + }) + } else { + it('detects correctly for `next dev` stopped (no turbo)', async () => { + let port = await findPort() + let stderr = '' - await check(() => stderr, /NEXT_CLI_SESSION_STARTED/) + const teardown = await setupAppDir() - if (app) { - await killApp(app) - } - await check(() => stderr, /NEXT_CLI_SESSION_STOPPED/) + try { + const handleStderr = (msg) => { + stderr += msg + } + let app = await launchApp(appDir, port, { + onStderr: handleStderr, + env: { + NEXT_TELEMETRY_DEBUG: 1, + }, + }) - expect(stderr).toContain('NEXT_CLI_SESSION_STOPPED') - const event1 = /NEXT_CLI_SESSION_STOPPED[\s\S]+?{([\s\S]+?)}/ - .exec(stderr) - .pop() + await check(() => stderr, /NEXT_CLI_SESSION_STARTED/) - expect(event1).toMatch(/"pagesDir": true/) - expect(event1).toMatch(/"turboFlag": true/) + if (app) { + await killApp(app) + } - expect(await fs.pathExists(path.join(appDir, '.next/_events.json'))).toBe( - false - ) - } finally { - await teardown() - } - }) + await check(() => stderr, /NEXT_CLI_SESSION_STOPPED/) - it('detects correctly for `next dev` stopped (no turbo)', async () => { - let port = await findPort() - let stderr = '' + expect(stderr).toContain('NEXT_CLI_SESSION_STOPPED') + const event1 = /NEXT_CLI_SESSION_STOPPED[\s\S]+?{([\s\S]+?)}/ + .exec(stderr) + .pop() - const teardown = await setupAppDir() + expect(event1).toMatch(/"turboFlag": false/) + expect(event1).toMatch(/"pagesDir": true/) + expect(event1).toMatch(/"appDir": true/) - try { - const handleStderr = (msg) => { - stderr += msg + expect( + await fs.pathExists(path.join(appDir, '.next/_events.json')) + ).toBe(false) + } finally { + await teardown() } - let app = await launchApp(appDir, port, { - onStderr: handleStderr, - env: { - NEXT_TELEMETRY_DEBUG: 1, - }, - }) + }) - await check(() => stderr, /NEXT_CLI_SESSION_STARTED/) + it('should detect app page counts', async () => { + const teardown = await setupAppDir() - if (app) { - await killApp(app) + try { + await fs.ensureFile(path.join(__dirname, '../app/ssr/page.js')) + await fs.writeFile( + path.join(__dirname, '../app/ssr/page.js'), + ` + export const revalidate = 0 + export default function Page() { + return

ssr page

+ } + ` + ) + await fs.ensureFile(path.join(__dirname, '../app/edge-ssr/page.js')) + await fs.writeFile( + path.join(__dirname, '../app/edge-ssr/page.js'), + ` + export const runtime = 'experimental-edge' + export default function Page() { + return

edge-ssr page

+ } + ` + ) + await fs.ensureFile( + path.join(__dirname, '../app/app-ssg/[slug]/page.js') + ) + await fs.writeFile( + path.join(__dirname, '../app/app-ssg/[slug]/page.js'), + ` + export function generateStaticParams() { + return [ + { slug: 'post-1' }, + { slug: 'post-2' }, + ] + } + export default function Page() { + return

ssg page

+ } + ` + ) + const { stderr } = await nextBuild(appDir, [], { + stderr: true, + env: { NEXT_TELEMETRY_DEBUG: 1 }, + }) + + try { + expect(stderr).toContain('NEXT_BUILD_OPTIMIZED') + const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/ + .exec(stderr) + .pop() + expect(event1).toMatch(/"staticPropsPageCount": 2/) + expect(event1).toMatch(/"serverPropsPageCount": 2/) + expect(event1).toMatch(/"ssrPageCount": 3/) + expect(event1).toMatch(/"staticPageCount": 4/) + expect(event1).toMatch(/"totalPageCount": 11/) + expect(event1).toMatch(/"totalAppPagesCount": 4/) + expect(event1).toMatch(/"serverAppPagesCount": 2/) + expect(event1).toMatch(/"edgeRuntimeAppCount": 1/) + expect(event1).toMatch(/"edgeRuntimePagesCount": 2/) + + expect(stderr).toContain('NEXT_BUILD_COMPLETED') + const event2 = /NEXT_BUILD_COMPLETED[\s\S]+?{([\s\S]+?)}/ + .exec(stderr) + .pop() + + expect(event2).toMatch(/"totalAppPagesCount": 4/) + } catch (err) { + require('console').error('failing stderr', stderr, err) + throw err + } + } finally { + await teardown() } + }) - await check(() => stderr, /NEXT_CLI_SESSION_STOPPED/) + it('detects reportWebVitals with no _app correctly for `next build`', async () => { + // Case 1: When _app.js does not exist. + let build = await nextBuild(appDir, [], { + stderr: 'log', + stdout: 'log', + env: { NEXT_TELEMETRY_DEBUG: 1 }, + }) - expect(stderr).toContain('NEXT_CLI_SESSION_STOPPED') - const event1 = /NEXT_CLI_SESSION_STOPPED[\s\S]+?{([\s\S]+?)}/ - .exec(stderr) + expect(build.stderr).toContain('NEXT_BUILD_OPTIMIZED') + let event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/ + .exec(build.stderr) .pop() + expect(event1).toMatch(/hasReportWebVitals.*?false/) + }) - expect(event1).toMatch(/"turboFlag": false/) - expect(event1).toMatch(/"pagesDir": true/) - expect(event1).toMatch(/"appDir": true/) - - expect(await fs.pathExists(path.join(appDir, '.next/_events.json'))).toBe( - false - ) - } finally { - await teardown() - } - }) - - it('should detect app page counts', async () => { - const teardown = await setupAppDir() - - try { - await fs.ensureFile(path.join(__dirname, '../app/ssr/page.js')) - await fs.writeFile( - path.join(__dirname, '../app/ssr/page.js'), - ` - export const revalidate = 0 - export default function Page() { - return

ssr page

- } - ` + it('detect with reportWebVitals correctly for `next build`', async () => { + // Case 2: When _app.js exist with reportWebVitals function. + await fs.utimes( + path.join(appDir, 'pages', '_app_withreportwebvitals.empty'), + new Date(), + new Date() ) - await fs.ensureFile(path.join(__dirname, '../app/edge-ssr/page.js')) - await fs.writeFile( - path.join(__dirname, '../app/edge-ssr/page.js'), - ` - export const runtime = 'experimental-edge' - export default function Page() { - return

edge-ssr page

- } - ` + await fs.rename( + path.join(appDir, 'pages', '_app_withreportwebvitals.empty'), + path.join(appDir, 'pages', '_app.js') ) - await fs.ensureFile(path.join(__dirname, '../app/app-ssg/[slug]/page.js')) - await fs.writeFile( - path.join(__dirname, '../app/app-ssg/[slug]/page.js'), - ` - export function generateStaticParams() { - return [ - { slug: 'post-1' }, - { slug: 'post-2' }, - ] - } - export default function Page() { - return

ssg page

- } - ` - ) - const { stderr } = await nextBuild(appDir, [], { + + const build = await nextBuild(appDir, [], { stderr: true, env: { NEXT_TELEMETRY_DEBUG: 1 }, }) + await fs.rename( + path.join(appDir, 'pages', '_app.js'), + path.join(appDir, 'pages', '_app_withreportwebvitals.empty') + ) + try { - expect(stderr).toContain('NEXT_BUILD_OPTIMIZED') + expect(build.stderr).toContain('NEXT_BUILD_OPTIMIZED') const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/ - .exec(stderr) - .pop() - expect(event1).toMatch(/"staticPropsPageCount": 2/) - expect(event1).toMatch(/"serverPropsPageCount": 2/) - expect(event1).toMatch(/"ssrPageCount": 3/) - expect(event1).toMatch(/"staticPageCount": 4/) - expect(event1).toMatch(/"totalPageCount": 11/) - expect(event1).toMatch(/"totalAppPagesCount": 4/) - expect(event1).toMatch(/"serverAppPagesCount": 2/) - expect(event1).toMatch(/"edgeRuntimeAppCount": 1/) - expect(event1).toMatch(/"edgeRuntimePagesCount": 2/) - - expect(stderr).toContain('NEXT_BUILD_COMPLETED') - const event2 = /NEXT_BUILD_COMPLETED[\s\S]+?{([\s\S]+?)}/ - .exec(stderr) + .exec(build.stderr) .pop() - - expect(event2).toMatch(/"totalAppPagesCount": 4/) + expect(event1).toMatch(/hasReportWebVitals.*?true/) } catch (err) { - require('console').error('failing stderr', stderr, err) + require('console').error(build.stderr) throw err } - } finally { - await teardown() - } - }) - - it('detects reportWebVitals with no _app correctly for `next build`', async () => { - // Case 1: When _app.js does not exist. - let build = await nextBuild(appDir, [], { - stderr: 'log', - stdout: 'log', - env: { NEXT_TELEMETRY_DEBUG: 1 }, - }) - - expect(build.stderr).toContain('NEXT_BUILD_OPTIMIZED') - let event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/ - .exec(build.stderr) - .pop() - expect(event1).toMatch(/hasReportWebVitals.*?false/) - }) - - it('detect with reportWebVitals correctly for `next build`', async () => { - // Case 2: When _app.js exist with reportWebVitals function. - await fs.utimes( - path.join(appDir, 'pages', '_app_withreportwebvitals.empty'), - new Date(), - new Date() - ) - await fs.rename( - path.join(appDir, 'pages', '_app_withreportwebvitals.empty'), - path.join(appDir, 'pages', '_app.js') - ) - - const build = await nextBuild(appDir, [], { - stderr: true, - env: { NEXT_TELEMETRY_DEBUG: 1 }, }) - await fs.rename( - path.join(appDir, 'pages', '_app.js'), - path.join(appDir, 'pages', '_app_withreportwebvitals.empty') - ) + it('detect without reportWebVitals correctly for `next build`', async () => { + // Case 3: When _app.js exist without reportWebVitals function. + await fs.utimes( + path.join(appDir, 'pages', '_app_withoutreportwebvitals.empty'), + new Date(), + new Date() + ) + await fs.rename( + path.join(appDir, 'pages', '_app_withoutreportwebvitals.empty'), + path.join(appDir, 'pages', '_app.js') + ) - try { - expect(build.stderr).toContain('NEXT_BUILD_OPTIMIZED') - const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/ - .exec(build.stderr) - .pop() - expect(event1).toMatch(/hasReportWebVitals.*?true/) - } catch (err) { - require('console').error(build.stderr) - throw err - } - }) - - it('detect without reportWebVitals correctly for `next build`', async () => { - // Case 3: When _app.js exist without reportWebVitals function. - await fs.utimes( - path.join(appDir, 'pages', '_app_withoutreportwebvitals.empty'), - new Date(), - new Date() - ) - await fs.rename( - path.join(appDir, 'pages', '_app_withoutreportwebvitals.empty'), - path.join(appDir, 'pages', '_app.js') - ) - - const build = await nextBuild(appDir, [], { - stderr: true, - env: { NEXT_TELEMETRY_DEBUG: 1 }, - }) + const build = await nextBuild(appDir, [], { + stderr: true, + env: { NEXT_TELEMETRY_DEBUG: 1 }, + }) - await fs.rename( - path.join(appDir, 'pages', '_app.js'), - path.join(appDir, 'pages', '_app_withoutreportwebvitals.empty') - ) + await fs.rename( + path.join(appDir, 'pages', '_app.js'), + path.join(appDir, 'pages', '_app_withoutreportwebvitals.empty') + ) - try { - expect(build.stderr).toContain('NEXT_BUILD_OPTIMIZED') - const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/ - .exec(build.stderr) - .pop() - expect(event1).toMatch(/hasReportWebVitals.*?false/) - } catch (err) { - require('console').error(build.stderr) - throw err - } - }) + try { + expect(build.stderr).toContain('NEXT_BUILD_OPTIMIZED') + const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/ + .exec(build.stderr) + .pop() + expect(event1).toMatch(/hasReportWebVitals.*?false/) + } catch (err) { + require('console').error(build.stderr) + throw err + } + }) + } }) diff --git a/test/integration/turbopack-unsupported-log/index.test.ts b/test/integration/turbopack-unsupported-log/index.test.ts index c46b1341ca00ebe..6a1ef27a62728b3 100644 --- a/test/integration/turbopack-unsupported-log/index.test.ts +++ b/test/integration/turbopack-unsupported-log/index.test.ts @@ -3,93 +3,94 @@ import fs from 'fs-extra' import { join } from 'path' describe('turbopack unsupported features log', () => { - const appDir = join(__dirname, 'app') + if (process.env.TURBOPACK) { + const appDir = join(__dirname, 'app') - it('should not warn by default', async () => { - let output = '' - const appPort = await findPort() - const app = await launchApp(appDir, appPort, { - turbo: true, - onStdout(msg) { - output += msg - }, - onStderr(msg) { - output += msg - }, - }) + it('should not warn by default', async () => { + let output = '' + const appPort = await findPort() + const app = await launchApp(appDir, appPort, { + onStdout(msg) { + output += msg + }, + onStderr(msg) { + output += msg + }, + }) - try { - expect(output).toContain( - 'Thank you for trying Next.js v13 with Turbopack!' - ) - expect(output).not.toContain( - 'You are using configuration and/or tools that are not yet' - ) - expect(await renderViaHTTP(appPort, '/')).toContain('hello world') - } finally { - await killApp(app).catch(() => {}) - } - }) - const nextConfigPath = join(appDir, 'next.config.js') - - it('should not warn with empty next.config.js', async () => { - let output = '' - await fs.writeFile(nextConfigPath, `module.exports = {}`) - const appPort = await findPort() - const app = await launchApp(appDir, appPort, { - turbo: true, - onStdout(msg) { - output += msg - }, - onStderr(msg) { - output += msg - }, + try { + expect(output).toContain( + 'Thank you for trying Next.js v13 with Turbopack!' + ) + expect(output).not.toContain( + 'You are using configuration and/or tools that are not yet' + ) + expect(await renderViaHTTP(appPort, '/')).toContain('hello world') + } finally { + await killApp(app).catch(() => {}) + } }) + const nextConfigPath = join(appDir, 'next.config.js') - try { - expect(output).toContain( - 'Thank you for trying Next.js v13 with Turbopack!' - ) - expect(output).not.toContain( - 'You are using configuration and/or tools that are not yet' - ) + it('should not warn with empty next.config.js', async () => { + let output = '' + await fs.writeFile(nextConfigPath, `module.exports = {}`) + const appPort = await findPort() + const app = await launchApp(appDir, appPort, { + onStdout(msg) { + output += msg + }, + onStderr(msg) { + output += msg + }, + }) - expect(await renderViaHTTP(appPort, '/')).toContain('hello world') - } finally { - await killApp(app).catch(() => {}) - await fs.remove(nextConfigPath) - } - }) + try { + expect(output).toContain( + 'Thank you for trying Next.js v13 with Turbopack!' + ) + expect(output).not.toContain( + 'You are using configuration and/or tools that are not yet' + ) - it('should warn with next.config.js with unsupported field', async () => { - let output = '' - await fs.writeFile( - nextConfigPath, - `module.exports = { - assetPrefix: '/idk' - }` - ) - const appPort = await findPort() - const app = await launchApp(appDir, appPort, { - turbo: true, - onStdout(msg) { - output += msg - }, - onStderr(msg) { - output += msg - }, + expect(await renderViaHTTP(appPort, '/')).toContain('hello world') + } finally { + await killApp(app).catch(() => {}) + await fs.remove(nextConfigPath) + } }) - try { - expect(output).toContain( - 'Thank you for trying Next.js v13 with Turbopack!' - ) - expect(output).toContain( - 'You are using configuration and/or tools that are not yet' + it('should warn with next.config.js with unsupported field', async () => { + let output = '' + await fs.writeFile( + nextConfigPath, + `module.exports = { + assetPrefix: '/idk' + }` ) - } finally { - await killApp(app).catch(() => {}) - await fs.remove(nextConfigPath) - } - }) + const appPort = await findPort() + const app = await launchApp(appDir, appPort, { + onStdout(msg) { + output += msg + }, + onStderr(msg) { + output += msg + }, + }) + + try { + expect(output).toContain( + 'Thank you for trying Next.js v13 with Turbopack!' + ) + expect(output).toContain( + 'You are using configuration and/or tools that are not yet' + ) + } finally { + await killApp(app).catch(() => {}) + await fs.remove(nextConfigPath) + } + }) + } else { + it.skip('turobpack only', () => {}) + } }) diff --git a/test/lib/next-test-utils.js b/test/lib/next-test-utils.js index dc4fc62ca02c94b..4bc8c11a8db1669 100644 --- a/test/lib/next-test-utils.js +++ b/test/lib/next-test-utils.js @@ -376,9 +376,7 @@ export function runNextCommandDev(argv, stdOut, opts = {}) { // Launch the app in dev mode. export function launchApp(dir, port, opts) { const options = opts ?? {} - const useTurbo = !!process.env.TEST_WASM - ? false - : options?.turbo ?? shouldRunTurboDevTest() + const useTurbo = shouldRunTurboDevTest() return runNextCommandDev( [useTurbo ? '--turbo' : undefined, dir, '-p', port].filter(Boolean), @@ -921,38 +919,16 @@ export function shouldRunTurboDevTest() { return false } - const shouldRunTurboDev = !!process.env.__INTERNAL_NEXT_DEV_TEST_TURBO_DEV + const shouldRunTurboDev = !!process.env.TURBOPACK // short-circuit to run all the test with --turbo enabled skips glob matching costs if (shouldRunTurboDev) { console.log( - `Running tests with --turbo via custom environment variable __INTERNAL_NEXT_DEV_TEST_TURBO_DEV` + `Running tests with turbopack via custom environment variable TURBOPACK` ) return true } - const shouldRunTurboDevWithMatches = - !!process.env.__INTERNAL_NEXT_DEV_TEST_TURBO_GLOB_MATCH - - // By default, we do not run any tests with `--turbo` flag. - if (!shouldRunTurboDevWithMatches) { - return false - } - - const glob = require('glob') - const matches = glob.sync( - process.env.__INTERNAL_NEXT_DEV_TEST_TURBO_GLOB_MATCH - ) - const testPath = expect.getState().testPath - const isMatch = matches.some((match) => testPath.includes(match)) - - if (isMatch) { - console.log( - `Running tests with --turbo via custom environment variable __INTERNAL_NEXT_DEV_TEST_TURBO_GLOB_MATCH` - ) - } - - // If the test path matches the glob pattern, add additional case to run the test with `--turbo` flag. - return isMatch + return false } // WEB-168: There are some differences / incompletes in turbopack implementation enforces jest requires to update From a43b9ed601cdac024c4dd6464c65398ae585e603 Mon Sep 17 00:00:00 2001 From: Delba de Oliveira <32464864+delbaoliveira@users.noreply.github.com> Date: Wed, 21 Jun 2023 16:31:20 +0100 Subject: [PATCH 02/10] [Docs] Update broken link validator (#51586) - Add some basic error handling to the link validator action. - Avoid unnecessarily creating a new bot comment when the validation is successful. - Only scan .mdx files modified in the current PR for broken links. --- .../actions/validate-docs-links/lib/index.js | 10 +- .../validate-docs-links/lib/licenses.txt | 25 ++ .../actions/validate-docs-links/package.json | 1 + .../actions/validate-docs-links/src/index.ts | 332 +++++++++++------- 4 files changed, 233 insertions(+), 135 deletions(-) diff --git a/.github/actions/validate-docs-links/lib/index.js b/.github/actions/validate-docs-links/lib/index.js index 81f8ef4f4549253..29859d63e6f1e83 100644 --- a/.github/actions/validate-docs-links/lib/index.js +++ b/.github/actions/validate-docs-links/lib/index.js @@ -1,4 +1,4 @@ -import{createRequire as __WEBPACK_EXTERNAL_createRequire}from"module";var __webpack_modules__={4087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.Context=void 0;const a=r(7147);const n=r(2037);class Context{constructor(){var e,t,r;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(a.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(a.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${n.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(t=process.env.GITHUB_SERVER_URL)!==null&&t!==void 0?t:`https://github.com`;this.graphqlUrl=(r=process.env.GITHUB_GRAPHQL_URL)!==null&&r!==void 0?r:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,t]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:t}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}t.Context=Context},5438:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokit=t.context=void 0;const o=i(r(4087));const s=r(3030);t.context=new o.Context;function getOctokit(e,t,...r){const a=s.GitHub.plugin(...r);return new a(s.getOctokitOptions(e,t))}t.getOctokit=getOctokit},7914:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getApiBaseUrl=t.getProxyAgent=t.getAuthString=void 0;const o=i(r(6255));function getAuthString(e,t){if(!e&&!t.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&t.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof t.auth==="string"?t.auth:`token ${e}`}t.getAuthString=getAuthString;function getProxyAgent(e){const t=new o.HttpClient;return t.getAgent(e)}t.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}t.getApiBaseUrl=getApiBaseUrl},3030:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokitOptions=t.GitHub=t.defaults=t.context=void 0;const o=i(r(4087));const s=i(r(7914));const p=r(6762);const d=r(3044);const l=r(4193);t.context=new o.Context;const m=s.getApiBaseUrl();t.defaults={baseUrl:m,request:{agent:s.getProxyAgent(m)}};t.GitHub=p.Octokit.plugin(d.restEndpointMethods,l.paginateRest).defaults(t.defaults);function getOctokitOptions(e,t){const r=Object.assign({},t||{});const a=s.getAuthString(e,r);if(a){r.auth=a}return r}t.getOctokitOptions=getOctokitOptions},6255:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};var o=this&&this.__awaiter||function(e,t,r,a){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(a.next(e))}catch(e){n(e)}}function rejected(e){try{step(a["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const s=i(r(3685));const p=i(r(5687));const d=i(r(9835));const l=i(r(4294));var m;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(m=t.HttpCodes||(t.HttpCodes={}));var c;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(c=t.Headers||(t.Headers={}));var g;(function(e){e["ApplicationJson"]="application/json"})(g=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=d.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const v=[m.MovedPermanently,m.ResourceMoved,m.SeeOther,m.TemporaryRedirect,m.PermanentRedirect];const T=[m.BadGateway,m.ServiceUnavailable,m.GatewayTimeout];const E=["OPTIONS","GET","DELETE","HEAD"];const _=10;const w=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return o(this,void 0,void 0,(function*(){return new Promise((e=>o(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return o(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return o(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return o(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return o(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return o(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return o(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return o(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,a){return o(this,void 0,void 0,(function*(){return this.request(e,t,r,a)}))}getJson(e,t={}){return o(this,void 0,void 0,(function*(){t[c.Accept]=this._getExistingOrDefaultHeader(t,c.Accept,g.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return o(this,void 0,void 0,(function*(){const a=JSON.stringify(t,null,2);r[c.Accept]=this._getExistingOrDefaultHeader(r,c.Accept,g.ApplicationJson);r[c.ContentType]=this._getExistingOrDefaultHeader(r,c.ContentType,g.ApplicationJson);const n=yield this.post(e,a,r);return this._processResponse(n,this.requestOptions)}))}putJson(e,t,r={}){return o(this,void 0,void 0,(function*(){const a=JSON.stringify(t,null,2);r[c.Accept]=this._getExistingOrDefaultHeader(r,c.Accept,g.ApplicationJson);r[c.ContentType]=this._getExistingOrDefaultHeader(r,c.ContentType,g.ApplicationJson);const n=yield this.put(e,a,r);return this._processResponse(n,this.requestOptions)}))}patchJson(e,t,r={}){return o(this,void 0,void 0,(function*(){const a=JSON.stringify(t,null,2);r[c.Accept]=this._getExistingOrDefaultHeader(r,c.Accept,g.ApplicationJson);r[c.ContentType]=this._getExistingOrDefaultHeader(r,c.ContentType,g.ApplicationJson);const n=yield this.patch(e,a,r);return this._processResponse(n,this.requestOptions)}))}request(e,t,r,a){return o(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const n=new URL(t);let i=this._prepareRequest(e,n,a);const o=this._allowRetries&&E.includes(e)?this._maxRetries+1:1;let s=0;let p;do{p=yield this.requestRaw(i,r);if(p&&p.message&&p.message.statusCode===m.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(p)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return p}}let t=this._maxRedirects;while(p.message.statusCode&&v.includes(p.message.statusCode)&&this._allowRedirects&&t>0){const o=p.message.headers["location"];if(!o){break}const s=new URL(o);if(n.protocol==="https:"&&n.protocol!==s.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield p.readBody();if(s.hostname!==n.hostname){for(const e in a){if(e.toLowerCase()==="authorization"){delete a[e]}}}i=this._prepareRequest(e,s,a);p=yield this.requestRaw(i,r);t--}if(!p.message.statusCode||!T.includes(p.message.statusCode)){return p}s+=1;if(s{function callbackForResult(e,t){if(e){a(e)}else if(!t){a(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let a=false;function handleResult(e,t){if(!a){a=true;r(e,t)}}const n=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;n.on("socket",(e=>{i=e}));n.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));n.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){n.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){n.end()}));t.pipe(n)}else{n.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const a={};a.parsedUrl=t;const n=a.parsedUrl.protocol==="https:";a.httpModule=n?p:s;const i=n?443:80;a.options={};a.options.host=a.parsedUrl.hostname;a.options.port=a.parsedUrl.port?parseInt(a.parsedUrl.port):i;a.options.path=(a.parsedUrl.pathname||"")+(a.parsedUrl.search||"");a.options.method=e;a.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){a.options.headers["user-agent"]=this.userAgent}a.options.agent=this._getAgent(a.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(a.options)}}return a}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let a;if(this.requestOptions&&this.requestOptions.headers){a=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||a||r}_getAgent(e){let t;const r=d.getProxyUrl(e);const a=r&&r.hostname;if(this._keepAlive&&a){t=this._proxyAgent}if(this._keepAlive&&!a){t=this._agent}if(t){return t}const n=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||s.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let a;const o=r.protocol==="https:";if(n){a=o?l.httpsOverHttps:l.httpsOverHttp}else{a=o?l.httpOverHttps:l.httpOverHttp}t=a(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=n?new p.Agent(e):new s.Agent(e);this._agent=t}if(!t){t=n?p.globalAgent:s.globalAgent}if(n&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return o(this,void 0,void 0,(function*(){e=Math.min(_,e);const t=w*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return o(this,void 0,void 0,(function*(){return new Promise(((r,a)=>o(this,void 0,void 0,(function*(){const n=e.message.statusCode||0;const i={statusCode:n,result:null,headers:{}};if(n===m.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let o;let s;try{s=yield e.readBody();if(s&&s.length>0){if(t&&t.deserializeDates){o=JSON.parse(s,dateTimeDeserializer)}else{o=JSON.parse(s)}i.result=o}i.headers=e.message.headers}catch(e){}if(n>299){let e;if(o&&o.message){e=o.message}else if(s&&s.length>0){e=s}else{e=`Failed request: (${n})`}const t=new HttpClientError(e,n);t.result=i.result;a(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},9835:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let a;if(e.port){a=Number(e.port)}else if(e.protocol==="http:"){a=80}else if(e.protocol==="https:"){a=443}const n=[e.hostname.toUpperCase()];if(typeof a==="number"){n.push(`${n[0]}:${a}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||n.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});const r=/^v1\./;const a=/^ghs_/;const n=/^ghu_/;async function auth(e){const t=e.split(/\./).length===3;const i=r.test(e)||a.test(e);const o=n.test(e);const s=t?"app":i?"installation":o?"user-to-server":"oauth";return{type:"token",token:e,tokenType:s}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,t,r,a){const n=t.endpoint.merge(r,a);n.headers.authorization=withAuthorizationPrefix(e);return t(n)}const i=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};t.createTokenAuth=i},6762:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});var a=r(5030);var n=r(3682);var i=r(6234);var o=r(8467);var s=r(334);function _objectWithoutPropertiesLoose(e,t){if(e==null)return{};var r={};var a=Object.keys(e);var n,i;for(i=0;i=0)continue;r[n]=e[n]}return r}function _objectWithoutProperties(e,t){if(e==null)return{};var r=_objectWithoutPropertiesLoose(e,t);var a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,a))continue;r[a]=e[a]}}return r}const p="3.6.0";const d=["authStrategy"];class Octokit{constructor(e={}){const t=new n.Collection;const r={baseUrl:i.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};r.headers["user-agent"]=[e.userAgent,`octokit-core.js/${p} ${a.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){r.baseUrl=e.baseUrl}if(e.previews){r.mediaType.previews=e.previews}if(e.timeZone){r.headers["time-zone"]=e.timeZone}this.request=i.request.defaults(r);this.graphql=o.withCustomRequest(this.request).defaults(r);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const r=s.createTokenAuth(e.auth);t.wrap("request",r.hook);this.auth=r}}else{const{authStrategy:r}=e,a=_objectWithoutProperties(e,d);const n=r(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:a},e.auth));t.wrap("request",n.hook);this.auth=n}const l=this.constructor;l.plugins.forEach((t=>{Object.assign(this,t(this,e))}))}static defaults(e){const t=class extends(this){constructor(...t){const r=t[0]||{};if(typeof e==="function"){super(e(r));return}super(Object.assign({},e,r,r.userAgent&&e.userAgent?{userAgent:`${r.userAgent} ${e.userAgent}`}:null))}};return t}static plugin(...e){var t;const r=this.plugins;const a=(t=class extends(this){},t.plugins=r.concat(e.filter((e=>!r.includes(e)))),t);return a}}Octokit.VERSION=p;Octokit.plugins=[];t.Octokit=Octokit},9440:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});var a=r(3287);var n=r(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((t,r)=>{t[r.toLowerCase()]=e[r];return t}),{})}function mergeDeep(e,t){const r=Object.assign({},e);Object.keys(t).forEach((n=>{if(a.isPlainObject(t[n])){if(!(n in e))Object.assign(r,{[n]:t[n]});else r[n]=mergeDeep(e[n],t[n])}else{Object.assign(r,{[n]:t[n]})}}));return r}function removeUndefinedProperties(e){for(const t in e){if(e[t]===undefined){delete e[t]}}return e}function merge(e,t,r){if(typeof t==="string"){let[e,a]=t.split(" ");r=Object.assign(a?{method:e,url:a}:{url:e},r)}else{r=Object.assign({},t)}r.headers=lowercaseKeys(r.headers);removeUndefinedProperties(r);removeUndefinedProperties(r.headers);const a=mergeDeep(e||{},r);if(e&&e.mediaType.previews.length){a.mediaType.previews=e.mediaType.previews.filter((e=>!a.mediaType.previews.includes(e))).concat(a.mediaType.previews)}a.mediaType.previews=a.mediaType.previews.map((e=>e.replace(/-preview/,"")));return a}function addQueryParameters(e,t){const r=/\?/.test(e)?"&":"?";const a=Object.keys(t);if(a.length===0){return e}return e+r+a.map((e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`})).join("&")}const i=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const t=e.match(i);if(!t){return[]}return t.map(removeNonChars).reduce(((e,t)=>e.concat(t)),[])}function omit(e,t){return Object.keys(e).filter((e=>!t.includes(e))).reduce(((t,r)=>{t[r]=e[r];return t}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,t,r){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(r){return encodeUnreserved(r)+"="+t}else{return t}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,r,a){var n=e[r],i=[];if(isDefined(n)&&n!==""){if(typeof n==="string"||typeof n==="number"||typeof n==="boolean"){n=n.toString();if(a&&a!=="*"){n=n.substring(0,parseInt(a,10))}i.push(encodeValue(t,n,isKeyOperator(t)?r:""))}else{if(a==="*"){if(Array.isArray(n)){n.filter(isDefined).forEach((function(e){i.push(encodeValue(t,e,isKeyOperator(t)?r:""))}))}else{Object.keys(n).forEach((function(e){if(isDefined(n[e])){i.push(encodeValue(t,n[e],e))}}))}}else{const e=[];if(Array.isArray(n)){n.filter(isDefined).forEach((function(r){e.push(encodeValue(t,r))}))}else{Object.keys(n).forEach((function(r){if(isDefined(n[r])){e.push(encodeUnreserved(r));e.push(encodeValue(t,n[r].toString()))}}))}if(isKeyOperator(t)){i.push(encodeUnreserved(r)+"="+e.join(","))}else if(e.length!==0){i.push(e.join(","))}}}}else{if(t===";"){if(isDefined(n)){i.push(encodeUnreserved(r))}}else if(n===""&&(t==="&"||t==="?")){i.push(encodeUnreserved(r)+"=")}else if(n===""){i.push("")}}return i}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var r=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,a,n){if(a){let e="";const n=[];if(r.indexOf(a.charAt(0))!==-1){e=a.charAt(0);a=a.substr(1)}a.split(/,/g).forEach((function(r){var a=/([^:\*]*)(?::(\d+)|(\*))?/.exec(r);n.push(getValues(t,e,a[1],a[2]||a[3]))}));if(e&&e!=="+"){var i=",";if(e==="?"){i="&"}else if(e!=="#"){i=e}return(n.length!==0?e:"")+n.join(i)}else{return n.join(",")}}else{return encodeReserved(n)}}))}function parse(e){let t=e.method.toUpperCase();let r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let a=Object.assign({},e.headers);let n;let i=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const o=extractUrlVariableNames(r);r=parseUrl(r).expand(i);if(!/^http/.test(r)){r=e.baseUrl+r}const s=Object.keys(e).filter((e=>o.includes(e))).concat("baseUrl");const p=omit(i,s);const d=/application\/octet-stream/i.test(a.accept);if(!d){if(e.mediaType.format){a.accept=a.accept.split(/,/).map((t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const t=a.accept.match(/[\w-]+(?=-preview)/g)||[];a.accept=t.concat(e.mediaType.previews).map((t=>{const r=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${r}`})).join(",")}}if(["GET","HEAD"].includes(t)){r=addQueryParameters(r,p)}else{if("data"in p){n=p.data}else{if(Object.keys(p).length){n=p}else{a["content-length"]=0}}}if(!a["content-type"]&&typeof n!=="undefined"){a["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof n==="undefined"){n=""}return Object.assign({method:t,url:r,headers:a},typeof n!=="undefined"?{body:n}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,r){return parse(merge(e,t,r))}function withDefaults(e,t){const r=merge(e,t);const a=endpointWithDefaults.bind(null,r);return Object.assign(a,{DEFAULTS:r,defaults:withDefaults.bind(null,r),merge:merge.bind(null,r),parse:parse})}const o="6.0.12";const s=`octokit-endpoint.js/${o} ${n.getUserAgent()}`;const p={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":s},mediaType:{format:"",previews:[]}};const d=withDefaults(null,p);t.endpoint=d},8467:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});var a=r(6234);var n=r(5030);const i="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,t,r){super(_buildMessageForResponseErrors(r));this.request=e;this.headers=t;this.response=r;this.name="GraphqlResponseError";this.errors=r.errors;this.data=r.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const o=["method","baseUrl","url","headers","request","query","mediaType"];const s=["query","method","url"];const p=/\/api\/v3\/?$/;function graphql(e,t,r){if(r){if(typeof t==="string"&&"query"in r){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in r){if(!s.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const a=typeof t==="string"?Object.assign({query:t},r):t;const n=Object.keys(a).reduce(((e,t)=>{if(o.includes(t)){e[t]=a[t];return e}if(!e.variables){e.variables={}}e.variables[t]=a[t];return e}),{});const i=a.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(p.test(i)){n.url=i.replace(p,"/api/graphql")}return e(n).then((e=>{if(e.data.errors){const t={};for(const r of Object.keys(e.headers)){t[r]=e.headers[r]}throw new GraphqlResponseError(n,t,e.data)}return e.data.data}))}function withDefaults(e,t){const r=e.defaults(t);const newApi=(e,t)=>graphql(r,e,t);return Object.assign(newApi,{defaults:withDefaults.bind(null,r),endpoint:a.request.endpoint})}const d=withDefaults(a.request,{headers:{"user-agent":`octokit-graphql.js/${i} ${n.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}t.GraphqlResponseError=GraphqlResponseError;t.graphql=d;t.withCustomRequest=withCustomRequest},4193:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});const r="2.21.3";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread2(e){for(var t=1;t({async next(){if(!s)return{done:true};try{const e=await n({method:i,url:s,headers:o});const t=normalizePaginatedListResponse(e);s=((t.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:t}}catch(e){if(e.status!==409)throw e;s="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,t,r,a){if(typeof r==="function"){a=r;r=undefined}return gather(e,[],iterator(e,t,r)[Symbol.asyncIterator](),a)}function gather(e,t,r,a){return r.next().then((n=>{if(n.done){return t}let i=false;function done(){i=true}t=t.concat(a?a(n.value,done):n.value.data);if(i){return t}return gather(e,t,r,a)}))}const a=Object.assign(paginate,{iterator:iterator});const n=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return n.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=r;t.composePaginateRest=a;t.isPaginatingEndpoint=isPaginatingEndpoint;t.paginateRest=paginateRest;t.paginatingEndpoints=n},3044:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);if(t){a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))}r.push.apply(r,a)}return r}function _objectSpread2(e){for(var t=1;t{Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var a=r(8932);var n=_interopDefault(r(1223));const i=n((e=>console.warn(e)));const o=n((e=>console.warn(e)));class RequestError extends Error{constructor(e,t,r){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=t;let n;if("headers"in r&&typeof r.headers!=="undefined"){n=r.headers}if("response"in r){this.response=r.response;n=r.response.headers}const s=Object.assign({},r.request);if(r.request.headers.authorization){s.headers=Object.assign({},r.request.headers,{authorization:r.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=s;Object.defineProperty(this,"code",{get(){i(new a.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return t}});Object.defineProperty(this,"headers",{get(){o(new a.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return n||{}}})}}t.RequestError=RequestError},6234:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var a=r(9440);var n=r(5030);var i=r(3287);var o=_interopDefault(r(467));var s=r(537);const p="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const t=e.request&&e.request.log?e.request.log:console;if(i.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let r={};let a;let n;const p=e.request&&e.request.fetch||o;return p(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async i=>{n=i.url;a=i.status;for(const e of i.headers){r[e[0]]=e[1]}if("deprecation"in r){const a=r.link&&r.link.match(/<([^>]+)>; rel="deprecation"/);const n=a&&a.pop();t.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${r.sunset}${n?`. See ${n}`:""}`)}if(a===204||a===205){return}if(e.method==="HEAD"){if(a<400){return}throw new s.RequestError(i.statusText,a,{response:{url:n,status:a,headers:r,data:undefined},request:e})}if(a===304){throw new s.RequestError("Not modified",a,{response:{url:n,status:a,headers:r,data:await getResponseData(i)},request:e})}if(a>=400){const t=await getResponseData(i);const o=new s.RequestError(toErrorMessage(t),a,{response:{url:n,status:a,headers:r,data:t},request:e});throw o}return getResponseData(i)})).then((e=>({status:a,url:n,headers:r,data:e}))).catch((t=>{if(t instanceof s.RequestError)throw t;throw new s.RequestError(t.message,500,{request:e})}))}async function getResponseData(e){const t=e.headers.get("content-type");if(/application\/json/.test(t)){return e.json()}if(!t||/^text\/|charset=utf-8$/.test(t)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,t){const r=e.defaults(t);const newApi=function(e,t){const a=r.merge(e,t);if(!a.request||!a.request.hook){return fetchWrapper(r.parse(a))}const request=(e,t)=>fetchWrapper(r.parse(r.merge(e,t)));Object.assign(request,{endpoint:r,defaults:withDefaults.bind(null,r)});return a.request.hook(request,a)};return Object.assign(newApi,{endpoint:r,defaults:withDefaults.bind(null,r)})}const d=withDefaults(a.endpoint,{headers:{"user-agent":`octokit-request.js/${p} ${n.getUserAgent()}`}});t.request=d},7240:e=>{e.exports=bail;function bail(e){if(e){throw e}}},3682:(e,t,r)=>{var a=r(4670);var n=r(5549);var i=r(6819);var o=Function.bind;var s=o.bind(o);function bindApi(e,t,r){var a=s(i,null).apply(null,r?[t,r]:[t]);e.api={remove:a};e.remove=a;["before","error","after","wrap"].forEach((function(a){var i=r?[t,a,r]:[t,a];e[a]=e.api[a]=s(n,null).apply(null,i)}))}function HookSingular(){var e="h";var t={registry:{}};var r=a.bind(null,t,e);bindApi(r,t,e);return r}function HookCollection(){var e={registry:{}};var t=a.bind(null,e);bindApi(t,e);return t}var p=false;function Hook(){if(!p){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');p=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,t,r,a){var n=a;if(!e.registry[r]){e.registry[r]=[]}if(t==="before"){a=function(e,t){return Promise.resolve().then(n.bind(null,t)).then(e.bind(null,t))}}if(t==="after"){a=function(e,t){var r;return Promise.resolve().then(e.bind(null,t)).then((function(e){r=e;return n(r,t)})).then((function(){return r}))}}if(t==="error"){a=function(e,t){return Promise.resolve().then(e.bind(null,t)).catch((function(e){return n(e,t)}))}}e.registry[r].push({hook:a,orig:n})}},4670:e=>{e.exports=register;function register(e,t,r,a){if(typeof r!=="function"){throw new Error("method for before hook must be a function")}if(!a){a={}}if(Array.isArray(t)){return t.reverse().reduce((function(t,r){return register.bind(null,e,r,t,a)}),r)()}return Promise.resolve().then((function(){if(!e.registry[t]){return r(a)}return e.registry[t].reduce((function(e,t){return t.hook.bind(null,e,a)}),r)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,t,r){if(!e.registry[t]){return}var a=e.registry[t].map((function(e){return e.orig})).indexOf(r);if(a===-1){return}e.registry[t].splice(a,1)}},1291:e=>{e.exports=ccount;function ccount(e,t){var r=String(e);var a=0;var n;if(typeof t!=="string"){throw new Error("Expected character")}n=r.indexOf(t);while(n!==-1){a++;n=r.indexOf(t,n+t.length)}return a}},8201:e=>{e.exports=collapse;function collapse(e){return String(e).replace(/\s+/g," ")}},2194:(e,t)=>{t.parse=parse;t.stringify=stringify;var r=",";var a=" ";var n="";function parse(e){var t=[];var a=String(e||n);var i=a.indexOf(r);var o=0;var s=false;var p;while(!s){if(i===-1){i=a.length;s=true}p=a.slice(o,i).trim();if(p||!s){t.push(p)}o=i+1;i=a.indexOf(r,o)}return t}function stringify(e,t){var i=t||{};var o=i.padLeft===false?n:a;var s=i.padRight?a:n;if(e[e.length-1]===n){e=e.concat(n)}return e.join(s+r+o).trim()}},8932:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}t.Deprecation=Deprecation},9050:(e,t,r)=>{e.exports=detab;var a=r(6976);var n=/[\t\n\r]/g;function detab(e,t){var r=t||4;var i=[];var o=0;var s=0;var p=-1;var d;var l;var m;if(typeof e!=="string"){throw new Error("detab expected string")}while(s{e.exports=function(){return/[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]|\uD83C\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uD83C\uDDFE\uD83C[\uDDEA\uDDF9]|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDFC\uD83C[\uDDEB\uDDF8]|\uD83C\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uD83C\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF8\uDDFE\uDDFF]|\uD83C\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uD83C\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uD83C\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uD83C\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uD83C\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uD83C\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uD83C\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uD83C\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uD83C\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uD83C\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uD83C\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uD83C\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uD83C\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uD83C\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uD83C\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uD83C\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|[#\*0-9]\u20E3/g}},7512:(e,t,r)=>{var a=r(429);e.exports=function extend(e){if(!a(e)){e={}}var t=arguments.length;for(var r=1;r{var t=Object.prototype.hasOwnProperty;var r=Object.prototype.toString;var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var i=function isArray(e){if(typeof Array.isArray==="function"){return Array.isArray(e)}return r.call(e)==="[object Array]"};var o=function isPlainObject(e){if(!e||r.call(e)!=="[object Object]"){return false}var a=t.call(e,"constructor");var n=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!a&&!n){return false}var i;for(i in e){}return typeof i==="undefined"||t.call(e,i)};var s=function setProperty(e,t){if(a&&t.name==="__proto__"){a(e,t.name,{enumerable:true,configurable:true,value:t.newValue,writable:true})}else{e[t.name]=t.newValue}};var p=function getProperty(e,r){if(r==="__proto__"){if(!t.call(e,r)){return void 0}else if(n){return n(e,r).value}}return e[r]};e.exports=function extend(){var e,t,r,a,n,d;var l=arguments[0];var m=1;var c=arguments.length;var g=false;if(typeof l==="boolean"){g=l;l=arguments[1]||{};m=2}if(l==null||typeof l!=="object"&&typeof l!=="function"){l={}}for(;m{var a=r(8212);e.exports=BananaSlug;function BananaSlug(){var e=this;if(!(e instanceof BananaSlug))return new BananaSlug;e.reset()}BananaSlug.prototype.slug=function(e,t){t=t===true;var r=this;var a=slugger(e,t);var n=r.occurrences[a];if(r.occurrences.hasOwnProperty(a)){n++}else{n=0}r.occurrences[a]=n;if(n){a=a+"-"+n}return a};BananaSlug.prototype.reset=function(){this.occurrences={}};var n=/\s/g;function lower(e){return e.toLowerCase()}function slugger(e,t){var r=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g;var i="-";if(typeof e!=="string")return"";if(!t)e=e.replace(/[A-Z]+/g,lower);return e.trim().replace(r,"").replace(a(),"").replace(n,i)}},5382:(e,t,r)=>{const a=r(7147);const n=r(1762);const i=r(5256);const o=r(905);const s=r(3919);const p=r(3190);const d=r(9652);const l=r(9368);const m=r(7405);function matter(e,t){if(e===""){return{data:{},content:e,excerpt:"",orig:e}}let r=d(e);const a=matter.cache[r.content];if(!t){if(a){r=Object.assign({},a);r.orig=a.orig;return r}matter.cache[r.content]=r}return parseMatter(r,t)}function parseMatter(e,t){const r=i(t);const a=r.delimiters[0];const o="\n"+r.delimiters[1];let p=e.content;if(r.language){e.language=r.language}const d=a.length;if(!m.startsWith(p,a,d)){s(e,r);return e}if(p.charAt(d)===a.slice(-1)){return e}p=p.slice(d);const c=p.length;const g=matter.language(p,r);if(g.name){e.language=g.name;p=p.slice(g.raw.length)}let v=p.indexOf(o);if(v===-1){v=c}e.matter=p.slice(0,v);const T=e.matter.replace(/^\s*#[^\n]+/gm,"").trim();if(T===""){e.isEmpty=true;e.empty=e.content;e.data={}}else{e.data=l(e.language,e.matter,r)}if(v===c){e.content=""}else{e.content=p.slice(v+o.length);if(e.content[0]==="\r"){e.content=e.content.slice(1)}if(e.content[0]==="\n"){e.content=e.content.slice(1)}}s(e,r);if(r.sections===true||typeof r.section==="function"){n(e,r.section)}return e}matter.engines=p;matter.stringify=function(e,t,r){if(typeof e==="string")e=matter(e,r);return o(e,t,r)};matter.read=function(e,t){const r=a.readFileSync(e,"utf8");const n=matter(r,t);n.path=e;return n};matter.test=function(e,t){return m.startsWith(e,i(t).delimiters[0])};matter.language=function(e,t){const r=i(t);const a=r.delimiters[0];if(matter.test(e)){e=e.slice(a.length)}const n=e.slice(0,e.search(/\r?\n/));return{raw:n,name:n?n.trim():""}};matter.cache={};matter.clearCache=()=>matter.cache={};e.exports=matter},5256:(e,t,r)=>{const a=r(3190);const n=r(7405);e.exports=function(e){const t=Object.assign({},e);t.delimiters=n.arrayify(t.delims||t.delimiters||"---");if(t.delimiters.length===1){t.delimiters.push(t.delimiters[0])}t.language=(t.language||t.lang||"yaml").toLowerCase();t.engines=Object.assign({},a,t.parsers,t.engines);return t}},7669:e=>{e.exports=function(e,t){let r=t.engines[e]||t.engines[aliase(e)];if(typeof r==="undefined"){throw new Error('gray-matter engine "'+e+'" is not registered')}if(typeof r==="function"){r={parse:r}}return r};function aliase(e){switch(e.toLowerCase()){case"js":case"javascript":return"javascript";case"coffee":case"coffeescript":case"cson":return"coffee";case"yaml":case"yml":return"yaml";default:{return e}}}},3190:(module,exports,__nccwpck_require__)=>{const yaml=__nccwpck_require__(1917);const engines=exports=module.exports;engines.yaml={parse:yaml.safeLoad.bind(yaml),stringify:yaml.safeDump.bind(yaml)};engines.json={parse:JSON.parse.bind(JSON),stringify:function(e,t){const r=Object.assign({replacer:null,space:2},t);return JSON.stringify(e,r.replacer,r.space)}};engines.javascript={parse:function parse(str,options,wrap){try{if(wrap!==false){str="(function() {\nreturn "+str.trim()+";\n}());"}return eval(str)||{}}catch(e){if(wrap!==false&&/(unexpected|identifier)/i.test(e.message)){return parse(str,options,false)}throw new SyntaxError(e)}},stringify:function(){throw new Error("stringifying JavaScript is not supported")}}},3919:(e,t,r)=>{const a=r(5256);e.exports=function(e,t){const r=a(t);if(e.data==null){e.data={}}if(typeof r.excerpt==="function"){return r.excerpt(e,r)}const n=e.data.excerpt_separator||r.excerpt_separator;if(n==null&&(r.excerpt===false||r.excerpt==null)){return e}const i=typeof r.excerpt==="string"?r.excerpt:n||r.delimiters[0];const o=e.content.indexOf(i);if(o!==-1){e.excerpt=e.content.slice(0,o)}return e}},9368:(e,t,r)=>{const a=r(7669);const n=r(5256);e.exports=function(e,t,r){const i=n(r);const o=a(e,i);if(typeof o.parse!=="function"){throw new TypeError('expected "'+e+'.parse" to be a function')}return o.parse(t,i)}},905:(e,t,r)=>{const a=r(6961);const n=r(7669);const i=r(5256);e.exports=function(e,t,r){if(t==null&&r==null){switch(a(e)){case"object":t=e.data;r={};break;case"string":return e;default:{throw new TypeError("expected file to be a string or object")}}}const o=e.content;const s=i(r);if(t==null){if(!s.data)return e;t=s.data}const p=e.language||s.language;const d=n(p,s);if(typeof d.stringify!=="function"){throw new TypeError('expected "'+p+'.stringify" to be a function')}t=Object.assign({},e.data,t);const l=s.delimiters[0];const m=s.delimiters[1];const c=d.stringify(t,r).trim();let g="";if(c!=="{}"){g=newline(l)+newline(c)+newline(m)}if(typeof e.excerpt==="string"&&e.excerpt!==""){if(o.indexOf(e.excerpt.trim())===-1){g+=newline(e.excerpt)+newline(m)}}return g+newline(o)};function newline(e){return e.slice(-1)!=="\n"?e+"\n":e}},9652:(e,t,r)=>{const a=r(6961);const n=r(905);const i=r(7405);e.exports=function(e){if(a(e)!=="object"){e={content:e}}if(a(e.data)!=="object"){e.data={}}if(e.contents&&e.content==null){e.content=e.contents}i.define(e,"orig",i.toBuffer(e.content));i.define(e,"language",e.language||"");i.define(e,"matter",e.matter||"");i.define(e,"stringify",(function(t,r){if(r&&r.language){e.language=r.language}return n(e,t,r)}));e.content=i.toString(e.content);e.isEmpty=false;e.excerpt="";return e}},7405:(e,t,r)=>{const a=r(6550);const n=r(6961);t.define=function(e,t,r){Reflect.defineProperty(e,t,{enumerable:false,configurable:true,writable:true,value:r})};t.isBuffer=e=>n(e)==="buffer";t.isObject=e=>n(e)==="object";t.toBuffer=function(e){return typeof e==="string"?Buffer.from(e):e};t.toString=function(e){if(t.isBuffer(e))return a(String(e));if(typeof e!=="string"){throw new TypeError("expected input to be a string or buffer")}return a(e)};t.arrayify=function(e){return e?Array.isArray(e)?e:[e]:[]};t.startsWith=function(e,t,r){if(typeof r!=="number")r=t.length;return e.slice(0,r)===t}},4547:(e,t,r)=>{var a=r(9515);var n=r(4589);var i=r(3657);var o=r(9640);var s=r(4158);var p=r(2194);var d=r(6204);var l=r(6);var m=r(4070);var c=m("root");var g=m("element");var v=m("text");var T=/-([a-z])/g;e.exports=wrapper;function wrapper(e,t,r){var i=r||{};var o;var s;var p;var d;if(typeof e!=="function"){throw new Error("h is not a function")}if(typeof i==="string"||typeof i==="boolean"){o=i;i={}}else{o=i.prefix}s=react(e);p=vue(e);d=vdom(e);if(o===null||o===undefined){o=s===true||p===true||d===true?"h-":false}if(c(t)){if(t.children.length===1&&g(t.children[0])){t=t.children[0]}else{t={type:"element",tagName:"div",properties:{},children:t.children}}}else if(!g(t)){throw new Error("Expected root or element, not `"+(t&&t.type||t)+"`")}return toH(e,t,{schema:i.space==="svg"?n:a,prefix:o,key:0,react:s,vue:p,vdom:d,hyperscript:hyperscript(e)})}function toH(e,t,r){var a=r.schema;var i=a;var o=t.tagName;var s;var p;var d;var m;var c;var T;var E;var _;var w;if(a.space==="html"&&o.toLowerCase()==="svg"){i=n;r.schema=i}if(r.vdom===true&&i.space==="html"){o=o.toUpperCase()}s=t.properties;p={};for(m in s){addAttribute(p,m,s[m],r)}if(typeof p.style==="string"&&(r.vdom===true||r.vue===true||r.react===true)){p.style=parseStyle(p.style,o)}if(r.prefix){r.key++;p.key=r.prefix+r.key}if(r.vdom&&i.space!=="html"){p.namespace=l[i.space]}c=[];d=t.children;T=d?d.length:0;E=-1;while(++E{var a=r(9515);var n=r(4589);var i=r(3657);var o=r(6);var s=r(3413);var p=r(7156);var d=r(1208);var l=r(1291);e.exports=wrapper;var m={}.hasOwnProperty;var c={"#document":root,"#document-fragment":root,"#text":text,"#comment":comment,"#documentType":doctype};function wrapper(e,t){var r=t||{};var i;if(r.messages){i=r;r={}}else{i=r.file}return transform(e,{schema:r.space==="svg"?n:a,file:i,verbose:r.verbose,location:false})}function transform(e,t){var r=t.schema;var i=m.call(c,e.nodeName)?c[e.nodeName]:element;var s;var p;var d;if(i===element){t.schema=e.namespaceURI===o.svg?n:a}if(e.childNodes){s=nodes(e.childNodes,t)}p=i(e,s,t);if(e.sourceCodeLocation&&t.file){d=location(p,e.sourceCodeLocation,t);if(d){t.location=true;p.position=d}}t.schema=r;return p}function nodes(e,t){var r=e.length;var a=-1;var n=[];while(++a{e.exports=parse;var t=/[#.]/g;function parse(e,r){var a=e||"";var n=r||"div";var i={};var o=0;var s;var p;var d;while(o{var a=r(1554);var n=r(1133);var i=r(8849);var o=r(2785);var s=r(9878);var p=r(6);var d=r(1067);var l=r(1208);e.exports=wrap;var m="IN_TEMPLATE_MODE";var c="DATA_STATE";var g="CHARACTER_TOKEN";var v="START_TAG_TOKEN";var T="END_TAG_TOKEN";var E="COMMENT_TOKEN";var _="DOCTYPE_TOKEN";var w={sourceCodeLocationInfo:true,scriptingEnabled:false};function wrap(e,t){var r=new a(w);var l=d("type");var v;var T;var A;var b;var y;l.handlers.root=root;l.handlers.element=element;l.handlers.text=text;l.handlers.comment=comment;l.handlers.doctype=doctype;l.handlers.raw=raw;l.unknown=unknown;y=i(documentMode(e)?document():fragment(),t);if(e.type!=="root"&&y.children.length===1){return y.children[0]}return y;function fragment(){var t;var a;var n;t={nodeName:"template",tagName:"template",attrs:[],namespaceURI:p.html,childNodes:[]};a={nodeName:"documentmock",tagName:"documentmock",attrs:[],namespaceURI:p.html,childNodes:[]};n={nodeName:"#document-fragment",childNodes:[]};r._bootstrap(a,t);r._pushTmplInsertionMode(m);r._initTokenizerForFragmentParsing();r._insertFakeRootElement();r._resetInsertionMode();r._findFormInFragmentContext();v=r.tokenizer;T=v.preprocessor;b=v.__mixins[0];A=b.posTracker;l(e);r._adoptNodes(a.childNodes[0],n);return n}function document(){var t=r.treeAdapter.createDocument();r._bootstrap(t,null);v=r.tokenizer;T=v.preprocessor;b=v.__mixins[0];A=b.posTracker;l(e);return t}function all(e){var t=0;var r=-1;if(e){t=e.length}while(++r{var a=r(1208);var n=r(9515);var i=r(4589);var o=r(3657);var s=r(4547);var p=r(6);var d=r(1067);e.exports=transform;var l=["svg","html"];var m=d("type");m.handlers.root=root;m.handlers.element=element;m.handlers.text=text;m.handlers.comment=comment;m.handlers.doctype=doctype;function transform(e,t){return m(e,t==="svg"?i:n)}function root(e,t){var r=e.data||{};var a=r.quirksMode?"quirks":"no-quirks";return patch(e,{nodeName:"#document",mode:a},t)}function fragment(e,t){return patch(e,{nodeName:"#document-fragment"},t)}function doctype(e,t){return patch(e,{nodeName:"#documentType",name:e.name,publicId:e.public||"",systemId:e.system||""},t)}function text(e,t){return patch(e,{nodeName:"#text",value:e.value},t)}function comment(e,t){return patch(e,{nodeName:"#comment",data:e.value},t)}function element(e,t){var r=t.space;var n=a(e,{children:[]});return s(h,n,{space:r});function h(r,a){var i=[];var s;var d;var m;var c;var g;var v;for(c in a){g=o(t,c);d=a[c];if(d===false||g.boolean&&!d){continue}m={name:c,value:d===true?"":String(d)};if(g.space&&l.indexOf(g.space)===-1){v=c.indexOf(":");if(v===-1){m.prefix=""}else{m.name=c.slice(v+1);m.prefix=c.slice(0,v)}m.namespace=p[g.space]}i.push(m)}s=patch(e,{nodeName:r,tagName:r,attrs:i},t);if(r==="template"){s.content=fragment(n.content,t)}return s}}function patch(e,t,r){var a=r;var n=e.position;var o=e.children;var s=[];var d=o?o.length:0;var l=-1;var c;if(e.type==="element"){if(a.space==="html"&&e.tagName==="svg"){a=i}t.namespaceURI=p[a.space]}while(++l{var a=r(3657);var n=r(5144);var i=r(5253);var o=r(4158).parse;var s=r(2194).parse;e.exports=factory;var p={}.hasOwnProperty;function factory(e,t,r){var n=r?createAdjustMap(r):null;return h;function h(e,r){var a=i(e,t);var o=Array.prototype.slice.call(arguments,2);var s=a.tagName.toLowerCase();var d;a.tagName=n&&p.call(n,s)?n[s]:s;if(r&&isChildren(r,a)){o.unshift(r);r=null}if(r){for(d in r){addProperty(a.properties,d,r[d])}}addChild(a.children,o);if(a.tagName==="template"){a.content={type:"root",children:a.children};a.children=[]}return a}function addProperty(t,r,n){var i;var p;var d;if(n===null||n===undefined||n!==n){return}i=a(e,r);p=i.property;d=n;if(typeof d==="string"){if(i.spaceSeparated){d=o(d)}else if(i.commaSeparated){d=s(d)}else if(i.commaOrSpaceSeparated){d=o(s(d).join(" "))}}if(p==="style"&&typeof n!=="string"){d=style(d)}if(p==="className"&&t.className){d=t.className.concat(d)}t[p]=parsePrimitives(i,p,d)}}function isChildren(e,t){return typeof e==="string"||"length"in e||isNode(t.tagName,e)}function isNode(e,t){var r=t.type;if(e==="input"||!r||typeof r!=="string"){return false}if(typeof t.children==="object"&&"length"in t.children){return true}r=r.toLowerCase();if(e==="button"){return r!=="menu"&&r!=="submit"&&r!=="reset"&&r!=="button"}return"value"in t}function addChild(e,t){var r;var a;if(typeof t==="string"||typeof t==="number"){e.push({type:"text",value:String(t)});return}if(typeof t==="object"&&"length"in t){r=-1;a=t.length;while(++r{var a=r(9515);var n=r(3543);var i=n(a,"div");i.displayName="html";e.exports=i},7156:(e,t,r)=>{e.exports=r(3882)},3413:(e,t,r)=>{var a=r(4589);var n=r(6947);var i=r(3543);var o=i(a,"g",n);o.displayName="svg";e.exports=o},4124:(e,t,r)=>{try{var a=r(3837);if(typeof a.inherits!=="function")throw"";e.exports=a.inherits}catch(t){e.exports=r(8544)}},8544:e=>{if(typeof Object.create==="function"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},3328:e=>{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;var r=/\n/g;var a=/^\s*/;var n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;var i=/^:\s*/;var o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;var s=/^[;\s]*/;var p=/^\s+|\s+$/g;var d="\n";var l="/";var m="*";var c="";var g="comment";var v="declaration";e.exports=function(e,p){if(typeof e!=="string"){throw new TypeError("First argument must be a string")}if(!e)return[];p=p||{};var T=1;var E=1;function updatePosition(e){var t=e.match(r);if(t)T+=t.length;var a=e.lastIndexOf(d);E=~a?e.length-a:E+e.length}function position(){var e={line:T,column:E};return function(t){t.position=new Position(e);whitespace();return t}}function Position(e){this.start=e;this.end={line:T,column:E};this.source=p.source}Position.prototype.content=e;var _=[];function error(t){var r=new Error(p.source+":"+T+":"+E+": "+t);r.reason=t;r.filename=p.source;r.line=T;r.column=E;r.source=e;if(p.silent){_.push(r)}else{throw r}}function match(t){var r=t.exec(e);if(!r)return;var a=r[0];updatePosition(a);e=e.slice(a.length);return r}function whitespace(){match(a)}function comments(e){var t;e=e||[];while(t=comment()){if(t!==false){e.push(t)}}return e}function comment(){var t=position();if(l!=e.charAt(0)||m!=e.charAt(1))return;var r=2;while(c!=e.charAt(r)&&(m!=e.charAt(r)||l!=e.charAt(r+1))){++r}r+=2;if(c===e.charAt(r-1)){return error("End of comment missing")}var a=e.slice(2,r-2);E+=2;updatePosition(a);e=e.slice(r);E+=2;return t({type:g,comment:a})}function declaration(){var e=position();var r=match(n);if(!r)return;comment();if(!match(i))return error("property missing ':'");var a=match(o);var p=e({type:v,property:trim(r[0].replace(t,c)),value:a?trim(a[0].replace(t,c)):c});match(s);return p}function declarations(){var e=[];comments(e);var t;while(t=declaration()){if(t!==false){e.push(t);comments(e)}}return e}whitespace();return declarations()};function trim(e){return e?e.replace(p,c):c}},1997:e=>{e.exports=alphabetical;function alphabetical(e){var t=typeof e==="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},8189:(e,t,r)=>{var a=r(1997);var n=r(5552);e.exports=alphanumerical;function alphanumerical(e){return a(e)||n(e)}},5625:e=>{ +import{createRequire as __WEBPACK_EXTERNAL_createRequire}from"module";var __webpack_modules__={7351:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const o=i(r(2037));const s=r(5278);function issueCommand(e,t,r){const a=new Command(e,t,r);process.stdout.write(a.toString()+o.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const p="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=p+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const a=this.properties[r];if(a){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(a)}`}}}}e+=`${p}${escapeData(this.message)}`;return e}}function escapeData(e){return s.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return s.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};var o=this&&this.__awaiter||function(e,t,r,a){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(a.next(e))}catch(e){n(e)}}function rejected(e){try{step(a["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const s=r(7351);const p=r(717);const d=r(5278);const l=i(r(2037));const c=i(r(1017));const m=r(8041);var g;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(g=t.ExitCode||(t.ExitCode={}));function exportVariable(e,t){const r=d.toCommandValue(t);process.env[e]=r;const a=process.env["GITHUB_ENV"]||"";if(a){return p.issueFileCommand("ENV",p.prepareKeyValueMessage(e,t))}s.issueCommand("set-env",{name:e},r)}t.exportVariable=exportVariable;function setSecret(e){s.issueCommand("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){p.issueFileCommand("PATH",e)}else{s.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${c.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}t.getInput=getInput;function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return r}return r.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const r=["true","True","TRUE"];const a=["false","False","FALSE"];const n=getInput(e,t);if(r.includes(n))return true;if(a.includes(n))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return p.issueFileCommand("OUTPUT",p.prepareKeyValueMessage(e,t))}process.stdout.write(l.EOL);s.issueCommand("set-output",{name:e},d.toCommandValue(t))}t.setOutput=setOutput;function setCommandEcho(e){s.issue("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=g.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){s.issueCommand("debug",{},e)}t.debug=debug;function error(e,t={}){s.issueCommand("error",d.toCommandProperties(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){s.issueCommand("warning",d.toCommandProperties(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){s.issueCommand("notice",d.toCommandProperties(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+l.EOL)}t.info=info;function startGroup(e){s.issue("group",e)}t.startGroup=startGroup;function endGroup(){s.issue("endgroup")}t.endGroup=endGroup;function group(e,t){return o(this,void 0,void 0,(function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r}))}t.group=group;function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return p.issueFileCommand("STATE",p.prepareKeyValueMessage(e,t))}s.issueCommand("save-state",{name:e},d.toCommandValue(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return o(this,void 0,void 0,(function*(){return yield m.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var v=r(1327);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return v.summary}});var T=r(1327);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return T.markdownSummary}});var E=r(2981);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return E.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return E.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return E.toPlatformPath}})},717:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const o=i(r(7147));const s=i(r(2037));const p=r(5840);const d=r(5278);function issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!o.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}o.appendFileSync(r,`${d.toCommandValue(t)}${s.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const r=`ghadelimiter_${p.v4()}`;const a=d.toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(a.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${s.EOL}${a}${s.EOL}${r}`}t.prepareKeyValueMessage=prepareKeyValueMessage},8041:function(e,t,r){var a=this&&this.__awaiter||function(e,t,r,a){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(a.next(e))}catch(e){n(e)}}function rejected(e){try{step(a["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const n=r(6255);const i=r(5526);const o=r(2186);class OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new n.HttpClient("actions/oidc-client",[new i.BearerCredentialHandler(OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return a(this,void 0,void 0,(function*(){const r=OidcClient.createHttpClient();const a=yield r.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.result.message}`)}));const n=(t=a.result)===null||t===void 0?void 0:t.value;if(!n){throw new Error("Response json body do not have ID Token field")}return n}))}static getIDToken(e){return a(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}o.debug(`ID token url is ${t}`);const r=yield OidcClient.getCall(t);o.setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},2981:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const o=i(r(1017));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,o.sep)}t.toPlatformPath=toPlatformPath},1327:function(e,t,r){var a=this&&this.__awaiter||function(e,t,r,a){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(a.next(e))}catch(e){n(e)}}function rejected(e){try{step(a["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const n=r(2037);const i=r(7147);const{access:o,appendFile:s,writeFile:p}=i.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return a(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield o(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,r={}){const a=Object.entries(r).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${a}>`}return`<${e}${a}>${t}`}write(e){return a(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const a=t?p:s;yield a(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return a(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(n.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const a=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(a).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const a=e.map((e=>this.wrap("li",e))).join("");const n=this.wrap(r,a);return this.addRaw(n).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:a,rowspan:n}=e;const i=t?"th":"td";const o=Object.assign(Object.assign({},a&&{colspan:a}),n&&{rowspan:n});return this.wrap(i,r,o)})).join("");return this.wrap("tr",t)})).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:a,height:n}=r||{};const i=Object.assign(Object.assign({},a&&{width:a}),n&&{height:n});const o=this.wrap("img",null,Object.assign({src:e,alt:t},i));return this.addRaw(o).addEOL()}addHeading(e,t){const r=`h${t}`;const a=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const n=this.wrap(a,e);return this.addRaw(n).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const a=this.wrap("blockquote",e,r);return this.addRaw(a).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const d=new Summary;t.markdownSummary=d;t.summary=d},5278:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},4087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.Context=void 0;const a=r(7147);const n=r(2037);class Context{constructor(){var e,t,r;this.payload={};if(process.env.GITHUB_EVENT_PATH){if(a.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(a.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${n.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(t=process.env.GITHUB_SERVER_URL)!==null&&t!==void 0?t:`https://github.com`;this.graphqlUrl=(r=process.env.GITHUB_GRAPHQL_URL)!==null&&r!==void 0?r:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,t]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:t}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}t.Context=Context},5438:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokit=t.context=void 0;const o=i(r(4087));const s=r(3030);t.context=new o.Context;function getOctokit(e,t,...r){const a=s.GitHub.plugin(...r);return new a(s.getOctokitOptions(e,t))}t.getOctokit=getOctokit},7914:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getApiBaseUrl=t.getProxyAgent=t.getAuthString=void 0;const o=i(r(6255));function getAuthString(e,t){if(!e&&!t.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&t.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof t.auth==="string"?t.auth:`token ${e}`}t.getAuthString=getAuthString;function getProxyAgent(e){const t=new o.HttpClient;return t.getAgent(e)}t.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}t.getApiBaseUrl=getApiBaseUrl},3030:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokitOptions=t.GitHub=t.defaults=t.context=void 0;const o=i(r(4087));const s=i(r(7914));const p=r(6762);const d=r(3044);const l=r(4193);t.context=new o.Context;const c=s.getApiBaseUrl();t.defaults={baseUrl:c,request:{agent:s.getProxyAgent(c)}};t.GitHub=p.Octokit.plugin(d.restEndpointMethods,l.paginateRest).defaults(t.defaults);function getOctokitOptions(e,t){const r=Object.assign({},t||{});const a=s.getAuthString(e,r);if(a){r.auth=a}return r}t.getOctokitOptions=getOctokitOptions},5526:function(e,t){var r=this&&this.__awaiter||function(e,t,r,a){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(a.next(e))}catch(e){n(e)}}function rejected(e){try{step(a["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return r(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},6255:function(e,t,r){var a=this&&this.__createBinding||(Object.create?function(e,t,r,a){if(a===undefined)a=r;Object.defineProperty(e,a,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,a){if(a===undefined)a=r;e[a]=t[r]});var n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)if(r!=="default"&&Object.hasOwnProperty.call(e,r))a(t,e,r);n(t,e);return t};var o=this&&this.__awaiter||function(e,t,r,a){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,n){function fulfilled(e){try{step(a.next(e))}catch(e){n(e)}}function rejected(e){try{step(a["throw"](e))}catch(e){n(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((a=a.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const s=i(r(3685));const p=i(r(5687));const d=i(r(9835));const l=i(r(4294));var c;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(c=t.HttpCodes||(t.HttpCodes={}));var m;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(m=t.Headers||(t.Headers={}));var g;(function(e){e["ApplicationJson"]="application/json"})(g=t.MediaTypes||(t.MediaTypes={}));function getProxyUrl(e){const t=d.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const v=[c.MovedPermanently,c.ResourceMoved,c.SeeOther,c.TemporaryRedirect,c.PermanentRedirect];const T=[c.BadGateway,c.ServiceUnavailable,c.GatewayTimeout];const E=["OPTIONS","GET","DELETE","HEAD"];const _=10;const w=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return o(this,void 0,void 0,(function*(){return new Promise((e=>o(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return o(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return o(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return o(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,r){return o(this,void 0,void 0,(function*(){return this.request("POST",e,t,r||{})}))}patch(e,t,r){return o(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,r||{})}))}put(e,t,r){return o(this,void 0,void 0,(function*(){return this.request("PUT",e,t,r||{})}))}head(e,t){return o(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,r,a){return o(this,void 0,void 0,(function*(){return this.request(e,t,r,a)}))}getJson(e,t={}){return o(this,void 0,void 0,(function*(){t[m.Accept]=this._getExistingOrDefaultHeader(t,m.Accept,g.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)}))}postJson(e,t,r={}){return o(this,void 0,void 0,(function*(){const a=JSON.stringify(t,null,2);r[m.Accept]=this._getExistingOrDefaultHeader(r,m.Accept,g.ApplicationJson);r[m.ContentType]=this._getExistingOrDefaultHeader(r,m.ContentType,g.ApplicationJson);const n=yield this.post(e,a,r);return this._processResponse(n,this.requestOptions)}))}putJson(e,t,r={}){return o(this,void 0,void 0,(function*(){const a=JSON.stringify(t,null,2);r[m.Accept]=this._getExistingOrDefaultHeader(r,m.Accept,g.ApplicationJson);r[m.ContentType]=this._getExistingOrDefaultHeader(r,m.ContentType,g.ApplicationJson);const n=yield this.put(e,a,r);return this._processResponse(n,this.requestOptions)}))}patchJson(e,t,r={}){return o(this,void 0,void 0,(function*(){const a=JSON.stringify(t,null,2);r[m.Accept]=this._getExistingOrDefaultHeader(r,m.Accept,g.ApplicationJson);r[m.ContentType]=this._getExistingOrDefaultHeader(r,m.ContentType,g.ApplicationJson);const n=yield this.patch(e,a,r);return this._processResponse(n,this.requestOptions)}))}request(e,t,r,a){return o(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const n=new URL(t);let i=this._prepareRequest(e,n,a);const o=this._allowRetries&&E.includes(e)?this._maxRetries+1:1;let s=0;let p;do{p=yield this.requestRaw(i,r);if(p&&p.message&&p.message.statusCode===c.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(p)){e=t;break}}if(e){return e.handleAuthentication(this,i,r)}else{return p}}let t=this._maxRedirects;while(p.message.statusCode&&v.includes(p.message.statusCode)&&this._allowRedirects&&t>0){const o=p.message.headers["location"];if(!o){break}const s=new URL(o);if(n.protocol==="https:"&&n.protocol!==s.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield p.readBody();if(s.hostname!==n.hostname){for(const e in a){if(e.toLowerCase()==="authorization"){delete a[e]}}}i=this._prepareRequest(e,s,a);p=yield this.requestRaw(i,r);t--}if(!p.message.statusCode||!T.includes(p.message.statusCode)){return p}s+=1;if(s{function callbackForResult(e,t){if(e){a(e)}else if(!t){a(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let a=false;function handleResult(e,t){if(!a){a=true;r(e,t)}}const n=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let i;n.on("socket",(e=>{i=e}));n.setTimeout(this._socketTimeout||3*6e4,(()=>{if(i){i.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));n.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){n.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){n.end()}));t.pipe(n)}else{n.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}_prepareRequest(e,t,r){const a={};a.parsedUrl=t;const n=a.parsedUrl.protocol==="https:";a.httpModule=n?p:s;const i=n?443:80;a.options={};a.options.host=a.parsedUrl.hostname;a.options.port=a.parsedUrl.port?parseInt(a.parsedUrl.port):i;a.options.path=(a.parsedUrl.pathname||"")+(a.parsedUrl.search||"");a.options.method=e;a.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){a.options.headers["user-agent"]=this.userAgent}a.options.agent=this._getAgent(a.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(a.options)}}return a}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let a;if(this.requestOptions&&this.requestOptions.headers){a=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||a||r}_getAgent(e){let t;const r=d.getProxyUrl(e);const a=r&&r.hostname;if(this._keepAlive&&a){t=this._proxyAgent}if(this._keepAlive&&!a){t=this._agent}if(t){return t}const n=e.protocol==="https:";let i=100;if(this.requestOptions){i=this.requestOptions.maxSockets||s.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:i,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let a;const o=r.protocol==="https:";if(n){a=o?l.httpsOverHttps:l.httpsOverHttp}else{a=o?l.httpOverHttps:l.httpOverHttp}t=a(e);this._proxyAgent=t}if(this._keepAlive&&!t){const e={keepAlive:this._keepAlive,maxSockets:i};t=n?new p.Agent(e):new s.Agent(e);this._agent=t}if(!t){t=n?p.globalAgent:s.globalAgent}if(n&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_performExponentialBackoff(e){return o(this,void 0,void 0,(function*(){e=Math.min(_,e);const t=w*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return o(this,void 0,void 0,(function*(){return new Promise(((r,a)=>o(this,void 0,void 0,(function*(){const n=e.message.statusCode||0;const i={statusCode:n,result:null,headers:{}};if(n===c.NotFound){r(i)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let o;let s;try{s=yield e.readBody();if(s&&s.length>0){if(t&&t.deserializeDates){o=JSON.parse(s,dateTimeDeserializer)}else{o=JSON.parse(s)}i.result=o}i.headers=e.message.headers}catch(e){}if(n>299){let e;if(o&&o.message){e=o.message}else if(s&&s.length>0){e=s}else{e=`Failed request: (${n})`}const t=new HttpClientError(e,n);t.result=i.result;a(t)}else{r(i)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,r)=>(t[r.toLowerCase()]=e[r],t)),{})},9835:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){return new URL(r)}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let a;if(e.port){a=Number(e.port)}else if(e.protocol==="http:"){a=80}else if(e.protocol==="https:"){a=443}const n=[e.hostname.toUpperCase()];if(typeof a==="number"){n.push(`${n[0]}:${a}`)}for(const e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||n.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},334:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});const r=/^v1\./;const a=/^ghs_/;const n=/^ghu_/;async function auth(e){const t=e.split(/\./).length===3;const i=r.test(e)||a.test(e);const o=n.test(e);const s=t?"app":i?"installation":o?"user-to-server":"oauth";return{type:"token",token:e,tokenType:s}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,t,r,a){const n=t.endpoint.merge(r,a);n.headers.authorization=withAuthorizationPrefix(e);return t(n)}const i=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};t.createTokenAuth=i},6762:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});var a=r(5030);var n=r(3682);var i=r(6234);var o=r(8467);var s=r(334);function _objectWithoutPropertiesLoose(e,t){if(e==null)return{};var r={};var a=Object.keys(e);var n,i;for(i=0;i=0)continue;r[n]=e[n]}return r}function _objectWithoutProperties(e,t){if(e==null)return{};var r=_objectWithoutPropertiesLoose(e,t);var a,n;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,a))continue;r[a]=e[a]}}return r}const p="3.6.0";const d=["authStrategy"];class Octokit{constructor(e={}){const t=new n.Collection;const r={baseUrl:i.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};r.headers["user-agent"]=[e.userAgent,`octokit-core.js/${p} ${a.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){r.baseUrl=e.baseUrl}if(e.previews){r.mediaType.previews=e.previews}if(e.timeZone){r.headers["time-zone"]=e.timeZone}this.request=i.request.defaults(r);this.graphql=o.withCustomRequest(this.request).defaults(r);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const r=s.createTokenAuth(e.auth);t.wrap("request",r.hook);this.auth=r}}else{const{authStrategy:r}=e,a=_objectWithoutProperties(e,d);const n=r(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:a},e.auth));t.wrap("request",n.hook);this.auth=n}const l=this.constructor;l.plugins.forEach((t=>{Object.assign(this,t(this,e))}))}static defaults(e){const t=class extends(this){constructor(...t){const r=t[0]||{};if(typeof e==="function"){super(e(r));return}super(Object.assign({},e,r,r.userAgent&&e.userAgent?{userAgent:`${r.userAgent} ${e.userAgent}`}:null))}};return t}static plugin(...e){var t;const r=this.plugins;const a=(t=class extends(this){},t.plugins=r.concat(e.filter((e=>!r.includes(e)))),t);return a}}Octokit.VERSION=p;Octokit.plugins=[];t.Octokit=Octokit},9440:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});var a=r(3287);var n=r(5030);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((t,r)=>{t[r.toLowerCase()]=e[r];return t}),{})}function mergeDeep(e,t){const r=Object.assign({},e);Object.keys(t).forEach((n=>{if(a.isPlainObject(t[n])){if(!(n in e))Object.assign(r,{[n]:t[n]});else r[n]=mergeDeep(e[n],t[n])}else{Object.assign(r,{[n]:t[n]})}}));return r}function removeUndefinedProperties(e){for(const t in e){if(e[t]===undefined){delete e[t]}}return e}function merge(e,t,r){if(typeof t==="string"){let[e,a]=t.split(" ");r=Object.assign(a?{method:e,url:a}:{url:e},r)}else{r=Object.assign({},t)}r.headers=lowercaseKeys(r.headers);removeUndefinedProperties(r);removeUndefinedProperties(r.headers);const a=mergeDeep(e||{},r);if(e&&e.mediaType.previews.length){a.mediaType.previews=e.mediaType.previews.filter((e=>!a.mediaType.previews.includes(e))).concat(a.mediaType.previews)}a.mediaType.previews=a.mediaType.previews.map((e=>e.replace(/-preview/,"")));return a}function addQueryParameters(e,t){const r=/\?/.test(e)?"&":"?";const a=Object.keys(t);if(a.length===0){return e}return e+r+a.map((e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`})).join("&")}const i=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const t=e.match(i);if(!t){return[]}return t.map(removeNonChars).reduce(((e,t)=>e.concat(t)),[])}function omit(e,t){return Object.keys(e).filter((e=>!t.includes(e))).reduce(((t,r)=>{t[r]=e[r];return t}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,t,r){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(r){return encodeUnreserved(r)+"="+t}else{return t}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,r,a){var n=e[r],i=[];if(isDefined(n)&&n!==""){if(typeof n==="string"||typeof n==="number"||typeof n==="boolean"){n=n.toString();if(a&&a!=="*"){n=n.substring(0,parseInt(a,10))}i.push(encodeValue(t,n,isKeyOperator(t)?r:""))}else{if(a==="*"){if(Array.isArray(n)){n.filter(isDefined).forEach((function(e){i.push(encodeValue(t,e,isKeyOperator(t)?r:""))}))}else{Object.keys(n).forEach((function(e){if(isDefined(n[e])){i.push(encodeValue(t,n[e],e))}}))}}else{const e=[];if(Array.isArray(n)){n.filter(isDefined).forEach((function(r){e.push(encodeValue(t,r))}))}else{Object.keys(n).forEach((function(r){if(isDefined(n[r])){e.push(encodeUnreserved(r));e.push(encodeValue(t,n[r].toString()))}}))}if(isKeyOperator(t)){i.push(encodeUnreserved(r)+"="+e.join(","))}else if(e.length!==0){i.push(e.join(","))}}}}else{if(t===";"){if(isDefined(n)){i.push(encodeUnreserved(r))}}else if(n===""&&(t==="&"||t==="?")){i.push(encodeUnreserved(r)+"=")}else if(n===""){i.push("")}}return i}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var r=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,a,n){if(a){let e="";const n=[];if(r.indexOf(a.charAt(0))!==-1){e=a.charAt(0);a=a.substr(1)}a.split(/,/g).forEach((function(r){var a=/([^:\*]*)(?::(\d+)|(\*))?/.exec(r);n.push(getValues(t,e,a[1],a[2]||a[3]))}));if(e&&e!=="+"){var i=",";if(e==="?"){i="&"}else if(e!=="#"){i=e}return(n.length!==0?e:"")+n.join(i)}else{return n.join(",")}}else{return encodeReserved(n)}}))}function parse(e){let t=e.method.toUpperCase();let r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let a=Object.assign({},e.headers);let n;let i=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const o=extractUrlVariableNames(r);r=parseUrl(r).expand(i);if(!/^http/.test(r)){r=e.baseUrl+r}const s=Object.keys(e).filter((e=>o.includes(e))).concat("baseUrl");const p=omit(i,s);const d=/application\/octet-stream/i.test(a.accept);if(!d){if(e.mediaType.format){a.accept=a.accept.split(/,/).map((t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const t=a.accept.match(/[\w-]+(?=-preview)/g)||[];a.accept=t.concat(e.mediaType.previews).map((t=>{const r=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${r}`})).join(",")}}if(["GET","HEAD"].includes(t)){r=addQueryParameters(r,p)}else{if("data"in p){n=p.data}else{if(Object.keys(p).length){n=p}else{a["content-length"]=0}}}if(!a["content-type"]&&typeof n!=="undefined"){a["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof n==="undefined"){n=""}return Object.assign({method:t,url:r,headers:a},typeof n!=="undefined"?{body:n}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,r){return parse(merge(e,t,r))}function withDefaults(e,t){const r=merge(e,t);const a=endpointWithDefaults.bind(null,r);return Object.assign(a,{DEFAULTS:r,defaults:withDefaults.bind(null,r),merge:merge.bind(null,r),parse:parse})}const o="6.0.12";const s=`octokit-endpoint.js/${o} ${n.getUserAgent()}`;const p={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":s},mediaType:{format:"",previews:[]}};const d=withDefaults(null,p);t.endpoint=d},8467:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});var a=r(6234);var n=r(5030);const i="4.8.0";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}class GraphqlResponseError extends Error{constructor(e,t,r){super(_buildMessageForResponseErrors(r));this.request=e;this.headers=t;this.response=r;this.name="GraphqlResponseError";this.errors=r.errors;this.data=r.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const o=["method","baseUrl","url","headers","request","query","mediaType"];const s=["query","method","url"];const p=/\/api\/v3\/?$/;function graphql(e,t,r){if(r){if(typeof t==="string"&&"query"in r){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in r){if(!s.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const a=typeof t==="string"?Object.assign({query:t},r):t;const n=Object.keys(a).reduce(((e,t)=>{if(o.includes(t)){e[t]=a[t];return e}if(!e.variables){e.variables={}}e.variables[t]=a[t];return e}),{});const i=a.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(p.test(i)){n.url=i.replace(p,"/api/graphql")}return e(n).then((e=>{if(e.data.errors){const t={};for(const r of Object.keys(e.headers)){t[r]=e.headers[r]}throw new GraphqlResponseError(n,t,e.data)}return e.data.data}))}function withDefaults(e,t){const r=e.defaults(t);const newApi=(e,t)=>graphql(r,e,t);return Object.assign(newApi,{defaults:withDefaults.bind(null,r),endpoint:a.request.endpoint})}const d=withDefaults(a.request,{headers:{"user-agent":`octokit-graphql.js/${i} ${n.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}t.GraphqlResponseError=GraphqlResponseError;t.graphql=d;t.withCustomRequest=withCustomRequest},4193:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});const r="2.21.3";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function _objectSpread2(e){for(var t=1;t({async next(){if(!s)return{done:true};try{const e=await n({method:i,url:s,headers:o});const t=normalizePaginatedListResponse(e);s=((t.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:t}}catch(e){if(e.status!==409)throw e;s="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,t,r,a){if(typeof r==="function"){a=r;r=undefined}return gather(e,[],iterator(e,t,r)[Symbol.asyncIterator](),a)}function gather(e,t,r,a){return r.next().then((n=>{if(n.done){return t}let i=false;function done(){i=true}t=t.concat(a?a(n.value,done):n.value.data);if(i){return t}return gather(e,t,r,a)}))}const a=Object.assign(paginate,{iterator:iterator});const n=["GET /app/hook/deliveries","GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/audit-log","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /enterprises/{enterprise}/settings/billing/advanced-security","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/audit-log","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/external-groups","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/settings/billing/advanced-security","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return n.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=r;t.composePaginateRest=a;t.isPaginatingEndpoint=isPaginatingEndpoint;t.paginateRest=paginateRest;t.paginatingEndpoints=n},3044:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);if(t){a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))}r.push.apply(r,a)}return r}function _objectSpread2(e){for(var t=1;t{Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var a=r(8932);var n=_interopDefault(r(1223));const i=n((e=>console.warn(e)));const o=n((e=>console.warn(e)));class RequestError extends Error{constructor(e,t,r){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=t;let n;if("headers"in r&&typeof r.headers!=="undefined"){n=r.headers}if("response"in r){this.response=r.response;n=r.response.headers}const s=Object.assign({},r.request);if(r.request.headers.authorization){s.headers=Object.assign({},r.request.headers,{authorization:r.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=s;Object.defineProperty(this,"code",{get(){i(new a.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return t}});Object.defineProperty(this,"headers",{get(){o(new a.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return n||{}}})}}t.RequestError=RequestError},6234:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var a=r(9440);var n=r(5030);var i=r(3287);var o=_interopDefault(r(467));var s=r(537);const p="5.6.3";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){const t=e.request&&e.request.log?e.request.log:console;if(i.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let r={};let a;let n;const p=e.request&&e.request.fetch||o;return p(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((async i=>{n=i.url;a=i.status;for(const e of i.headers){r[e[0]]=e[1]}if("deprecation"in r){const a=r.link&&r.link.match(/<([^>]+)>; rel="deprecation"/);const n=a&&a.pop();t.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${r.sunset}${n?`. See ${n}`:""}`)}if(a===204||a===205){return}if(e.method==="HEAD"){if(a<400){return}throw new s.RequestError(i.statusText,a,{response:{url:n,status:a,headers:r,data:undefined},request:e})}if(a===304){throw new s.RequestError("Not modified",a,{response:{url:n,status:a,headers:r,data:await getResponseData(i)},request:e})}if(a>=400){const t=await getResponseData(i);const o=new s.RequestError(toErrorMessage(t),a,{response:{url:n,status:a,headers:r,data:t},request:e});throw o}return getResponseData(i)})).then((e=>({status:a,url:n,headers:r,data:e}))).catch((t=>{if(t instanceof s.RequestError)throw t;throw new s.RequestError(t.message,500,{request:e})}))}async function getResponseData(e){const t=e.headers.get("content-type");if(/application\/json/.test(t)){return e.json()}if(!t||/^text\/|charset=utf-8$/.test(t)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}`}return e.message}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,t){const r=e.defaults(t);const newApi=function(e,t){const a=r.merge(e,t);if(!a.request||!a.request.hook){return fetchWrapper(r.parse(a))}const request=(e,t)=>fetchWrapper(r.parse(r.merge(e,t)));Object.assign(request,{endpoint:r,defaults:withDefaults.bind(null,r)});return a.request.hook(request,a)};return Object.assign(newApi,{endpoint:r,defaults:withDefaults.bind(null,r)})}const d=withDefaults(a.endpoint,{headers:{"user-agent":`octokit-request.js/${p} ${n.getUserAgent()}`}});t.request=d},7240:e=>{e.exports=bail;function bail(e){if(e){throw e}}},3682:(e,t,r)=>{var a=r(4670);var n=r(5549);var i=r(6819);var o=Function.bind;var s=o.bind(o);function bindApi(e,t,r){var a=s(i,null).apply(null,r?[t,r]:[t]);e.api={remove:a};e.remove=a;["before","error","after","wrap"].forEach((function(a){var i=r?[t,a,r]:[t,a];e[a]=e.api[a]=s(n,null).apply(null,i)}))}function HookSingular(){var e="h";var t={registry:{}};var r=a.bind(null,t,e);bindApi(r,t,e);return r}function HookCollection(){var e={registry:{}};var t=a.bind(null,e);bindApi(t,e);return t}var p=false;function Hook(){if(!p){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');p=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},5549:e=>{e.exports=addHook;function addHook(e,t,r,a){var n=a;if(!e.registry[r]){e.registry[r]=[]}if(t==="before"){a=function(e,t){return Promise.resolve().then(n.bind(null,t)).then(e.bind(null,t))}}if(t==="after"){a=function(e,t){var r;return Promise.resolve().then(e.bind(null,t)).then((function(e){r=e;return n(r,t)})).then((function(){return r}))}}if(t==="error"){a=function(e,t){return Promise.resolve().then(e.bind(null,t)).catch((function(e){return n(e,t)}))}}e.registry[r].push({hook:a,orig:n})}},4670:e=>{e.exports=register;function register(e,t,r,a){if(typeof r!=="function"){throw new Error("method for before hook must be a function")}if(!a){a={}}if(Array.isArray(t)){return t.reverse().reduce((function(t,r){return register.bind(null,e,r,t,a)}),r)()}return Promise.resolve().then((function(){if(!e.registry[t]){return r(a)}return e.registry[t].reduce((function(e,t){return t.hook.bind(null,e,a)}),r)()}))}},6819:e=>{e.exports=removeHook;function removeHook(e,t,r){if(!e.registry[t]){return}var a=e.registry[t].map((function(e){return e.orig})).indexOf(r);if(a===-1){return}e.registry[t].splice(a,1)}},1291:e=>{e.exports=ccount;function ccount(e,t){var r=String(e);var a=0;var n;if(typeof t!=="string"){throw new Error("Expected character")}n=r.indexOf(t);while(n!==-1){a++;n=r.indexOf(t,n+t.length)}return a}},8201:e=>{e.exports=collapse;function collapse(e){return String(e).replace(/\s+/g," ")}},2194:(e,t)=>{t.parse=parse;t.stringify=stringify;var r=",";var a=" ";var n="";function parse(e){var t=[];var a=String(e||n);var i=a.indexOf(r);var o=0;var s=false;var p;while(!s){if(i===-1){i=a.length;s=true}p=a.slice(o,i).trim();if(p||!s){t.push(p)}o=i+1;i=a.indexOf(r,o)}return t}function stringify(e,t){var i=t||{};var o=i.padLeft===false?n:a;var s=i.padRight?a:n;if(e[e.length-1]===n){e=e.concat(n)}return e.join(s+r+o).trim()}},8932:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}t.Deprecation=Deprecation},9050:(e,t,r)=>{e.exports=detab;var a=r(6976);var n=/[\t\n\r]/g;function detab(e,t){var r=t||4;var i=[];var o=0;var s=0;var p=-1;var d;var l;var c;if(typeof e!=="string"){throw new Error("detab expected string")}while(s{e.exports=function(){return/[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]|\uD83C\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uD83C\uDDFE\uD83C[\uDDEA\uDDF9]|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDFC\uD83C[\uDDEB\uDDF8]|\uD83C\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uD83C\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF8\uDDFE\uDDFF]|\uD83C\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uD83C\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uD83C\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uD83C\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uD83C\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uD83C\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uD83C\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uD83C\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uD83C\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uD83C\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uD83C\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uD83C\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uD83C\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uD83C\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uD83C\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uD83C\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|[#\*0-9]\u20E3/g}},7512:(e,t,r)=>{var a=r(429);e.exports=function extend(e){if(!a(e)){e={}}var t=arguments.length;for(var r=1;r{var t=Object.prototype.hasOwnProperty;var r=Object.prototype.toString;var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var i=function isArray(e){if(typeof Array.isArray==="function"){return Array.isArray(e)}return r.call(e)==="[object Array]"};var o=function isPlainObject(e){if(!e||r.call(e)!=="[object Object]"){return false}var a=t.call(e,"constructor");var n=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!a&&!n){return false}var i;for(i in e){}return typeof i==="undefined"||t.call(e,i)};var s=function setProperty(e,t){if(a&&t.name==="__proto__"){a(e,t.name,{enumerable:true,configurable:true,value:t.newValue,writable:true})}else{e[t.name]=t.newValue}};var p=function getProperty(e,r){if(r==="__proto__"){if(!t.call(e,r)){return void 0}else if(n){return n(e,r).value}}return e[r]};e.exports=function extend(){var e,t,r,a,n,d;var l=arguments[0];var c=1;var m=arguments.length;var g=false;if(typeof l==="boolean"){g=l;l=arguments[1]||{};c=2}if(l==null||typeof l!=="object"&&typeof l!=="function"){l={}}for(;c{var a=r(8212);e.exports=BananaSlug;function BananaSlug(){var e=this;if(!(e instanceof BananaSlug))return new BananaSlug;e.reset()}BananaSlug.prototype.slug=function(e,t){t=t===true;var r=this;var a=slugger(e,t);var n=r.occurrences[a];if(r.occurrences.hasOwnProperty(a)){n++}else{n=0}r.occurrences[a]=n;if(n){a=a+"-"+n}return a};BananaSlug.prototype.reset=function(){this.occurrences={}};var n=/\s/g;function lower(e){return e.toLowerCase()}function slugger(e,t){var r=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g;var i="-";if(typeof e!=="string")return"";if(!t)e=e.replace(/[A-Z]+/g,lower);return e.trim().replace(r,"").replace(a(),"").replace(n,i)}},5382:(e,t,r)=>{const a=r(7147);const n=r(1762);const i=r(5256);const o=r(905);const s=r(3919);const p=r(3190);const d=r(9652);const l=r(9368);const c=r(7405);function matter(e,t){if(e===""){return{data:{},content:e,excerpt:"",orig:e}}let r=d(e);const a=matter.cache[r.content];if(!t){if(a){r=Object.assign({},a);r.orig=a.orig;return r}matter.cache[r.content]=r}return parseMatter(r,t)}function parseMatter(e,t){const r=i(t);const a=r.delimiters[0];const o="\n"+r.delimiters[1];let p=e.content;if(r.language){e.language=r.language}const d=a.length;if(!c.startsWith(p,a,d)){s(e,r);return e}if(p.charAt(d)===a.slice(-1)){return e}p=p.slice(d);const m=p.length;const g=matter.language(p,r);if(g.name){e.language=g.name;p=p.slice(g.raw.length)}let v=p.indexOf(o);if(v===-1){v=m}e.matter=p.slice(0,v);const T=e.matter.replace(/^\s*#[^\n]+/gm,"").trim();if(T===""){e.isEmpty=true;e.empty=e.content;e.data={}}else{e.data=l(e.language,e.matter,r)}if(v===m){e.content=""}else{e.content=p.slice(v+o.length);if(e.content[0]==="\r"){e.content=e.content.slice(1)}if(e.content[0]==="\n"){e.content=e.content.slice(1)}}s(e,r);if(r.sections===true||typeof r.section==="function"){n(e,r.section)}return e}matter.engines=p;matter.stringify=function(e,t,r){if(typeof e==="string")e=matter(e,r);return o(e,t,r)};matter.read=function(e,t){const r=a.readFileSync(e,"utf8");const n=matter(r,t);n.path=e;return n};matter.test=function(e,t){return c.startsWith(e,i(t).delimiters[0])};matter.language=function(e,t){const r=i(t);const a=r.delimiters[0];if(matter.test(e)){e=e.slice(a.length)}const n=e.slice(0,e.search(/\r?\n/));return{raw:n,name:n?n.trim():""}};matter.cache={};matter.clearCache=()=>matter.cache={};e.exports=matter},5256:(e,t,r)=>{const a=r(3190);const n=r(7405);e.exports=function(e){const t=Object.assign({},e);t.delimiters=n.arrayify(t.delims||t.delimiters||"---");if(t.delimiters.length===1){t.delimiters.push(t.delimiters[0])}t.language=(t.language||t.lang||"yaml").toLowerCase();t.engines=Object.assign({},a,t.parsers,t.engines);return t}},7669:e=>{e.exports=function(e,t){let r=t.engines[e]||t.engines[aliase(e)];if(typeof r==="undefined"){throw new Error('gray-matter engine "'+e+'" is not registered')}if(typeof r==="function"){r={parse:r}}return r};function aliase(e){switch(e.toLowerCase()){case"js":case"javascript":return"javascript";case"coffee":case"coffeescript":case"cson":return"coffee";case"yaml":case"yml":return"yaml";default:{return e}}}},3190:(module,exports,__nccwpck_require__)=>{const yaml=__nccwpck_require__(1917);const engines=exports=module.exports;engines.yaml={parse:yaml.safeLoad.bind(yaml),stringify:yaml.safeDump.bind(yaml)};engines.json={parse:JSON.parse.bind(JSON),stringify:function(e,t){const r=Object.assign({replacer:null,space:2},t);return JSON.stringify(e,r.replacer,r.space)}};engines.javascript={parse:function parse(str,options,wrap){try{if(wrap!==false){str="(function() {\nreturn "+str.trim()+";\n}());"}return eval(str)||{}}catch(e){if(wrap!==false&&/(unexpected|identifier)/i.test(e.message)){return parse(str,options,false)}throw new SyntaxError(e)}},stringify:function(){throw new Error("stringifying JavaScript is not supported")}}},3919:(e,t,r)=>{const a=r(5256);e.exports=function(e,t){const r=a(t);if(e.data==null){e.data={}}if(typeof r.excerpt==="function"){return r.excerpt(e,r)}const n=e.data.excerpt_separator||r.excerpt_separator;if(n==null&&(r.excerpt===false||r.excerpt==null)){return e}const i=typeof r.excerpt==="string"?r.excerpt:n||r.delimiters[0];const o=e.content.indexOf(i);if(o!==-1){e.excerpt=e.content.slice(0,o)}return e}},9368:(e,t,r)=>{const a=r(7669);const n=r(5256);e.exports=function(e,t,r){const i=n(r);const o=a(e,i);if(typeof o.parse!=="function"){throw new TypeError('expected "'+e+'.parse" to be a function')}return o.parse(t,i)}},905:(e,t,r)=>{const a=r(6961);const n=r(7669);const i=r(5256);e.exports=function(e,t,r){if(t==null&&r==null){switch(a(e)){case"object":t=e.data;r={};break;case"string":return e;default:{throw new TypeError("expected file to be a string or object")}}}const o=e.content;const s=i(r);if(t==null){if(!s.data)return e;t=s.data}const p=e.language||s.language;const d=n(p,s);if(typeof d.stringify!=="function"){throw new TypeError('expected "'+p+'.stringify" to be a function')}t=Object.assign({},e.data,t);const l=s.delimiters[0];const c=s.delimiters[1];const m=d.stringify(t,r).trim();let g="";if(m!=="{}"){g=newline(l)+newline(m)+newline(c)}if(typeof e.excerpt==="string"&&e.excerpt!==""){if(o.indexOf(e.excerpt.trim())===-1){g+=newline(e.excerpt)+newline(c)}}return g+newline(o)};function newline(e){return e.slice(-1)!=="\n"?e+"\n":e}},9652:(e,t,r)=>{const a=r(6961);const n=r(905);const i=r(7405);e.exports=function(e){if(a(e)!=="object"){e={content:e}}if(a(e.data)!=="object"){e.data={}}if(e.contents&&e.content==null){e.content=e.contents}i.define(e,"orig",i.toBuffer(e.content));i.define(e,"language",e.language||"");i.define(e,"matter",e.matter||"");i.define(e,"stringify",(function(t,r){if(r&&r.language){e.language=r.language}return n(e,t,r)}));e.content=i.toString(e.content);e.isEmpty=false;e.excerpt="";return e}},7405:(e,t,r)=>{const a=r(6550);const n=r(6961);t.define=function(e,t,r){Reflect.defineProperty(e,t,{enumerable:false,configurable:true,writable:true,value:r})};t.isBuffer=e=>n(e)==="buffer";t.isObject=e=>n(e)==="object";t.toBuffer=function(e){return typeof e==="string"?Buffer.from(e):e};t.toString=function(e){if(t.isBuffer(e))return a(String(e));if(typeof e!=="string"){throw new TypeError("expected input to be a string or buffer")}return a(e)};t.arrayify=function(e){return e?Array.isArray(e)?e:[e]:[]};t.startsWith=function(e,t,r){if(typeof r!=="number")r=t.length;return e.slice(0,r)===t}},4547:(e,t,r)=>{var a=r(9515);var n=r(4589);var i=r(3657);var o=r(9640);var s=r(4158);var p=r(2194);var d=r(6204);var l=r(6);var c=r(4070);var m=c("root");var g=c("element");var v=c("text");var T=/-([a-z])/g;e.exports=wrapper;function wrapper(e,t,r){var i=r||{};var o;var s;var p;var d;if(typeof e!=="function"){throw new Error("h is not a function")}if(typeof i==="string"||typeof i==="boolean"){o=i;i={}}else{o=i.prefix}s=react(e);p=vue(e);d=vdom(e);if(o===null||o===undefined){o=s===true||p===true||d===true?"h-":false}if(m(t)){if(t.children.length===1&&g(t.children[0])){t=t.children[0]}else{t={type:"element",tagName:"div",properties:{},children:t.children}}}else if(!g(t)){throw new Error("Expected root or element, not `"+(t&&t.type||t)+"`")}return toH(e,t,{schema:i.space==="svg"?n:a,prefix:o,key:0,react:s,vue:p,vdom:d,hyperscript:hyperscript(e)})}function toH(e,t,r){var a=r.schema;var i=a;var o=t.tagName;var s;var p;var d;var c;var m;var T;var E;var _;var w;if(a.space==="html"&&o.toLowerCase()==="svg"){i=n;r.schema=i}if(r.vdom===true&&i.space==="html"){o=o.toUpperCase()}s=t.properties;p={};for(c in s){addAttribute(p,c,s[c],r)}if(typeof p.style==="string"&&(r.vdom===true||r.vue===true||r.react===true)){p.style=parseStyle(p.style,o)}if(r.prefix){r.key++;p.key=r.prefix+r.key}if(r.vdom&&i.space!=="html"){p.namespace=l[i.space]}m=[];d=t.children;T=d?d.length:0;E=-1;while(++E{var a=r(9515);var n=r(4589);var i=r(3657);var o=r(6);var s=r(3413);var p=r(7156);var d=r(1208);var l=r(1291);e.exports=wrapper;var c={}.hasOwnProperty;var m={"#document":root,"#document-fragment":root,"#text":text,"#comment":comment,"#documentType":doctype};function wrapper(e,t){var r=t||{};var i;if(r.messages){i=r;r={}}else{i=r.file}return transform(e,{schema:r.space==="svg"?n:a,file:i,verbose:r.verbose,location:false})}function transform(e,t){var r=t.schema;var i=c.call(m,e.nodeName)?m[e.nodeName]:element;var s;var p;var d;if(i===element){t.schema=e.namespaceURI===o.svg?n:a}if(e.childNodes){s=nodes(e.childNodes,t)}p=i(e,s,t);if(e.sourceCodeLocation&&t.file){d=location(p,e.sourceCodeLocation,t);if(d){t.location=true;p.position=d}}t.schema=r;return p}function nodes(e,t){var r=e.length;var a=-1;var n=[];while(++a{e.exports=parse;var t=/[#.]/g;function parse(e,r){var a=e||"";var n=r||"div";var i={};var o=0;var s;var p;var d;while(o{var a=r(1554);var n=r(1133);var i=r(8849);var o=r(2785);var s=r(9878);var p=r(6);var d=r(1067);var l=r(1208);e.exports=wrap;var c="IN_TEMPLATE_MODE";var m="DATA_STATE";var g="CHARACTER_TOKEN";var v="START_TAG_TOKEN";var T="END_TAG_TOKEN";var E="COMMENT_TOKEN";var _="DOCTYPE_TOKEN";var w={sourceCodeLocationInfo:true,scriptingEnabled:false};function wrap(e,t){var r=new a(w);var l=d("type");var v;var T;var A;var b;var y;l.handlers.root=root;l.handlers.element=element;l.handlers.text=text;l.handlers.comment=comment;l.handlers.doctype=doctype;l.handlers.raw=raw;l.unknown=unknown;y=i(documentMode(e)?document():fragment(),t);if(e.type!=="root"&&y.children.length===1){return y.children[0]}return y;function fragment(){var t;var a;var n;t={nodeName:"template",tagName:"template",attrs:[],namespaceURI:p.html,childNodes:[]};a={nodeName:"documentmock",tagName:"documentmock",attrs:[],namespaceURI:p.html,childNodes:[]};n={nodeName:"#document-fragment",childNodes:[]};r._bootstrap(a,t);r._pushTmplInsertionMode(c);r._initTokenizerForFragmentParsing();r._insertFakeRootElement();r._resetInsertionMode();r._findFormInFragmentContext();v=r.tokenizer;T=v.preprocessor;b=v.__mixins[0];A=b.posTracker;l(e);r._adoptNodes(a.childNodes[0],n);return n}function document(){var t=r.treeAdapter.createDocument();r._bootstrap(t,null);v=r.tokenizer;T=v.preprocessor;b=v.__mixins[0];A=b.posTracker;l(e);return t}function all(e){var t=0;var r=-1;if(e){t=e.length}while(++r{var a=r(1208);var n=r(9515);var i=r(4589);var o=r(3657);var s=r(4547);var p=r(6);var d=r(1067);e.exports=transform;var l=["svg","html"];var c=d("type");c.handlers.root=root;c.handlers.element=element;c.handlers.text=text;c.handlers.comment=comment;c.handlers.doctype=doctype;function transform(e,t){return c(e,t==="svg"?i:n)}function root(e,t){var r=e.data||{};var a=r.quirksMode?"quirks":"no-quirks";return patch(e,{nodeName:"#document",mode:a},t)}function fragment(e,t){return patch(e,{nodeName:"#document-fragment"},t)}function doctype(e,t){return patch(e,{nodeName:"#documentType",name:e.name,publicId:e.public||"",systemId:e.system||""},t)}function text(e,t){return patch(e,{nodeName:"#text",value:e.value},t)}function comment(e,t){return patch(e,{nodeName:"#comment",data:e.value},t)}function element(e,t){var r=t.space;var n=a(e,{children:[]});return s(h,n,{space:r});function h(r,a){var i=[];var s;var d;var c;var m;var g;var v;for(m in a){g=o(t,m);d=a[m];if(d===false||g.boolean&&!d){continue}c={name:m,value:d===true?"":String(d)};if(g.space&&l.indexOf(g.space)===-1){v=m.indexOf(":");if(v===-1){c.prefix=""}else{c.name=m.slice(v+1);c.prefix=m.slice(0,v)}c.namespace=p[g.space]}i.push(c)}s=patch(e,{nodeName:r,tagName:r,attrs:i},t);if(r==="template"){s.content=fragment(n.content,t)}return s}}function patch(e,t,r){var a=r;var n=e.position;var o=e.children;var s=[];var d=o?o.length:0;var l=-1;var m;if(e.type==="element"){if(a.space==="html"&&e.tagName==="svg"){a=i}t.namespaceURI=p[a.space]}while(++l{var a=r(3657);var n=r(5144);var i=r(5253);var o=r(4158).parse;var s=r(2194).parse;e.exports=factory;var p={}.hasOwnProperty;function factory(e,t,r){var n=r?createAdjustMap(r):null;return h;function h(e,r){var a=i(e,t);var o=Array.prototype.slice.call(arguments,2);var s=a.tagName.toLowerCase();var d;a.tagName=n&&p.call(n,s)?n[s]:s;if(r&&isChildren(r,a)){o.unshift(r);r=null}if(r){for(d in r){addProperty(a.properties,d,r[d])}}addChild(a.children,o);if(a.tagName==="template"){a.content={type:"root",children:a.children};a.children=[]}return a}function addProperty(t,r,n){var i;var p;var d;if(n===null||n===undefined||n!==n){return}i=a(e,r);p=i.property;d=n;if(typeof d==="string"){if(i.spaceSeparated){d=o(d)}else if(i.commaSeparated){d=s(d)}else if(i.commaOrSpaceSeparated){d=o(s(d).join(" "))}}if(p==="style"&&typeof n!=="string"){d=style(d)}if(p==="className"&&t.className){d=t.className.concat(d)}t[p]=parsePrimitives(i,p,d)}}function isChildren(e,t){return typeof e==="string"||"length"in e||isNode(t.tagName,e)}function isNode(e,t){var r=t.type;if(e==="input"||!r||typeof r!=="string"){return false}if(typeof t.children==="object"&&"length"in t.children){return true}r=r.toLowerCase();if(e==="button"){return r!=="menu"&&r!=="submit"&&r!=="reset"&&r!=="button"}return"value"in t}function addChild(e,t){var r;var a;if(typeof t==="string"||typeof t==="number"){e.push({type:"text",value:String(t)});return}if(typeof t==="object"&&"length"in t){r=-1;a=t.length;while(++r{var a=r(9515);var n=r(3543);var i=n(a,"div");i.displayName="html";e.exports=i},7156:(e,t,r)=>{e.exports=r(3882)},3413:(e,t,r)=>{var a=r(4589);var n=r(6947);var i=r(3543);var o=i(a,"g",n);o.displayName="svg";e.exports=o},4124:(e,t,r)=>{try{var a=r(3837);if(typeof a.inherits!=="function")throw"";e.exports=a.inherits}catch(t){e.exports=r(8544)}},8544:e=>{if(typeof Object.create==="function"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},3328:e=>{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;var r=/\n/g;var a=/^\s*/;var n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;var i=/^:\s*/;var o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;var s=/^[;\s]*/;var p=/^\s+|\s+$/g;var d="\n";var l="/";var c="*";var m="";var g="comment";var v="declaration";e.exports=function(e,p){if(typeof e!=="string"){throw new TypeError("First argument must be a string")}if(!e)return[];p=p||{};var T=1;var E=1;function updatePosition(e){var t=e.match(r);if(t)T+=t.length;var a=e.lastIndexOf(d);E=~a?e.length-a:E+e.length}function position(){var e={line:T,column:E};return function(t){t.position=new Position(e);whitespace();return t}}function Position(e){this.start=e;this.end={line:T,column:E};this.source=p.source}Position.prototype.content=e;var _=[];function error(t){var r=new Error(p.source+":"+T+":"+E+": "+t);r.reason=t;r.filename=p.source;r.line=T;r.column=E;r.source=e;if(p.silent){_.push(r)}else{throw r}}function match(t){var r=t.exec(e);if(!r)return;var a=r[0];updatePosition(a);e=e.slice(a.length);return r}function whitespace(){match(a)}function comments(e){var t;e=e||[];while(t=comment()){if(t!==false){e.push(t)}}return e}function comment(){var t=position();if(l!=e.charAt(0)||c!=e.charAt(1))return;var r=2;while(m!=e.charAt(r)&&(c!=e.charAt(r)||l!=e.charAt(r+1))){++r}r+=2;if(m===e.charAt(r-1)){return error("End of comment missing")}var a=e.slice(2,r-2);E+=2;updatePosition(a);e=e.slice(r);E+=2;return t({type:g,comment:a})}function declaration(){var e=position();var r=match(n);if(!r)return;comment();if(!match(i))return error("property missing ':'");var a=match(o);var p=e({type:v,property:trim(r[0].replace(t,m)),value:a?trim(a[0].replace(t,m)):m});match(s);return p}function declarations(){var e=[];comments(e);var t;while(t=declaration()){if(t!==false){e.push(t);comments(e)}}return e}whitespace();return declarations()};function trim(e){return e?e.replace(p,m):m}},1997:e=>{e.exports=alphabetical;function alphabetical(e){var t=typeof e==="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},8189:(e,t,r)=>{var a=r(1997);var n=r(5552);e.exports=alphanumerical;function alphanumerical(e){return a(e)||n(e)}},5625:e=>{ /*! * Determine if an object is a Buffer * @@ -18,24 +18,24 @@ e.exports=function isExtendable(e){return typeof e!=="undefined"&&e!==null&&(typ * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. - */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var t,r;if(isObject(e)===false)return false;t=e.constructor;if(t===undefined)return true;r=t.prototype;if(isObject(r)===false)return false;if(r.hasOwnProperty("isPrototypeOf")===false){return false}return true}t.isPlainObject=isPlainObject},8473:e=>{e.exports=whitespace;var t=String.fromCharCode;var r=/\s/;function whitespace(e){return r.test(typeof e==="number"?t(e):e.charAt(0))}},1623:e=>{e.exports=wordCharacter;var t=String.fromCharCode;var r=/\w/;function wordCharacter(e){return r.test(typeof e==="number"?t(e):e.charAt(0))}},1917:(e,t,r)=>{var a=r(916);e.exports=a},916:(e,t,r)=>{var a=r(5190);var n=r(3034);function deprecated(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=r(967);e.exports.Schema=r(6514);e.exports.FAILSAFE_SCHEMA=r(6037);e.exports.JSON_SCHEMA=r(1571);e.exports.CORE_SCHEMA=r(2183);e.exports.DEFAULT_SAFE_SCHEMA=r(8949);e.exports.DEFAULT_FULL_SCHEMA=r(6874);e.exports.load=a.load;e.exports.loadAll=a.loadAll;e.exports.safeLoad=a.safeLoad;e.exports.safeLoadAll=a.safeLoadAll;e.exports.dump=n.dump;e.exports.safeDump=n.safeDump;e.exports.YAMLException=r(5199);e.exports.MINIMAL_SCHEMA=r(6037);e.exports.SAFE_SCHEMA=r(8949);e.exports.DEFAULT_SCHEMA=r(6874);e.exports.scan=deprecated("scan");e.exports.parse=deprecated("parse");e.exports.compose=deprecated("compose");e.exports.addConstructor=deprecated("addConstructor")},9136:e=>{function isNothing(e){return typeof e==="undefined"||e===null}function isObject(e){return typeof e==="object"&&e!==null}function toArray(e){if(Array.isArray(e))return e;else if(isNothing(e))return[];return[e]}function extend(e,t){var r,a,n,i;if(t){i=Object.keys(t);for(r=0,a=i.length;r{var a=r(9136);var n=r(5199);var i=r(6874);var o=r(8949);var s=Object.prototype.toString;var p=Object.prototype.hasOwnProperty;var d=9;var l=10;var m=13;var c=32;var g=33;var v=34;var T=35;var E=37;var _=38;var w=39;var A=42;var b=44;var y=45;var S=58;var C=61;var k=62;var N=63;var D=64;var O=91;var I=93;var R=96;var P=123;var L=124;var x=125;var F={};F[0]="\\0";F[7]="\\a";F[8]="\\b";F[9]="\\t";F[10]="\\n";F[11]="\\v";F[12]="\\f";F[13]="\\r";F[27]="\\e";F[34]='\\"';F[92]="\\\\";F[133]="\\N";F[160]="\\_";F[8232]="\\L";F[8233]="\\P";var M=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function compileStyleMap(e,t){var r,a,n,i,o,s,d;if(t===null)return{};r={};a=Object.keys(t);for(n=0,i=a.length;n0?e.charCodeAt(i-1):null;g=g&&isPlainSafe(o,s)}}else{for(i=0;ia&&e[c+1]!==" ";c=i}}else if(!isPrintable(o)){return V}s=i>0?e.charCodeAt(i-1):null;g=g&&isPlainSafe(o,s)}d=d||m&&(i-c-1>a&&e[c+1]!==" ")}if(!p&&!d){return g&&!n(e)?B:G}if(r>9&&needIndentIndicator(e)){return V}return d?H:U}function writeScalar(e,t,r,a){e.dump=function(){if(t.length===0){return"''"}if(!e.noCompatMode&&M.indexOf(t)!==-1){return"'"+t+"'"}var i=e.indent*Math.max(1,r);var o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i);var s=a||e.flowLevel>-1&&r>=e.flowLevel;function testAmbiguity(t){return testImplicitResolving(e,t)}switch(chooseScalarStyle(t,s,e.indent,o,testAmbiguity)){case B:return t;case G:return"'"+t.replace(/'/g,"''")+"'";case U:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,i));case H:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,o),i));case V:return'"'+escapeString(t,o)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var r=needIndentIndicator(e)?String(t):"";var a=e[e.length-1]==="\n";var n=a&&(e[e.length-2]==="\n"||e==="\n");var i=n?"+":a?"":"-";return r+i+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,t){var r=/(\n+)([^\n]*)/g;var a=function(){var a=e.indexOf("\n");a=a!==-1?a:e.length;r.lastIndex=a;return foldLine(e.slice(0,a),t)}();var n=e[0]==="\n"||e[0]===" ";var i;var o;while(o=r.exec(e)){var s=o[1],p=o[2];i=p[0]===" ";a+=s+(!n&&!i&&p!==""?"\n":"")+foldLine(p,t);n=i}return a}function foldLine(e,t){if(e===""||e[0]===" ")return e;var r=/ [^ ]/g;var a;var n=0,i,o=0,s=0;var p="";while(a=r.exec(e)){s=a.index;if(s-n>t){i=o>n?o:s;p+="\n"+e.slice(n,i);n=i+1}o=s}p+="\n";if(e.length-n>t&&o>n){p+=e.slice(n,o)+"\n"+e.slice(o+1)}else{p+=e.slice(n)}return p.slice(1)}function escapeString(e){var t="";var r,a;var n;for(var i=0;i=55296&&r<=56319){a=e.charCodeAt(i+1);if(a>=56320&&a<=57343){t+=encodeHex((r-55296)*1024+a-56320+65536);i++;continue}}n=F[r];t+=!n&&isPrintable(r)?e[i]:n||encodeHex(r)}return t}function writeFlowSequence(e,t,r){var a="",n=e.tag,i,o;for(i=0,o=r.length;i1024)l+="? ";l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,t,d,false,false)){continue}l+=e.dump;a+=l}e.tag=n;e.dump="{"+a+"}"}function writeBlockMapping(e,t,r,a){var i="",o=e.tag,s=Object.keys(r),p,d,m,c,g,v;if(e.sortKeys===true){s.sort()}else if(typeof e.sortKeys==="function"){s.sort(e.sortKeys)}else if(e.sortKeys){throw new n("sortKeys must be a boolean or a function")}for(p=0,d=s.length;p1024;if(g){if(e.dump&&l===e.dump.charCodeAt(0)){v+="?"}else{v+="? "}}v+=e.dump;if(g){v+=generateNextLine(e,t)}if(!writeNode(e,t+1,c,true,g)){continue}if(e.dump&&l===e.dump.charCodeAt(0)){v+=":"}else{v+=": "}v+=e.dump;i+=v}e.tag=o;e.dump=i||"{}"}function detectType(e,t,r){var a,i,o,d,l,m;i=r?e.explicitTypes:e.implicitTypes;for(o=0,d=i.length;o tag resolver accepts not "'+m+'" style')}e.dump=a}return true}}return false}function writeNode(e,t,r,a,i,o){e.tag=null;e.dump=r;if(!detectType(e,r,false)){detectType(e,r,true)}var p=s.call(e.dump);if(a){a=e.flowLevel<0||e.flowLevel>t}var d=p==="[object Object]"||p==="[object Array]",l,m;if(d){l=e.duplicates.indexOf(r);m=l!==-1}if(e.tag!==null&&e.tag!=="?"||m||e.indent!==2&&t>0){i=false}if(m&&e.usedDuplicates[l]){e.dump="*ref_"+l}else{if(d&&m&&!e.usedDuplicates[l]){e.usedDuplicates[l]=true}if(p==="[object Object]"){if(a&&Object.keys(e.dump).length!==0){writeBlockMapping(e,t,e.dump,i);if(m){e.dump="&ref_"+l+e.dump}}else{writeFlowMapping(e,t,e.dump);if(m){e.dump="&ref_"+l+" "+e.dump}}}else if(p==="[object Array]"){var c=e.noArrayIndent&&t>0?t-1:t;if(a&&e.dump.length!==0){writeBlockSequence(e,c,e.dump,i);if(m){e.dump="&ref_"+l+e.dump}}else{writeFlowSequence(e,c,e.dump);if(m){e.dump="&ref_"+l+" "+e.dump}}}else if(p==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,t,o)}}else{if(e.skipInvalid)return false;throw new n("unacceptable kind of an object to dump "+p)}if(e.tag!==null&&e.tag!=="?"){e.dump="!<"+e.tag+"> "+e.dump}}return true}function getDuplicateReferences(e,t){var r=[],a=[],n,i;inspectNode(e,r,a);for(n=0,i=a.length;n{function YAMLException(e,t){Error.call(this);this.name="YAMLException";this.reason=e;this.mark=t;this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"");if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException.prototype=Object.create(Error.prototype);YAMLException.prototype.constructor=YAMLException;YAMLException.prototype.toString=function toString(e){var t=this.name+": ";t+=this.reason||"(unknown reason)";if(!e&&this.mark){t+=" "+this.mark.toString()}return t};e.exports=YAMLException},5190:(e,t,r)=>{var a=r(9136);var n=r(5199);var i=r(5426);var o=r(8949);var s=r(6874);var p=Object.prototype.hasOwnProperty;var d=1;var l=2;var m=3;var c=4;var g=1;var v=2;var T=3;var E=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var _=/[\x85\u2028\u2029]/;var w=/[,\[\]\{\}]/;var A=/^(?:!|!!|![a-z\-]+!)$/i;var b=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(e){return Object.prototype.toString.call(e)}function is_EOL(e){return e===10||e===13}function is_WHITE_SPACE(e){return e===9||e===32}function is_WS_OR_EOL(e){return e===9||e===32||e===10||e===13}function is_FLOW_INDICATOR(e){return e===44||e===91||e===93||e===123||e===125}function fromHexCode(e){var t;if(48<=e&&e<=57){return e-48}t=e|32;if(97<=t&&t<=102){return t-97+10}return-1}function escapedHexLen(e){if(e===120){return 2}if(e===117){return 4}if(e===85){return 8}return 0}function fromDecimalCode(e){if(48<=e&&e<=57){return e-48}return-1}function simpleEscapeSequence(e){return e===48?"\0":e===97?"":e===98?"\b":e===116?"\t":e===9?"\t":e===110?"\n":e===118?"\v":e===102?"\f":e===114?"\r":e===101?"":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"…":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function charFromCodepoint(e){if(e<=65535){return String.fromCharCode(e)}return String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var y=new Array(256);var S=new Array(256);for(var C=0;C<256;C++){y[C]=simpleEscapeSequence(C)?1:0;S[C]=simpleEscapeSequence(C)}function State(e,t){this.input=e;this.filename=t["filename"]||null;this.schema=t["schema"]||s;this.onWarning=t["onWarning"]||null;this.legacy=t["legacy"]||false;this.json=t["json"]||false;this.listener=t["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(e,t){return new n(t,new i(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){if(e.onWarning){e.onWarning.call(null,generateError(e,t))}}var k={YAML:function handleYamlDirective(e,t,r){var a,n,i;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(r.length!==1){throwError(e,"YAML directive accepts exactly one argument")}a=/^([0-9]+)\.([0-9]+)$/.exec(r[0]);if(a===null){throwError(e,"ill-formed argument of the YAML directive")}n=parseInt(a[1],10);i=parseInt(a[2],10);if(n!==1){throwError(e,"unacceptable YAML version of the document")}e.version=r[0];e.checkLineBreaks=i<2;if(i!==1&&i!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,t,r){var a,n;if(r.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}a=r[0];n=r[1];if(!A.test(a)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(p.call(e.tagMap,a)){throwError(e,'there is a previously declared suffix for "'+a+'" tag handle')}if(!b.test(n)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}e.tagMap[a]=n}};function captureSegment(e,t,r,a){var n,i,o,s;if(t1){e.result+=a.repeat("\n",t-1)}}function readPlainScalar(e,t,r){var a,n,i,o,s,p,d,l,m=e.kind,c=e.result,g;g=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(g)||is_FLOW_INDICATOR(g)||g===35||g===38||g===42||g===33||g===124||g===62||g===39||g===34||g===37||g===64||g===96){return false}if(g===63||g===45){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||r&&is_FLOW_INDICATOR(n)){return false}}e.kind="scalar";e.result="";i=o=e.position;s=false;while(g!==0){if(g===58){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||r&&is_FLOW_INDICATOR(n)){break}}else if(g===35){a=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(a)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||r&&is_FLOW_INDICATOR(g)){break}else if(is_EOL(g)){p=e.line;d=e.lineStart;l=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=t){s=true;g=e.input.charCodeAt(e.position);continue}else{e.position=o;e.line=p;e.lineStart=d;e.lineIndent=l;break}}if(s){captureSegment(e,i,o,false);writeFoldedLines(e,e.line-p);i=o=e.position;s=false}if(!is_WHITE_SPACE(g)){o=e.position+1}g=e.input.charCodeAt(++e.position)}captureSegment(e,i,o,false);if(e.result){return true}e.kind=m;e.result=c;return false}function readSingleQuotedScalar(e,t){var r,a,n;r=e.input.charCodeAt(e.position);if(r!==39){return false}e.kind="scalar";e.result="";e.position++;a=n=e.position;while((r=e.input.charCodeAt(e.position))!==0){if(r===39){captureSegment(e,a,e.position,true);r=e.input.charCodeAt(++e.position);if(r===39){a=e.position;e.position++;n=e.position}else{return true}}else if(is_EOL(r)){captureSegment(e,a,n,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));a=n=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;n=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var r,a,n,i,o,s;s=e.input.charCodeAt(e.position);if(s!==34){return false}e.kind="scalar";e.result="";e.position++;r=a=e.position;while((s=e.input.charCodeAt(e.position))!==0){if(s===34){captureSegment(e,r,e.position,true);e.position++;return true}else if(s===92){captureSegment(e,r,e.position,true);s=e.input.charCodeAt(++e.position);if(is_EOL(s)){skipSeparationSpace(e,false,t)}else if(s<256&&y[s]){e.result+=S[s];e.position++}else if((o=escapedHexLen(s))>0){n=o;i=0;for(;n>0;n--){s=e.input.charCodeAt(++e.position);if((o=fromHexCode(s))>=0){i=(i<<4)+o}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(i);e.position++}else{throwError(e,"unknown escape sequence")}r=a=e.position}else if(is_EOL(s)){captureSegment(e,r,a,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));r=a=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;a=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var r=true,a,n=e.tag,i,o=e.anchor,s,p,l,m,c,g={},v,T,E,_;_=e.input.charCodeAt(e.position);if(_===91){p=93;c=false;i=[]}else if(_===123){p=125;c=true;i={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=i}_=e.input.charCodeAt(++e.position);while(_!==0){skipSeparationSpace(e,true,t);_=e.input.charCodeAt(e.position);if(_===p){e.position++;e.tag=n;e.anchor=o;e.kind=c?"mapping":"sequence";e.result=i;return true}else if(!r){throwError(e,"missed comma between flow collection entries")}T=v=E=null;l=m=false;if(_===63){s=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(s)){l=m=true;e.position++;skipSeparationSpace(e,true,t)}}a=e.line;composeNode(e,t,d,false,true);T=e.tag;v=e.result;skipSeparationSpace(e,true,t);_=e.input.charCodeAt(e.position);if((m||e.line===a)&&_===58){l=true;_=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,t);composeNode(e,t,d,false,true);E=e.result}if(c){storeMappingPair(e,i,g,T,v,E)}else if(l){i.push(storeMappingPair(e,null,g,T,v,E))}else{i.push(v)}skipSeparationSpace(e,true,t);_=e.input.charCodeAt(e.position);if(_===44){r=true;_=e.input.charCodeAt(++e.position)}else{r=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var r,n,i=g,o=false,s=false,p=t,d=0,l=false,m,c;c=e.input.charCodeAt(e.position);if(c===124){n=false}else if(c===62){n=true}else{return false}e.kind="scalar";e.result="";while(c!==0){c=e.input.charCodeAt(++e.position);if(c===43||c===45){if(g===i){i=c===43?T:v}else{throwError(e,"repeat of a chomping mode identifier")}}else if((m=fromDecimalCode(c))>=0){if(m===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!s){p=t+m-1;s=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(c)){do{c=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(c));if(c===35){do{c=e.input.charCodeAt(++e.position)}while(!is_EOL(c)&&c!==0)}}while(c!==0){readLineBreak(e);e.lineIndent=0;c=e.input.charCodeAt(e.position);while((!s||e.lineIndentp){p=e.lineIndent}if(is_EOL(c)){d++;continue}if(e.lineIndentt)&&p!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndentt){if(composeNode(e,t,c,true,n)){if(E){v=e.result}else{T=e.result}}if(!E){storeMappingPair(e,d,m,g,v,T,i,o);g=v=T=null}skipSeparationSpace(e,true,-1);w=e.input.charCodeAt(e.position)}if(e.lineIndent>t&&w!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndentt){g=1}else if(e.lineIndent===t){g=0}else if(e.lineIndentt){g=1}else if(e.lineIndent===t){g=0}else if(e.lineIndent tag; it should be "scalar", not "'+e.kind+'"')}for(E=0,_=e.implicitTypes.length;E<_;E+=1){w=e.implicitTypes[E];if(w.resolve(e.result)){e.result=w.construct(e.result);e.tag=w.tag;if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}break}}}else if(p.call(e.typeMap[e.kind||"fallback"],e.tag)){w=e.typeMap[e.kind||"fallback"][e.tag];if(e.result!==null&&w.kind!==e.kind){throwError(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+w.kind+'", not "'+e.kind+'"')}if(!w.resolve(e.result)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=w.construct(e.result);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else{throwError(e,"unknown tag !<"+e.tag+">")}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||T}function readDocument(e){var t=e.position,r,a,n,i=false,o;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap={};e.anchorMap={};while((o=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);o=e.input.charCodeAt(e.position);if(e.lineIndent>0||o!==37){break}i=true;o=e.input.charCodeAt(++e.position);r=e.position;while(o!==0&&!is_WS_OR_EOL(o)){o=e.input.charCodeAt(++e.position)}a=e.input.slice(r,e.position);n=[];if(a.length<1){throwError(e,"directive name must not be less than one character in length")}while(o!==0){while(is_WHITE_SPACE(o)){o=e.input.charCodeAt(++e.position)}if(o===35){do{o=e.input.charCodeAt(++e.position)}while(o!==0&&!is_EOL(o));break}if(is_EOL(o))break;r=e.position;while(o!==0&&!is_WS_OR_EOL(o)){o=e.input.charCodeAt(++e.position)}n.push(e.input.slice(r,e.position))}if(o!==0)readLineBreak(e);if(p.call(k,a)){k[a](e,a,n)}else{throwWarning(e,'unknown document directive "'+a+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(i){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,c,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&_.test(e.input.slice(t,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position{var a=r(9136);function Mark(e,t,r,a,n){this.name=e;this.buffer=t;this.position=r;this.line=a;this.column=n}Mark.prototype.getSnippet=function getSnippet(e,t){var r,n,i,o,s;if(!this.buffer)return null;e=e||4;t=t||75;r="";n=this.position;while(n>0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1))===-1){n-=1;if(this.position-n>t/2-1){r=" ... ";n+=5;break}}i="";o=this.position;while(ot/2-1){i=" ... ";o-=5;break}}s=this.buffer.slice(n,o);return a.repeat(" ",e)+r+s+i+"\n"+a.repeat(" ",e+this.position-n+r.length)+"^"};Mark.prototype.toString=function toString(e){var t,r="";if(this.name){r+='in "'+this.name+'" '}r+="at line "+(this.line+1)+", column "+(this.column+1);if(!e){t=this.getSnippet();if(t){r+=":\n"+t}}return r};e.exports=Mark},6514:(e,t,r)=>{var a=r(9136);var n=r(5199);var i=r(967);function compileList(e,t,r){var a=[];e.include.forEach((function(e){r=compileList(e,t,r)}));e[t].forEach((function(e){r.forEach((function(t,r){if(t.tag===e.tag&&t.kind===e.kind){a.push(r)}}));r.push(e)}));return r.filter((function(e,t){return a.indexOf(t)===-1}))}function compileMap(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function collectType(t){e[t.kind][t.tag]=e["fallback"][t.tag]=t}for(t=0,r=arguments.length;t{var a=r(6514);e.exports=new a({include:[r(1571)]})},6874:(e,t,r)=>{var a=r(6514);e.exports=a.DEFAULT=new a({include:[r(8949)],explicit:[r(5914),r(9242),r(7278)]})},8949:(e,t,r)=>{var a=r(6514);e.exports=new a({include:[r(2183)],implicit:[r(3714),r(1393)],explicit:[r(2551),r(6668),r(6039),r(9237)]})},6037:(e,t,r)=>{var a=r(6514);e.exports=new a({explicit:[r(2672),r(5490),r(1173)]})},1571:(e,t,r)=>{var a=r(6514);e.exports=new a({include:[r(6037)],implicit:[r(2671),r(4675),r(9963),r(5564)]})},967:(e,t,r)=>{var a=r(5199);var n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"];var i=["scalar","sequence","mapping"];function compileStyleAliases(e){var t={};if(e!==null){Object.keys(e).forEach((function(r){e[r].forEach((function(e){t[String(e)]=r}))}))}return t}function Type(e,t){t=t||{};Object.keys(t).forEach((function(t){if(n.indexOf(t)===-1){throw new a('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}}));this.tag=e;this.kind=t["kind"]||null;this.resolve=t["resolve"]||function(){return true};this.construct=t["construct"]||function(e){return e};this.instanceOf=t["instanceOf"]||null;this.predicate=t["predicate"]||null;this.represent=t["represent"]||null;this.defaultStyle=t["defaultStyle"]||null;this.styleAliases=compileStyleAliases(t["styleAliases"]||null);if(i.indexOf(this.kind)===-1){throw new a('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},2551:(e,t,r)=>{var a;try{var n=require;a=n("buffer").Buffer}catch(e){}var i=r(967);var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(e){if(e===null)return false;var t,r,a=0,n=e.length,i=o;for(r=0;r64)continue;if(t<0)return false;a+=6}return a%8===0}function constructYamlBinary(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,s=o,p=0,d=[];for(t=0;t>16&255);d.push(p>>8&255);d.push(p&255)}p=p<<6|s.indexOf(n.charAt(t))}r=i%4*6;if(r===0){d.push(p>>16&255);d.push(p>>8&255);d.push(p&255)}else if(r===18){d.push(p>>10&255);d.push(p>>2&255)}else if(r===12){d.push(p>>4&255)}if(a){return a.from?a.from(d):new a(d)}return d}function representYamlBinary(e){var t="",r=0,a,n,i=e.length,s=o;for(a=0;a>18&63];t+=s[r>>12&63];t+=s[r>>6&63];t+=s[r&63]}r=(r<<8)+e[a]}n=i%3;if(n===0){t+=s[r>>18&63];t+=s[r>>12&63];t+=s[r>>6&63];t+=s[r&63]}else if(n===2){t+=s[r>>10&63];t+=s[r>>4&63];t+=s[r<<2&63];t+=s[64]}else if(n===1){t+=s[r>>2&63];t+=s[r<<4&63];t+=s[64];t+=s[64]}return t}function isBinary(e){return a&&a.isBuffer(e)}e.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},4675:(e,t,r)=>{var a=r(967);function resolveYamlBoolean(e){if(e===null)return false;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function constructYamlBoolean(e){return e==="true"||e==="True"||e==="TRUE"}function isBoolean(e){return Object.prototype.toString.call(e)==="[object Boolean]"}e.exports=new a("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},5564:(e,t,r)=>{var a=r(9136);var n=r(967);var i=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(e){if(e===null)return false;if(!i.test(e)||e[e.length-1]==="_"){return false}return true}function constructYamlFloat(e){var t,r,a,n;t=e.replace(/_/g,"").toLowerCase();r=t[0]==="-"?-1:1;n=[];if("+-".indexOf(t[0])>=0){t=t.slice(1)}if(t===".inf"){return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(t===".nan"){return NaN}else if(t.indexOf(":")>=0){t.split(":").forEach((function(e){n.unshift(parseFloat(e,10))}));t=0;a=1;n.forEach((function(e){t+=e*a;a*=60}));return r*t}return r*parseFloat(t,10)}var o=/^[-+]?[0-9]+e/;function representYamlFloat(e,t){var r;if(isNaN(e)){switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(a.isNegativeZero(e)){return"-0.0"}r=e.toString(10);return o.test(r)?r.replace("e",".e"):r}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||a.isNegativeZero(e))}e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},9963:(e,t,r)=>{var a=r(9136);var n=r(967);function isHexCode(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function isOctCode(e){return 48<=e&&e<=55}function isDecCode(e){return 48<=e&&e<=57}function resolveYamlInteger(e){if(e===null)return false;var t=e.length,r=0,a=false,n;if(!t)return false;n=e[r];if(n==="-"||n==="+"){n=e[++r]}if(n==="0"){if(r+1===t)return true;n=e[++r];if(n==="b"){r++;for(;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},7278:(e,t,r)=>{var a;try{var n=require;a=n("esprima")}catch(e){if(typeof window!=="undefined")a=window.esprima}var i=r(967);function resolveJavascriptFunction(e){if(e===null)return false;try{var t="("+e+")",r=a.parse(t,{range:true});if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(e){return false}}function constructJavascriptFunction(e){var t="("+e+")",r=a.parse(t,{range:true}),n=[],i;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}r.body[0].expression.params.forEach((function(e){n.push(e.name)}));i=r.body[0].expression.body.range;if(r.body[0].expression.body.type==="BlockStatement"){return new Function(n,t.slice(i[0]+1,i[1]-1))}return new Function(n,"return "+t.slice(i[0],i[1]))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return Object.prototype.toString.call(e)==="[object Function]"}e.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},9242:(e,t,r)=>{var a=r(967);function resolveJavascriptRegExp(e){if(e===null)return false;if(e.length===0)return false;var t=e,r=/\/([gim]*)$/.exec(e),a="";if(t[0]==="/"){if(r)a=r[1];if(a.length>3)return false;if(t[t.length-a.length-1]!=="/")return false}return true}function constructJavascriptRegExp(e){var t=e,r=/\/([gim]*)$/.exec(e),a="";if(t[0]==="/"){if(r)a=r[1];t=t.slice(1,t.length-a.length-1)}return new RegExp(t,a)}function representJavascriptRegExp(e){var t="/"+e.source+"/";if(e.global)t+="g";if(e.multiline)t+="m";if(e.ignoreCase)t+="i";return t}function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}e.exports=new a("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},5914:(e,t,r)=>{var a=r(967);function resolveJavascriptUndefined(){return true}function constructJavascriptUndefined(){return undefined}function representJavascriptUndefined(){return""}function isUndefined(e){return typeof e==="undefined"}e.exports=new a("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined})},1173:(e,t,r)=>{var a=r(967);e.exports=new a("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})},1393:(e,t,r)=>{var a=r(967);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new a("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},2671:(e,t,r)=>{var a=r(967);function resolveYamlNull(e){if(e===null)return true;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function constructYamlNull(){return null}function isNull(e){return e===null}e.exports=new a("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},6668:(e,t,r)=>{var a=r(967);var n=Object.prototype.hasOwnProperty;var i=Object.prototype.toString;function resolveYamlOmap(e){if(e===null)return true;var t=[],r,a,o,s,p,d=e;for(r=0,a=d.length;r{var a=r(967);var n=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var t,r,a,i,o,s=e;o=new Array(s.length);for(t=0,r=s.length;t{var a=r(967);e.exports=new a("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},9237:(e,t,r)=>{var a=r(967);var n=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var t,r=e;for(t in r){if(n.call(r,t)){if(r[t]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new a("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},2672:(e,t,r)=>{var a=r(967);e.exports=new a("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})},3714:(e,t,r)=>{var a=r(967);var n=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9])"+"-([0-9][0-9])$");var i=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(e){if(e===null)return false;if(n.exec(e)!==null)return true;if(i.exec(e)!==null)return true;return false}function constructYamlTimestamp(e){var t,r,a,o,s,p,d,l=0,m=null,c,g,v;t=n.exec(e);if(t===null)t=i.exec(e);if(t===null)throw new Error("Date resolve error");r=+t[1];a=+t[2]-1;o=+t[3];if(!t[4]){return new Date(Date.UTC(r,a,o))}s=+t[4];p=+t[5];d=+t[6];if(t[7]){l=t[7].slice(0,3);while(l.length<3){l+="0"}l=+l}if(t[9]){c=+t[10];g=+(t[11]||0);m=(c*60+g)*6e4;if(t[9]==="-")m=-m}v=new Date(Date.UTC(r,a,o,s,p,d,l));if(m)v.setTime(v.getTime()-m);return v}function representYamlTimestamp(e){return e.toISOString()}e.exports=new a("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp})},6961:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return typeof e.constructor==="function"?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},8805:e=>{e.exports=escapes;var t=["\\","`","*","{","}","[","]","(",")","#","+","-",".","!","_",">"];var r=t.concat(["~","|"]);var a=r.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);escapes.default=t;escapes.gfm=r;escapes.commonmark=a;function escapes(e){var n=e||{};if(n.commonmark){return a}return n.gfm?r:t}},1157:(e,t,r)=>{var a=r(2631);e.exports=getDefinitionFactory;var n={}.hasOwnProperty;function getDefinitionFactory(e,t){return getterFactory(gather(e,t))}function gather(e,t){var r={};if(!e||!e.type){throw new Error("mdast-util-definitions expected node")}a(e,"definition",t&&t.commonmark?commonmark:normal);return r;function commonmark(e){var t=normalise(e.identifier);if(!n.call(r,t)){r[t]=e}}function normal(e){r[normalise(e.identifier)]=e}}function getterFactory(e){return getter;function getter(t){var r=t&&normalise(t);return r&&n.call(e,r)?e[r]:null}}function normalise(e){return e.toUpperCase()}},4595:(e,t,r)=>{e.exports=visitParents;var a=r(4070);var n=true;var i="skip";var o=false;visitParents.CONTINUE=n;visitParents.SKIP=i;visitParents.EXIT=o;function visitParents(e,t,r,n){var s;if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}s=a(t);one(e,null,[]);function one(e,a,n){var p=[];var d;if(!t||s(e,a,n[n.length-1]||null)){p=toResult(r(e,n));if(p[0]===o){return p}}if(e.children&&p[0]!==i){d=toResult(all(e.children,n.concat(e)));return d[0]===o?d:p}return p}function all(e,t){var r=-1;var a=n?-1:1;var i=(n?e.length:r)+a;var s;while(i>r&&i{e.exports=visit;var a=r(4595);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},7780:(e,t,r)=>{e.exports=r(9900)},4159:(e,t,r)=>{e.exports=all;var a=r(4065);var n=r(8503);function all(e,t){var r=t.children||[];var i=r.length;var o=[];var s=-1;var p;var d;while(++s{e.exports=generateFootnotes;var a=r(5233);var n=r(5965);var i=r(7746);function generateFootnotes(e){var t=e.footnoteById;var r=e.footnoteOrder;var o=r.length;var s=-1;var p=[];var d;var l;var m;var c;while(++s{e.exports=blockquote;var a=r(7746);var n=r(4159);function blockquote(e,t){return e(t,"blockquote",a(n(e,t),true))}},9756:(e,t,r)=>{e.exports=hardBreak;var a=r(2637);function hardBreak(e,t){return[e(t,"br"),a("text","\n")]}},913:(e,t,r)=>{e.exports=code;var a=r(9050);var n=r(2637);function code(e,t){var r=t.value?a(t.value+"\n"):"";var i=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/);var o={};if(i){o.className=["language-"+i]}return e(t.position,"pre",[e(t,"code",o,[n("text",r)])])}},5396:(e,t,r)=>{e.exports=strikethrough;var a=r(4159);function strikethrough(e,t){return e(t,"del",a(e,t))}},2675:(e,t,r)=>{e.exports=emphasis;var a=r(4159);function emphasis(e,t){return e(t,"em",a(e,t))}},5041:(e,t,r)=>{e.exports=footnoteReference;var a=r(2637);function footnoteReference(e,t){var r=e.footnoteOrder;var n=String(t.identifier);if(r.indexOf(n)===-1){r.push(n)}return e(t.position,"sup",{id:"fnref-"+n},[e(t,"a",{href:"#fn-"+n,className:["footnote-ref"]},[a("text",t.label||n)])])}},8887:(e,t,r)=>{e.exports=footnote;var a=r(5041);function footnote(e,t){var r=e.footnoteById;var n=e.footnoteOrder;var i=1;while(i in r){i++}i=String(i);n.push(i);r[i]={type:"footnoteDefinition",identifier:i,children:[{type:"paragraph",children:t.children}],position:t.position};return a(e,{type:"footnoteReference",identifier:i,position:t.position})}},6367:(e,t,r)=>{e.exports=heading;var a=r(4159);function heading(e,t){return e(t,"h"+t.depth,a(e,t))}},6478:(e,t,r)=>{e.exports=html;var a=r(2637);function html(e,t){return e.dangerous?e.augment(t,a("raw",t.value)):null}},95:(e,t,r)=>{e.exports=imageReference;var a=r(6756);var n=r(8666);function imageReference(e,t){var r=e.definition(t.identifier);var i;if(!r){return n(e,t)}i={src:a(r.url||""),alt:t.alt};if(r.title!==null&&r.title!==undefined){i.title=r.title}return e(t,"img",i)}},1496:(e,t,r)=>{var a=r(6756);e.exports=image;function image(e,t){var r={src:a(t.url),alt:t.alt};if(t.title!==null&&t.title!==undefined){r.title=t.title}return e(t,"img",r)}},5689:(e,t,r)=>{e.exports={blockquote:r(9389),break:r(9756),code:r(913),delete:r(5396),emphasis:r(2675),footnoteReference:r(5041),footnote:r(8887),heading:r(6367),html:r(6478),imageReference:r(95),image:r(1496),inlineCode:r(5371),linkReference:r(9301),link:r(1426),listItem:r(1741),list:r(5965),paragraph:r(9604),root:r(4883),strong:r(7863),table:r(3913),text:r(8421),thematicBreak:r(5233),toml:ignore,yaml:ignore,definition:ignore,footnoteDefinition:ignore};function ignore(){return null}},5371:(e,t,r)=>{e.exports=inlineCode;var a=r(8201);var n=r(2637);function inlineCode(e,t){return e(t,"code",[n("text",a(t.value))])}},9301:(e,t,r)=>{e.exports=linkReference;var a=r(6756);var n=r(8666);var i=r(4159);function linkReference(e,t){var r=e.definition(t.identifier);var o;if(!r){return n(e,t)}o={href:a(r.url||"")};if(r.title!==null&&r.title!==undefined){o.title=r.title}return e(t,"a",o,i(e,t))}},1426:(e,t,r)=>{var a=r(6756);var n=r(4159);e.exports=link;function link(e,t){var r={href:a(t.url)};if(t.title!==null&&t.title!==undefined){r.title=t.title}return e(t,"a",r,n(e,t))}},1741:(e,t,r)=>{e.exports=listItem;var a=r(2637);var n=r(7746);var i=r(4159);function listItem(e,t,r){var o=t.children;var s=o[0];var p=i(e,t);var d=r?listLoose(r):listItemLoose(t);var l={};var m;var c;var g;var v;var T;if(d){m=p}else{m=[];v=p.length;g=-1;while(++g1:t}},5965:(e,t,r)=>{e.exports=list;var a=r(7746);var n=r(4159);function list(e,t){var r={};var i=t.ordered?"ol":"ul";var o;var s=-1;var p;if(typeof t.start==="number"&&t.start!==1){r.start=t.start}o=n(e,t);p=o.length;while(++s{e.exports=paragraph;var a=r(4159);function paragraph(e,t){return e(t,"p",a(e,t))}},4883:(e,t,r)=>{e.exports=root;var a=r(2637);var n=r(7746);var i=r(4159);function root(e,t){return e.augment(t,a("root",n(i(e,t))))}},7863:(e,t,r)=>{e.exports=strong;var a=r(4159);function strong(e,t){return e(t,"strong",a(e,t))}},3913:(e,t,r)=>{e.exports=table;var a=r(1133);var n=r(7746);var i=r(4159);function table(e,t){var r=t.children;var o=r.length;var s=t.align;var p=s.length;var d=[];var l;var m;var c;var g;var v;while(o--){m=r[o].children;g=o===0?"th":"td";l=p;c=[];while(l--){v=m[l];c[l]=e(v,g,{align:s[l]},v?i(e,v):[])}d[o]=e(r[o],"tr",n(c,true))}return e(t,"table",n([e(d[0].position,"thead",n([d[0]],true)),e({start:a.start(d[1]),end:a.end(d[d.length-1])},"tbody",n(d.slice(1),true))],true))}},8421:(e,t,r)=>{e.exports=text;var a=r(2637);var n=r(8213);function text(e,t){return e.augment(t,a("text",n(t.value)))}},5233:e=>{e.exports=thematicBreak;function thematicBreak(e,t){return e(t,"hr")}},9900:(e,t,r)=>{e.exports=toHast;var a=r(1208);var n=r(2637);var i=r(9634);var o=r(1133);var s=r(5084);var p=r(1157);var d=r(8503);var l=r(5181);var m=r(5689);var c={}.hasOwnProperty;function factory(e,t){var r=t||{};var n=r.allowDangerousHTML;var d={};h.dangerous=n;h.definition=p(e,r);h.footnoteById=d;h.footnoteOrder=[];h.augment=augment;h.handlers=a(m,r.handlers||{});i(e,"footnoteDefinition",onfootnotedefinition);return h;function augment(e,t){var r;var n;if(e&&"data"in e){r=e.data;if(t.type==="element"&&r.hName){t.tagName=r.hName}if(t.type==="element"&&r.hProperties){t.properties=a(t.properties,r.hProperties)}if(t.children&&r.hChildren){t.children=r.hChildren}}n=e&&e.position?e:{position:e};if(!s(n)){t.position={start:o.start(n),end:o.end(n)}}return t}function h(e,t,r,a){if((a===undefined||a===null)&&typeof r==="object"&&"length"in r){a=r;r={}}return augment(e,{type:"element",tagName:t,properties:r||{},children:a||[]})}function onfootnotedefinition(e){var t=String(e.identifier).toUpperCase();if(!c.call(d,t)){d[t]=e}}}function toHast(e,t){var r=factory(e,t);var a=d(r,e);var i=l(r);if(i){a.children=a.children.concat(n("text","\n"),i)}return a}},8503:(e,t,r)=>{e.exports=one;var a=r(2637);var n=r(4159);var i={}.hasOwnProperty;function unknown(e,t){if(text(t)){return e.augment(t,a("text",t.value))}return e(t,"div",n(e,t))}function one(e,t,r){var a=t&&t.type;var n=i.call(e.handlers,a)?e.handlers[a]:null;if(!a){throw new Error("Expected node, got `"+t+"`")}return(typeof n==="function"?n:unknown)(e,t,r)}function text(e){var t=e.data||{};if(i.call(t,"hName")||i.call(t,"hProperties")||i.call(t,"hChildren")){return false}return"value"in e}},8666:(e,t,r)=>{e.exports=revert;var a=r(2637);var n=r(4159);function revert(e,t){var r=t.referenceType;var i="]";var o;var s;var p;if(r==="collapsed"){i+="[]"}else if(r==="full"){i+="["+(t.label||t.identifier)+"]"}if(t.type==="imageReference"){return a("text","!["+t.alt+i)}o=n(e,t);s=o[0];if(s&&s.type==="text"){s.value="["+s.value}else{o.unshift(a("text","["))}p=o[o.length-1];if(p&&p.type==="text"){p.value+=i}else{o.push(a("text",i))}return o}},7746:(e,t,r)=>{e.exports=wrap;var a=r(2637);function wrap(e,t){var r=[];var n=-1;var i=e.length;if(t){r.push(a("text","\n"))}while(++n{e.exports=visitParents;var a=r(4070);var n=true;var i="skip";var o=false;visitParents.CONTINUE=n;visitParents.SKIP=i;visitParents.EXIT=o;function visitParents(e,t,r,n){var s;if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}s=a(t);one(e,null,[]);function one(e,a,n){var p=[];var d;if(!t||s(e,a,n[n.length-1]||null)){p=toResult(r(e,n));if(p[0]===o){return p}}if(e.children&&p[0]!==i){d=toResult(all(e.children,n.concat(e)));return d[0]===o?d:p}return p}function all(e,t){var r=-1;var a=n?-1:1;var i=(n?e.length:r)+a;var s;while(i>r&&i{e.exports=visit;var a=r(358);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},6756:e=>{var t={};function getEncodeCache(e){var r,a,n=t[e];if(n){return n}n=t[e]=[];for(r=0;r<128;r++){a=String.fromCharCode(r);if(/^[0-9a-z]$/i.test(a)){n.push(a)}else{n.push("%"+("0"+r.toString(16).toUpperCase()).slice(-2))}}for(r=0;r=55296&&i<=57343){if(i>=55296&&i<=56319&&a+1=56320&&o<=57343){p+=encodeURIComponent(e[a]+e[a+1]);a++;continue}}p+="%EF%BF%BD";continue}p+=encodeURIComponent(e[a])}return p}encode.defaultChars=";/?:@&=+$,-_.!~*'()#";encode.componentChars="-_.!~*'()";e.exports=encode},467:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var a=_interopDefault(r(2781));var n=_interopDefault(r(3685));var i=_interopDefault(r(7310));var o=_interopDefault(r(8665));var s=_interopDefault(r(5687));var p=_interopDefault(r(9796));const d=a.Readable;const l=Symbol("buffer");const m=Symbol("type");class Blob{constructor(){this[m]="";const e=arguments[0];const t=arguments[1];const r=[];let a=0;if(e){const t=e;const n=Number(t.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},n=r.size;let i=n===undefined?0:n;var o=r.timeout;let s=o===undefined?0:o;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof a);else{e=Buffer.from(String(e))}this[g]={body:e,disturbed:false,error:null};this.size=i;this.timeout=s;if(e instanceof a){e.on("error",(function(e){const r=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${t.url}: ${e.message}`,"system",e);t[g].error=r}))}}Body.prototype={get body(){return this[g].body},get bodyUsed(){return this[g].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(t){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:t})}))},json(){var e=this;return consumeBody.call(this).then((function(t){try{return JSON.parse(t.toString())}catch(t){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(t){return convertBody(t,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const t of Object.getOwnPropertyNames(Body.prototype)){if(!(t in e)){const r=Object.getOwnPropertyDescriptor(Body.prototype,t);Object.defineProperty(e,t,r)}}};function consumeBody(){var e=this;if(this[g].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[g].disturbed=true;if(this[g].error){return Body.Promise.reject(this[g].error)}let t=this.body;if(t===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(t)){t=t.stream()}if(Buffer.isBuffer(t)){return Body.Promise.resolve(t)}if(!(t instanceof a)){return Body.Promise.resolve(Buffer.alloc(0))}let r=[];let n=0;let i=false;return new Body.Promise((function(a,o){let s;if(e.timeout){s=setTimeout((function(){i=true;o(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}t.on("error",(function(t){if(t.name==="AbortError"){i=true;o(t)}else{o(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,"system",t))}}));t.on("data",(function(t){if(i||t===null){return}if(e.size&&n+t.length>e.size){i=true;o(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}n+=t.length;r.push(t)}));t.on("end",(function(){if(i){return}clearTimeout(s);try{a(Buffer.concat(r,n))}catch(t){o(new FetchError(`Could not create Buffer from response body for ${e.url}: ${t.message}`,"system",t))}}))}))}function convertBody(e,t){if(typeof c!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const r=t.get("content-type");let a="utf-8";let n,i;if(r){n=/charset=([^;]*)/i.exec(r)}i=e.slice(0,1024).toString();if(!n&&i){n=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[_]=Object.create(null);if(e instanceof Headers){const t=e.raw();const r=Object.keys(t);for(const e of r){for(const r of t[e]){this.append(e,r)}}return}if(e==null);else if(typeof e==="object"){const t=e[Symbol.iterator];if(t!=null){if(typeof t!=="function"){throw new TypeError("Header pairs must be iterable")}const r=[];for(const t of e){if(typeof t!=="object"||typeof t[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}r.push(Array.from(t))}for(const e of r){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const t of Object.keys(e)){const r=e[t];this.append(t,r)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const t=find(this[_],e);if(t===undefined){return null}return this[_][t].join(", ")}forEach(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let r=getHeaders(this);let a=0;while(a1&&arguments[1]!==undefined?arguments[1]:"key+value";const r=Object.keys(e[_]).sort();return r.map(t==="key"?function(e){return e.toLowerCase()}:t==="value"?function(t){return e[_][t].join(", ")}:function(t){return[t.toLowerCase(),e[_][t].join(", ")]})}const w=Symbol("internal");function createHeadersIterator(e,t){const r=Object.create(A);r[w]={target:e,kind:t,index:0};return r}const A=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==A){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[w];const t=e.target,r=e.kind,a=e.index;const n=getHeaders(t,r);const i=n.length;if(a>=i){return{value:undefined,done:true}}this[w].index=a+1;return{value:n[a],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(A,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const t=Object.assign({__proto__:null},e[_]);const r=find(e[_],"Host");if(r!==undefined){t[r]=t[r][0]}return t}function createHeadersLenient(e){const t=new Headers;for(const r of Object.keys(e)){if(T.test(r)){continue}if(Array.isArray(e[r])){for(const a of e[r]){if(E.test(a)){continue}if(t[_][r]===undefined){t[_][r]=[a]}else{t[_][r].push(a)}}}else if(!E.test(e[r])){t[_][r]=[e[r]]}}return t}const b=Symbol("Response internals");const y=n.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,t);const r=t.status||200;const a=new Headers(t.headers);if(e!=null&&!a.has("Content-Type")){const t=extractContentType(e);if(t){a.append("Content-Type",t)}}this[b]={url:t.url,status:r,statusText:t.statusText||y[r],headers:a,counter:t.counter}}get url(){return this[b].url||""}get status(){return this[b].status}get ok(){return this[b].status>=200&&this[b].status<300}get redirected(){return this[b].counter>0}get statusText(){return this[b].statusText}get headers(){return this[b].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const S=Symbol("Request internals");const C=i.URL||o.URL;const k=i.parse;const N=i.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new C(e).toString()}return k(e)}const D="destroy"in a.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[S]==="object"}function isAbortSignal(e){const t=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(t&&t.constructor.name==="AbortSignal")}class Request{constructor(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let r;if(!isRequest(e)){if(e&&e.href){r=parseURL(e.href)}else{r=parseURL(`${e}`)}e={}}else{r=parseURL(e.url)}let a=t.method||e.method||"GET";a=a.toUpperCase();if((t.body!=null||isRequest(e)&&e.body!==null)&&(a==="GET"||a==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let n=t.body!=null?t.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,n,{timeout:t.timeout||e.timeout||0,size:t.size||e.size||0});const i=new Headers(t.headers||e.headers||{});if(n!=null&&!i.has("Content-Type")){const e=extractContentType(n);if(e){i.append("Content-Type",e)}}let o=isRequest(e)?e.signal:null;if("signal"in t)o=t.signal;if(o!=null&&!isAbortSignal(o)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[S]={method:a,redirect:t.redirect||e.redirect||"follow",headers:i,parsedURL:r,signal:o};this.follow=t.follow!==undefined?t.follow:e.follow!==undefined?e.follow:20;this.compress=t.compress!==undefined?t.compress:e.compress!==undefined?e.compress:true;this.counter=t.counter||e.counter||0;this.agent=t.agent||e.agent}get method(){return this[S].method}get url(){return N(this[S].parsedURL)}get headers(){return this[S].headers}get redirect(){return this[S].redirect}get signal(){return this[S].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const t=e[S].parsedURL;const r=new Headers(e[S].headers);if(!r.has("Accept")){r.set("Accept","*/*")}if(!t.protocol||!t.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(t.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof a.Readable&&!D){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let n=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){n="0"}if(e.body!=null){const t=getTotalBytes(e);if(typeof t==="number"){n=String(t)}}if(n){r.set("Content-Length",n)}if(!r.has("User-Agent")){r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!r.has("Accept-Encoding")){r.set("Accept-Encoding","gzip,deflate")}let i=e.agent;if(typeof i==="function"){i=i(t)}if(!r.has("Connection")&&!i){r.set("Connection","close")}return Object.assign({},t,{method:e.method,headers:exportNodeCompatibleHeaders(r),agent:i})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const O=i.URL||o.URL;const I=a.PassThrough;const R=function isDomainOrSubdomain(e,t){const r=new O(t).hostname;const a=new O(e).hostname;return r===a||r[r.length-a.length-1]==="."&&r.endsWith(a)};const P=function isSameProtocol(e,t){const r=new O(t).protocol;const a=new O(e).protocol;return r===a};function fetch(e,t){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(r,i){const o=new Request(e,t);const d=getNodeRequestOptions(o);const l=(d.protocol==="https:"?s:n).request;const m=o.signal;let c=null;const g=function abort(){let e=new AbortError("The user aborted a request.");i(e);if(o.body&&o.body instanceof a.Readable){destroyStream(o.body,e)}if(!c||!c.body)return;c.body.emit("error",e)};if(m&&m.aborted){g();return}const v=function abortAndFinalize(){g();finalize()};const T=l(d);let E;if(m){m.addEventListener("abort",v)}function finalize(){T.abort();if(m)m.removeEventListener("abort",v);clearTimeout(E)}if(o.timeout){T.once("socket",(function(e){E=setTimeout((function(){i(new FetchError(`network timeout at: ${o.url}`,"request-timeout"));finalize()}),o.timeout)}))}T.on("error",(function(e){i(new FetchError(`request to ${o.url} failed, reason: ${e.message}`,"system",e));if(c&&c.body){destroyStream(c.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(T,(function(e){if(m&&m.aborted){return}if(c&&c.body){destroyStream(c.body,e)}}));if(parseInt(process.version.substring(1))<14){T.on("socket",(function(e){e.addListener("close",(function(t){const r=e.listenerCount("data")>0;if(c&&r&&!t&&!(m&&m.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";c.body.emit("error",e)}}))}))}T.on("response",(function(e){clearTimeout(E);const t=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const a=t.get("Location");let n=null;try{n=a===null?null:new O(a,o.url).toString()}catch(e){if(o.redirect!=="manual"){i(new FetchError(`uri requested responds with an invalid redirect URL: ${a}`,"invalid-redirect"));finalize();return}}switch(o.redirect){case"error":i(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect"));finalize();return;case"manual":if(n!==null){try{t.set("Location",n)}catch(e){i(e)}}break;case"follow":if(n===null){break}if(o.counter>=o.follow){i(new FetchError(`maximum redirect reached at: ${o.url}`,"max-redirect"));finalize();return}const a={headers:new Headers(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:o.body,signal:o.signal,timeout:o.timeout,size:o.size};if(!R(o.url,n)||!P(o.url,n)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){a.headers.delete(e)}}if(e.statusCode!==303&&o.body&&getTotalBytes(o)===null){i(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&o.method==="POST"){a.method="GET";a.body=undefined;a.headers.delete("content-length")}r(fetch(new Request(n,a)));finalize();return}}e.once("end",(function(){if(m)m.removeEventListener("abort",v)}));let a=e.pipe(new I);const n={url:o.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:o.size,timeout:o.timeout,counter:o.counter};const s=t.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||s===null||e.statusCode===204||e.statusCode===304){c=new Response(a,n);r(c);return}const d={flush:p.Z_SYNC_FLUSH,finishFlush:p.Z_SYNC_FLUSH};if(s=="gzip"||s=="x-gzip"){a=a.pipe(p.createGunzip(d));c=new Response(a,n);r(c);return}if(s=="deflate"||s=="x-deflate"){const t=e.pipe(new I);t.once("data",(function(e){if((e[0]&15)===8){a=a.pipe(p.createInflate())}else{a=a.pipe(p.createInflateRaw())}c=new Response(a,n);r(c)}));t.on("end",(function(){if(!c){c=new Response(a,n);r(c)}}));return}if(s=="br"&&typeof p.createBrotliDecompress==="function"){a=a.pipe(p.createBrotliDecompress());c=new Response(a,n);r(c);return}c=new Response(a,n);r(c)}));writeToStream(T,o)}))}function fixResponseChunkedTransferBadEnding(e,t){let r;e.on("socket",(function(e){r=e}));e.on("response",(function(e){const a=e.headers;if(a["transfer-encoding"]==="chunked"&&!a["content-length"]){e.once("close",(function(e){const a=r.listenerCount("data")>0;if(a&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";t(e)}}))}}))}function destroyStream(e,t){if(e.destroy){e.destroy(t)}else{e.emit("error",t);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=t=fetch;Object.defineProperty(t,"__esModule",{value:true});t["default"]=t;t.Headers=Headers;t.Request=Request;t.Response=Response;t.FetchError=FetchError},7426:e=>{ + */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var t,r;if(isObject(e)===false)return false;t=e.constructor;if(t===undefined)return true;r=t.prototype;if(isObject(r)===false)return false;if(r.hasOwnProperty("isPrototypeOf")===false){return false}return true}t.isPlainObject=isPlainObject},8473:e=>{e.exports=whitespace;var t=String.fromCharCode;var r=/\s/;function whitespace(e){return r.test(typeof e==="number"?t(e):e.charAt(0))}},1623:e=>{e.exports=wordCharacter;var t=String.fromCharCode;var r=/\w/;function wordCharacter(e){return r.test(typeof e==="number"?t(e):e.charAt(0))}},1917:(e,t,r)=>{var a=r(916);e.exports=a},916:(e,t,r)=>{var a=r(5190);var n=r(3034);function deprecated(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=r(967);e.exports.Schema=r(6514);e.exports.FAILSAFE_SCHEMA=r(6037);e.exports.JSON_SCHEMA=r(1571);e.exports.CORE_SCHEMA=r(2183);e.exports.DEFAULT_SAFE_SCHEMA=r(8949);e.exports.DEFAULT_FULL_SCHEMA=r(6874);e.exports.load=a.load;e.exports.loadAll=a.loadAll;e.exports.safeLoad=a.safeLoad;e.exports.safeLoadAll=a.safeLoadAll;e.exports.dump=n.dump;e.exports.safeDump=n.safeDump;e.exports.YAMLException=r(5199);e.exports.MINIMAL_SCHEMA=r(6037);e.exports.SAFE_SCHEMA=r(8949);e.exports.DEFAULT_SCHEMA=r(6874);e.exports.scan=deprecated("scan");e.exports.parse=deprecated("parse");e.exports.compose=deprecated("compose");e.exports.addConstructor=deprecated("addConstructor")},9136:e=>{function isNothing(e){return typeof e==="undefined"||e===null}function isObject(e){return typeof e==="object"&&e!==null}function toArray(e){if(Array.isArray(e))return e;else if(isNothing(e))return[];return[e]}function extend(e,t){var r,a,n,i;if(t){i=Object.keys(t);for(r=0,a=i.length;r{var a=r(9136);var n=r(5199);var i=r(6874);var o=r(8949);var s=Object.prototype.toString;var p=Object.prototype.hasOwnProperty;var d=9;var l=10;var c=13;var m=32;var g=33;var v=34;var T=35;var E=37;var _=38;var w=39;var A=42;var b=44;var y=45;var S=58;var C=61;var k=62;var N=63;var D=64;var O=91;var R=93;var I=96;var P=123;var L=124;var x=125;var F={};F[0]="\\0";F[7]="\\a";F[8]="\\b";F[9]="\\t";F[10]="\\n";F[11]="\\v";F[12]="\\f";F[13]="\\r";F[27]="\\e";F[34]='\\"';F[92]="\\\\";F[133]="\\N";F[160]="\\_";F[8232]="\\L";F[8233]="\\P";var M=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function compileStyleMap(e,t){var r,a,n,i,o,s,d;if(t===null)return{};r={};a=Object.keys(t);for(n=0,i=a.length;n0?e.charCodeAt(i-1):null;g=g&&isPlainSafe(o,s)}}else{for(i=0;ia&&e[m+1]!==" ";m=i}}else if(!isPrintable(o)){return V}s=i>0?e.charCodeAt(i-1):null;g=g&&isPlainSafe(o,s)}d=d||c&&(i-m-1>a&&e[m+1]!==" ")}if(!p&&!d){return g&&!n(e)?B:U}if(r>9&&needIndentIndicator(e)){return V}return d?H:G}function writeScalar(e,t,r,a){e.dump=function(){if(t.length===0){return"''"}if(!e.noCompatMode&&M.indexOf(t)!==-1){return"'"+t+"'"}var i=e.indent*Math.max(1,r);var o=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i);var s=a||e.flowLevel>-1&&r>=e.flowLevel;function testAmbiguity(t){return testImplicitResolving(e,t)}switch(chooseScalarStyle(t,s,e.indent,o,testAmbiguity)){case B:return t;case U:return"'"+t.replace(/'/g,"''")+"'";case G:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,i));case H:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,o),i));case V:return'"'+escapeString(t,o)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var r=needIndentIndicator(e)?String(t):"";var a=e[e.length-1]==="\n";var n=a&&(e[e.length-2]==="\n"||e==="\n");var i=n?"+":a?"":"-";return r+i+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,t){var r=/(\n+)([^\n]*)/g;var a=function(){var a=e.indexOf("\n");a=a!==-1?a:e.length;r.lastIndex=a;return foldLine(e.slice(0,a),t)}();var n=e[0]==="\n"||e[0]===" ";var i;var o;while(o=r.exec(e)){var s=o[1],p=o[2];i=p[0]===" ";a+=s+(!n&&!i&&p!==""?"\n":"")+foldLine(p,t);n=i}return a}function foldLine(e,t){if(e===""||e[0]===" ")return e;var r=/ [^ ]/g;var a;var n=0,i,o=0,s=0;var p="";while(a=r.exec(e)){s=a.index;if(s-n>t){i=o>n?o:s;p+="\n"+e.slice(n,i);n=i+1}o=s}p+="\n";if(e.length-n>t&&o>n){p+=e.slice(n,o)+"\n"+e.slice(o+1)}else{p+=e.slice(n)}return p.slice(1)}function escapeString(e){var t="";var r,a;var n;for(var i=0;i=55296&&r<=56319){a=e.charCodeAt(i+1);if(a>=56320&&a<=57343){t+=encodeHex((r-55296)*1024+a-56320+65536);i++;continue}}n=F[r];t+=!n&&isPrintable(r)?e[i]:n||encodeHex(r)}return t}function writeFlowSequence(e,t,r){var a="",n=e.tag,i,o;for(i=0,o=r.length;i1024)l+="? ";l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,t,d,false,false)){continue}l+=e.dump;a+=l}e.tag=n;e.dump="{"+a+"}"}function writeBlockMapping(e,t,r,a){var i="",o=e.tag,s=Object.keys(r),p,d,c,m,g,v;if(e.sortKeys===true){s.sort()}else if(typeof e.sortKeys==="function"){s.sort(e.sortKeys)}else if(e.sortKeys){throw new n("sortKeys must be a boolean or a function")}for(p=0,d=s.length;p1024;if(g){if(e.dump&&l===e.dump.charCodeAt(0)){v+="?"}else{v+="? "}}v+=e.dump;if(g){v+=generateNextLine(e,t)}if(!writeNode(e,t+1,m,true,g)){continue}if(e.dump&&l===e.dump.charCodeAt(0)){v+=":"}else{v+=": "}v+=e.dump;i+=v}e.tag=o;e.dump=i||"{}"}function detectType(e,t,r){var a,i,o,d,l,c;i=r?e.explicitTypes:e.implicitTypes;for(o=0,d=i.length;o tag resolver accepts not "'+c+'" style')}e.dump=a}return true}}return false}function writeNode(e,t,r,a,i,o){e.tag=null;e.dump=r;if(!detectType(e,r,false)){detectType(e,r,true)}var p=s.call(e.dump);if(a){a=e.flowLevel<0||e.flowLevel>t}var d=p==="[object Object]"||p==="[object Array]",l,c;if(d){l=e.duplicates.indexOf(r);c=l!==-1}if(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&t>0){i=false}if(c&&e.usedDuplicates[l]){e.dump="*ref_"+l}else{if(d&&c&&!e.usedDuplicates[l]){e.usedDuplicates[l]=true}if(p==="[object Object]"){if(a&&Object.keys(e.dump).length!==0){writeBlockMapping(e,t,e.dump,i);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowMapping(e,t,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(p==="[object Array]"){var m=e.noArrayIndent&&t>0?t-1:t;if(a&&e.dump.length!==0){writeBlockSequence(e,m,e.dump,i);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowSequence(e,m,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(p==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,t,o)}}else{if(e.skipInvalid)return false;throw new n("unacceptable kind of an object to dump "+p)}if(e.tag!==null&&e.tag!=="?"){e.dump="!<"+e.tag+"> "+e.dump}}return true}function getDuplicateReferences(e,t){var r=[],a=[],n,i;inspectNode(e,r,a);for(n=0,i=a.length;n{function YAMLException(e,t){Error.call(this);this.name="YAMLException";this.reason=e;this.mark=t;this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"");if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException.prototype=Object.create(Error.prototype);YAMLException.prototype.constructor=YAMLException;YAMLException.prototype.toString=function toString(e){var t=this.name+": ";t+=this.reason||"(unknown reason)";if(!e&&this.mark){t+=" "+this.mark.toString()}return t};e.exports=YAMLException},5190:(e,t,r)=>{var a=r(9136);var n=r(5199);var i=r(5426);var o=r(8949);var s=r(6874);var p=Object.prototype.hasOwnProperty;var d=1;var l=2;var c=3;var m=4;var g=1;var v=2;var T=3;var E=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var _=/[\x85\u2028\u2029]/;var w=/[,\[\]\{\}]/;var A=/^(?:!|!!|![a-z\-]+!)$/i;var b=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(e){return Object.prototype.toString.call(e)}function is_EOL(e){return e===10||e===13}function is_WHITE_SPACE(e){return e===9||e===32}function is_WS_OR_EOL(e){return e===9||e===32||e===10||e===13}function is_FLOW_INDICATOR(e){return e===44||e===91||e===93||e===123||e===125}function fromHexCode(e){var t;if(48<=e&&e<=57){return e-48}t=e|32;if(97<=t&&t<=102){return t-97+10}return-1}function escapedHexLen(e){if(e===120){return 2}if(e===117){return 4}if(e===85){return 8}return 0}function fromDecimalCode(e){if(48<=e&&e<=57){return e-48}return-1}function simpleEscapeSequence(e){return e===48?"\0":e===97?"":e===98?"\b":e===116?"\t":e===9?"\t":e===110?"\n":e===118?"\v":e===102?"\f":e===114?"\r":e===101?"":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"…":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function charFromCodepoint(e){if(e<=65535){return String.fromCharCode(e)}return String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var y=new Array(256);var S=new Array(256);for(var C=0;C<256;C++){y[C]=simpleEscapeSequence(C)?1:0;S[C]=simpleEscapeSequence(C)}function State(e,t){this.input=e;this.filename=t["filename"]||null;this.schema=t["schema"]||s;this.onWarning=t["onWarning"]||null;this.legacy=t["legacy"]||false;this.json=t["json"]||false;this.listener=t["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(e,t){return new n(t,new i(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){if(e.onWarning){e.onWarning.call(null,generateError(e,t))}}var k={YAML:function handleYamlDirective(e,t,r){var a,n,i;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(r.length!==1){throwError(e,"YAML directive accepts exactly one argument")}a=/^([0-9]+)\.([0-9]+)$/.exec(r[0]);if(a===null){throwError(e,"ill-formed argument of the YAML directive")}n=parseInt(a[1],10);i=parseInt(a[2],10);if(n!==1){throwError(e,"unacceptable YAML version of the document")}e.version=r[0];e.checkLineBreaks=i<2;if(i!==1&&i!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,t,r){var a,n;if(r.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}a=r[0];n=r[1];if(!A.test(a)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(p.call(e.tagMap,a)){throwError(e,'there is a previously declared suffix for "'+a+'" tag handle')}if(!b.test(n)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}e.tagMap[a]=n}};function captureSegment(e,t,r,a){var n,i,o,s;if(t1){e.result+=a.repeat("\n",t-1)}}function readPlainScalar(e,t,r){var a,n,i,o,s,p,d,l,c=e.kind,m=e.result,g;g=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(g)||is_FLOW_INDICATOR(g)||g===35||g===38||g===42||g===33||g===124||g===62||g===39||g===34||g===37||g===64||g===96){return false}if(g===63||g===45){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||r&&is_FLOW_INDICATOR(n)){return false}}e.kind="scalar";e.result="";i=o=e.position;s=false;while(g!==0){if(g===58){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||r&&is_FLOW_INDICATOR(n)){break}}else if(g===35){a=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(a)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||r&&is_FLOW_INDICATOR(g)){break}else if(is_EOL(g)){p=e.line;d=e.lineStart;l=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=t){s=true;g=e.input.charCodeAt(e.position);continue}else{e.position=o;e.line=p;e.lineStart=d;e.lineIndent=l;break}}if(s){captureSegment(e,i,o,false);writeFoldedLines(e,e.line-p);i=o=e.position;s=false}if(!is_WHITE_SPACE(g)){o=e.position+1}g=e.input.charCodeAt(++e.position)}captureSegment(e,i,o,false);if(e.result){return true}e.kind=c;e.result=m;return false}function readSingleQuotedScalar(e,t){var r,a,n;r=e.input.charCodeAt(e.position);if(r!==39){return false}e.kind="scalar";e.result="";e.position++;a=n=e.position;while((r=e.input.charCodeAt(e.position))!==0){if(r===39){captureSegment(e,a,e.position,true);r=e.input.charCodeAt(++e.position);if(r===39){a=e.position;e.position++;n=e.position}else{return true}}else if(is_EOL(r)){captureSegment(e,a,n,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));a=n=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;n=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var r,a,n,i,o,s;s=e.input.charCodeAt(e.position);if(s!==34){return false}e.kind="scalar";e.result="";e.position++;r=a=e.position;while((s=e.input.charCodeAt(e.position))!==0){if(s===34){captureSegment(e,r,e.position,true);e.position++;return true}else if(s===92){captureSegment(e,r,e.position,true);s=e.input.charCodeAt(++e.position);if(is_EOL(s)){skipSeparationSpace(e,false,t)}else if(s<256&&y[s]){e.result+=S[s];e.position++}else if((o=escapedHexLen(s))>0){n=o;i=0;for(;n>0;n--){s=e.input.charCodeAt(++e.position);if((o=fromHexCode(s))>=0){i=(i<<4)+o}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(i);e.position++}else{throwError(e,"unknown escape sequence")}r=a=e.position}else if(is_EOL(s)){captureSegment(e,r,a,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));r=a=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;a=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var r=true,a,n=e.tag,i,o=e.anchor,s,p,l,c,m,g={},v,T,E,_;_=e.input.charCodeAt(e.position);if(_===91){p=93;m=false;i=[]}else if(_===123){p=125;m=true;i={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=i}_=e.input.charCodeAt(++e.position);while(_!==0){skipSeparationSpace(e,true,t);_=e.input.charCodeAt(e.position);if(_===p){e.position++;e.tag=n;e.anchor=o;e.kind=m?"mapping":"sequence";e.result=i;return true}else if(!r){throwError(e,"missed comma between flow collection entries")}T=v=E=null;l=c=false;if(_===63){s=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(s)){l=c=true;e.position++;skipSeparationSpace(e,true,t)}}a=e.line;composeNode(e,t,d,false,true);T=e.tag;v=e.result;skipSeparationSpace(e,true,t);_=e.input.charCodeAt(e.position);if((c||e.line===a)&&_===58){l=true;_=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,t);composeNode(e,t,d,false,true);E=e.result}if(m){storeMappingPair(e,i,g,T,v,E)}else if(l){i.push(storeMappingPair(e,null,g,T,v,E))}else{i.push(v)}skipSeparationSpace(e,true,t);_=e.input.charCodeAt(e.position);if(_===44){r=true;_=e.input.charCodeAt(++e.position)}else{r=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var r,n,i=g,o=false,s=false,p=t,d=0,l=false,c,m;m=e.input.charCodeAt(e.position);if(m===124){n=false}else if(m===62){n=true}else{return false}e.kind="scalar";e.result="";while(m!==0){m=e.input.charCodeAt(++e.position);if(m===43||m===45){if(g===i){i=m===43?T:v}else{throwError(e,"repeat of a chomping mode identifier")}}else if((c=fromDecimalCode(m))>=0){if(c===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!s){p=t+c-1;s=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(m)){do{m=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(m));if(m===35){do{m=e.input.charCodeAt(++e.position)}while(!is_EOL(m)&&m!==0)}}while(m!==0){readLineBreak(e);e.lineIndent=0;m=e.input.charCodeAt(e.position);while((!s||e.lineIndentp){p=e.lineIndent}if(is_EOL(m)){d++;continue}if(e.lineIndentt)&&p!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndentt){if(composeNode(e,t,m,true,n)){if(E){v=e.result}else{T=e.result}}if(!E){storeMappingPair(e,d,c,g,v,T,i,o);g=v=T=null}skipSeparationSpace(e,true,-1);w=e.input.charCodeAt(e.position)}if(e.lineIndent>t&&w!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndentt){g=1}else if(e.lineIndent===t){g=0}else if(e.lineIndentt){g=1}else if(e.lineIndent===t){g=0}else if(e.lineIndent tag; it should be "scalar", not "'+e.kind+'"')}for(E=0,_=e.implicitTypes.length;E<_;E+=1){w=e.implicitTypes[E];if(w.resolve(e.result)){e.result=w.construct(e.result);e.tag=w.tag;if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}break}}}else if(p.call(e.typeMap[e.kind||"fallback"],e.tag)){w=e.typeMap[e.kind||"fallback"][e.tag];if(e.result!==null&&w.kind!==e.kind){throwError(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+w.kind+'", not "'+e.kind+'"')}if(!w.resolve(e.result)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=w.construct(e.result);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else{throwError(e,"unknown tag !<"+e.tag+">")}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||T}function readDocument(e){var t=e.position,r,a,n,i=false,o;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap={};e.anchorMap={};while((o=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);o=e.input.charCodeAt(e.position);if(e.lineIndent>0||o!==37){break}i=true;o=e.input.charCodeAt(++e.position);r=e.position;while(o!==0&&!is_WS_OR_EOL(o)){o=e.input.charCodeAt(++e.position)}a=e.input.slice(r,e.position);n=[];if(a.length<1){throwError(e,"directive name must not be less than one character in length")}while(o!==0){while(is_WHITE_SPACE(o)){o=e.input.charCodeAt(++e.position)}if(o===35){do{o=e.input.charCodeAt(++e.position)}while(o!==0&&!is_EOL(o));break}if(is_EOL(o))break;r=e.position;while(o!==0&&!is_WS_OR_EOL(o)){o=e.input.charCodeAt(++e.position)}n.push(e.input.slice(r,e.position))}if(o!==0)readLineBreak(e);if(p.call(k,a)){k[a](e,a,n)}else{throwWarning(e,'unknown document directive "'+a+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(i){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,m,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&_.test(e.input.slice(t,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position{var a=r(9136);function Mark(e,t,r,a,n){this.name=e;this.buffer=t;this.position=r;this.line=a;this.column=n}Mark.prototype.getSnippet=function getSnippet(e,t){var r,n,i,o,s;if(!this.buffer)return null;e=e||4;t=t||75;r="";n=this.position;while(n>0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1))===-1){n-=1;if(this.position-n>t/2-1){r=" ... ";n+=5;break}}i="";o=this.position;while(ot/2-1){i=" ... ";o-=5;break}}s=this.buffer.slice(n,o);return a.repeat(" ",e)+r+s+i+"\n"+a.repeat(" ",e+this.position-n+r.length)+"^"};Mark.prototype.toString=function toString(e){var t,r="";if(this.name){r+='in "'+this.name+'" '}r+="at line "+(this.line+1)+", column "+(this.column+1);if(!e){t=this.getSnippet();if(t){r+=":\n"+t}}return r};e.exports=Mark},6514:(e,t,r)=>{var a=r(9136);var n=r(5199);var i=r(967);function compileList(e,t,r){var a=[];e.include.forEach((function(e){r=compileList(e,t,r)}));e[t].forEach((function(e){r.forEach((function(t,r){if(t.tag===e.tag&&t.kind===e.kind){a.push(r)}}));r.push(e)}));return r.filter((function(e,t){return a.indexOf(t)===-1}))}function compileMap(){var e={scalar:{},sequence:{},mapping:{},fallback:{}},t,r;function collectType(t){e[t.kind][t.tag]=e["fallback"][t.tag]=t}for(t=0,r=arguments.length;t{var a=r(6514);e.exports=new a({include:[r(1571)]})},6874:(e,t,r)=>{var a=r(6514);e.exports=a.DEFAULT=new a({include:[r(8949)],explicit:[r(5914),r(9242),r(7278)]})},8949:(e,t,r)=>{var a=r(6514);e.exports=new a({include:[r(2183)],implicit:[r(3714),r(1393)],explicit:[r(2551),r(6668),r(6039),r(9237)]})},6037:(e,t,r)=>{var a=r(6514);e.exports=new a({explicit:[r(2672),r(5490),r(1173)]})},1571:(e,t,r)=>{var a=r(6514);e.exports=new a({include:[r(6037)],implicit:[r(2671),r(4675),r(9963),r(5564)]})},967:(e,t,r)=>{var a=r(5199);var n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"];var i=["scalar","sequence","mapping"];function compileStyleAliases(e){var t={};if(e!==null){Object.keys(e).forEach((function(r){e[r].forEach((function(e){t[String(e)]=r}))}))}return t}function Type(e,t){t=t||{};Object.keys(t).forEach((function(t){if(n.indexOf(t)===-1){throw new a('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}}));this.tag=e;this.kind=t["kind"]||null;this.resolve=t["resolve"]||function(){return true};this.construct=t["construct"]||function(e){return e};this.instanceOf=t["instanceOf"]||null;this.predicate=t["predicate"]||null;this.represent=t["represent"]||null;this.defaultStyle=t["defaultStyle"]||null;this.styleAliases=compileStyleAliases(t["styleAliases"]||null);if(i.indexOf(this.kind)===-1){throw new a('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},2551:(e,t,r)=>{var a;try{var n=require;a=n("buffer").Buffer}catch(e){}var i=r(967);var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(e){if(e===null)return false;var t,r,a=0,n=e.length,i=o;for(r=0;r64)continue;if(t<0)return false;a+=6}return a%8===0}function constructYamlBinary(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,s=o,p=0,d=[];for(t=0;t>16&255);d.push(p>>8&255);d.push(p&255)}p=p<<6|s.indexOf(n.charAt(t))}r=i%4*6;if(r===0){d.push(p>>16&255);d.push(p>>8&255);d.push(p&255)}else if(r===18){d.push(p>>10&255);d.push(p>>2&255)}else if(r===12){d.push(p>>4&255)}if(a){return a.from?a.from(d):new a(d)}return d}function representYamlBinary(e){var t="",r=0,a,n,i=e.length,s=o;for(a=0;a>18&63];t+=s[r>>12&63];t+=s[r>>6&63];t+=s[r&63]}r=(r<<8)+e[a]}n=i%3;if(n===0){t+=s[r>>18&63];t+=s[r>>12&63];t+=s[r>>6&63];t+=s[r&63]}else if(n===2){t+=s[r>>10&63];t+=s[r>>4&63];t+=s[r<<2&63];t+=s[64]}else if(n===1){t+=s[r>>2&63];t+=s[r<<4&63];t+=s[64];t+=s[64]}return t}function isBinary(e){return a&&a.isBuffer(e)}e.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},4675:(e,t,r)=>{var a=r(967);function resolveYamlBoolean(e){if(e===null)return false;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function constructYamlBoolean(e){return e==="true"||e==="True"||e==="TRUE"}function isBoolean(e){return Object.prototype.toString.call(e)==="[object Boolean]"}e.exports=new a("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},5564:(e,t,r)=>{var a=r(9136);var n=r(967);var i=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(e){if(e===null)return false;if(!i.test(e)||e[e.length-1]==="_"){return false}return true}function constructYamlFloat(e){var t,r,a,n;t=e.replace(/_/g,"").toLowerCase();r=t[0]==="-"?-1:1;n=[];if("+-".indexOf(t[0])>=0){t=t.slice(1)}if(t===".inf"){return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(t===".nan"){return NaN}else if(t.indexOf(":")>=0){t.split(":").forEach((function(e){n.unshift(parseFloat(e,10))}));t=0;a=1;n.forEach((function(e){t+=e*a;a*=60}));return r*t}return r*parseFloat(t,10)}var o=/^[-+]?[0-9]+e/;function representYamlFloat(e,t){var r;if(isNaN(e)){switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(a.isNegativeZero(e)){return"-0.0"}r=e.toString(10);return o.test(r)?r.replace("e",".e"):r}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||a.isNegativeZero(e))}e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},9963:(e,t,r)=>{var a=r(9136);var n=r(967);function isHexCode(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function isOctCode(e){return 48<=e&&e<=55}function isDecCode(e){return 48<=e&&e<=57}function resolveYamlInteger(e){if(e===null)return false;var t=e.length,r=0,a=false,n;if(!t)return false;n=e[r];if(n==="-"||n==="+"){n=e[++r]}if(n==="0"){if(r+1===t)return true;n=e[++r];if(n==="b"){r++;for(;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},7278:(e,t,r)=>{var a;try{var n=require;a=n("esprima")}catch(e){if(typeof window!=="undefined")a=window.esprima}var i=r(967);function resolveJavascriptFunction(e){if(e===null)return false;try{var t="("+e+")",r=a.parse(t,{range:true});if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(e){return false}}function constructJavascriptFunction(e){var t="("+e+")",r=a.parse(t,{range:true}),n=[],i;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}r.body[0].expression.params.forEach((function(e){n.push(e.name)}));i=r.body[0].expression.body.range;if(r.body[0].expression.body.type==="BlockStatement"){return new Function(n,t.slice(i[0]+1,i[1]-1))}return new Function(n,"return "+t.slice(i[0],i[1]))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return Object.prototype.toString.call(e)==="[object Function]"}e.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},9242:(e,t,r)=>{var a=r(967);function resolveJavascriptRegExp(e){if(e===null)return false;if(e.length===0)return false;var t=e,r=/\/([gim]*)$/.exec(e),a="";if(t[0]==="/"){if(r)a=r[1];if(a.length>3)return false;if(t[t.length-a.length-1]!=="/")return false}return true}function constructJavascriptRegExp(e){var t=e,r=/\/([gim]*)$/.exec(e),a="";if(t[0]==="/"){if(r)a=r[1];t=t.slice(1,t.length-a.length-1)}return new RegExp(t,a)}function representJavascriptRegExp(e){var t="/"+e.source+"/";if(e.global)t+="g";if(e.multiline)t+="m";if(e.ignoreCase)t+="i";return t}function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}e.exports=new a("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},5914:(e,t,r)=>{var a=r(967);function resolveJavascriptUndefined(){return true}function constructJavascriptUndefined(){return undefined}function representJavascriptUndefined(){return""}function isUndefined(e){return typeof e==="undefined"}e.exports=new a("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:resolveJavascriptUndefined,construct:constructJavascriptUndefined,predicate:isUndefined,represent:representJavascriptUndefined})},1173:(e,t,r)=>{var a=r(967);e.exports=new a("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})},1393:(e,t,r)=>{var a=r(967);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new a("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},2671:(e,t,r)=>{var a=r(967);function resolveYamlNull(e){if(e===null)return true;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function constructYamlNull(){return null}function isNull(e){return e===null}e.exports=new a("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},6668:(e,t,r)=>{var a=r(967);var n=Object.prototype.hasOwnProperty;var i=Object.prototype.toString;function resolveYamlOmap(e){if(e===null)return true;var t=[],r,a,o,s,p,d=e;for(r=0,a=d.length;r{var a=r(967);var n=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var t,r,a,i,o,s=e;o=new Array(s.length);for(t=0,r=s.length;t{var a=r(967);e.exports=new a("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},9237:(e,t,r)=>{var a=r(967);var n=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var t,r=e;for(t in r){if(n.call(r,t)){if(r[t]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new a("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},2672:(e,t,r)=>{var a=r(967);e.exports=new a("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})},3714:(e,t,r)=>{var a=r(967);var n=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9])"+"-([0-9][0-9])$");var i=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(e){if(e===null)return false;if(n.exec(e)!==null)return true;if(i.exec(e)!==null)return true;return false}function constructYamlTimestamp(e){var t,r,a,o,s,p,d,l=0,c=null,m,g,v;t=n.exec(e);if(t===null)t=i.exec(e);if(t===null)throw new Error("Date resolve error");r=+t[1];a=+t[2]-1;o=+t[3];if(!t[4]){return new Date(Date.UTC(r,a,o))}s=+t[4];p=+t[5];d=+t[6];if(t[7]){l=t[7].slice(0,3);while(l.length<3){l+="0"}l=+l}if(t[9]){m=+t[10];g=+(t[11]||0);c=(m*60+g)*6e4;if(t[9]==="-")c=-c}v=new Date(Date.UTC(r,a,o,s,p,d,l));if(c)v.setTime(v.getTime()-c);return v}function representYamlTimestamp(e){return e.toISOString()}e.exports=new a("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp})},6961:e=>{var t=Object.prototype.toString;e.exports=function kindOf(e){if(e===void 0)return"undefined";if(e===null)return"null";var r=typeof e;if(r==="boolean")return"boolean";if(r==="string")return"string";if(r==="number")return"number";if(r==="symbol")return"symbol";if(r==="function"){return isGeneratorFn(e)?"generatorfunction":"function"}if(isArray(e))return"array";if(isBuffer(e))return"buffer";if(isArguments(e))return"arguments";if(isDate(e))return"date";if(isError(e))return"error";if(isRegexp(e))return"regexp";switch(ctorName(e)){case"Symbol":return"symbol";case"Promise":return"promise";case"WeakMap":return"weakmap";case"WeakSet":return"weakset";case"Map":return"map";case"Set":return"set";case"Int8Array":return"int8array";case"Uint8Array":return"uint8array";case"Uint8ClampedArray":return"uint8clampedarray";case"Int16Array":return"int16array";case"Uint16Array":return"uint16array";case"Int32Array":return"int32array";case"Uint32Array":return"uint32array";case"Float32Array":return"float32array";case"Float64Array":return"float64array"}if(isGeneratorObj(e)){return"generator"}r=t.call(e);switch(r){case"[object Object]":return"object";case"[object Map Iterator]":return"mapiterator";case"[object Set Iterator]":return"setiterator";case"[object String Iterator]":return"stringiterator";case"[object Array Iterator]":return"arrayiterator"}return r.slice(8,-1).toLowerCase().replace(/\s/g,"")};function ctorName(e){return typeof e.constructor==="function"?e.constructor.name:null}function isArray(e){if(Array.isArray)return Array.isArray(e);return e instanceof Array}function isError(e){return e instanceof Error||typeof e.message==="string"&&e.constructor&&typeof e.constructor.stackTraceLimit==="number"}function isDate(e){if(e instanceof Date)return true;return typeof e.toDateString==="function"&&typeof e.getDate==="function"&&typeof e.setDate==="function"}function isRegexp(e){if(e instanceof RegExp)return true;return typeof e.flags==="string"&&typeof e.ignoreCase==="boolean"&&typeof e.multiline==="boolean"&&typeof e.global==="boolean"}function isGeneratorFn(e,t){return ctorName(e)==="GeneratorFunction"}function isGeneratorObj(e){return typeof e.throw==="function"&&typeof e.return==="function"&&typeof e.next==="function"}function isArguments(e){try{if(typeof e.length==="number"&&typeof e.callee==="function"){return true}}catch(e){if(e.message.indexOf("callee")!==-1){return true}}return false}function isBuffer(e){if(e.constructor&&typeof e.constructor.isBuffer==="function"){return e.constructor.isBuffer(e)}return false}},8805:e=>{e.exports=escapes;var t=["\\","`","*","{","}","[","]","(",")","#","+","-",".","!","_",">"];var r=t.concat(["~","|"]);var a=r.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);escapes.default=t;escapes.gfm=r;escapes.commonmark=a;function escapes(e){var n=e||{};if(n.commonmark){return a}return n.gfm?r:t}},1157:(e,t,r)=>{var a=r(2631);e.exports=getDefinitionFactory;var n={}.hasOwnProperty;function getDefinitionFactory(e,t){return getterFactory(gather(e,t))}function gather(e,t){var r={};if(!e||!e.type){throw new Error("mdast-util-definitions expected node")}a(e,"definition",t&&t.commonmark?commonmark:normal);return r;function commonmark(e){var t=normalise(e.identifier);if(!n.call(r,t)){r[t]=e}}function normal(e){r[normalise(e.identifier)]=e}}function getterFactory(e){return getter;function getter(t){var r=t&&normalise(t);return r&&n.call(e,r)?e[r]:null}}function normalise(e){return e.toUpperCase()}},4595:(e,t,r)=>{e.exports=visitParents;var a=r(4070);var n=true;var i="skip";var o=false;visitParents.CONTINUE=n;visitParents.SKIP=i;visitParents.EXIT=o;function visitParents(e,t,r,n){var s;if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}s=a(t);one(e,null,[]);function one(e,a,n){var p=[];var d;if(!t||s(e,a,n[n.length-1]||null)){p=toResult(r(e,n));if(p[0]===o){return p}}if(e.children&&p[0]!==i){d=toResult(all(e.children,n.concat(e)));return d[0]===o?d:p}return p}function all(e,t){var r=-1;var a=n?-1:1;var i=(n?e.length:r)+a;var s;while(i>r&&i{e.exports=visit;var a=r(4595);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},7780:(e,t,r)=>{e.exports=r(9900)},4159:(e,t,r)=>{e.exports=all;var a=r(4065);var n=r(8503);function all(e,t){var r=t.children||[];var i=r.length;var o=[];var s=-1;var p;var d;while(++s{e.exports=generateFootnotes;var a=r(5233);var n=r(5965);var i=r(7746);function generateFootnotes(e){var t=e.footnoteById;var r=e.footnoteOrder;var o=r.length;var s=-1;var p=[];var d;var l;var c;var m;while(++s{e.exports=blockquote;var a=r(7746);var n=r(4159);function blockquote(e,t){return e(t,"blockquote",a(n(e,t),true))}},9756:(e,t,r)=>{e.exports=hardBreak;var a=r(2637);function hardBreak(e,t){return[e(t,"br"),a("text","\n")]}},913:(e,t,r)=>{e.exports=code;var a=r(9050);var n=r(2637);function code(e,t){var r=t.value?a(t.value+"\n"):"";var i=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/);var o={};if(i){o.className=["language-"+i]}return e(t.position,"pre",[e(t,"code",o,[n("text",r)])])}},5396:(e,t,r)=>{e.exports=strikethrough;var a=r(4159);function strikethrough(e,t){return e(t,"del",a(e,t))}},2675:(e,t,r)=>{e.exports=emphasis;var a=r(4159);function emphasis(e,t){return e(t,"em",a(e,t))}},5041:(e,t,r)=>{e.exports=footnoteReference;var a=r(2637);function footnoteReference(e,t){var r=e.footnoteOrder;var n=String(t.identifier);if(r.indexOf(n)===-1){r.push(n)}return e(t.position,"sup",{id:"fnref-"+n},[e(t,"a",{href:"#fn-"+n,className:["footnote-ref"]},[a("text",t.label||n)])])}},8887:(e,t,r)=>{e.exports=footnote;var a=r(5041);function footnote(e,t){var r=e.footnoteById;var n=e.footnoteOrder;var i=1;while(i in r){i++}i=String(i);n.push(i);r[i]={type:"footnoteDefinition",identifier:i,children:[{type:"paragraph",children:t.children}],position:t.position};return a(e,{type:"footnoteReference",identifier:i,position:t.position})}},6367:(e,t,r)=>{e.exports=heading;var a=r(4159);function heading(e,t){return e(t,"h"+t.depth,a(e,t))}},6478:(e,t,r)=>{e.exports=html;var a=r(2637);function html(e,t){return e.dangerous?e.augment(t,a("raw",t.value)):null}},95:(e,t,r)=>{e.exports=imageReference;var a=r(6756);var n=r(8666);function imageReference(e,t){var r=e.definition(t.identifier);var i;if(!r){return n(e,t)}i={src:a(r.url||""),alt:t.alt};if(r.title!==null&&r.title!==undefined){i.title=r.title}return e(t,"img",i)}},1496:(e,t,r)=>{var a=r(6756);e.exports=image;function image(e,t){var r={src:a(t.url),alt:t.alt};if(t.title!==null&&t.title!==undefined){r.title=t.title}return e(t,"img",r)}},5689:(e,t,r)=>{e.exports={blockquote:r(9389),break:r(9756),code:r(913),delete:r(5396),emphasis:r(2675),footnoteReference:r(5041),footnote:r(8887),heading:r(6367),html:r(6478),imageReference:r(95),image:r(1496),inlineCode:r(5371),linkReference:r(9301),link:r(1426),listItem:r(1741),list:r(5965),paragraph:r(9604),root:r(4883),strong:r(7863),table:r(3913),text:r(8421),thematicBreak:r(5233),toml:ignore,yaml:ignore,definition:ignore,footnoteDefinition:ignore};function ignore(){return null}},5371:(e,t,r)=>{e.exports=inlineCode;var a=r(8201);var n=r(2637);function inlineCode(e,t){return e(t,"code",[n("text",a(t.value))])}},9301:(e,t,r)=>{e.exports=linkReference;var a=r(6756);var n=r(8666);var i=r(4159);function linkReference(e,t){var r=e.definition(t.identifier);var o;if(!r){return n(e,t)}o={href:a(r.url||"")};if(r.title!==null&&r.title!==undefined){o.title=r.title}return e(t,"a",o,i(e,t))}},1426:(e,t,r)=>{var a=r(6756);var n=r(4159);e.exports=link;function link(e,t){var r={href:a(t.url)};if(t.title!==null&&t.title!==undefined){r.title=t.title}return e(t,"a",r,n(e,t))}},1741:(e,t,r)=>{e.exports=listItem;var a=r(2637);var n=r(7746);var i=r(4159);function listItem(e,t,r){var o=t.children;var s=o[0];var p=i(e,t);var d=r?listLoose(r):listItemLoose(t);var l={};var c;var m;var g;var v;var T;if(d){c=p}else{c=[];v=p.length;g=-1;while(++g1:t}},5965:(e,t,r)=>{e.exports=list;var a=r(7746);var n=r(4159);function list(e,t){var r={};var i=t.ordered?"ol":"ul";var o;var s=-1;var p;if(typeof t.start==="number"&&t.start!==1){r.start=t.start}o=n(e,t);p=o.length;while(++s{e.exports=paragraph;var a=r(4159);function paragraph(e,t){return e(t,"p",a(e,t))}},4883:(e,t,r)=>{e.exports=root;var a=r(2637);var n=r(7746);var i=r(4159);function root(e,t){return e.augment(t,a("root",n(i(e,t))))}},7863:(e,t,r)=>{e.exports=strong;var a=r(4159);function strong(e,t){return e(t,"strong",a(e,t))}},3913:(e,t,r)=>{e.exports=table;var a=r(1133);var n=r(7746);var i=r(4159);function table(e,t){var r=t.children;var o=r.length;var s=t.align;var p=s.length;var d=[];var l;var c;var m;var g;var v;while(o--){c=r[o].children;g=o===0?"th":"td";l=p;m=[];while(l--){v=c[l];m[l]=e(v,g,{align:s[l]},v?i(e,v):[])}d[o]=e(r[o],"tr",n(m,true))}return e(t,"table",n([e(d[0].position,"thead",n([d[0]],true)),e({start:a.start(d[1]),end:a.end(d[d.length-1])},"tbody",n(d.slice(1),true))],true))}},8421:(e,t,r)=>{e.exports=text;var a=r(2637);var n=r(8213);function text(e,t){return e.augment(t,a("text",n(t.value)))}},5233:e=>{e.exports=thematicBreak;function thematicBreak(e,t){return e(t,"hr")}},9900:(e,t,r)=>{e.exports=toHast;var a=r(1208);var n=r(2637);var i=r(9634);var o=r(1133);var s=r(5084);var p=r(1157);var d=r(8503);var l=r(5181);var c=r(5689);var m={}.hasOwnProperty;function factory(e,t){var r=t||{};var n=r.allowDangerousHTML;var d={};h.dangerous=n;h.definition=p(e,r);h.footnoteById=d;h.footnoteOrder=[];h.augment=augment;h.handlers=a(c,r.handlers||{});i(e,"footnoteDefinition",onfootnotedefinition);return h;function augment(e,t){var r;var n;if(e&&"data"in e){r=e.data;if(t.type==="element"&&r.hName){t.tagName=r.hName}if(t.type==="element"&&r.hProperties){t.properties=a(t.properties,r.hProperties)}if(t.children&&r.hChildren){t.children=r.hChildren}}n=e&&e.position?e:{position:e};if(!s(n)){t.position={start:o.start(n),end:o.end(n)}}return t}function h(e,t,r,a){if((a===undefined||a===null)&&typeof r==="object"&&"length"in r){a=r;r={}}return augment(e,{type:"element",tagName:t,properties:r||{},children:a||[]})}function onfootnotedefinition(e){var t=String(e.identifier).toUpperCase();if(!m.call(d,t)){d[t]=e}}}function toHast(e,t){var r=factory(e,t);var a=d(r,e);var i=l(r);if(i){a.children=a.children.concat(n("text","\n"),i)}return a}},8503:(e,t,r)=>{e.exports=one;var a=r(2637);var n=r(4159);var i={}.hasOwnProperty;function unknown(e,t){if(text(t)){return e.augment(t,a("text",t.value))}return e(t,"div",n(e,t))}function one(e,t,r){var a=t&&t.type;var n=i.call(e.handlers,a)?e.handlers[a]:null;if(!a){throw new Error("Expected node, got `"+t+"`")}return(typeof n==="function"?n:unknown)(e,t,r)}function text(e){var t=e.data||{};if(i.call(t,"hName")||i.call(t,"hProperties")||i.call(t,"hChildren")){return false}return"value"in e}},8666:(e,t,r)=>{e.exports=revert;var a=r(2637);var n=r(4159);function revert(e,t){var r=t.referenceType;var i="]";var o;var s;var p;if(r==="collapsed"){i+="[]"}else if(r==="full"){i+="["+(t.label||t.identifier)+"]"}if(t.type==="imageReference"){return a("text","!["+t.alt+i)}o=n(e,t);s=o[0];if(s&&s.type==="text"){s.value="["+s.value}else{o.unshift(a("text","["))}p=o[o.length-1];if(p&&p.type==="text"){p.value+=i}else{o.push(a("text",i))}return o}},7746:(e,t,r)=>{e.exports=wrap;var a=r(2637);function wrap(e,t){var r=[];var n=-1;var i=e.length;if(t){r.push(a("text","\n"))}while(++n{e.exports=visitParents;var a=r(4070);var n=true;var i="skip";var o=false;visitParents.CONTINUE=n;visitParents.SKIP=i;visitParents.EXIT=o;function visitParents(e,t,r,n){var s;if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}s=a(t);one(e,null,[]);function one(e,a,n){var p=[];var d;if(!t||s(e,a,n[n.length-1]||null)){p=toResult(r(e,n));if(p[0]===o){return p}}if(e.children&&p[0]!==i){d=toResult(all(e.children,n.concat(e)));return d[0]===o?d:p}return p}function all(e,t){var r=-1;var a=n?-1:1;var i=(n?e.length:r)+a;var s;while(i>r&&i{e.exports=visit;var a=r(358);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},6756:e=>{var t={};function getEncodeCache(e){var r,a,n=t[e];if(n){return n}n=t[e]=[];for(r=0;r<128;r++){a=String.fromCharCode(r);if(/^[0-9a-z]$/i.test(a)){n.push(a)}else{n.push("%"+("0"+r.toString(16).toUpperCase()).slice(-2))}}for(r=0;r=55296&&i<=57343){if(i>=55296&&i<=56319&&a+1=56320&&o<=57343){p+=encodeURIComponent(e[a]+e[a+1]);a++;continue}}p+="%EF%BF%BD";continue}p+=encodeURIComponent(e[a])}return p}encode.defaultChars=";/?:@&=+$,-_.!~*'()#";encode.componentChars="-_.!~*'()";e.exports=encode},467:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var a=_interopDefault(r(2781));var n=_interopDefault(r(3685));var i=_interopDefault(r(7310));var o=_interopDefault(r(8665));var s=_interopDefault(r(5687));var p=_interopDefault(r(9796));const d=a.Readable;const l=Symbol("buffer");const c=Symbol("type");class Blob{constructor(){this[c]="";const e=arguments[0];const t=arguments[1];const r=[];let a=0;if(e){const t=e;const n=Number(t.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},n=r.size;let i=n===undefined?0:n;var o=r.timeout;let s=o===undefined?0:o;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof a);else{e=Buffer.from(String(e))}this[g]={body:e,disturbed:false,error:null};this.size=i;this.timeout=s;if(e instanceof a){e.on("error",(function(e){const r=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${t.url}: ${e.message}`,"system",e);t[g].error=r}))}}Body.prototype={get body(){return this[g].body},get bodyUsed(){return this[g].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(t){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[l]:t})}))},json(){var e=this;return consumeBody.call(this).then((function(t){try{return JSON.parse(t.toString())}catch(t){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${t.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(t){return convertBody(t,e.headers)}))}};Object.defineProperties(Body.prototype,{body:{enumerable:true},bodyUsed:{enumerable:true},arrayBuffer:{enumerable:true},blob:{enumerable:true},json:{enumerable:true},text:{enumerable:true}});Body.mixIn=function(e){for(const t of Object.getOwnPropertyNames(Body.prototype)){if(!(t in e)){const r=Object.getOwnPropertyDescriptor(Body.prototype,t);Object.defineProperty(e,t,r)}}};function consumeBody(){var e=this;if(this[g].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[g].disturbed=true;if(this[g].error){return Body.Promise.reject(this[g].error)}let t=this.body;if(t===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(t)){t=t.stream()}if(Buffer.isBuffer(t)){return Body.Promise.resolve(t)}if(!(t instanceof a)){return Body.Promise.resolve(Buffer.alloc(0))}let r=[];let n=0;let i=false;return new Body.Promise((function(a,o){let s;if(e.timeout){s=setTimeout((function(){i=true;o(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}t.on("error",(function(t){if(t.name==="AbortError"){i=true;o(t)}else{o(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${t.message}`,"system",t))}}));t.on("data",(function(t){if(i||t===null){return}if(e.size&&n+t.length>e.size){i=true;o(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}n+=t.length;r.push(t)}));t.on("end",(function(){if(i){return}clearTimeout(s);try{a(Buffer.concat(r,n))}catch(t){o(new FetchError(`Could not create Buffer from response body for ${e.url}: ${t.message}`,"system",t))}}))}))}function convertBody(e,t){if(typeof m!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const r=t.get("content-type");let a="utf-8";let n,i;if(r){n=/charset=([^;]*)/i.exec(r)}i=e.slice(0,1024).toString();if(!n&&i){n=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[_]=Object.create(null);if(e instanceof Headers){const t=e.raw();const r=Object.keys(t);for(const e of r){for(const r of t[e]){this.append(e,r)}}return}if(e==null);else if(typeof e==="object"){const t=e[Symbol.iterator];if(t!=null){if(typeof t!=="function"){throw new TypeError("Header pairs must be iterable")}const r=[];for(const t of e){if(typeof t!=="object"||typeof t[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}r.push(Array.from(t))}for(const e of r){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const t of Object.keys(e)){const r=e[t];this.append(t,r)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const t=find(this[_],e);if(t===undefined){return null}return this[_][t].join(", ")}forEach(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let r=getHeaders(this);let a=0;while(a1&&arguments[1]!==undefined?arguments[1]:"key+value";const r=Object.keys(e[_]).sort();return r.map(t==="key"?function(e){return e.toLowerCase()}:t==="value"?function(t){return e[_][t].join(", ")}:function(t){return[t.toLowerCase(),e[_][t].join(", ")]})}const w=Symbol("internal");function createHeadersIterator(e,t){const r=Object.create(A);r[w]={target:e,kind:t,index:0};return r}const A=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==A){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[w];const t=e.target,r=e.kind,a=e.index;const n=getHeaders(t,r);const i=n.length;if(a>=i){return{value:undefined,done:true}}this[w].index=a+1;return{value:n[a],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(A,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const t=Object.assign({__proto__:null},e[_]);const r=find(e[_],"Host");if(r!==undefined){t[r]=t[r][0]}return t}function createHeadersLenient(e){const t=new Headers;for(const r of Object.keys(e)){if(T.test(r)){continue}if(Array.isArray(e[r])){for(const a of e[r]){if(E.test(a)){continue}if(t[_][r]===undefined){t[_][r]=[a]}else{t[_][r].push(a)}}}else if(!E.test(e[r])){t[_][r]=[e[r]]}}return t}const b=Symbol("Response internals");const y=n.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,t);const r=t.status||200;const a=new Headers(t.headers);if(e!=null&&!a.has("Content-Type")){const t=extractContentType(e);if(t){a.append("Content-Type",t)}}this[b]={url:t.url,status:r,statusText:t.statusText||y[r],headers:a,counter:t.counter}}get url(){return this[b].url||""}get status(){return this[b].status}get ok(){return this[b].status>=200&&this[b].status<300}get redirected(){return this[b].counter>0}get statusText(){return this[b].statusText}get headers(){return this[b].headers}clone(){return new Response(clone(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Body.mixIn(Response.prototype);Object.defineProperties(Response.prototype,{url:{enumerable:true},status:{enumerable:true},ok:{enumerable:true},redirected:{enumerable:true},statusText:{enumerable:true},headers:{enumerable:true},clone:{enumerable:true}});Object.defineProperty(Response.prototype,Symbol.toStringTag,{value:"Response",writable:false,enumerable:false,configurable:true});const S=Symbol("Request internals");const C=i.URL||o.URL;const k=i.parse;const N=i.format;function parseURL(e){if(/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)){e=new C(e).toString()}return k(e)}const D="destroy"in a.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[S]==="object"}function isAbortSignal(e){const t=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(t&&t.constructor.name==="AbortSignal")}class Request{constructor(e){let t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let r;if(!isRequest(e)){if(e&&e.href){r=parseURL(e.href)}else{r=parseURL(`${e}`)}e={}}else{r=parseURL(e.url)}let a=t.method||e.method||"GET";a=a.toUpperCase();if((t.body!=null||isRequest(e)&&e.body!==null)&&(a==="GET"||a==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let n=t.body!=null?t.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,n,{timeout:t.timeout||e.timeout||0,size:t.size||e.size||0});const i=new Headers(t.headers||e.headers||{});if(n!=null&&!i.has("Content-Type")){const e=extractContentType(n);if(e){i.append("Content-Type",e)}}let o=isRequest(e)?e.signal:null;if("signal"in t)o=t.signal;if(o!=null&&!isAbortSignal(o)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[S]={method:a,redirect:t.redirect||e.redirect||"follow",headers:i,parsedURL:r,signal:o};this.follow=t.follow!==undefined?t.follow:e.follow!==undefined?e.follow:20;this.compress=t.compress!==undefined?t.compress:e.compress!==undefined?e.compress:true;this.counter=t.counter||e.counter||0;this.agent=t.agent||e.agent}get method(){return this[S].method}get url(){return N(this[S].parsedURL)}get headers(){return this[S].headers}get redirect(){return this[S].redirect}get signal(){return this[S].signal}clone(){return new Request(this)}}Body.mixIn(Request.prototype);Object.defineProperty(Request.prototype,Symbol.toStringTag,{value:"Request",writable:false,enumerable:false,configurable:true});Object.defineProperties(Request.prototype,{method:{enumerable:true},url:{enumerable:true},headers:{enumerable:true},redirect:{enumerable:true},clone:{enumerable:true},signal:{enumerable:true}});function getNodeRequestOptions(e){const t=e[S].parsedURL;const r=new Headers(e[S].headers);if(!r.has("Accept")){r.set("Accept","*/*")}if(!t.protocol||!t.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(t.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof a.Readable&&!D){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let n=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){n="0"}if(e.body!=null){const t=getTotalBytes(e);if(typeof t==="number"){n=String(t)}}if(n){r.set("Content-Length",n)}if(!r.has("User-Agent")){r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!r.has("Accept-Encoding")){r.set("Accept-Encoding","gzip,deflate")}let i=e.agent;if(typeof i==="function"){i=i(t)}if(!r.has("Connection")&&!i){r.set("Connection","close")}return Object.assign({},t,{method:e.method,headers:exportNodeCompatibleHeaders(r),agent:i})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const O=i.URL||o.URL;const R=a.PassThrough;const I=function isDomainOrSubdomain(e,t){const r=new O(t).hostname;const a=new O(e).hostname;return r===a||r[r.length-a.length-1]==="."&&r.endsWith(a)};const P=function isSameProtocol(e,t){const r=new O(t).protocol;const a=new O(e).protocol;return r===a};function fetch(e,t){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(r,i){const o=new Request(e,t);const d=getNodeRequestOptions(o);const l=(d.protocol==="https:"?s:n).request;const c=o.signal;let m=null;const g=function abort(){let e=new AbortError("The user aborted a request.");i(e);if(o.body&&o.body instanceof a.Readable){destroyStream(o.body,e)}if(!m||!m.body)return;m.body.emit("error",e)};if(c&&c.aborted){g();return}const v=function abortAndFinalize(){g();finalize()};const T=l(d);let E;if(c){c.addEventListener("abort",v)}function finalize(){T.abort();if(c)c.removeEventListener("abort",v);clearTimeout(E)}if(o.timeout){T.once("socket",(function(e){E=setTimeout((function(){i(new FetchError(`network timeout at: ${o.url}`,"request-timeout"));finalize()}),o.timeout)}))}T.on("error",(function(e){i(new FetchError(`request to ${o.url} failed, reason: ${e.message}`,"system",e));if(m&&m.body){destroyStream(m.body,e)}finalize()}));fixResponseChunkedTransferBadEnding(T,(function(e){if(c&&c.aborted){return}if(m&&m.body){destroyStream(m.body,e)}}));if(parseInt(process.version.substring(1))<14){T.on("socket",(function(e){e.addListener("close",(function(t){const r=e.listenerCount("data")>0;if(m&&r&&!t&&!(c&&c.aborted)){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";m.body.emit("error",e)}}))}))}T.on("response",(function(e){clearTimeout(E);const t=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const a=t.get("Location");let n=null;try{n=a===null?null:new O(a,o.url).toString()}catch(e){if(o.redirect!=="manual"){i(new FetchError(`uri requested responds with an invalid redirect URL: ${a}`,"invalid-redirect"));finalize();return}}switch(o.redirect){case"error":i(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect"));finalize();return;case"manual":if(n!==null){try{t.set("Location",n)}catch(e){i(e)}}break;case"follow":if(n===null){break}if(o.counter>=o.follow){i(new FetchError(`maximum redirect reached at: ${o.url}`,"max-redirect"));finalize();return}const a={headers:new Headers(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:o.body,signal:o.signal,timeout:o.timeout,size:o.size};if(!I(o.url,n)||!P(o.url,n)){for(const e of["authorization","www-authenticate","cookie","cookie2"]){a.headers.delete(e)}}if(e.statusCode!==303&&o.body&&getTotalBytes(o)===null){i(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&o.method==="POST"){a.method="GET";a.body=undefined;a.headers.delete("content-length")}r(fetch(new Request(n,a)));finalize();return}}e.once("end",(function(){if(c)c.removeEventListener("abort",v)}));let a=e.pipe(new R);const n={url:o.url,status:e.statusCode,statusText:e.statusMessage,headers:t,size:o.size,timeout:o.timeout,counter:o.counter};const s=t.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||s===null||e.statusCode===204||e.statusCode===304){m=new Response(a,n);r(m);return}const d={flush:p.Z_SYNC_FLUSH,finishFlush:p.Z_SYNC_FLUSH};if(s=="gzip"||s=="x-gzip"){a=a.pipe(p.createGunzip(d));m=new Response(a,n);r(m);return}if(s=="deflate"||s=="x-deflate"){const t=e.pipe(new R);t.once("data",(function(e){if((e[0]&15)===8){a=a.pipe(p.createInflate())}else{a=a.pipe(p.createInflateRaw())}m=new Response(a,n);r(m)}));t.on("end",(function(){if(!m){m=new Response(a,n);r(m)}}));return}if(s=="br"&&typeof p.createBrotliDecompress==="function"){a=a.pipe(p.createBrotliDecompress());m=new Response(a,n);r(m);return}m=new Response(a,n);r(m)}));writeToStream(T,o)}))}function fixResponseChunkedTransferBadEnding(e,t){let r;e.on("socket",(function(e){r=e}));e.on("response",(function(e){const a=e.headers;if(a["transfer-encoding"]==="chunked"&&!a["content-length"]){e.once("close",(function(e){const a=r.listenerCount("data")>0;if(a&&!e){const e=new Error("Premature close");e.code="ERR_STREAM_PREMATURE_CLOSE";t(e)}}))}}))}function destroyStream(e,t){if(e.destroy){e.destroy(t)}else{e.emit("error",t);e.end()}}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=t=fetch;Object.defineProperty(t,"__esModule",{value:true});t["default"]=t;t.Headers=Headers;t.Request=Request;t.Response=Response;t.FetchError=FetchError},7426:e=>{ /* object-assign (c) Sindre Sorhus @license MIT */ -var t=Object.getOwnPropertySymbols;var r=Object.prototype.hasOwnProperty;var a=Object.prototype.propertyIsEnumerable;function toObject(e){if(e===null||e===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(e)}function shouldUseNative(){try{if(!Object.assign){return false}var e=new String("abc");e[5]="de";if(Object.getOwnPropertyNames(e)[0]==="5"){return false}var t={};for(var r=0;r<10;r++){t["_"+String.fromCharCode(r)]=r}var a=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if(a.join("")!=="0123456789"){return false}var n={};"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e}));if(Object.keys(Object.assign({},n)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(e){return false}}e.exports=shouldUseNative()?Object.assign:function(e,n){var i;var o=toObject(e);var s;for(var p=1;p{var a=r(2940);e.exports=a(once);e.exports.strict=a(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},3485:(e,t,r)=>{var a=r(2661);e.exports=decodeEntity;var n={}.hasOwnProperty;function decodeEntity(e){return n.call(a,e)?a[e]:false}},8859:(e,t,r)=>{var a=r(7452);var n=r(3580);var i=r(5552);var o=r(7474);var s=r(8189);var p=r(3485);e.exports=parseEntities;var d={}.hasOwnProperty;var l=String.fromCharCode;var m=Function.prototype;var c={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var g=9;var v=10;var T=12;var E=32;var _=38;var w=59;var A=60;var b=61;var y=35;var S=88;var C=120;var k=65533;var N="named";var D="hexadecimal";var O="decimal";var I={};I[D]=16;I[O]=10;var R={};R[N]=s;R[O]=i;R[D]=o;var P=1;var L=2;var x=3;var F=4;var M=5;var B=6;var G=7;var U={};U[P]="Named character references must be terminated by a semicolon";U[L]="Numeric character references must be terminated by a semicolon";U[x]="Named character references cannot be empty";U[F]="Numeric character references cannot be empty";U[M]="Named character references must be known";U[B]="Numeric character references cannot be disallowed";U[G]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(e,t){var r={};var a;var n;if(!t){t={}}for(n in c){a=t[n];r[n]=a===null||a===undefined?c[n]:a}if(r.position.indent||r.position.start){r.indent=r.position.indent||[];r.position=r.position.start}return parse(e,r)}function parse(e,t){var r=t.additional;var i=t.nonTerminated;var o=t.text;var c=t.reference;var H=t.warning;var V=t.textContext;var q=t.referenceContext;var j=t.warningContext;var K=t.position;var z=t.indent||[];var W=e.length;var Y=0;var $=-1;var Q=K.column||1;var X=K.line||1;var J="";var Z=[];var ee;var te;var re;var ae;var ne;var ie;var oe;var se;var pe;var de;var le;var me;var ue;var ce;var fe;var he;var ge;var ve;var Te;if(typeof r==="string"){r=r.charCodeAt(0)}he=now();se=H?parseError:m;Y--;W++;while(++Y65535){ie-=65536;de+=l(ie>>>(10&1023)|55296);ie=56320|ie&1023}ie=de+l(ie)}}if(ie){flush();he=now();Y=Te-1;Q+=Te-ue+1;Z.push(ie);ge=now();ge.offset++;if(c){c.call(q,ie,{start:he,end:ge},e.slice(ue-1,Te))}he=ge}else{ae=e.slice(ue-1,Te);J+=ae;Q+=ae.length;Y=Te-1}}else{if(ne===10){X++;$++;Q=0}if(ne===ne){J+=l(ne);Q++}else{flush()}}}return Z.join("");function now(){return{line:X,column:Q,offset:Y+(K.offset||0)}}function parseError(e,t){var r=now();r.column+=t;r.offset+=t;H.call(j,U[e],r,e)}function flush(){if(J){Z.push(J);if(o){o.call(V,J,{start:he,end:now()})}J=""}}}function prohibited(e){return e>=55296&&e<=57343||e>1114111}function disallowed(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}},7079:(e,t,r)=>{const{DOCUMENT_MODE:a}=r(9338);const n="html";const i="about:legacy-compat";const o="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd";const s=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"];const p=s.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);const d=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"];const l=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"];const m=l.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function enquoteDoctypeId(e){const t=e.indexOf('"')!==-1?"'":'"';return t+e+t}function hasPrefix(e,t){for(let r=0;r-1){return a.QUIRKS}let e=t===null?p:s;if(hasPrefix(r,e)){return a.QUIRKS}e=t===null?l:m;if(hasPrefix(r,e)){return a.LIMITED_QUIRKS}}return a.NO_QUIRKS};t.serializeContent=function(e,t,r){let a="!DOCTYPE ";if(e){a+=e}if(t){a+=" PUBLIC "+enquoteDoctypeId(t)}else if(r){a+=" SYSTEM"}if(r!==null){a+=" "+enquoteDoctypeId(r)}return a}},5906:e=>{e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},2526:(e,t,r)=>{const a=r(5759);const n=r(9338);const i=n.TAG_NAMES;const o=n.NAMESPACES;const s=n.ATTRS;const p={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"};const d="definitionurl";const l="definitionURL";const m={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"};const c={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:o.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:o.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:o.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:o.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:o.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:o.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:o.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:o.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:o.XML},"xml:space":{prefix:"xml",name:"space",namespace:o.XML},xmlns:{prefix:"",name:"xmlns",namespace:o.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:o.XMLNS}};const g=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"};const v={[i.B]:true,[i.BIG]:true,[i.BLOCKQUOTE]:true,[i.BODY]:true,[i.BR]:true,[i.CENTER]:true,[i.CODE]:true,[i.DD]:true,[i.DIV]:true,[i.DL]:true,[i.DT]:true,[i.EM]:true,[i.EMBED]:true,[i.H1]:true,[i.H2]:true,[i.H3]:true,[i.H4]:true,[i.H5]:true,[i.H6]:true,[i.HEAD]:true,[i.HR]:true,[i.I]:true,[i.IMG]:true,[i.LI]:true,[i.LISTING]:true,[i.MENU]:true,[i.META]:true,[i.NOBR]:true,[i.OL]:true,[i.P]:true,[i.PRE]:true,[i.RUBY]:true,[i.S]:true,[i.SMALL]:true,[i.SPAN]:true,[i.STRONG]:true,[i.STRIKE]:true,[i.SUB]:true,[i.SUP]:true,[i.TABLE]:true,[i.TT]:true,[i.U]:true,[i.UL]:true,[i.VAR]:true};t.causesExit=function(e){const t=e.tagName;const r=t===i.FONT&&(a.getTokenAttr(e,s.COLOR)!==null||a.getTokenAttr(e,s.SIZE)!==null||a.getTokenAttr(e,s.FACE)!==null);return r?true:v[t]};t.adjustTokenMathMLAttrs=function(e){for(let t=0;t{const r=t.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",MATHML:"http://www.w3.org/1998/Math/MathML",SVG:"http://www.w3.org/2000/svg",XLINK:"http://www.w3.org/1999/xlink",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"};t.ATTRS={TYPE:"type",ACTION:"action",ENCODING:"encoding",PROMPT:"prompt",NAME:"name",COLOR:"color",FACE:"face",SIZE:"size"};t.DOCUMENT_MODE={NO_QUIRKS:"no-quirks",QUIRKS:"quirks",LIMITED_QUIRKS:"limited-quirks"};const a=t.TAG_NAMES={A:"a",ADDRESS:"address",ANNOTATION_XML:"annotation-xml",APPLET:"applet",AREA:"area",ARTICLE:"article",ASIDE:"aside",B:"b",BASE:"base",BASEFONT:"basefont",BGSOUND:"bgsound",BIG:"big",BLOCKQUOTE:"blockquote",BODY:"body",BR:"br",BUTTON:"button",CAPTION:"caption",CENTER:"center",CODE:"code",COL:"col",COLGROUP:"colgroup",DD:"dd",DESC:"desc",DETAILS:"details",DIALOG:"dialog",DIR:"dir",DIV:"div",DL:"dl",DT:"dt",EM:"em",EMBED:"embed",FIELDSET:"fieldset",FIGCAPTION:"figcaption",FIGURE:"figure",FONT:"font",FOOTER:"footer",FOREIGN_OBJECT:"foreignObject",FORM:"form",FRAME:"frame",FRAMESET:"frameset",H1:"h1",H2:"h2",H3:"h3",H4:"h4",H5:"h5",H6:"h6",HEAD:"head",HEADER:"header",HGROUP:"hgroup",HR:"hr",HTML:"html",I:"i",IMG:"img",IMAGE:"image",INPUT:"input",IFRAME:"iframe",KEYGEN:"keygen",LABEL:"label",LI:"li",LINK:"link",LISTING:"listing",MAIN:"main",MALIGNMARK:"malignmark",MARQUEE:"marquee",MATH:"math",MENU:"menu",META:"meta",MGLYPH:"mglyph",MI:"mi",MO:"mo",MN:"mn",MS:"ms",MTEXT:"mtext",NAV:"nav",NOBR:"nobr",NOFRAMES:"noframes",NOEMBED:"noembed",NOSCRIPT:"noscript",OBJECT:"object",OL:"ol",OPTGROUP:"optgroup",OPTION:"option",P:"p",PARAM:"param",PLAINTEXT:"plaintext",PRE:"pre",RB:"rb",RP:"rp",RT:"rt",RTC:"rtc",RUBY:"ruby",S:"s",SCRIPT:"script",SECTION:"section",SELECT:"select",SOURCE:"source",SMALL:"small",SPAN:"span",STRIKE:"strike",STRONG:"strong",STYLE:"style",SUB:"sub",SUMMARY:"summary",SUP:"sup",TABLE:"table",TBODY:"tbody",TEMPLATE:"template",TEXTAREA:"textarea",TFOOT:"tfoot",TD:"td",TH:"th",THEAD:"thead",TITLE:"title",TR:"tr",TRACK:"track",TT:"tt",U:"u",UL:"ul",SVG:"svg",VAR:"var",WBR:"wbr",XMP:"xmp"};t.SPECIAL_ELEMENTS={[r.HTML]:{[a.ADDRESS]:true,[a.APPLET]:true,[a.AREA]:true,[a.ARTICLE]:true,[a.ASIDE]:true,[a.BASE]:true,[a.BASEFONT]:true,[a.BGSOUND]:true,[a.BLOCKQUOTE]:true,[a.BODY]:true,[a.BR]:true,[a.BUTTON]:true,[a.CAPTION]:true,[a.CENTER]:true,[a.COL]:true,[a.COLGROUP]:true,[a.DD]:true,[a.DETAILS]:true,[a.DIR]:true,[a.DIV]:true,[a.DL]:true,[a.DT]:true,[a.EMBED]:true,[a.FIELDSET]:true,[a.FIGCAPTION]:true,[a.FIGURE]:true,[a.FOOTER]:true,[a.FORM]:true,[a.FRAME]:true,[a.FRAMESET]:true,[a.H1]:true,[a.H2]:true,[a.H3]:true,[a.H4]:true,[a.H5]:true,[a.H6]:true,[a.HEAD]:true,[a.HEADER]:true,[a.HGROUP]:true,[a.HR]:true,[a.HTML]:true,[a.IFRAME]:true,[a.IMG]:true,[a.INPUT]:true,[a.LI]:true,[a.LINK]:true,[a.LISTING]:true,[a.MAIN]:true,[a.MARQUEE]:true,[a.MENU]:true,[a.META]:true,[a.NAV]:true,[a.NOEMBED]:true,[a.NOFRAMES]:true,[a.NOSCRIPT]:true,[a.OBJECT]:true,[a.OL]:true,[a.P]:true,[a.PARAM]:true,[a.PLAINTEXT]:true,[a.PRE]:true,[a.SCRIPT]:true,[a.SECTION]:true,[a.SELECT]:true,[a.SOURCE]:true,[a.STYLE]:true,[a.SUMMARY]:true,[a.TABLE]:true,[a.TBODY]:true,[a.TD]:true,[a.TEMPLATE]:true,[a.TEXTAREA]:true,[a.TFOOT]:true,[a.TH]:true,[a.THEAD]:true,[a.TITLE]:true,[a.TR]:true,[a.TRACK]:true,[a.UL]:true,[a.WBR]:true,[a.XMP]:true},[r.MATHML]:{[a.MI]:true,[a.MO]:true,[a.MN]:true,[a.MS]:true,[a.MTEXT]:true,[a.ANNOTATION_XML]:true},[r.SVG]:{[a.TITLE]:true,[a.FOREIGN_OBJECT]:true,[a.DESC]:true}}},9481:(e,t)=>{const r=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="�";t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533};t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]};t.isSurrogate=function(e){return e>=55296&&e<=57343};t.isSurrogatePair=function(e){return e>=56320&&e<=57343};t.getSurrogatePairCodePoint=function(e,t){return(e-55296)*1024+9216+t};t.isControlCodePoint=function(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159};t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||r.indexOf(e)>-1}},6558:(e,t,r)=>{const a=r(2079);class ErrorReportingMixinBase extends a{constructor(e,t){super(e);this.posTracker=null;this.onParseError=t.onParseError}_setErrorLocation(e){e.startLine=e.endLine=this.posTracker.line;e.startCol=e.endCol=this.posTracker.col;e.startOffset=e.endOffset=this.posTracker.offset}_reportError(e){const t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t);this.onParseError(t)}_getOverriddenMethods(e){return{_err(t){e._reportError(t)}}}}e.exports=ErrorReportingMixinBase},8910:(e,t,r)=>{const a=r(6558);const n=r(9971);const i=r(2777);const o=r(2079);class ErrorReportingParserMixin extends a{constructor(e,t){super(e,t);this.opts=t;this.ctLoc=null;this.locBeforeToken=false}_setErrorLocation(e){if(this.ctLoc){e.startLine=this.ctLoc.startLine;e.startCol=this.ctLoc.startCol;e.startOffset=this.ctLoc.startOffset;e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine;e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol;e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset}}_getOverriddenMethods(e,t){return{_bootstrap(r,a){t._bootstrap.call(this,r,a);o.install(this.tokenizer,n,e.opts);o.install(this.tokenizer,i)},_processInputToken(r){e.ctLoc=r.location;t._processInputToken.call(this,r)},_err(t,r){e.locBeforeToken=r&&r.beforeToken;e._reportError(t)}}}}e.exports=ErrorReportingParserMixin},1071:(e,t,r)=>{const a=r(6558);const n=r(3340);const i=r(2079);class ErrorReportingPreprocessorMixin extends a{constructor(e,t){super(e,t);this.posTracker=i.install(e,n);this.lastErrOffset=-1}_reportError(e){if(this.lastErrOffset!==this.posTracker.offset){this.lastErrOffset=this.posTracker.offset;super._reportError(e)}}}e.exports=ErrorReportingPreprocessorMixin},9971:(e,t,r)=>{const a=r(6558);const n=r(1071);const i=r(2079);class ErrorReportingTokenizerMixin extends a{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,n,t);this.posTracker=r.posTracker}}e.exports=ErrorReportingTokenizerMixin},7253:(e,t,r)=>{const a=r(2079);class LocationInfoOpenElementStackMixin extends a{constructor(e,t){super(e);this.onItemPop=t.onItemPop}_getOverriddenMethods(e,t){return{pop(){e.onItemPop(this.current);t.pop.call(this)},popAllUpToHtmlElement(){for(let t=this.stackTop;t>0;t--){e.onItemPop(this.items[t])}t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current);t.remove.call(this,r)}}}}e.exports=LocationInfoOpenElementStackMixin},3647:(e,t,r)=>{const a=r(2079);const n=r(5759);const i=r(2777);const o=r(7253);const s=r(9338);const p=s.TAG_NAMES;class LocationInfoParserMixin extends a{constructor(e){super(e);this.parser=e;this.treeAdapter=this.parser.treeAdapter;this.posTracker=null;this.lastStartTagToken=null;this.lastFosterParentingLocation=null;this.currentToken=null}_setStartLocation(e){let t=null;if(this.lastStartTagToken){t=Object.assign({},this.lastStartTagToken.location);t.startTag=this.lastStartTagToken.location}this.treeAdapter.setNodeSourceCodeLocation(e,t)}_setEndLocation(e,t){const r=this.treeAdapter.getNodeSourceCodeLocation(e);if(r){if(t.location){const a=t.location;const i=this.treeAdapter.getTagName(e);const o=t.type===n.END_TAG_TOKEN&&i===t.tagName;if(o){r.endTag=Object.assign({},a);r.endLine=a.endLine;r.endCol=a.endCol;r.endOffset=a.endOffset}else{r.endLine=a.startLine;r.endCol=a.startCol;r.endOffset=a.startOffset}}}}_getOverriddenMethods(e,t){return{_bootstrap(r,n){t._bootstrap.call(this,r,n);e.lastStartTagToken=null;e.lastFosterParentingLocation=null;e.currentToken=null;const s=a.install(this.tokenizer,i);e.posTracker=s.posTracker;a.install(this.openElements,o,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop(r){t._runParsingLoop.call(this,r);for(let t=this.openElements.stackTop;t>=0;t--){e._setEndLocation(this.openElements.items[t],e.currentToken)}},_processTokenInForeignContent(r){e.currentToken=r;t._processTokenInForeignContent.call(this,r)},_processToken(r){e.currentToken=r;t._processToken.call(this,r);const a=r.type===n.END_TAG_TOKEN&&(r.tagName===p.HTML||r.tagName===p.BODY&&this.openElements.hasInScope(p.BODY));if(a){for(let t=this.openElements.stackTop;t>=0;t--){const a=this.openElements.items[t];if(this.treeAdapter.getTagName(a)===r.tagName){e._setEndLocation(a,r);break}}}},_setDocumentType(e){t._setDocumentType.call(this,e);const r=this.treeAdapter.getChildNodes(this.document);const a=r.length;for(let t=0;t{const a=r(2079);const n=r(5759);const i=r(3340);class LocationInfoTokenizerMixin extends a{constructor(e){super(e);this.tokenizer=e;this.posTracker=a.install(e.preprocessor,i);this.currentAttrLocation=null;this.ctLoc=null}_getCurrentLocation(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}_attachCurrentAttrLocationInfo(){this.currentAttrLocation.endLine=this.posTracker.line;this.currentAttrLocation.endCol=this.posTracker.col;this.currentAttrLocation.endOffset=this.posTracker.offset;const e=this.tokenizer.currentToken;const t=this.tokenizer.currentAttr;if(!e.location.attrs){e.location.attrs=Object.create(null)}e.location.attrs[t.name]=this.currentAttrLocation}_getOverriddenMethods(e,t){const r={_createStartTagToken(){t._createStartTagToken.call(this);this.currentToken.location=e.ctLoc},_createEndTagToken(){t._createEndTagToken.call(this);this.currentToken.location=e.ctLoc},_createCommentToken(){t._createCommentToken.call(this);this.currentToken.location=e.ctLoc},_createDoctypeToken(r){t._createDoctypeToken.call(this,r);this.currentToken.location=e.ctLoc},_createCharacterToken(r,a){t._createCharacterToken.call(this,r,a);this.currentCharacterToken.location=e.ctLoc},_createEOFToken(){t._createEOFToken.call(this);this.currentToken.location=e._getCurrentLocation()},_createAttr(r){t._createAttr.call(this,r);e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName(r){t._leaveAttrName.call(this,r);e._attachCurrentAttrLocationInfo()},_leaveAttrValue(r){t._leaveAttrValue.call(this,r);e._attachCurrentAttrLocationInfo()},_emitCurrentToken(){const r=this.currentToken.location;if(this.currentCharacterToken){this.currentCharacterToken.location.endLine=r.startLine;this.currentCharacterToken.location.endCol=r.startCol;this.currentCharacterToken.location.endOffset=r.startOffset}if(this.currentToken.type===n.EOF_TOKEN){r.endLine=r.startLine;r.endCol=r.startCol;r.endOffset=r.startOffset}else{r.endLine=e.posTracker.line;r.endCol=e.posTracker.col+1;r.endOffset=e.posTracker.offset+1}t._emitCurrentToken.call(this)},_emitCurrentCharacterToken(){const r=this.currentCharacterToken&&this.currentCharacterToken.location;if(r&&r.endOffset===-1){r.endLine=e.posTracker.line;r.endCol=e.posTracker.col;r.endOffset=e.posTracker.offset}t._emitCurrentCharacterToken.call(this)}};Object.keys(n.MODE).forEach((a=>{const i=n.MODE[a];r[i]=function(r){e.ctLoc=e._getCurrentLocation();t[i].call(this,r)}}));return r}}e.exports=LocationInfoTokenizerMixin},3340:(e,t,r)=>{const a=r(2079);class PositionTrackingPreprocessorMixin extends a{constructor(e){super(e);this.preprocessor=e;this.isEol=false;this.lineStartPos=0;this.droppedBufferSize=0;this.offset=0;this.col=0;this.line=1}_getOverriddenMethods(e,t){return{advance(){const r=this.pos+1;const a=this.html[r];if(e.isEol){e.isEol=false;e.line++;e.lineStartPos=r}if(a==="\n"||a==="\r"&&this.html[r+1]!=="\n"){e.isEol=true}e.col=r-e.lineStartPos+1;e.offset=e.droppedBufferSize+r;return t.advance.call(this)},retreat(){t.retreat.call(this);e.isEol=false;e.col=this.pos-e.lineStartPos+1},dropParsedChunk(){const r=this.pos;t.dropParsedChunk.call(this);const a=r-this.pos;e.lineStartPos-=a;e.droppedBufferSize+=a;e.offset=e.droppedBufferSize+this.pos}}}}e.exports=PositionTrackingPreprocessorMixin},9819:e=>{const t=3;class FormattingElementList{constructor(e){this.length=0;this.entries=[];this.treeAdapter=e;this.bookmark=null}_getNoahArkConditionCandidates(e){const r=[];if(this.length>=t){const t=this.treeAdapter.getAttrList(e).length;const a=this.treeAdapter.getTagName(e);const n=this.treeAdapter.getNamespaceURI(e);for(let e=this.length-1;e>=0;e--){const i=this.entries[e];if(i.type===FormattingElementList.MARKER_ENTRY){break}const o=i.element;const s=this.treeAdapter.getAttrList(o);const p=this.treeAdapter.getTagName(o)===a&&this.treeAdapter.getNamespaceURI(o)===n&&s.length===t;if(p){r.push({idx:e,attrs:s})}}}return r.length=t-1;e--){this.entries.splice(r[e].idx,1);this.length--}}}insertMarker(){this.entries.push({type:FormattingElementList.MARKER_ENTRY});this.length++}pushElement(e,t){this._ensureNoahArkCondition(e);this.entries.push({type:FormattingElementList.ELEMENT_ENTRY,element:e,token:t});this.length++}insertElementAfterBookmark(e,t){let r=this.length-1;for(;r>=0;r--){if(this.entries[r]===this.bookmark){break}}this.entries.splice(r+1,0,{type:FormattingElementList.ELEMENT_ENTRY,element:e,token:t});this.length++}removeEntry(e){for(let t=this.length-1;t>=0;t--){if(this.entries[t]===e){this.entries.splice(t,1);this.length--;break}}}clearToLastMarker(){while(this.length){const e=this.entries.pop();this.length--;if(e.type===FormattingElementList.MARKER_ENTRY){break}}}getElementEntryInScopeWithTagName(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===FormattingElementList.MARKER_ENTRY){return null}if(this.treeAdapter.getTagName(r.element)===e){return r}}return null}getElementEntry(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===FormattingElementList.ELEMENT_ENTRY&&r.element===e){return r}}return null}}FormattingElementList.MARKER_ENTRY="MARKER_ENTRY";FormattingElementList.ELEMENT_ENTRY="ELEMENT_ENTRY";e.exports=FormattingElementList},1554:(e,t,r)=>{const a=r(5759);const n=r(4813);const i=r(9819);const o=r(3647);const s=r(8910);const p=r(2079);const d=r(6306);const l=r(2772);const m=r(7079);const c=r(2526);const g=r(5906);const v=r(9481);const T=r(9338);const E=T.TAG_NAMES;const _=T.NAMESPACES;const w=T.ATTRS;const A={scriptingEnabled:true,sourceCodeLocationInfo:false,onParseError:null,treeAdapter:d};const b="hidden";const y=8;const S=3;const C="INITIAL_MODE";const k="BEFORE_HTML_MODE";const N="BEFORE_HEAD_MODE";const D="IN_HEAD_MODE";const O="IN_HEAD_NO_SCRIPT_MODE";const I="AFTER_HEAD_MODE";const R="IN_BODY_MODE";const P="TEXT_MODE";const L="IN_TABLE_MODE";const x="IN_TABLE_TEXT_MODE";const F="IN_CAPTION_MODE";const M="IN_COLUMN_GROUP_MODE";const B="IN_TABLE_BODY_MODE";const G="IN_ROW_MODE";const U="IN_CELL_MODE";const H="IN_SELECT_MODE";const V="IN_SELECT_IN_TABLE_MODE";const q="IN_TEMPLATE_MODE";const j="AFTER_BODY_MODE";const K="IN_FRAMESET_MODE";const z="AFTER_FRAMESET_MODE";const W="AFTER_AFTER_BODY_MODE";const Y="AFTER_AFTER_FRAMESET_MODE";const $={[E.TR]:G,[E.TBODY]:B,[E.THEAD]:B,[E.TFOOT]:B,[E.CAPTION]:F,[E.COLGROUP]:M,[E.TABLE]:L,[E.BODY]:R,[E.FRAMESET]:K};const Q={[E.CAPTION]:L,[E.COLGROUP]:L,[E.TBODY]:L,[E.TFOOT]:L,[E.THEAD]:L,[E.COL]:M,[E.TR]:B,[E.TD]:G,[E.TH]:G};const X={[C]:{[a.CHARACTER_TOKEN]:tokenInInitialMode,[a.NULL_CHARACTER_TOKEN]:tokenInInitialMode,[a.WHITESPACE_CHARACTER_TOKEN]:ignoreToken,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:doctypeInInitialMode,[a.START_TAG_TOKEN]:tokenInInitialMode,[a.END_TAG_TOKEN]:tokenInInitialMode,[a.EOF_TOKEN]:tokenInInitialMode},[k]:{[a.CHARACTER_TOKEN]:tokenBeforeHtml,[a.NULL_CHARACTER_TOKEN]:tokenBeforeHtml,[a.WHITESPACE_CHARACTER_TOKEN]:ignoreToken,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagBeforeHtml,[a.END_TAG_TOKEN]:endTagBeforeHtml,[a.EOF_TOKEN]:tokenBeforeHtml},[N]:{[a.CHARACTER_TOKEN]:tokenBeforeHead,[a.NULL_CHARACTER_TOKEN]:tokenBeforeHead,[a.WHITESPACE_CHARACTER_TOKEN]:ignoreToken,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagBeforeHead,[a.END_TAG_TOKEN]:endTagBeforeHead,[a.EOF_TOKEN]:tokenBeforeHead},[D]:{[a.CHARACTER_TOKEN]:tokenInHead,[a.NULL_CHARACTER_TOKEN]:tokenInHead,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagInHead,[a.END_TAG_TOKEN]:endTagInHead,[a.EOF_TOKEN]:tokenInHead},[O]:{[a.CHARACTER_TOKEN]:tokenInHeadNoScript,[a.NULL_CHARACTER_TOKEN]:tokenInHeadNoScript,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagInHeadNoScript,[a.END_TAG_TOKEN]:endTagInHeadNoScript,[a.EOF_TOKEN]:tokenInHeadNoScript},[I]:{[a.CHARACTER_TOKEN]:tokenAfterHead,[a.NULL_CHARACTER_TOKEN]:tokenAfterHead,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagAfterHead,[a.END_TAG_TOKEN]:endTagAfterHead,[a.EOF_TOKEN]:tokenAfterHead},[R]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInBody,[a.END_TAG_TOKEN]:endTagInBody,[a.EOF_TOKEN]:eofInBody},[P]:{[a.CHARACTER_TOKEN]:insertCharacters,[a.NULL_CHARACTER_TOKEN]:insertCharacters,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:ignoreToken,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:ignoreToken,[a.END_TAG_TOKEN]:endTagInText,[a.EOF_TOKEN]:eofInText},[L]:{[a.CHARACTER_TOKEN]:characterInTable,[a.NULL_CHARACTER_TOKEN]:characterInTable,[a.WHITESPACE_CHARACTER_TOKEN]:characterInTable,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInTable,[a.END_TAG_TOKEN]:endTagInTable,[a.EOF_TOKEN]:eofInBody},[x]:{[a.CHARACTER_TOKEN]:characterInTableText,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInTableText,[a.COMMENT_TOKEN]:tokenInTableText,[a.DOCTYPE_TOKEN]:tokenInTableText,[a.START_TAG_TOKEN]:tokenInTableText,[a.END_TAG_TOKEN]:tokenInTableText,[a.EOF_TOKEN]:tokenInTableText},[F]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInCaption,[a.END_TAG_TOKEN]:endTagInCaption,[a.EOF_TOKEN]:eofInBody},[M]:{[a.CHARACTER_TOKEN]:tokenInColumnGroup,[a.NULL_CHARACTER_TOKEN]:tokenInColumnGroup,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInColumnGroup,[a.END_TAG_TOKEN]:endTagInColumnGroup,[a.EOF_TOKEN]:eofInBody},[B]:{[a.CHARACTER_TOKEN]:characterInTable,[a.NULL_CHARACTER_TOKEN]:characterInTable,[a.WHITESPACE_CHARACTER_TOKEN]:characterInTable,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInTableBody,[a.END_TAG_TOKEN]:endTagInTableBody,[a.EOF_TOKEN]:eofInBody},[G]:{[a.CHARACTER_TOKEN]:characterInTable,[a.NULL_CHARACTER_TOKEN]:characterInTable,[a.WHITESPACE_CHARACTER_TOKEN]:characterInTable,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInRow,[a.END_TAG_TOKEN]:endTagInRow,[a.EOF_TOKEN]:eofInBody},[U]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInCell,[a.END_TAG_TOKEN]:endTagInCell,[a.EOF_TOKEN]:eofInBody},[H]:{[a.CHARACTER_TOKEN]:insertCharacters,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInSelect,[a.END_TAG_TOKEN]:endTagInSelect,[a.EOF_TOKEN]:eofInBody},[V]:{[a.CHARACTER_TOKEN]:insertCharacters,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInSelectInTable,[a.END_TAG_TOKEN]:endTagInSelectInTable,[a.EOF_TOKEN]:eofInBody},[q]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInTemplate,[a.END_TAG_TOKEN]:endTagInTemplate,[a.EOF_TOKEN]:eofInTemplate},[j]:{[a.CHARACTER_TOKEN]:tokenAfterBody,[a.NULL_CHARACTER_TOKEN]:tokenAfterBody,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendCommentToRootHtmlElement,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterBody,[a.END_TAG_TOKEN]:endTagAfterBody,[a.EOF_TOKEN]:stopParsing},[K]:{[a.CHARACTER_TOKEN]:ignoreToken,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInFrameset,[a.END_TAG_TOKEN]:endTagInFrameset,[a.EOF_TOKEN]:stopParsing},[z]:{[a.CHARACTER_TOKEN]:ignoreToken,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterFrameset,[a.END_TAG_TOKEN]:endTagAfterFrameset,[a.EOF_TOKEN]:stopParsing},[W]:{[a.CHARACTER_TOKEN]:tokenAfterAfterBody,[a.NULL_CHARACTER_TOKEN]:tokenAfterAfterBody,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendCommentToDocument,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterAfterBody,[a.END_TAG_TOKEN]:tokenAfterAfterBody,[a.EOF_TOKEN]:stopParsing},[Y]:{[a.CHARACTER_TOKEN]:ignoreToken,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendCommentToDocument,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterAfterFrameset,[a.END_TAG_TOKEN]:ignoreToken,[a.EOF_TOKEN]:stopParsing}};class Parser{constructor(e){this.options=l(A,e);this.treeAdapter=this.options.treeAdapter;this.pendingScript=null;if(this.options.sourceCodeLocationInfo){p.install(this,o)}if(this.options.onParseError){p.install(this,s,{onParseError:this.options.onParseError})}}parse(e){const t=this.treeAdapter.createDocument();this._bootstrap(t,null);this.tokenizer.write(e,true);this._runParsingLoop(null);return t}parseFragment(e,t){if(!t){t=this.treeAdapter.createElement(E.TEMPLATE,_.HTML,[])}const r=this.treeAdapter.createElement("documentmock",_.HTML,[]);this._bootstrap(r,t);if(this.treeAdapter.getTagName(t)===E.TEMPLATE){this._pushTmplInsertionMode(q)}this._initTokenizerForFragmentParsing();this._insertFakeRootElement();this._resetInsertionMode();this._findFormInFragmentContext();this.tokenizer.write(e,true);this._runParsingLoop(null);const a=this.treeAdapter.getFirstChild(r);const n=this.treeAdapter.createDocumentFragment();this._adoptNodes(a,n);return n}_bootstrap(e,t){this.tokenizer=new a(this.options);this.stopped=false;this.insertionMode=C;this.originalInsertionMode="";this.document=e;this.fragmentContext=t;this.headElement=null;this.formElement=null;this.openElements=new n(this.document,this.treeAdapter);this.activeFormattingElements=new i(this.treeAdapter);this.tmplInsertionModeStack=[];this.tmplInsertionModeStackTop=-1;this.currentTmplInsertionMode=null;this.pendingCharacterTokens=[];this.hasNonWhitespacePendingCharacterToken=false;this.framesetOk=true;this.skipNextNewLine=false;this.fosterParentingEnabled=false}_err(){}_runParsingLoop(e){while(!this.stopped){this._setupTokenizerCDATAMode();const t=this.tokenizer.getNextToken();if(t.type===a.HIBERNATION_TOKEN){break}if(this.skipNextNewLine){this.skipNextNewLine=false;if(t.type===a.WHITESPACE_CHARACTER_TOKEN&&t.chars[0]==="\n"){if(t.chars.length===1){continue}t.chars=t.chars.substr(1)}}this._processInputToken(t);if(e&&this.pendingScript){break}}}runParsingLoopForCurrentChunk(e,t){this._runParsingLoop(t);if(t&&this.pendingScript){const e=this.pendingScript;this.pendingScript=null;t(e);return}if(e){e()}}_setupTokenizerCDATAMode(){const e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==_.HTML&&!this._isIntegrationPoint(e)}_switchToTextParsing(e,t){this._insertElement(e,_.HTML);this.tokenizer.state=t;this.originalInsertionMode=this.insertionMode;this.insertionMode=P}switchToPlaintextParsing(){this.insertionMode=P;this.originalInsertionMode=R;this.tokenizer.state=a.MODE.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===E.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}_initTokenizerForFragmentParsing(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===_.HTML){const e=this.treeAdapter.getTagName(this.fragmentContext);if(e===E.TITLE||e===E.TEXTAREA){this.tokenizer.state=a.MODE.RCDATA}else if(e===E.STYLE||e===E.XMP||e===E.IFRAME||e===E.NOEMBED||e===E.NOFRAMES||e===E.NOSCRIPT){this.tokenizer.state=a.MODE.RAWTEXT}else if(e===E.SCRIPT){this.tokenizer.state=a.MODE.SCRIPT_DATA}else if(e===E.PLAINTEXT){this.tokenizer.state=a.MODE.PLAINTEXT}}}_setDocumentType(e){const t=e.name||"";const r=e.publicId||"";const a=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,r,a)}_attachElementToTree(e){if(this._shouldFosterParentOnInsertion()){this._fosterParentElement(e)}else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r)}_insertElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r);this.openElements.push(r)}_insertFakeElement(e){const t=this.treeAdapter.createElement(e,_.HTML,[]);this._attachElementToTree(t);this.openElements.push(t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,_.HTML,e.attrs);const r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,r);this._attachElementToTree(t);this.openElements.push(t)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(E.HTML,_.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e);this.openElements.push(e)}_appendCommentNode(e,t){const r=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,r)}_insertCharacters(e){if(this._shouldFosterParentOnInsertion()){this._fosterParentText(e.chars)}else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}_adoptNodes(e,t){for(let r=this.treeAdapter.getFirstChild(e);r;r=this.treeAdapter.getFirstChild(e)){this.treeAdapter.detachNode(r);this.treeAdapter.appendChild(t,r)}}_shouldProcessTokenInForeignContent(e){const t=this._getAdjustedCurrentElement();if(!t||t===this.document){return false}const r=this.treeAdapter.getNamespaceURI(t);if(r===_.HTML){return false}if(this.treeAdapter.getTagName(t)===E.ANNOTATION_XML&&r===_.MATHML&&e.type===a.START_TAG_TOKEN&&e.tagName===E.SVG){return false}const n=e.type===a.CHARACTER_TOKEN||e.type===a.NULL_CHARACTER_TOKEN||e.type===a.WHITESPACE_CHARACTER_TOKEN;const i=e.type===a.START_TAG_TOKEN&&e.tagName!==E.MGLYPH&&e.tagName!==E.MALIGNMARK;if((i||n)&&this._isIntegrationPoint(t,_.MATHML)){return false}if((e.type===a.START_TAG_TOKEN||n)&&this._isIntegrationPoint(t,_.HTML)){return false}return e.type!==a.EOF_TOKEN}_processToken(e){X[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){X[R][e.type](this,e)}_processTokenInForeignContent(e){if(e.type===a.CHARACTER_TOKEN){characterInForeignContent(this,e)}else if(e.type===a.NULL_CHARACTER_TOKEN){nullCharacterInForeignContent(this,e)}else if(e.type===a.WHITESPACE_CHARACTER_TOKEN){insertCharacters(this,e)}else if(e.type===a.COMMENT_TOKEN){appendComment(this,e)}else if(e.type===a.START_TAG_TOKEN){startTagInForeignContent(this,e)}else if(e.type===a.END_TAG_TOKEN){endTagInForeignContent(this,e)}}_processInputToken(e){if(this._shouldProcessTokenInForeignContent(e)){this._processTokenInForeignContent(e)}else{this._processToken(e)}if(e.type===a.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing){this._err(g.nonVoidHtmlElementStartTagWithTrailingSolidus)}}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e);const a=this.treeAdapter.getNamespaceURI(e);const n=this.treeAdapter.getAttrList(e);return c.isIntegrationPoint(r,a,n,t)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.length;if(e){let t=e;let r=null;do{t--;r=this.activeFormattingElements.entries[t];if(r.type===i.MARKER_ENTRY||this.openElements.contains(r.element)){t++;break}}while(t>0);for(let a=t;a=0;e--){let r=this.openElements.items[e];if(e===0){t=true;if(this.fragmentContext){r=this.fragmentContext}}const a=this.treeAdapter.getTagName(r);const n=$[a];if(n){this.insertionMode=n;break}else if(!t&&(a===E.TD||a===E.TH)){this.insertionMode=U;break}else if(!t&&a===E.HEAD){this.insertionMode=D;break}else if(a===E.SELECT){this._resetInsertionModeForSelect(e);break}else if(a===E.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}else if(a===E.HTML){this.insertionMode=this.headElement?I:N;break}else if(t){this.insertionMode=R;break}}}_resetInsertionModeForSelect(e){if(e>0){for(let t=e-1;t>0;t--){const e=this.openElements.items[t];const r=this.treeAdapter.getTagName(e);if(r===E.TEMPLATE){break}else if(r===E.TABLE){this.insertionMode=V;return}}}this.insertionMode=H}_pushTmplInsertionMode(e){this.tmplInsertionModeStack.push(e);this.tmplInsertionModeStackTop++;this.currentTmplInsertionMode=e}_popTmplInsertionMode(){this.tmplInsertionModeStack.pop();this.tmplInsertionModeStackTop--;this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}_isElementCausesFosterParenting(e){const t=this.treeAdapter.getTagName(e);return t===E.TABLE||t===E.TBODY||t===E.TFOOT||t===E.THEAD||t===E.TR}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}_findFosterParentingLocation(){const e={parent:null,beforeElement:null};for(let t=this.openElements.stackTop;t>=0;t--){const r=this.openElements.items[t];const a=this.treeAdapter.getTagName(r);const n=this.treeAdapter.getNamespaceURI(r);if(a===E.TEMPLATE&&n===_.HTML){e.parent=this.treeAdapter.getTemplateContent(r);break}else if(a===E.TABLE){e.parent=this.treeAdapter.getParentNode(r);if(e.parent){e.beforeElement=r}else{e.parent=this.openElements.items[t-1]}break}}if(!e.parent){e.parent=this.openElements.items[0]}return e}_fosterParentElement(e){const t=this._findFosterParentingLocation();if(t.beforeElement){this.treeAdapter.insertBefore(t.parent,e,t.beforeElement)}else{this.treeAdapter.appendChild(t.parent,e)}}_fosterParentText(e){const t=this._findFosterParentingLocation();if(t.beforeElement){this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement)}else{this.treeAdapter.insertText(t.parent,e)}}_isSpecialElement(e){const t=this.treeAdapter.getTagName(e);const r=this.treeAdapter.getNamespaceURI(e);return T.SPECIAL_ELEMENTS[r][t]}}e.exports=Parser;function aaObtainFormattingElementEntry(e,t){let r=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);if(r){if(!e.openElements.contains(r.element)){e.activeFormattingElements.removeEntry(r);r=null}else if(!e.openElements.hasInScope(t.tagName)){r=null}}else{genericEndTagInBody(e,t)}return r}function aaObtainFurthestBlock(e,t){let r=null;for(let a=e.openElements.stackTop;a>=0;a--){const n=e.openElements.items[a];if(n===t.element){break}if(e._isSpecialElement(n)){r=n}}if(!r){e.openElements.popUntilElementPopped(t.element);e.activeFormattingElements.removeEntry(t)}return r}function aaInnerLoop(e,t,r){let a=t;let n=e.openElements.getCommonAncestor(t);for(let i=0,o=n;o!==r;i++,o=n){n=e.openElements.getCommonAncestor(o);const r=e.activeFormattingElements.getElementEntry(o);const s=r&&i>=S;const p=!r||s;if(p){if(s){e.activeFormattingElements.removeEntry(r)}e.openElements.remove(o)}else{o=aaRecreateElementFromEntry(e,r);if(a===t){e.activeFormattingElements.bookmark=r}e.treeAdapter.detachNode(a);e.treeAdapter.appendChild(o,a);a=o}}return a}function aaRecreateElementFromEntry(e,t){const r=e.treeAdapter.getNamespaceURI(t.element);const a=e.treeAdapter.createElement(t.token.tagName,r,t.token.attrs);e.openElements.replace(t.element,a);t.element=a;return a}function aaInsertLastNodeInCommonAncestor(e,t,r){if(e._isElementCausesFosterParenting(t)){e._fosterParentElement(r)}else{const a=e.treeAdapter.getTagName(t);const n=e.treeAdapter.getNamespaceURI(t);if(a===E.TEMPLATE&&n===_.HTML){t=e.treeAdapter.getTemplateContent(t)}e.treeAdapter.appendChild(t,r)}}function aaReplaceFormattingElement(e,t,r){const a=e.treeAdapter.getNamespaceURI(r.element);const n=r.token;const i=e.treeAdapter.createElement(n.tagName,a,n.attrs);e._adoptNodes(t,i);e.treeAdapter.appendChild(t,i);e.activeFormattingElements.insertElementAfterBookmark(i,r.token);e.activeFormattingElements.removeEntry(r);e.openElements.remove(r.element);e.openElements.insertAfter(t,i)}function callAdoptionAgency(e,t){let r;for(let a=0;a0){e.openElements.generateImpliedEndTagsThoroughly();if(e.openElements.currentTagName!==E.TEMPLATE){e._err(g.closingOfElementWithOpenChildElements)}e.openElements.popUntilTagNamePopped(E.TEMPLATE);e.activeFormattingElements.clearToLastMarker();e._popTmplInsertionMode();e._resetInsertionMode()}else{e._err(g.endTagWithoutMatchingOpenElement)}}else{e._err(g.endTagWithoutMatchingOpenElement)}}function tokenInHead(e,t){e.openElements.pop();e.insertionMode=I;e._processToken(t)}function startTagInHeadNoScript(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.BASEFONT||r===E.BGSOUND||r===E.HEAD||r===E.LINK||r===E.META||r===E.NOFRAMES||r===E.STYLE){startTagInHead(e,t)}else if(r===E.NOSCRIPT){e._err(g.nestedNoscriptInHead)}else{tokenInHeadNoScript(e,t)}}function endTagInHeadNoScript(e,t){const r=t.tagName;if(r===E.NOSCRIPT){e.openElements.pop();e.insertionMode=D}else if(r===E.BR){tokenInHeadNoScript(e,t)}else{e._err(g.endTagWithoutMatchingOpenElement)}}function tokenInHeadNoScript(e,t){const r=t.type===a.EOF_TOKEN?g.openElementsLeftAfterEof:g.disallowedContentInNoscriptInHead;e._err(r);e.openElements.pop();e.insertionMode=D;e._processToken(t)}function startTagAfterHead(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.BODY){e._insertElement(t,_.HTML);e.framesetOk=false;e.insertionMode=R}else if(r===E.FRAMESET){e._insertElement(t,_.HTML);e.insertionMode=K}else if(r===E.BASE||r===E.BASEFONT||r===E.BGSOUND||r===E.LINK||r===E.META||r===E.NOFRAMES||r===E.SCRIPT||r===E.STYLE||r===E.TEMPLATE||r===E.TITLE){e._err(g.abandonedHeadElementChild);e.openElements.push(e.headElement);startTagInHead(e,t);e.openElements.remove(e.headElement)}else if(r===E.HEAD){e._err(g.misplacedStartTagForHeadElement)}else{tokenAfterHead(e,t)}}function endTagAfterHead(e,t){const r=t.tagName;if(r===E.BODY||r===E.HTML||r===E.BR){tokenAfterHead(e,t)}else if(r===E.TEMPLATE){endTagInHead(e,t)}else{e._err(g.endTagWithoutMatchingOpenElement)}}function tokenAfterHead(e,t){e._insertFakeElement(E.BODY);e.insertionMode=R;e._processToken(t)}function whitespaceCharacterInBody(e,t){e._reconstructActiveFormattingElements();e._insertCharacters(t)}function characterInBody(e,t){e._reconstructActiveFormattingElements();e._insertCharacters(t);e.framesetOk=false}function htmlStartTagInBody(e,t){if(e.openElements.tmplCount===0){e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}}function bodyStartTagInBody(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();if(r&&e.openElements.tmplCount===0){e.framesetOk=false;e.treeAdapter.adoptAttributes(r,t.attrs)}}function framesetStartTagInBody(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();if(e.framesetOk&&r){e.treeAdapter.detachNode(r);e.openElements.popAllUpToHtmlElement();e._insertElement(t,_.HTML);e.insertionMode=K}}function addressStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML)}function numberedHeaderStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}const r=e.openElements.currentTagName;if(r===E.H1||r===E.H2||r===E.H3||r===E.H4||r===E.H5||r===E.H6){e.openElements.pop()}e._insertElement(t,_.HTML)}function preStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);e.skipNextNewLine=true;e.framesetOk=false}function formStartTagInBody(e,t){const r=e.openElements.tmplCount>0;if(!e.formElement||r){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);if(!r){e.formElement=e.openElements.current}}}function listItemStartTagInBody(e,t){e.framesetOk=false;const r=t.tagName;for(let t=e.openElements.stackTop;t>=0;t--){const a=e.openElements.items[t];const n=e.treeAdapter.getTagName(a);let i=null;if(r===E.LI&&n===E.LI){i=E.LI}else if((r===E.DD||r===E.DT)&&(n===E.DD||n===E.DT)){i=n}if(i){e.openElements.generateImpliedEndTagsWithExclusion(i);e.openElements.popUntilTagNamePopped(i);break}if(n!==E.ADDRESS&&n!==E.DIV&&n!==E.P&&e._isSpecialElement(a)){break}}if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML)}function plaintextStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);e.tokenizer.state=a.MODE.PLAINTEXT}function buttonStartTagInBody(e,t){if(e.openElements.hasInScope(E.BUTTON)){e.openElements.generateImpliedEndTags();e.openElements.popUntilTagNamePopped(E.BUTTON)}e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.framesetOk=false}function aStartTagInBody(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(E.A);if(r){callAdoptionAgency(e,t);e.openElements.remove(r.element);e.activeFormattingElements.removeEntry(r)}e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.activeFormattingElements.pushElement(e.openElements.current,t)}function bStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.activeFormattingElements.pushElement(e.openElements.current,t)}function nobrStartTagInBody(e,t){e._reconstructActiveFormattingElements();if(e.openElements.hasInScope(E.NOBR)){callAdoptionAgency(e,t);e._reconstructActiveFormattingElements()}e._insertElement(t,_.HTML);e.activeFormattingElements.pushElement(e.openElements.current,t)}function appletStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.activeFormattingElements.insertMarker();e.framesetOk=false}function tableStartTagInBody(e,t){if(e.treeAdapter.getDocumentMode(e.document)!==T.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);e.framesetOk=false;e.insertionMode=L}function areaStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._appendElement(t,_.HTML);e.framesetOk=false;t.ackSelfClosing=true}function inputStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._appendElement(t,_.HTML);const r=a.getTokenAttr(t,w.TYPE);if(!r||r.toLowerCase()!==b){e.framesetOk=false}t.ackSelfClosing=true}function paramStartTagInBody(e,t){e._appendElement(t,_.HTML);t.ackSelfClosing=true}function hrStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._appendElement(t,_.HTML);e.framesetOk=false;e.ackSelfClosing=true}function imageStartTagInBody(e,t){t.tagName=E.IMG;areaStartTagInBody(e,t)}function textareaStartTagInBody(e,t){e._insertElement(t,_.HTML);e.skipNextNewLine=true;e.tokenizer.state=a.MODE.RCDATA;e.originalInsertionMode=e.insertionMode;e.framesetOk=false;e.insertionMode=P}function xmpStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._reconstructActiveFormattingElements();e.framesetOk=false;e._switchToTextParsing(t,a.MODE.RAWTEXT)}function iframeStartTagInBody(e,t){e.framesetOk=false;e._switchToTextParsing(t,a.MODE.RAWTEXT)}function noembedStartTagInBody(e,t){e._switchToTextParsing(t,a.MODE.RAWTEXT)}function selectStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.framesetOk=false;if(e.insertionMode===L||e.insertionMode===F||e.insertionMode===B||e.insertionMode===G||e.insertionMode===U){e.insertionMode=V}else{e.insertionMode=H}}function optgroupStartTagInBody(e,t){if(e.openElements.currentTagName===E.OPTION){e.openElements.pop()}e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML)}function rbStartTagInBody(e,t){if(e.openElements.hasInScope(E.RUBY)){e.openElements.generateImpliedEndTags()}e._insertElement(t,_.HTML)}function rtStartTagInBody(e,t){if(e.openElements.hasInScope(E.RUBY)){e.openElements.generateImpliedEndTagsWithExclusion(E.RTC)}e._insertElement(t,_.HTML)}function menuStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML)}function mathStartTagInBody(e,t){e._reconstructActiveFormattingElements();c.adjustTokenMathMLAttrs(t);c.adjustTokenXMLAttrs(t);if(t.selfClosing){e._appendElement(t,_.MATHML)}else{e._insertElement(t,_.MATHML)}t.ackSelfClosing=true}function svgStartTagInBody(e,t){e._reconstructActiveFormattingElements();c.adjustTokenSVGAttrs(t);c.adjustTokenXMLAttrs(t);if(t.selfClosing){e._appendElement(t,_.SVG)}else{e._insertElement(t,_.SVG)}t.ackSelfClosing=true}function genericStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML)}function startTagInBody(e,t){const r=t.tagName;switch(r.length){case 1:if(r===E.I||r===E.S||r===E.B||r===E.U){bStartTagInBody(e,t)}else if(r===E.P){addressStartTagInBody(e,t)}else if(r===E.A){aStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;case 2:if(r===E.DL||r===E.OL||r===E.UL){addressStartTagInBody(e,t)}else if(r===E.H1||r===E.H2||r===E.H3||r===E.H4||r===E.H5||r===E.H6){numberedHeaderStartTagInBody(e,t)}else if(r===E.LI||r===E.DD||r===E.DT){listItemStartTagInBody(e,t)}else if(r===E.EM||r===E.TT){bStartTagInBody(e,t)}else if(r===E.BR){areaStartTagInBody(e,t)}else if(r===E.HR){hrStartTagInBody(e,t)}else if(r===E.RB){rbStartTagInBody(e,t)}else if(r===E.RT||r===E.RP){rtStartTagInBody(e,t)}else if(r!==E.TH&&r!==E.TD&&r!==E.TR){genericStartTagInBody(e,t)}break;case 3:if(r===E.DIV||r===E.DIR||r===E.NAV){addressStartTagInBody(e,t)}else if(r===E.PRE){preStartTagInBody(e,t)}else if(r===E.BIG){bStartTagInBody(e,t)}else if(r===E.IMG||r===E.WBR){areaStartTagInBody(e,t)}else if(r===E.XMP){xmpStartTagInBody(e,t)}else if(r===E.SVG){svgStartTagInBody(e,t)}else if(r===E.RTC){rbStartTagInBody(e,t)}else if(r!==E.COL){genericStartTagInBody(e,t)}break;case 4:if(r===E.HTML){htmlStartTagInBody(e,t)}else if(r===E.BASE||r===E.LINK||r===E.META){startTagInHead(e,t)}else if(r===E.BODY){bodyStartTagInBody(e,t)}else if(r===E.MAIN||r===E.MENU){addressStartTagInBody(e,t)}else if(r===E.FORM){formStartTagInBody(e,t)}else if(r===E.CODE||r===E.FONT){bStartTagInBody(e,t)}else if(r===E.NOBR){nobrStartTagInBody(e,t)}else if(r===E.AREA){areaStartTagInBody(e,t)}else if(r===E.MATH){mathStartTagInBody(e,t)}else if(r===E.MENU){menuStartTagInBody(e,t)}else if(r!==E.HEAD){genericStartTagInBody(e,t)}break;case 5:if(r===E.STYLE||r===E.TITLE){startTagInHead(e,t)}else if(r===E.ASIDE){addressStartTagInBody(e,t)}else if(r===E.SMALL){bStartTagInBody(e,t)}else if(r===E.TABLE){tableStartTagInBody(e,t)}else if(r===E.EMBED){areaStartTagInBody(e,t)}else if(r===E.INPUT){inputStartTagInBody(e,t)}else if(r===E.PARAM||r===E.TRACK){paramStartTagInBody(e,t)}else if(r===E.IMAGE){imageStartTagInBody(e,t)}else if(r!==E.FRAME&&r!==E.TBODY&&r!==E.TFOOT&&r!==E.THEAD){genericStartTagInBody(e,t)}break;case 6:if(r===E.SCRIPT){startTagInHead(e,t)}else if(r===E.CENTER||r===E.FIGURE||r===E.FOOTER||r===E.HEADER||r===E.HGROUP||r===E.DIALOG){addressStartTagInBody(e,t)}else if(r===E.BUTTON){buttonStartTagInBody(e,t)}else if(r===E.STRIKE||r===E.STRONG){bStartTagInBody(e,t)}else if(r===E.APPLET||r===E.OBJECT){appletStartTagInBody(e,t)}else if(r===E.KEYGEN){areaStartTagInBody(e,t)}else if(r===E.SOURCE){paramStartTagInBody(e,t)}else if(r===E.IFRAME){iframeStartTagInBody(e,t)}else if(r===E.SELECT){selectStartTagInBody(e,t)}else if(r===E.OPTION){optgroupStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;case 7:if(r===E.BGSOUND){startTagInHead(e,t)}else if(r===E.DETAILS||r===E.ADDRESS||r===E.ARTICLE||r===E.SECTION||r===E.SUMMARY){addressStartTagInBody(e,t)}else if(r===E.LISTING){preStartTagInBody(e,t)}else if(r===E.MARQUEE){appletStartTagInBody(e,t)}else if(r===E.NOEMBED){noembedStartTagInBody(e,t)}else if(r!==E.CAPTION){genericStartTagInBody(e,t)}break;case 8:if(r===E.BASEFONT){startTagInHead(e,t)}else if(r===E.FRAMESET){framesetStartTagInBody(e,t)}else if(r===E.FIELDSET){addressStartTagInBody(e,t)}else if(r===E.TEXTAREA){textareaStartTagInBody(e,t)}else if(r===E.TEMPLATE){startTagInHead(e,t)}else if(r===E.NOSCRIPT){if(e.options.scriptingEnabled){noembedStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}}else if(r===E.OPTGROUP){optgroupStartTagInBody(e,t)}else if(r!==E.COLGROUP){genericStartTagInBody(e,t)}break;case 9:if(r===E.PLAINTEXT){plaintextStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;case 10:if(r===E.BLOCKQUOTE||r===E.FIGCAPTION){addressStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;default:genericStartTagInBody(e,t)}}function bodyEndTagInBody(e){if(e.openElements.hasInScope(E.BODY)){e.insertionMode=j}}function htmlEndTagInBody(e,t){if(e.openElements.hasInScope(E.BODY)){e.insertionMode=j;e._processToken(t)}}function addressEndTagInBody(e,t){const r=t.tagName;if(e.openElements.hasInScope(r)){e.openElements.generateImpliedEndTags();e.openElements.popUntilTagNamePopped(r)}}function formEndTagInBody(e){const t=e.openElements.tmplCount>0;const r=e.formElement;if(!t){e.formElement=null}if((r||t)&&e.openElements.hasInScope(E.FORM)){e.openElements.generateImpliedEndTags();if(t){e.openElements.popUntilTagNamePopped(E.FORM)}else{e.openElements.remove(r)}}}function pEndTagInBody(e){if(!e.openElements.hasInButtonScope(E.P)){e._insertFakeElement(E.P)}e._closePElement()}function liEndTagInBody(e){if(e.openElements.hasInListItemScope(E.LI)){e.openElements.generateImpliedEndTagsWithExclusion(E.LI);e.openElements.popUntilTagNamePopped(E.LI)}}function ddEndTagInBody(e,t){const r=t.tagName;if(e.openElements.hasInScope(r)){e.openElements.generateImpliedEndTagsWithExclusion(r);e.openElements.popUntilTagNamePopped(r)}}function numberedHeaderEndTagInBody(e){if(e.openElements.hasNumberedHeaderInScope()){e.openElements.generateImpliedEndTags();e.openElements.popUntilNumberedHeaderPopped()}}function appletEndTagInBody(e,t){const r=t.tagName;if(e.openElements.hasInScope(r)){e.openElements.generateImpliedEndTags();e.openElements.popUntilTagNamePopped(r);e.activeFormattingElements.clearToLastMarker()}}function brEndTagInBody(e){e._reconstructActiveFormattingElements();e._insertFakeElement(E.BR);e.openElements.pop();e.framesetOk=false}function genericEndTagInBody(e,t){const r=t.tagName;for(let t=e.openElements.stackTop;t>0;t--){const a=e.openElements.items[t];if(e.treeAdapter.getTagName(a)===r){e.openElements.generateImpliedEndTagsWithExclusion(r);e.openElements.popUntilElementPopped(a);break}if(e._isSpecialElement(a)){break}}}function endTagInBody(e,t){const r=t.tagName;switch(r.length){case 1:if(r===E.A||r===E.B||r===E.I||r===E.S||r===E.U){callAdoptionAgency(e,t)}else if(r===E.P){pEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 2:if(r===E.DL||r===E.UL||r===E.OL){addressEndTagInBody(e,t)}else if(r===E.LI){liEndTagInBody(e,t)}else if(r===E.DD||r===E.DT){ddEndTagInBody(e,t)}else if(r===E.H1||r===E.H2||r===E.H3||r===E.H4||r===E.H5||r===E.H6){numberedHeaderEndTagInBody(e,t)}else if(r===E.BR){brEndTagInBody(e,t)}else if(r===E.EM||r===E.TT){callAdoptionAgency(e,t)}else{genericEndTagInBody(e,t)}break;case 3:if(r===E.BIG){callAdoptionAgency(e,t)}else if(r===E.DIR||r===E.DIV||r===E.NAV||r===E.PRE){addressEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 4:if(r===E.BODY){bodyEndTagInBody(e,t)}else if(r===E.HTML){htmlEndTagInBody(e,t)}else if(r===E.FORM){formEndTagInBody(e,t)}else if(r===E.CODE||r===E.FONT||r===E.NOBR){callAdoptionAgency(e,t)}else if(r===E.MAIN||r===E.MENU){addressEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 5:if(r===E.ASIDE){addressEndTagInBody(e,t)}else if(r===E.SMALL){callAdoptionAgency(e,t)}else{genericEndTagInBody(e,t)}break;case 6:if(r===E.CENTER||r===E.FIGURE||r===E.FOOTER||r===E.HEADER||r===E.HGROUP||r===E.DIALOG){addressEndTagInBody(e,t)}else if(r===E.APPLET||r===E.OBJECT){appletEndTagInBody(e,t)}else if(r===E.STRIKE||r===E.STRONG){callAdoptionAgency(e,t)}else{genericEndTagInBody(e,t)}break;case 7:if(r===E.ADDRESS||r===E.ARTICLE||r===E.DETAILS||r===E.SECTION||r===E.SUMMARY||r===E.LISTING){addressEndTagInBody(e,t)}else if(r===E.MARQUEE){appletEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 8:if(r===E.FIELDSET){addressEndTagInBody(e,t)}else if(r===E.TEMPLATE){endTagInHead(e,t)}else{genericEndTagInBody(e,t)}break;case 10:if(r===E.BLOCKQUOTE||r===E.FIGCAPTION){addressEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;default:genericEndTagInBody(e,t)}}function eofInBody(e,t){if(e.tmplInsertionModeStackTop>-1){eofInTemplate(e,t)}else{e.stopped=true}}function endTagInText(e,t){if(t.tagName===E.SCRIPT){e.pendingScript=e.openElements.current}e.openElements.pop();e.insertionMode=e.originalInsertionMode}function eofInText(e,t){e._err(g.eofInElementThatCanContainOnlyText);e.openElements.pop();e.insertionMode=e.originalInsertionMode;e._processToken(t)}function characterInTable(e,t){const r=e.openElements.currentTagName;if(r===E.TABLE||r===E.TBODY||r===E.TFOOT||r===E.THEAD||r===E.TR){e.pendingCharacterTokens=[];e.hasNonWhitespacePendingCharacterToken=false;e.originalInsertionMode=e.insertionMode;e.insertionMode=x;e._processToken(t)}else{tokenInTable(e,t)}}function captionStartTagInTable(e,t){e.openElements.clearBackToTableContext();e.activeFormattingElements.insertMarker();e._insertElement(t,_.HTML);e.insertionMode=F}function colgroupStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertElement(t,_.HTML);e.insertionMode=M}function colStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertFakeElement(E.COLGROUP);e.insertionMode=M;e._processToken(t)}function tbodyStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertElement(t,_.HTML);e.insertionMode=B}function tdStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertFakeElement(E.TBODY);e.insertionMode=B;e._processToken(t)}function tableStartTagInTable(e,t){if(e.openElements.hasInTableScope(E.TABLE)){e.openElements.popUntilTagNamePopped(E.TABLE);e._resetInsertionMode();e._processToken(t)}}function inputStartTagInTable(e,t){const r=a.getTokenAttr(t,w.TYPE);if(r&&r.toLowerCase()===b){e._appendElement(t,_.HTML)}else{tokenInTable(e,t)}t.ackSelfClosing=true}function formStartTagInTable(e,t){if(!e.formElement&&e.openElements.tmplCount===0){e._insertElement(t,_.HTML);e.formElement=e.openElements.current;e.openElements.pop()}}function startTagInTable(e,t){const r=t.tagName;switch(r.length){case 2:if(r===E.TD||r===E.TH||r===E.TR){tdStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 3:if(r===E.COL){colStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 4:if(r===E.FORM){formStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 5:if(r===E.TABLE){tableStartTagInTable(e,t)}else if(r===E.STYLE){startTagInHead(e,t)}else if(r===E.TBODY||r===E.TFOOT||r===E.THEAD){tbodyStartTagInTable(e,t)}else if(r===E.INPUT){inputStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 6:if(r===E.SCRIPT){startTagInHead(e,t)}else{tokenInTable(e,t)}break;case 7:if(r===E.CAPTION){captionStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 8:if(r===E.COLGROUP){colgroupStartTagInTable(e,t)}else if(r===E.TEMPLATE){startTagInHead(e,t)}else{tokenInTable(e,t)}break;default:tokenInTable(e,t)}}function endTagInTable(e,t){const r=t.tagName;if(r===E.TABLE){if(e.openElements.hasInTableScope(E.TABLE)){e.openElements.popUntilTagNamePopped(E.TABLE);e._resetInsertionMode()}}else if(r===E.TEMPLATE){endTagInHead(e,t)}else if(r!==E.BODY&&r!==E.CAPTION&&r!==E.COL&&r!==E.COLGROUP&&r!==E.HTML&&r!==E.TBODY&&r!==E.TD&&r!==E.TFOOT&&r!==E.TH&&r!==E.THEAD&&r!==E.TR){tokenInTable(e,t)}}function tokenInTable(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=true;e._processTokenInBodyMode(t);e.fosterParentingEnabled=r}function whitespaceCharacterInTableText(e,t){e.pendingCharacterTokens.push(t)}function characterInTableText(e,t){e.pendingCharacterTokens.push(t);e.hasNonWhitespacePendingCharacterToken=true}function tokenInTableText(e,t){let r=0;if(e.hasNonWhitespacePendingCharacterToken){for(;r0){e.openElements.popUntilTagNamePopped(E.TEMPLATE);e.activeFormattingElements.clearToLastMarker();e._popTmplInsertionMode();e._resetInsertionMode();e._processToken(t)}else{e.stopped=true}}function startTagAfterBody(e,t){if(t.tagName===E.HTML){startTagInBody(e,t)}else{tokenAfterBody(e,t)}}function endTagAfterBody(e,t){if(t.tagName===E.HTML){if(!e.fragmentContext){e.insertionMode=W}}else{tokenAfterBody(e,t)}}function tokenAfterBody(e,t){e.insertionMode=R;e._processToken(t)}function startTagInFrameset(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.FRAMESET){e._insertElement(t,_.HTML)}else if(r===E.FRAME){e._appendElement(t,_.HTML);t.ackSelfClosing=true}else if(r===E.NOFRAMES){startTagInHead(e,t)}}function endTagInFrameset(e,t){if(t.tagName===E.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()){e.openElements.pop();if(!e.fragmentContext&&e.openElements.currentTagName!==E.FRAMESET){e.insertionMode=z}}}function startTagAfterFrameset(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.NOFRAMES){startTagInHead(e,t)}}function endTagAfterFrameset(e,t){if(t.tagName===E.HTML){e.insertionMode=Y}}function startTagAfterAfterBody(e,t){if(t.tagName===E.HTML){startTagInBody(e,t)}else{tokenAfterAfterBody(e,t)}}function tokenAfterAfterBody(e,t){e.insertionMode=R;e._processToken(t)}function startTagAfterAfterFrameset(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.NOFRAMES){startTagInHead(e,t)}}function nullCharacterInForeignContent(e,t){t.chars=v.REPLACEMENT_CHARACTER;e._insertCharacters(t)}function characterInForeignContent(e,t){e._insertCharacters(t);e.framesetOk=false}function startTagInForeignContent(e,t){if(c.causesExit(t)&&!e.fragmentContext){while(e.treeAdapter.getNamespaceURI(e.openElements.current)!==_.HTML&&!e._isIntegrationPoint(e.openElements.current)){e.openElements.pop()}e._processToken(t)}else{const r=e._getAdjustedCurrentElement();const a=e.treeAdapter.getNamespaceURI(r);if(a===_.MATHML){c.adjustTokenMathMLAttrs(t)}else if(a===_.SVG){c.adjustTokenSVGTagName(t);c.adjustTokenSVGAttrs(t)}c.adjustTokenXMLAttrs(t);if(t.selfClosing){e._appendElement(t,a)}else{e._insertElement(t,a)}t.ackSelfClosing=true}}function endTagInForeignContent(e,t){for(let r=e.openElements.stackTop;r>0;r--){const a=e.openElements.items[r];if(e.treeAdapter.getNamespaceURI(a)===_.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(a).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(a);break}}}},4813:(e,t,r)=>{const a=r(9338);const n=a.TAG_NAMES;const i=a.NAMESPACES;function isImpliedEndTagRequired(e){switch(e.length){case 1:return e===n.P;case 2:return e===n.RB||e===n.RP||e===n.RT||e===n.DD||e===n.DT||e===n.LI;case 3:return e===n.RTC;case 6:return e===n.OPTION;case 8:return e===n.OPTGROUP}return false}function isImpliedEndTagRequiredThoroughly(e){switch(e.length){case 1:return e===n.P;case 2:return e===n.RB||e===n.RP||e===n.RT||e===n.DD||e===n.DT||e===n.LI||e===n.TD||e===n.TH||e===n.TR;case 3:return e===n.RTC;case 5:return e===n.TBODY||e===n.TFOOT||e===n.THEAD;case 6:return e===n.OPTION;case 7:return e===n.CAPTION;case 8:return e===n.OPTGROUP||e===n.COLGROUP}return false}function isScopingElement(e,t){switch(e.length){case 2:if(e===n.TD||e===n.TH){return t===i.HTML}else if(e===n.MI||e===n.MO||e===n.MN||e===n.MS){return t===i.MATHML}break;case 4:if(e===n.HTML){return t===i.HTML}else if(e===n.DESC){return t===i.SVG}break;case 5:if(e===n.TABLE){return t===i.HTML}else if(e===n.MTEXT){return t===i.MATHML}else if(e===n.TITLE){return t===i.SVG}break;case 6:return(e===n.APPLET||e===n.OBJECT)&&t===i.HTML;case 7:return(e===n.CAPTION||e===n.MARQUEE)&&t===i.HTML;case 8:return e===n.TEMPLATE&&t===i.HTML;case 13:return e===n.FOREIGN_OBJECT&&t===i.SVG;case 14:return e===n.ANNOTATION_XML&&t===i.MATHML}return false}class OpenElementStack{constructor(e,t){this.stackTop=-1;this.items=[];this.current=e;this.currentTagName=null;this.currentTmplContent=null;this.tmplCount=0;this.treeAdapter=t}_indexOf(e){let t=-1;for(let r=this.stackTop;r>=0;r--){if(this.items[r]===e){t=r;break}}return t}_isInTemplate(){return this.currentTagName===n.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===i.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop];this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current);this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}push(e){this.items[++this.stackTop]=e;this._updateCurrentElement();if(this._isInTemplate()){this.tmplCount++}}pop(){this.stackTop--;if(this.tmplCount>0&&this._isInTemplate()){this.tmplCount--}this._updateCurrentElement()}replace(e,t){const r=this._indexOf(e);this.items[r]=t;if(r===this.stackTop){this._updateCurrentElement()}}insertAfter(e,t){const r=this._indexOf(e)+1;this.items.splice(r,0,t);if(r===++this.stackTop){this._updateCurrentElement()}}popUntilTagNamePopped(e){while(this.stackTop>-1){const t=this.currentTagName;const r=this.treeAdapter.getNamespaceURI(this.current);this.pop();if(t===e&&r===i.HTML){break}}}popUntilElementPopped(e){while(this.stackTop>-1){const t=this.current;this.pop();if(t===e){break}}}popUntilNumberedHeaderPopped(){while(this.stackTop>-1){const e=this.currentTagName;const t=this.treeAdapter.getNamespaceURI(this.current);this.pop();if(e===n.H1||e===n.H2||e===n.H3||e===n.H4||e===n.H5||e===n.H6&&t===i.HTML){break}}}popUntilTableCellPopped(){while(this.stackTop>-1){const e=this.currentTagName;const t=this.treeAdapter.getNamespaceURI(this.current);this.pop();if(e===n.TD||e===n.TH&&t===i.HTML){break}}}popAllUpToHtmlElement(){this.stackTop=0;this._updateCurrentElement()}clearBackToTableContext(){while(this.currentTagName!==n.TABLE&&this.currentTagName!==n.TEMPLATE&&this.currentTagName!==n.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML){this.pop()}}clearBackToTableBodyContext(){while(this.currentTagName!==n.TBODY&&this.currentTagName!==n.TFOOT&&this.currentTagName!==n.THEAD&&this.currentTagName!==n.TEMPLATE&&this.currentTagName!==n.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML){this.pop()}}clearBackToTableRowContext(){while(this.currentTagName!==n.TR&&this.currentTagName!==n.TEMPLATE&&this.currentTagName!==n.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML){this.pop()}}remove(e){for(let t=this.stackTop;t>=0;t--){if(this.items[t]===e){this.items.splice(t,1);this.stackTop--;this._updateCurrentElement();break}}}tryPeekProperlyNestedBodyElement(){const e=this.items[1];return e&&this.treeAdapter.getTagName(e)===n.BODY?e:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let t=this._indexOf(e);return--t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.currentTagName===n.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&a===i.HTML){return true}if(isScopingElement(r,a)){return false}}return true}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);const r=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===n.H1||t===n.H2||t===n.H3||t===n.H4||t===n.H5||t===n.H6)&&r===i.HTML){return true}if(isScopingElement(t,r)){return false}}return true}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&a===i.HTML){return true}if((r===n.UL||r===n.OL)&&a===i.HTML||isScopingElement(r,a)){return false}}return true}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&a===i.HTML){return true}if(r===n.BUTTON&&a===i.HTML||isScopingElement(r,a)){return false}}return true}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(a!==i.HTML){continue}if(r===e){return true}if(r===n.TABLE||r===n.TEMPLATE||r===n.HTML){return false}}return true}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);const r=this.treeAdapter.getNamespaceURI(this.items[e]);if(r!==i.HTML){continue}if(t===n.TBODY||t===n.THEAD||t===n.TFOOT){return true}if(t===n.TABLE||t===n.HTML){return false}}return true}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(a!==i.HTML){continue}if(r===e){return true}if(r!==n.OPTION&&r!==n.OPTGROUP){return false}}return true}generateImpliedEndTags(){while(isImpliedEndTagRequired(this.currentTagName)){this.pop()}}generateImpliedEndTagsThoroughly(){while(isImpliedEndTagRequiredThoroughly(this.currentTagName)){this.pop()}}generateImpliedEndTagsWithExclusion(e){while(isImpliedEndTagRequired(this.currentTagName)&&this.currentTagName!==e){this.pop()}}}e.exports=OpenElementStack},5759:(e,t,r)=>{const a=r(6540);const n=r(9481);const i=r(9599);const o=r(5906);const s=n.CODE_POINTS;const p=n.CODE_POINT_SEQUENCES;const d={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};const l=1<<0;const m=1<<1;const c=1<<2;const g=l|m|c;const v="DATA_STATE";const T="RCDATA_STATE";const E="RAWTEXT_STATE";const _="SCRIPT_DATA_STATE";const w="PLAINTEXT_STATE";const A="TAG_OPEN_STATE";const b="END_TAG_OPEN_STATE";const y="TAG_NAME_STATE";const S="RCDATA_LESS_THAN_SIGN_STATE";const C="RCDATA_END_TAG_OPEN_STATE";const k="RCDATA_END_TAG_NAME_STATE";const N="RAWTEXT_LESS_THAN_SIGN_STATE";const D="RAWTEXT_END_TAG_OPEN_STATE";const O="RAWTEXT_END_TAG_NAME_STATE";const I="SCRIPT_DATA_LESS_THAN_SIGN_STATE";const R="SCRIPT_DATA_END_TAG_OPEN_STATE";const P="SCRIPT_DATA_END_TAG_NAME_STATE";const L="SCRIPT_DATA_ESCAPE_START_STATE";const x="SCRIPT_DATA_ESCAPE_START_DASH_STATE";const F="SCRIPT_DATA_ESCAPED_STATE";const M="SCRIPT_DATA_ESCAPED_DASH_STATE";const B="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE";const G="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE";const U="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE";const H="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE";const V="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE";const q="SCRIPT_DATA_DOUBLE_ESCAPED_STATE";const j="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE";const K="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE";const z="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE";const W="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE";const Y="BEFORE_ATTRIBUTE_NAME_STATE";const $="ATTRIBUTE_NAME_STATE";const Q="AFTER_ATTRIBUTE_NAME_STATE";const X="BEFORE_ATTRIBUTE_VALUE_STATE";const J="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE";const Z="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE";const ee="ATTRIBUTE_VALUE_UNQUOTED_STATE";const te="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE";const re="SELF_CLOSING_START_TAG_STATE";const ae="BOGUS_COMMENT_STATE";const ne="MARKUP_DECLARATION_OPEN_STATE";const ie="COMMENT_START_STATE";const oe="COMMENT_START_DASH_STATE";const se="COMMENT_STATE";const pe="COMMENT_LESS_THAN_SIGN_STATE";const de="COMMENT_LESS_THAN_SIGN_BANG_STATE";const le="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE";const me="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE";const ue="COMMENT_END_DASH_STATE";const ce="COMMENT_END_STATE";const fe="COMMENT_END_BANG_STATE";const he="DOCTYPE_STATE";const ge="BEFORE_DOCTYPE_NAME_STATE";const ve="DOCTYPE_NAME_STATE";const Te="AFTER_DOCTYPE_NAME_STATE";const Ee="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE";const _e="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE";const we="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE";const Ae="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE";const be="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE";const ye="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE";const Se="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE";const Ce="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE";const ke="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE";const Ne="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE";const De="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE";const Oe="BOGUS_DOCTYPE_STATE";const Ie="CDATA_SECTION_STATE";const Re="CDATA_SECTION_BRACKET_STATE";const Pe="CDATA_SECTION_END_STATE";const Le="CHARACTER_REFERENCE_STATE";const xe="NAMED_CHARACTER_REFERENCE_STATE";const Fe="AMBIGUOS_AMPERSAND_STATE";const Me="NUMERIC_CHARACTER_REFERENCE_STATE";const Be="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE";const Ge="DECIMAL_CHARACTER_REFERENCE_START_STATE";const Ue="HEXADEMICAL_CHARACTER_REFERENCE_STATE";const He="DECIMAL_CHARACTER_REFERENCE_STATE";const Ve="NUMERIC_CHARACTER_REFERENCE_END_STATE";function isWhitespace(e){return e===s.SPACE||e===s.LINE_FEED||e===s.TABULATION||e===s.FORM_FEED}function isAsciiDigit(e){return e>=s.DIGIT_0&&e<=s.DIGIT_9}function isAsciiUpper(e){return e>=s.LATIN_CAPITAL_A&&e<=s.LATIN_CAPITAL_Z}function isAsciiLower(e){return e>=s.LATIN_SMALL_A&&e<=s.LATIN_SMALL_Z}function isAsciiLetter(e){return isAsciiLower(e)||isAsciiUpper(e)}function isAsciiAlphaNumeric(e){return isAsciiLetter(e)||isAsciiDigit(e)}function isAsciiUpperHexDigit(e){return e>=s.LATIN_CAPITAL_A&&e<=s.LATIN_CAPITAL_F}function isAsciiLowerHexDigit(e){return e>=s.LATIN_SMALL_A&&e<=s.LATIN_SMALL_F}function isAsciiHexDigit(e){return isAsciiDigit(e)||isAsciiUpperHexDigit(e)||isAsciiLowerHexDigit(e)}function toAsciiLowerCodePoint(e){return e+32}function toChar(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|e&1023)}function toAsciiLowerChar(e){return String.fromCharCode(toAsciiLowerCodePoint(e))}function findNamedEntityTreeBranch(e,t){const r=i[++e];let a=++e;let n=a+r-1;while(a<=n){const e=a+n>>>1;const o=i[e];if(ot){n=e-1}else{return i[e+r]}}return-1}class Tokenizer{constructor(){this.preprocessor=new a;this.tokenQueue=[];this.allowCDATA=false;this.state=v;this.returnState="";this.charRefCode=-1;this.tempBuff=[];this.lastStartTagName="";this.consumedAfterSnapshot=-1;this.active=false;this.currentCharacterToken=null;this.currentToken=null;this.currentAttr=null}_err(){}_errOnNextCodePoint(e){this._consume();this._err(e);this._unconsume()}getNextToken(){while(!this.tokenQueue.length&&this.active){this.consumedAfterSnapshot=0;const e=this._consume();if(!this._ensureHibernation()){this[this.state](e)}}return this.tokenQueue.shift()}write(e,t){this.active=true;this.preprocessor.write(e,t)}insertHtmlAtCurrentPos(e){this.active=true;this.preprocessor.insertHtmlAtCurrentPos(e)}_ensureHibernation(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--){this.preprocessor.retreat()}this.active=false;this.tokenQueue.push({type:Tokenizer.HIBERNATION_TOKEN});return true}return false}_consume(){this.consumedAfterSnapshot++;return this.preprocessor.advance()}_unconsume(){this.consumedAfterSnapshot--;this.preprocessor.retreat()}_reconsumeInState(e){this.state=e;this._unconsume()}_consumeSequenceIfMatch(e,t,r){let a=0;let n=true;const i=e.length;let o=0;let p=t;let d=void 0;for(;o0){p=this._consume();a++}if(p===s.EOF){n=false;break}d=e[o];if(p!==d&&(r||p!==toAsciiLowerCodePoint(d))){n=false;break}}if(!n){while(a--){this._unconsume()}}return n}_isTempBufferEqualToScriptString(){if(this.tempBuff.length!==p.SCRIPT_STRING.length){return false}for(let e=0;e0){this._err(o.endTagWithAttributes)}if(e.selfClosing){this._err(o.endTagWithTrailingSolidus)}}this.tokenQueue.push(e)}_emitCurrentCharacterToken(){if(this.currentCharacterToken){this.tokenQueue.push(this.currentCharacterToken);this.currentCharacterToken=null}}_emitEOFToken(){this._createEOFToken();this._emitCurrentToken()}_appendCharToCurrentCharacterToken(e,t){if(this.currentCharacterToken&&this.currentCharacterToken.type!==e){this._emitCurrentCharacterToken()}if(this.currentCharacterToken){this.currentCharacterToken.chars+=t}else{this._createCharacterToken(e,t)}}_emitCodePoint(e){let t=Tokenizer.CHARACTER_TOKEN;if(isWhitespace(e)){t=Tokenizer.WHITESPACE_CHARACTER_TOKEN}else if(e===s.NULL){t=Tokenizer.NULL_CHARACTER_TOKEN}this._appendCharToCurrentCharacterToken(t,toChar(e))}_emitSeveralCodePoints(e){for(let t=0;t-1){const e=i[a];const n=e")}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.state=F;this._emitChars(n.REPLACEMENT_CHARACTER)}else if(e===s.EOF){this._err(o.eofInScriptHtmlCommentLikeText);this._emitEOFToken()}else{this.state=F;this._emitCodePoint(e)}}[G](e){if(e===s.SOLIDUS){this.tempBuff=[];this.state=U}else if(isAsciiLetter(e)){this.tempBuff=[];this._emitChars("<");this._reconsumeInState(V)}else{this._emitChars("<");this._reconsumeInState(F)}}[U](e){if(isAsciiLetter(e)){this._createEndTagToken();this._reconsumeInState(H)}else{this._emitChars("")}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.state=q;this._emitChars(n.REPLACEMENT_CHARACTER)}else if(e===s.EOF){this._err(o.eofInScriptHtmlCommentLikeText);this._emitEOFToken()}else{this.state=q;this._emitCodePoint(e)}}[z](e){if(e===s.SOLIDUS){this.tempBuff=[];this.state=W;this._emitChars("/")}else{this._reconsumeInState(q)}}[W](e){if(isWhitespace(e)||e===s.SOLIDUS||e===s.GREATER_THAN_SIGN){this.state=this._isTempBufferEqualToScriptString()?F:q;this._emitCodePoint(e)}else if(isAsciiUpper(e)){this.tempBuff.push(toAsciiLowerCodePoint(e));this._emitCodePoint(e)}else if(isAsciiLower(e)){this.tempBuff.push(e);this._emitCodePoint(e)}else{this._reconsumeInState(q)}}[Y](e){if(isWhitespace(e)){return}if(e===s.SOLIDUS||e===s.GREATER_THAN_SIGN||e===s.EOF){this._reconsumeInState(Q)}else if(e===s.EQUALS_SIGN){this._err(o.unexpectedEqualsSignBeforeAttributeName);this._createAttr("=");this.state=$}else{this._createAttr("");this._reconsumeInState($)}}[$](e){if(isWhitespace(e)||e===s.SOLIDUS||e===s.GREATER_THAN_SIGN||e===s.EOF){this._leaveAttrName(Q);this._unconsume()}else if(e===s.EQUALS_SIGN){this._leaveAttrName(X)}else if(isAsciiUpper(e)){this.currentAttr.name+=toAsciiLowerChar(e)}else if(e===s.QUOTATION_MARK||e===s.APOSTROPHE||e===s.LESS_THAN_SIGN){this._err(o.unexpectedCharacterInAttributeName);this.currentAttr.name+=toChar(e)}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.name+=n.REPLACEMENT_CHARACTER}else{this.currentAttr.name+=toChar(e)}}[Q](e){if(isWhitespace(e)){return}if(e===s.SOLIDUS){this.state=re}else if(e===s.EQUALS_SIGN){this.state=X}else if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this._createAttr("");this._reconsumeInState($)}}[X](e){if(isWhitespace(e)){return}if(e===s.QUOTATION_MARK){this.state=J}else if(e===s.APOSTROPHE){this.state=Z}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingAttributeValue);this.state=v;this._emitCurrentToken()}else{this._reconsumeInState(ee)}}[J](e){if(e===s.QUOTATION_MARK){this.state=te}else if(e===s.AMPERSAND){this.returnState=J;this.state=Le}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.value+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this.currentAttr.value+=toChar(e)}}[Z](e){if(e===s.APOSTROPHE){this.state=te}else if(e===s.AMPERSAND){this.returnState=Z;this.state=Le}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.value+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this.currentAttr.value+=toChar(e)}}[ee](e){if(isWhitespace(e)){this._leaveAttrValue(Y)}else if(e===s.AMPERSAND){this.returnState=ee;this.state=Le}else if(e===s.GREATER_THAN_SIGN){this._leaveAttrValue(v);this._emitCurrentToken()}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.value+=n.REPLACEMENT_CHARACTER}else if(e===s.QUOTATION_MARK||e===s.APOSTROPHE||e===s.LESS_THAN_SIGN||e===s.EQUALS_SIGN||e===s.GRAVE_ACCENT){this._err(o.unexpectedCharacterInUnquotedAttributeValue);this.currentAttr.value+=toChar(e)}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this.currentAttr.value+=toChar(e)}}[te](e){if(isWhitespace(e)){this._leaveAttrValue(Y)}else if(e===s.SOLIDUS){this._leaveAttrValue(re)}else if(e===s.GREATER_THAN_SIGN){this._leaveAttrValue(v);this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this._err(o.missingWhitespaceBetweenAttributes);this._reconsumeInState(Y)}}[re](e){if(e===s.GREATER_THAN_SIGN){this.currentToken.selfClosing=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this._err(o.unexpectedSolidusInTag);this._reconsumeInState(Y)}}[ae](e){if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._emitCurrentToken();this._emitEOFToken()}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.data+=n.REPLACEMENT_CHARACTER}else{this.currentToken.data+=toChar(e)}}[ne](e){if(this._consumeSequenceIfMatch(p.DASH_DASH_STRING,e,true)){this._createCommentToken();this.state=ie}else if(this._consumeSequenceIfMatch(p.DOCTYPE_STRING,e,false)){this.state=he}else if(this._consumeSequenceIfMatch(p.CDATA_START_STRING,e,true)){if(this.allowCDATA){this.state=Ie}else{this._err(o.cdataInHtmlContent);this._createCommentToken();this.currentToken.data="[CDATA[";this.state=ae}}else if(!this._ensureHibernation()){this._err(o.incorrectlyOpenedComment);this._createCommentToken();this._reconsumeInState(ae)}}[ie](e){if(e===s.HYPHEN_MINUS){this.state=oe}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptClosingOfEmptyComment);this.state=v;this._emitCurrentToken()}else{this._reconsumeInState(se)}}[oe](e){if(e===s.HYPHEN_MINUS){this.state=ce}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptClosingOfEmptyComment);this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="-";this._reconsumeInState(se)}}[se](e){if(e===s.HYPHEN_MINUS){this.state=ue}else if(e===s.LESS_THAN_SIGN){this.currentToken.data+="<";this.state=pe}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.data+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+=toChar(e)}}[pe](e){if(e===s.EXCLAMATION_MARK){this.currentToken.data+="!";this.state=de}else if(e===s.LESS_THAN_SIGN){this.currentToken.data+="!"}else{this._reconsumeInState(se)}}[de](e){if(e===s.HYPHEN_MINUS){this.state=le}else{this._reconsumeInState(se)}}[le](e){if(e===s.HYPHEN_MINUS){this.state=me}else{this._reconsumeInState(ue)}}[me](e){if(e!==s.GREATER_THAN_SIGN&&e!==s.EOF){this._err(o.nestedComment)}this._reconsumeInState(ce)}[ue](e){if(e===s.HYPHEN_MINUS){this.state=ce}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="-";this._reconsumeInState(se)}}[ce](e){if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EXCLAMATION_MARK){this.state=fe}else if(e===s.HYPHEN_MINUS){this.currentToken.data+="-"}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="--";this._reconsumeInState(se)}}[fe](e){if(e===s.HYPHEN_MINUS){this.currentToken.data+="--!";this.state=ue}else if(e===s.GREATER_THAN_SIGN){this._err(o.incorrectlyClosedComment);this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="--!";this._reconsumeInState(se)}}[he](e){if(isWhitespace(e)){this.state=ge}else if(e===s.GREATER_THAN_SIGN){this._reconsumeInState(ge)}else if(e===s.EOF){this._err(o.eofInDoctype);this._createDoctypeToken(null);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingWhitespaceBeforeDoctypeName);this._reconsumeInState(ge)}}[ge](e){if(isWhitespace(e)){return}if(isAsciiUpper(e)){this._createDoctypeToken(toAsciiLowerChar(e));this.state=ve}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this._createDoctypeToken(n.REPLACEMENT_CHARACTER);this.state=ve}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypeName);this._createDoctypeToken(null);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this._createDoctypeToken(null);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._createDoctypeToken(toChar(e));this.state=ve}}[ve](e){if(isWhitespace(e)){this.state=Te}else if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(isAsciiUpper(e)){this.currentToken.name+=toAsciiLowerChar(e)}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.name+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.name+=toChar(e)}}[Te](e){if(isWhitespace(e)){return}if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else if(this._consumeSequenceIfMatch(p.PUBLIC_STRING,e,false)){this.state=Ee}else if(this._consumeSequenceIfMatch(p.SYSTEM_STRING,e,false)){this.state=Se}else if(!this._ensureHibernation()){this._err(o.invalidCharacterSequenceAfterDoctypeName);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[Ee](e){if(isWhitespace(e)){this.state=_e}else if(e===s.QUOTATION_MARK){this._err(o.missingWhitespaceAfterDoctypePublicKeyword);this.currentToken.publicId="";this.state=we}else if(e===s.APOSTROPHE){this._err(o.missingWhitespaceAfterDoctypePublicKeyword);this.currentToken.publicId="";this.state=Ae}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[_e](e){if(isWhitespace(e)){return}if(e===s.QUOTATION_MARK){this.currentToken.publicId="";this.state=we}else if(e===s.APOSTROPHE){this.currentToken.publicId="";this.state=Ae}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[we](e){if(e===s.QUOTATION_MARK){this.state=be}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.publicId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.publicId+=toChar(e)}}[Ae](e){if(e===s.APOSTROPHE){this.state=be}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.publicId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.publicId+=toChar(e)}}[be](e){if(isWhitespace(e)){this.state=ye}else if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.QUOTATION_MARK){this._err(o.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this._err(o.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);this.currentToken.systemId="";this.state=Ne}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[ye](e){if(isWhitespace(e)){return}if(e===s.GREATER_THAN_SIGN){this._emitCurrentToken();this.state=v}else if(e===s.QUOTATION_MARK){this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this.currentToken.systemId="";this.state=Ne}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[Se](e){if(isWhitespace(e)){this.state=Ce}else if(e===s.QUOTATION_MARK){this._err(o.missingWhitespaceAfterDoctypeSystemKeyword);this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this._err(o.missingWhitespaceAfterDoctypeSystemKeyword);this.currentToken.systemId="";this.state=Ne}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[Ce](e){if(isWhitespace(e)){return}if(e===s.QUOTATION_MARK){this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this.currentToken.systemId="";this.state=Ne}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[ke](e){if(e===s.QUOTATION_MARK){this.state=De}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.systemId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.systemId+=toChar(e)}}[Ne](e){if(e===s.APOSTROPHE){this.state=De}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.systemId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.systemId+=toChar(e)}}[De](e){if(isWhitespace(e)){return}if(e===s.GREATER_THAN_SIGN){this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.unexpectedCharacterAfterDoctypeSystemIdentifier);this._reconsumeInState(Oe)}}[Oe](e){if(e===s.GREATER_THAN_SIGN){this._emitCurrentToken();this.state=v}else if(e===s.NULL){this._err(o.unexpectedNullCharacter)}else if(e===s.EOF){this._emitCurrentToken();this._emitEOFToken()}}[Ie](e){if(e===s.RIGHT_SQUARE_BRACKET){this.state=Re}else if(e===s.EOF){this._err(o.eofInCdata);this._emitEOFToken()}else{this._emitCodePoint(e)}}[Re](e){if(e===s.RIGHT_SQUARE_BRACKET){this.state=Pe}else{this._emitChars("]");this._reconsumeInState(Ie)}}[Pe](e){if(e===s.GREATER_THAN_SIGN){this.state=v}else if(e===s.RIGHT_SQUARE_BRACKET){this._emitChars("]")}else{this._emitChars("]]");this._reconsumeInState(Ie)}}[Le](e){this.tempBuff=[s.AMPERSAND];if(e===s.NUMBER_SIGN){this.tempBuff.push(e);this.state=Me}else if(isAsciiAlphaNumeric(e)){this._reconsumeInState(xe)}else{this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}[xe](e){const t=this._matchNamedCharacterReference(e);if(this._ensureHibernation()){this.tempBuff=[s.AMPERSAND]}else if(t){const e=this.tempBuff[this.tempBuff.length-1]===s.SEMICOLON;if(!this._isCharacterReferenceAttributeQuirk(e)){if(!e){this._errOnNextCodePoint(o.missingSemicolonAfterCharacterReference)}this.tempBuff=t}this._flushCodePointsConsumedAsCharacterReference();this.state=this.returnState}else{this._flushCodePointsConsumedAsCharacterReference();this.state=Fe}}[Fe](e){if(isAsciiAlphaNumeric(e)){if(this._isCharacterReferenceInAttribute()){this.currentAttr.value+=toChar(e)}else{this._emitCodePoint(e)}}else{if(e===s.SEMICOLON){this._err(o.unknownNamedCharacterReference)}this._reconsumeInState(this.returnState)}}[Me](e){this.charRefCode=0;if(e===s.LATIN_SMALL_X||e===s.LATIN_CAPITAL_X){this.tempBuff.push(e);this.state=Be}else{this._reconsumeInState(Ge)}}[Be](e){if(isAsciiHexDigit(e)){this._reconsumeInState(Ue)}else{this._err(o.absenceOfDigitsInNumericCharacterReference);this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}[Ge](e){if(isAsciiDigit(e)){this._reconsumeInState(He)}else{this._err(o.absenceOfDigitsInNumericCharacterReference);this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}[Ue](e){if(isAsciiUpperHexDigit(e)){this.charRefCode=this.charRefCode*16+e-55}else if(isAsciiLowerHexDigit(e)){this.charRefCode=this.charRefCode*16+e-87}else if(isAsciiDigit(e)){this.charRefCode=this.charRefCode*16+e-48}else if(e===s.SEMICOLON){this.state=Ve}else{this._err(o.missingSemicolonAfterCharacterReference);this._reconsumeInState(Ve)}}[He](e){if(isAsciiDigit(e)){this.charRefCode=this.charRefCode*10+e-48}else if(e===s.SEMICOLON){this.state=Ve}else{this._err(o.missingSemicolonAfterCharacterReference);this._reconsumeInState(Ve)}}[Ve](){if(this.charRefCode===s.NULL){this._err(o.nullCharacterReference);this.charRefCode=s.REPLACEMENT_CHARACTER}else if(this.charRefCode>1114111){this._err(o.characterReferenceOutsideUnicodeRange);this.charRefCode=s.REPLACEMENT_CHARACTER}else if(n.isSurrogate(this.charRefCode)){this._err(o.surrogateCharacterReference);this.charRefCode=s.REPLACEMENT_CHARACTER}else if(n.isUndefinedCodePoint(this.charRefCode)){this._err(o.noncharacterCharacterReference)}else if(n.isControlCodePoint(this.charRefCode)||this.charRefCode===s.CARRIAGE_RETURN){this._err(o.controlCharacterReference);const e=d[this.charRefCode];if(e){this.charRefCode=e}}this.tempBuff=[this.charRefCode];this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}Tokenizer.CHARACTER_TOKEN="CHARACTER_TOKEN";Tokenizer.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN";Tokenizer.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN";Tokenizer.START_TAG_TOKEN="START_TAG_TOKEN";Tokenizer.END_TAG_TOKEN="END_TAG_TOKEN";Tokenizer.COMMENT_TOKEN="COMMENT_TOKEN";Tokenizer.DOCTYPE_TOKEN="DOCTYPE_TOKEN";Tokenizer.EOF_TOKEN="EOF_TOKEN";Tokenizer.HIBERNATION_TOKEN="HIBERNATION_TOKEN";Tokenizer.MODE={DATA:v,RCDATA:T,RAWTEXT:E,SCRIPT_DATA:_,PLAINTEXT:w};Tokenizer.getTokenAttr=function(e,t){for(let r=e.attrs.length-1;r>=0;r--){if(e.attrs[r].name===t){return e.attrs[r].value}}return null};e.exports=Tokenizer},9599:e=>{e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},6540:(e,t,r)=>{const a=r(9481);const n=r(5906);const i=a.CODE_POINTS;const o=1<<16;class Preprocessor{constructor(){this.html=null;this.pos=-1;this.lastGapPos=-1;this.lastCharPos=-1;this.gapStack=[];this.skipNextNewLine=false;this.lastChunkWritten=false;this.endOfChunkHit=false;this.bufferWaterline=o}_err(){}_addGap(){this.gapStack.push(this.lastGapPos);this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.lastCharPos){const t=this.html.charCodeAt(this.pos+1);if(a.isSurrogatePair(t)){this.pos++;this._addGap();return a.getSurrogatePairCodePoint(e,t)}}else if(!this.lastChunkWritten){this.endOfChunkHit=true;return i.EOF}this._err(n.surrogateInInputStream);return e}dropParsedChunk(){if(this.pos>this.bufferWaterline){this.lastCharPos-=this.pos;this.html=this.html.substring(this.pos);this.pos=0;this.lastGapPos=-1;this.gapStack=[]}}write(e,t){if(this.html){this.html+=e}else{this.html=e}this.lastCharPos=this.html.length-1;this.endOfChunkHit=false;this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length);this.lastCharPos=this.html.length-1;this.endOfChunkHit=false}advance(){this.pos++;if(this.pos>this.lastCharPos){this.endOfChunkHit=!this.lastChunkWritten;return i.EOF}let e=this.html.charCodeAt(this.pos);if(this.skipNextNewLine&&e===i.LINE_FEED){this.skipNextNewLine=false;this._addGap();return this.advance()}if(e===i.CARRIAGE_RETURN){this.skipNextNewLine=true;return i.LINE_FEED}this.skipNextNewLine=false;if(a.isSurrogate(e)){e=this._processSurrogate(e)}const t=e>31&&e<127||e===i.LINE_FEED||e===i.CARRIAGE_RETURN||e>159&&e<64976;if(!t){this._checkForProblematicCharacters(e)}return e}_checkForProblematicCharacters(e){if(a.isControlCodePoint(e)){this._err(n.controlCharacterInInputStream)}else if(a.isUndefinedCodePoint(e)){this._err(n.noncharacterInInputStream)}}retreat(){if(this.pos===this.lastGapPos){this.lastGapPos=this.gapStack.pop();this.pos--}this.pos--}}e.exports=Preprocessor},6306:(e,t,r)=>{const{DOCUMENT_MODE:a}=r(9338);t.createDocument=function(){return{nodeName:"#document",mode:a.NO_QUIRKS,childNodes:[]}};t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}};t.createElement=function(e,t,r){return{nodeName:e,tagName:e,attrs:r,namespaceURI:t,childNodes:[],parentNode:null}};t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};const createTextNode=function(e){return{nodeName:"#text",value:e,parentNode:null}};const n=t.appendChild=function(e,t){e.childNodes.push(t);t.parentNode=e};const i=t.insertBefore=function(e,t,r){const a=e.childNodes.indexOf(r);e.childNodes.splice(a,0,t);t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t};t.getTemplateContent=function(e){return e.content};t.setDocumentType=function(e,t,r,a){let i=null;for(let t=0;t{e.exports=function mergeOptions(e,t){t=t||Object.create(null);return[e,t].reduce(((e,t)=>{Object.keys(t).forEach((r=>{e[r]=t[r]}));return e}),Object.create(null))}},2079:e=>{class Mixin{constructor(e){const t={};const r=this._getOverriddenMethods(this,t);for(const a of Object.keys(r)){if(typeof r[a]==="function"){t[a]=e[a];e[a]=r[a]}}}_getOverriddenMethods(){throw new Error("Not implemented")}}Mixin.install=function(e,t,r){if(!e.__mixins){e.__mixins=[]}for(let r=0;r{var a=r(5144);var n=r(1018);var i=r(1828);var o="data";e.exports=find;var s=/^data[-\w.:]+$/i;var p=/-[a-z]/g;var d=/[A-Z]/g;function find(e,t){var r=a(t);var p=t;var d=i;if(r in e.normal){return e.property[e.normal[r]]}if(r.length>4&&r.slice(0,4)===o&&s.test(t)){if(t.charAt(4)==="-"){p=datasetToProperty(t)}else{t=datasetToAttribute(t)}d=n}return new d(p,t)}function datasetToProperty(e){var t=e.slice(5).replace(p,camelcase);return o+t.charAt(0).toUpperCase()+t.slice(1)}function datasetToAttribute(e){var t=e.slice(4);if(p.test(t)){return e}t=t.replace(d,kebab);if(t.charAt(0)!=="-"){t="-"+t}return o+t}function kebab(e){return"-"+e.toLowerCase()}function camelcase(e){return e.charAt(1).toUpperCase()}},9515:(e,t,r)=>{var a=r(7261);var n=r(2528);var i=r(1638);var o=r(5733);var s=r(7871);var p=r(3020);e.exports=a([i,n,o,s,p])},7871:(e,t,r)=>{var a=r(581);var n=r(2852);var i=a.booleanish;var o=a.number;var s=a.spaceSeparated;e.exports=n({transform:ariaTransform,properties:{ariaActiveDescendant:null,ariaAtomic:i,ariaAutoComplete:null,ariaBusy:i,ariaChecked:i,ariaColCount:o,ariaColIndex:o,ariaColSpan:o,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:i,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:i,ariaFlowTo:s,ariaGrabbed:i,ariaHasPopup:null,ariaHidden:i,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:o,ariaLive:null,ariaModal:i,ariaMultiLine:i,ariaMultiSelectable:i,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:o,ariaPressed:i,ariaReadOnly:i,ariaRelevant:null,ariaRequired:i,ariaRoleDescription:s,ariaRowCount:o,ariaRowIndex:o,ariaRowSpan:o,ariaSelected:i,ariaSetSize:o,ariaSort:null,ariaValueMax:o,ariaValueMin:o,ariaValueNow:o,ariaValueText:null,role:null}});function ariaTransform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}},3020:(e,t,r)=>{var a=r(581);var n=r(2852);var i=r(3082);var o=a.boolean;var s=a.overloadedBoolean;var p=a.booleanish;var d=a.number;var l=a.spaceSeparated;var m=a.commaSeparated;e.exports=n({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:i,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:m,acceptCharset:l,accessKey:l,action:null,allow:null,allowFullScreen:o,allowPaymentRequest:o,allowUserMedia:o,alt:null,as:null,async:o,autoCapitalize:null,autoComplete:l,autoFocus:o,autoPlay:o,capture:o,charSet:null,checked:o,cite:null,className:l,cols:d,colSpan:null,content:null,contentEditable:p,controls:o,controlsList:l,coords:d|m,crossOrigin:null,data:null,dateTime:null,decoding:null,default:o,defer:o,dir:null,dirName:null,disabled:o,download:s,draggable:p,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:o,formTarget:null,headers:l,height:d,hidden:o,high:d,href:null,hrefLang:null,htmlFor:l,httpEquiv:l,id:null,imageSizes:null,imageSrcSet:m,inputMode:null,integrity:null,is:null,isMap:o,itemId:null,itemProp:l,itemRef:l,itemScope:o,itemType:l,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:o,low:d,manifest:null,max:null,maxLength:d,media:null,method:null,min:null,minLength:d,multiple:o,muted:o,name:null,nonce:null,noModule:o,noValidate:o,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:o,optimum:d,pattern:null,ping:l,placeholder:null,playsInline:o,poster:null,preload:null,readOnly:o,referrerPolicy:null,rel:l,required:o,reversed:o,rows:d,rowSpan:d,sandbox:l,scope:null,scoped:o,seamless:o,selected:o,shape:null,size:d,sizes:null,slot:null,span:d,spellCheck:p,src:null,srcDoc:null,srcLang:null,srcSet:m,start:d,step:null,style:null,tabIndex:d,target:null,title:null,translate:null,type:null,typeMustMatch:o,useMap:null,value:p,width:d,wrap:null,align:null,aLink:null,archive:l,axis:null,background:null,bgColor:null,border:d,borderColor:null,bottomMargin:d,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:o,declare:o,event:null,face:null,frame:null,frameBorder:null,hSpace:d,leftMargin:d,link:null,longDesc:null,lowSrc:null,marginHeight:d,marginWidth:d,noResize:o,noHref:o,noShade:o,noWrap:o,object:null,profile:null,prompt:null,rev:null,rightMargin:d,rules:null,scheme:null,scrolling:p,standby:null,summary:null,text:null,topMargin:d,valueType:null,version:null,vAlign:null,vLink:null,vSpace:d,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:o,disableRemotePlayback:o,prefix:null,property:null,results:d,security:null,unselectable:null}})},2100:(e,t,r)=>{var a=r(581);var n=r(2852);var i=r(8187);var o=a.boolean;var s=a.number;var p=a.spaceSeparated;var d=a.commaSeparated;var l=a.commaOrSpaceSeparated;e.exports=n({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:i,properties:{about:l,accentHeight:s,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:s,amplitude:s,arabicForm:null,ascent:s,attributeName:null,attributeType:null,azimuth:s,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:s,by:null,calcMode:null,capHeight:s,className:p,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:s,diffuseConstant:s,direction:null,display:null,dur:null,divisor:s,dominantBaseline:null,download:o,dx:null,dy:null,edgeMode:null,editable:null,elevation:s,enableBackground:null,end:null,event:null,exponent:s,externalResourcesRequired:null,fill:null,fillOpacity:s,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:d,g2:d,glyphName:d,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:s,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:s,horizOriginX:s,horizOriginY:s,id:null,ideographic:s,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:s,k:s,k1:s,k2:s,k3:s,k4:s,kernelMatrix:l,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:s,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:s,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:s,overlineThickness:s,paintOrder:null,panose1:null,path:null,pathLength:s,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:p,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:s,pointsAtY:s,pointsAtZ:s,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:l,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:l,rev:l,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:l,requiredFeatures:l,requiredFonts:l,requiredFormats:l,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:s,specularExponent:s,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:s,strikethroughThickness:s,string:null,stroke:null,strokeDashArray:l,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:s,strokeOpacity:s,strokeWidth:null,style:null,surfaceScale:s,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:l,tabIndex:s,tableValues:null,target:null,targetX:s,targetY:s,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:l,to:null,transform:null,u1:null,u2:null,underlinePosition:s,underlineThickness:s,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:s,values:null,vAlphabetic:s,vMathematical:s,vectorEffect:null,vHanging:s,vIdeographic:s,version:null,vertAdvY:s,vertOriginX:s,vertOriginY:s,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:s,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}})},3082:(e,t,r)=>{var a=r(8187);e.exports=caseInsensitiveTransform;function caseInsensitiveTransform(e,t){return a(e,t.toLowerCase())}},8187:e=>{e.exports=caseSensitiveTransform;function caseSensitiveTransform(e,t){return t in e?e[t]:t}},2852:(e,t,r)=>{var a=r(5144);var n=r(6101);var i=r(1018);e.exports=create;function create(e){var t=e.space;var r=e.mustUseProperty||[];var o=e.attributes||{};var s=e.properties;var p=e.transform;var d={};var l={};var m;var c;for(m in s){c=new i(m,p(o,m),s[m],t);if(r.indexOf(m)!==-1){c.mustUseProperty=true}d[m]=c;l[a(m)]=m;l[a(c.attribute)]=m}return new n(d,l,t)}},1018:(e,t,r)=>{var a=r(1828);var n=r(581);e.exports=DefinedInfo;DefinedInfo.prototype=new a;DefinedInfo.prototype.defined=true;var i=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"];var o=i.length;function DefinedInfo(e,t,r,s){var p=-1;var d;mark(this,"space",s);a.call(this,e,t);while(++p{e.exports=Info;var t=Info.prototype;t.space=null;t.attribute=null;t.property=null;t.boolean=false;t.booleanish=false;t.overloadedBoolean=false;t.number=false;t.commaSeparated=false;t.spaceSeparated=false;t.commaOrSpaceSeparated=false;t.mustUseProperty=false;t.defined=false;function Info(e,t){this.property=e;this.attribute=t}},7261:(e,t,r)=>{var a=r(1208);var n=r(6101);e.exports=merge;function merge(e){var t=e.length;var r=[];var i=[];var o=-1;var s;var p;while(++o{e.exports=Schema;var t=Schema.prototype;t.space=null;t.normal={};t.property={};function Schema(e,t,r){this.property=e;this.normal=t;if(r){this.space=r}}},581:(e,t)=>{var r=0;t.boolean=increment();t.booleanish=increment();t.overloadedBoolean=increment();t.number=increment();t.spaceSeparated=increment();t.commaSeparated=increment();t.commaOrSpaceSeparated=increment();function increment(){return Math.pow(2,++r)}},2528:(e,t,r)=>{var a=r(2852);e.exports=a({space:"xlink",transform:xlinkTransform,properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});function xlinkTransform(e,t){return"xlink:"+t.slice(5).toLowerCase()}},1638:(e,t,r)=>{var a=r(2852);e.exports=a({space:"xml",transform:xmlTransform,properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function xmlTransform(e,t){return"xml:"+t.slice(3).toLowerCase()}},5733:(e,t,r)=>{var a=r(2852);var n=r(3082);e.exports=a({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:n,properties:{xmlns:null,xmlnsXLink:null}})},5144:e=>{e.exports=normalize;function normalize(e){return e.toLowerCase()}},4589:(e,t,r)=>{var a=r(7261);var n=r(2528);var i=r(1638);var o=r(5733);var s=r(7871);var p=r(2100);e.exports=a([i,n,o,s,p])},9830:(e,t,r)=>{var a=r(3233);e.exports=raw;function raw(){return a}},4859:(e,t,r)=>{var a=r(6623);var n=r(1208);var i=r(2683);e.exports=parse;parse.Parser=i;function parse(e){var t=this.data("settings");var r=a(i);r.prototype.options=n(r.prototype.options,t,e);this.Parser=r}},7311:e=>{e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},3811:(e,t,r)=>{var a=r(1208);var n=r(8859);e.exports=factory;function factory(e){decoder.raw=decodeRaw;return decoder;function normalize(t){var r=e.offset;var a=t.line;var n=[];while(++a){if(!(a in r)){break}n.push((r[a]||0)+1)}return{start:t,indent:n}}function decoder(t,r,a){n(t,{position:normalize(r),warning:handleWarning,text:a,reference:a,textContext:e,referenceContext:e})}function decodeRaw(e,t,r){return n(e,a(r,{position:normalize(t),warning:handleWarning}))}function handleWarning(t,r,a){if(a!==3){e.file.message(t,r)}}}},2557:(e,t,r)=>{e.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:r(7311)}},6603:e=>{e.exports=locate;function locate(e,t){var r=e.indexOf("\n",t);while(r>t){if(e.charAt(r-1)!==" "){break}r--}return r}},4222:e=>{e.exports=locate;function locate(e,t){return e.indexOf("`",t)}},8419:e=>{e.exports=locate;function locate(e,t){return e.indexOf("~~",t)}},366:e=>{e.exports=locate;function locate(e,t){var r=e.indexOf("*",t);var a=e.indexOf("_",t);if(a===-1){return r}if(r===-1){return a}return a{e.exports=locate;function locate(e,t){return e.indexOf("\\",t)}},2532:e=>{e.exports=locate;function locate(e,t){var r=e.indexOf("[",t);var a=e.indexOf("![",t);if(a===-1){return r}return r{e.exports=locate;function locate(e,t){var r=e.indexOf("**",t);var a=e.indexOf("__",t);if(a===-1){return r}if(r===-1){return a}return a{e.exports=locate;function locate(e,t){return e.indexOf("<",t)}},327:e=>{e.exports=locate;var t=["https://","http://","mailto:"];function locate(e,r){var a=t.length;var n=-1;var i=-1;var o;if(!this.options.gfm){return-1}while(++n{var a=r(1208);var n=r(7970);e.exports=parse;var i="\n";var o=/\r\n|\r/g;function parse(){var e=this;var t=String(e.file);var r={line:1,column:1,offset:0};var s=a(r);var p;t=t.replace(o,i);if(t.charCodeAt(0)===65279){t=t.slice(1);s.column++;s.offset++}p={type:"root",children:e.tokenizeBlock(t,s),position:{start:r,end:e.eof||a(r)}};if(!e.options.position){n(p,true)}return p}},2683:(e,t,r)=>{var a=r(1208);var n=r(6435);var i=r(2403);var o=r(4063);var s=r(3811);var p=r(8970);e.exports=Parser;function Parser(e,t){this.file=t;this.offset={};this.options=a(this.options);this.setOptions({});this.inList=false;this.inBlock=false;this.inLink=false;this.atStart=true;this.toOffset=i(t).toOffset;this.unescape=o(this,"escape");this.decode=s(this)}var d=Parser.prototype;d.setOptions=r(9449);d.parse=r(7329);d.options=r(2557);d.exitStart=n("atStart",true);d.enterList=n("inList",false);d.enterLink=n("inLink",false);d.enterBlock=n("inBlock",false);d.interruptParagraph=[["thematicBreak"],["atxHeading"],["fencedCode"],["blockquote"],["html"],["setextHeading",{commonmark:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];d.interruptList=[["atxHeading",{pedantic:false}],["fencedCode",{pedantic:false}],["thematicBreak",{pedantic:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];d.interruptBlockquote=[["indentedCode",{commonmark:true}],["fencedCode",{commonmark:true}],["atxHeading",{commonmark:true}],["setextHeading",{commonmark:true}],["thematicBreak",{commonmark:true}],["html",{commonmark:true}],["list",{commonmark:true}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];d.blockTokenizers={newline:r(8742),indentedCode:r(5813),fencedCode:r(1553),blockquote:r(2614),atxHeading:r(5544),thematicBreak:r(2763),list:r(3766),setextHeading:r(7263),html:r(8514),footnote:r(2515),definition:r(7387),table:r(3274),paragraph:r(2082)};d.inlineTokenizers={escape:r(950),autoLink:r(3763),url:r(5069),html:r(9155),link:r(8337),reference:r(3699),strong:r(9569),emphasis:r(4133),deletion:r(5052),code:r(7215),break:r(2822),text:r(9916)};d.blockMethods=keys(d.blockTokenizers);d.inlineMethods=keys(d.inlineTokenizers);d.tokenizeBlock=p("block");d.tokenizeInline=p("inline");d.tokenizeFactory=p;function keys(e){var t=[];var r;for(r in e){t.push(r)}return t}},9449:(e,t,r)=>{var a=r(1208);var n=r(8805);var i=r(2557);e.exports=setOptions;function setOptions(e){var t=this;var r=t.options;var o;var s;if(e==null){e={}}else if(typeof e==="object"){e=a(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(o in i){s=e[o];if(s==null){s=r[o]}if(o!=="blocks"&&typeof s!=="boolean"||o==="blocks"&&typeof s!=="object"){throw new Error("Invalid value `"+s+"` for setting `options."+o+"`")}e[o]=s}t.options=e;t.escape=n(e);return t}},3763:(e,t,r)=>{var a=r(8473);var n=r(8859);var i=r(6330);e.exports=autoLink;autoLink.locator=i;autoLink.notInLink=true;var o="<";var s=">";var p="@";var d="/";var l="mailto:";var m=l.length;function autoLink(e,t,r){var i=this;var c="";var g=t.length;var v=0;var T="";var E=false;var _="";var w;var A;var b;var y;var S;if(t.charAt(0)!==o){return}v++;c=o;while(v{var a=r(4065);var n=r(1783);e.exports=blockquote;var i="\n";var o="\t";var s=" ";var p=">";function blockquote(e,t,r){var d=this;var l=d.offset;var m=d.blockTokenizers;var c=d.interruptBlockquote;var g=e.now();var v=g.line;var T=t.length;var E=[];var _=[];var w=[];var A;var b=0;var y;var S;var C;var k;var N;var D;var O;var I;while(b{var a=r(6603);e.exports=hardBreak;hardBreak.locator=a;var n=" ";var i="\n";var o=2;function hardBreak(e,t,r){var a=t.length;var s=-1;var p="";var d;while(++s{e.exports=fencedCode;var t="\n";var r="\t";var a=" ";var n="~";var i="`";var o=3;var s=4;function fencedCode(e,p,d){var l=this;var m=l.options.gfm;var c=p.length+1;var g=0;var v="";var T;var E;var _;var w;var A;var b;var y;var S;var C;var k;var N;var D;var O;if(!m){return}while(g=s){continue}y="";while(g{var a=r(6976);var n=r(3199);e.exports=indentedCode;var i="\n";var o="\t";var s=" ";var p=4;var d=a(s,p);function indentedCode(e,t,r){var a=-1;var p=t.length;var l="";var m="";var c="";var g="";var v;var T;var E;while(++a{var a=r(4222);e.exports=inlineCode;inlineCode.locator=a;var n=10;var i=32;var o=96;function inlineCode(e,t,r){var a=t.length;var s=0;var p;var d;var l;var m;var c;var g;while(s2&&(m===i||m===n)&&(c===i||c===n)){s++;a--;while(s{var a=r(8473);var n=r(2482);e.exports=definition;var i='"';var o="'";var s="\\";var p="\n";var d="\t";var l=" ";var m="[";var c="]";var g="(";var v=")";var T=":";var E="<";var _=">";function definition(e,t,r){var a=this;var _=a.options.commonmark;var w=0;var A=t.length;var b="";var y;var S;var C;var k;var N;var D;var O;var I;while(w{var a=r(8473);var n=r(8419);e.exports=strikethrough;strikethrough.locator=n;var i="~";var o="~~";function strikethrough(e,t,r){var n=this;var s="";var p="";var d="";var l="";var m;var c;var g;if(!n.options.gfm||t.charAt(0)!==i||t.charAt(1)!==i||a(t.charAt(2))){return}m=1;c=t.length;g=e.now();g.column+=2;g.offset+=2;while(++m{var a=r(4065);var n=r(1623);var i=r(8473);var o=r(366);e.exports=emphasis;emphasis.locator=o;var s="*";var p="_";var d="\\";function emphasis(e,t,r){var o=this;var l=0;var m=t.charAt(l);var c;var g;var v;var T;var E;var _;var w;if(m!==s&&m!==p){return}g=o.options.pedantic;E=m;v=m;_=t.length;l++;T="";m="";if(g&&i(t.charAt(l))){return}while(l<_){w=m;m=t.charAt(l);if(m===v&&(!g||!i(w))){m=t.charAt(++l);if(m!==v){if(!a(T)||w===v){return}if(!g&&v===p&&n(m)){T+=v;continue}if(r){return true}c=e.now();c.column++;c.offset++;return e(E+T+v)({type:"emphasis",children:o.tokenizeInline(T,c)})}T+=v}if(!g&&m===d){T+=m;m=t.charAt(++l)}T+=m;l++}}},950:(e,t,r)=>{var a=r(6230);e.exports=escape;escape.locator=a;var n="\n";var i="\\";function escape(e,t,r){var a=this;var o;var s;if(t.charAt(0)===i){o=t.charAt(1);if(a.escape.indexOf(o)!==-1){if(r){return true}if(o===n){s={type:"break"}}else{s={type:"text",value:o}}return e(i+o)(s)}}}},2515:(e,t,r)=>{var a=r(8473);var n=r(2482);e.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var i="\\";var o="\n";var s="\t";var p=" ";var d="[";var l="]";var m="^";var c=":";var g=/^( {4}|\t)?/gm;function footnoteDefinition(e,t,r){var v=this;var T=v.offset;var E;var _;var w;var A;var b;var y;var S;var C;var k;var N;var D;var O;if(!v.options.footnotes){return}E=0;_=t.length;w="";A=e.now();b=A.line;while(E<_){k=t.charAt(E);if(!a(k)){break}w+=k;E++}if(t.charAt(E)!==d||t.charAt(E+1)!==m){return}w+=d+m;E=w.length;S="";while(E<_){k=t.charAt(E);if(k===l){break}else if(k===i){S+=k;E++;k=t.charAt(E)}S+=k;E++}if(!S||t.charAt(E)!==l||t.charAt(E+1)!==c){return}if(r){return true}N=S;w+=S+l+c;E=w.length;while(E<_){k=t.charAt(E);if(k!==s&&k!==p){break}w+=k;E++}A.column+=w.length;A.offset+=w.length;S="";y="";C="";while(E<_){k=t.charAt(E);if(k===o){C=k;E++;while(E<_){k=t.charAt(E);if(k!==o){break}C+=k;E++}S+=C;C="";while(E<_){k=t.charAt(E);if(k!==p){break}C+=k;E++}if(C.length===0){break}S+=C}if(S){y+=S;S=""}y+=k;E++}w+=y;y=y.replace(g,(function(e){T[b]=(T[b]||0)+e.length;b++;return""}));D=e(w);O=v.enterBlock();y=v.tokenizeBlock(y,A);O();return D({type:"footnoteDefinition",identifier:n(N),label:N,children:y})}},5544:e=>{e.exports=atxHeading;var t="\n";var r="\t";var a=" ";var n="#";var i=6;function atxHeading(e,o,s){var p=this;var d=p.options.pedantic;var l=o.length+1;var m=-1;var c=e.now();var g="";var v="";var T;var E;var _;while(++mi){return}if(!_||!d&&o.charAt(m+1)===n){return}l=o.length+1;E="";while(++m{e.exports=setextHeading;var t="\n";var r="\t";var a=" ";var n="=";var i="-";var o=3;var s=1;var p=2;function setextHeading(e,d,l){var m=this;var c=e.now();var g=d.length;var v=-1;var T="";var E;var _;var w;var A;var b;while(++v=o){v--;break}T+=w}E="";_="";while(++v{var a=r(9181).g;e.exports=blockHtml;var n="\t";var i=" ";var o="\n";var s="<";var p=/^<(script|pre|style)(?=(\s|>|$))/i;var d=/<\/(script|pre|style)>/i;var l=/^/;var c=/^<\?/;var g=/\?>/;var v=/^/;var E=/^/;var w=/^$/;var A=new RegExp(a.source+"\\s*$");function blockHtml(e,t,r){var a=this;var b=a.options.blocks.join("|");var y=new RegExp("^|$))","i");var S=t.length;var C=0;var k;var N;var D;var O;var I;var R;var P;var L=[[p,d,true],[l,m,true],[c,g,true],[v,T,true],[E,_,true],[y,w,true],[A,w,false]];while(C{var a=r(1997);var n=r(6330);var i=r(9181)._;e.exports=inlineHTML;inlineHTML.locator=n;var o="<";var s="?";var p="!";var d="/";var l=/^/i;function inlineHTML(e,t,r){var n=this;var c=t.length;var g;var v;if(t.charAt(0)!==o||c<3){return}g=t.charAt(1);if(!a(g)&&g!==s&&g!==p&&g!==d){return}v=t.match(i);if(!v){return}if(r){return true}v=v[0];if(!n.inLink&&l.test(v)){n.inLink=true}else if(n.inLink&&m.test(v)){n.inLink=false}return e(v)({type:"html",value:v})}},8337:(e,t,r)=>{var a=r(8473);var n=r(2532);e.exports=link;link.locator=n;var i="\n";var o="!";var s='"';var p="'";var d="(";var l=")";var m="<";var c=">";var g="[";var v="\\";var T="]";var E="`";function link(e,t,r){var n=this;var _="";var w=0;var A=t.charAt(0);var b=n.options.pedantic;var y=n.options.commonmark;var S=n.options.gfm;var C;var k;var N;var D;var O;var I;var R;var P;var L;var x;var F;var M;var B;var G;var U;var H;var V;var q;if(A===o){P=true;_=A;A=t.charAt(++w)}if(A!==g){return}if(!P&&n.inLink){return}_+=A;G="";w++;F=t.length;H=e.now();B=0;H.column+=w;H.offset+=w;while(w=N){N=0}}else if(A===v){w++;I+=t.charAt(w)}else if((!N||S)&&A===g){B++}else if((!N||S)&&A===T){if(B){B--}else{if(!b){while(w{var a=r(4065);var n=r(6976);var i=r(5552);var o=r(8059);var s=r(1180);var p=r(1783);e.exports=list;var d="*";var l="_";var m="+";var c="-";var g=".";var v=" ";var T="\n";var E="\t";var _=")";var w="x";var A=4;var b=/\n\n(?!\s*$)/;var y=/^\[([ \t]|x|X)][ \t]/;var S=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/;var C=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/;var k=/^( {1,4}|\t)?/gm;function list(e,t,r){var n=this;var o=n.options.commonmark;var s=n.options.pedantic;var w=n.blockTokenizers;var b=n.interruptList;var y=0;var S=t.length;var C=null;var k=0;var N;var D;var O;var I;var R;var P;var L;var x;var F;var M;var B;var G;var U;var H;var V;var q;var j;var K;var z=false;var W;var Y;var $;var Q;while(y=A){return}O=t.charAt(y);if(O===d||O===m||O===c){I=O;D=false}else{D=true;N="";while(y=A){Q=true}if(q&&k>=q.indent){Q=true}O=t.charAt(y);x=null;if(!Q){if(O===d||O===m||O===c){x=O;y++;k++}else{N="";while(y=q.indent||k>A}L=false;y=P}M=t.slice(P,R);F=P===y?M:t.slice(y,R);if(x===d||x===l||x===c){if(w.thematicBreak.call(n,e,M,true)){break}}B=G;G=!L&&!a(F).length;if(Q&&q){q.value=q.value.concat(V,M);H=H.concat(V,M);V=[]}else if(L){if(V.length!==0){z=true;q.value.push("");q.trail=V.concat()}q={value:[M],indent:k,trail:[]};U.push(q);H=H.concat(V,M);V=[]}else if(G){if(B&&!o){break}V.push(M)}else{if(B){break}if(p(b,w,n,[e,M,true])){break}q.value=q.value.concat(V,M);H=H.concat(V,M);V=[]}y=R+1}W=e(H.join(T)).reset({type:"list",ordered:D,start:C,spread:z,children:[]});j=n.enterList();K=n.enterBlock();y=-1;S=U.length;while(++y{var a=r(8473);e.exports=newline;var n="\n";function newline(e,t,r){var i=t.charAt(0);var o;var s;var p;var d;if(i!==n){return}if(r){return true}d=1;o=t.length;s=i;p="";while(d{var a=r(4065);var n=r(5552);var i=r(3199);var o=r(1783);e.exports=paragraph;var s="\t";var p="\n";var d=" ";var l=4;function paragraph(e,t,r){var m=this;var c=m.options;var g=c.commonmark;var v=c.gfm;var T=m.blockTokenizers;var E=m.interruptParagraph;var _=t.indexOf(p);var w=t.length;var A;var b;var y;var S;var C;while(_=l&&y!==p){_=t.indexOf(p,_+1);continue}}b=t.slice(_+1);if(o(E,T,m,[e,b,true])){break}if(T.list.call(m,e,b,true)&&(m.inList||g||v&&!n(a.left(b).charAt(0)))){break}A=_;_=t.indexOf(p,_+1);if(_!==-1&&a(t.slice(A,_))===""){_=A;break}}b=t.slice(0,_);if(a(b)===""){e(b);return null}if(r){return true}C=e.now();b=i(b);return e(b)({type:"paragraph",children:m.tokenizeInline(b,C)})}},3699:(e,t,r)=>{var a=r(8473);var n=r(2532);var i=r(2482);e.exports=reference;reference.locator=n;var o="link";var s="image";var p="footnote";var d="shortcut";var l="collapsed";var m="full";var c=" ";var g="!";var v="[";var T="\\";var E="]";var _="^";function reference(e,t,r){var n=this;var w=n.options.commonmark;var A=n.options.footnotes;var b=t.charAt(0);var y=0;var S=t.length;var C="";var k="";var N=o;var D=d;var O;var I;var R;var P;var L;var x;var F;var M;if(b===g){N=s;k=b;b=t.charAt(++y)}if(b!==v){return}y++;k+=b;x="";if(A&&t.charAt(y)===_){if(N===s){return}k+=_;y++;N=p}M=0;while(y{var a=r(4065);var n=r(8473);var i=r(5514);e.exports=strong;strong.locator=i;var o="\\";var s="*";var p="_";function strong(e,t,r){var i=this;var d=0;var l=t.charAt(d);var m;var c;var g;var v;var T;var E;var _;if(l!==s&&l!==p||t.charAt(++d)!==l){return}c=i.options.pedantic;g=l;T=g+g;E=t.length;d++;v="";l="";if(c&&n(t.charAt(d))){return}while(d{var a=r(8473);e.exports=table;var n="\t";var i="\n";var o=" ";var s="-";var p=":";var d="\\";var l="|";var m=1;var c=2;var g="left";var v="center";var T="right";function table(e,t,r){var E=this;var _;var w;var A;var b;var y;var S;var C;var k;var N;var D;var O;var I;var R;var P;var L;var x;var F;var M;var B;var G;var U;var H;if(!E.options.gfm){return}_=0;x=0;S=t.length+1;C=[];while(_G){if(x1){if(N){b+=k.slice(0,k.length-1);k=k.charAt(k.length-1)}else{b+=k;k=""}}P=e.now();e(b)({type:"tableCell",children:E.tokenizeInline(I,P)},y)}e(k+N);k="";I=""}}else{if(k){I+=k;k=""}I+=N;if(N===d&&_!==S-2){I+=F.charAt(_+1);_++}}R=false;_++}if(!L){e(i+w)}}return B}},9916:e=>{e.exports=text;function text(e,t,r){var a=this;var n;var i;var o;var s;var p;var d;var l;var m;var c;var g;if(r){return true}n=a.inlineMethods;s=n.length;i=a.inlineTokenizers;o=-1;c=t.length;while(++o{e.exports=thematicBreak;var t="\t";var r="\n";var a=" ";var n="*";var i="-";var o="_";var s=3;function thematicBreak(e,p,d){var l=-1;var m=p.length+1;var c="";var g;var v;var T;var E;while(++l=s&&(!g||g===r)){c+=E;if(d){return true}return e(c)({type:"thematicBreak"})}else{return}}}},5069:(e,t,r)=>{var a=r(8859);var n=r(8473);var i=r(327);e.exports=url;url.locator=i;url.notInLink=true;var o='"';var s="'";var p="(";var d=")";var l=",";var m=".";var c=":";var g=";";var v="<";var T="@";var E="[";var _="]";var w="http://";var A="https://";var b="mailto:";var y=[w,A,b];var S=y.length;function url(e,t,r){var i=this;var w;var A;var C;var k;var N;var D;var O;var I;var R;var P;var L;var x;var F;if(!i.options.gfm){return}w="";k=-1;while(++k{e.exports=factory;function factory(e){return tokenize;function tokenize(t,r){var a=this;var n=a.offset;var i=[];var o=a[e+"Methods"];var s=a[e+"Tokenizers"];var p=r.line;var d=r.column;var l;var m;var c;var g;var v;var T;if(!t){return i}eat.now=now;eat.file=a.file;updatePosition("");while(t){l=-1;m=o.length;v=false;while(++l{e.exports=factory;var t="\\";function factory(e,r){return unescape;function unescape(a){var n=0;var i=a.indexOf(t);var o=e[r];var s=[];var p;while(i!==-1){s.push(a.slice(n,i));n=i+1;p=a.charAt(n);if(!p||o.indexOf(p)===-1){s.push(t)}i=a.indexOf(t,n+1)}s.push(a.slice(n));return s.join("")}}},8059:e=>{e.exports=indentation;var t="\t";var r=" ";var a=1;var n=4;function indentation(e){var i=0;var o=0;var s=e.charAt(i);var p={};var d;while(s===t||s===r){d=s===t?n:a;o+=d;if(d>1){o=Math.floor(o/d)*d}p[o]=i;s=e.charAt(++i)}return{indent:o,stops:p}}},9181:(e,t)=>{var r="[a-zA-Z_:][a-zA-Z0-9:._-]*";var a="[^\"'=<>`\\u0000-\\u0020]+";var n="'[^']*'";var i='"[^"]*"';var o="(?:"+a+"|"+n+"|"+i+")";var s="(?:\\s+"+r+"(?:\\s*=\\s*"+o+")?)";var p="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var d="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var l="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var m="<[?].*?[?]>";var c="]*>";var g="";t.g=new RegExp("^(?:"+p+"|"+d+")");t._=new RegExp("^(?:"+p+"|"+d+"|"+l+"|"+m+"|"+c+"|"+g+")")},1783:e=>{e.exports=interrupt;function interrupt(e,t,r,a){var n=e.length;var i=-1;var o;var s;while(++i{var a=r(8201);e.exports=normalize;function normalize(e){return a(e).toLowerCase()}},1180:(e,t,r)=>{var a=r(4065);var n=r(6976);var i=r(8059);e.exports=indentation;var o="\t";var s="\n";var p=" ";var d="!";function indentation(e,t){var r=e.split(s);var l=r.length+1;var m=Infinity;var c=[];var g;var v;var T;var E;r.unshift(n(p,t)+d);while(l--){v=i(r[l]);c[l]=v.stops;if(a(r[l]).length===0){continue}if(v.indent){if(v.indent>0&&v.indent{var a=r(7780);e.exports=remark2rehype;function remark2rehype(e,t){if(e&&!e.process){t=e;e=null}return e?bridge(e,t):mutate(t)}function bridge(e,t){return transformer;function transformer(r,n,i){e.run(a(r,t),n,done);function done(e){i(e)}}}function mutate(e){return transformer;function transformer(t){return a(t,e)}}},6976:e=>{ +var t=Object.getOwnPropertySymbols;var r=Object.prototype.hasOwnProperty;var a=Object.prototype.propertyIsEnumerable;function toObject(e){if(e===null||e===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(e)}function shouldUseNative(){try{if(!Object.assign){return false}var e=new String("abc");e[5]="de";if(Object.getOwnPropertyNames(e)[0]==="5"){return false}var t={};for(var r=0;r<10;r++){t["_"+String.fromCharCode(r)]=r}var a=Object.getOwnPropertyNames(t).map((function(e){return t[e]}));if(a.join("")!=="0123456789"){return false}var n={};"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e}));if(Object.keys(Object.assign({},n)).join("")!=="abcdefghijklmnopqrst"){return false}return true}catch(e){return false}}e.exports=shouldUseNative()?Object.assign:function(e,n){var i;var o=toObject(e);var s;for(var p=1;p{var a=r(2940);e.exports=a(once);e.exports.strict=a(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},3485:(e,t,r)=>{var a=r(2661);e.exports=decodeEntity;var n={}.hasOwnProperty;function decodeEntity(e){return n.call(a,e)?a[e]:false}},8859:(e,t,r)=>{var a=r(7452);var n=r(3580);var i=r(5552);var o=r(7474);var s=r(8189);var p=r(3485);e.exports=parseEntities;var d={}.hasOwnProperty;var l=String.fromCharCode;var c=Function.prototype;var m={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var g=9;var v=10;var T=12;var E=32;var _=38;var w=59;var A=60;var b=61;var y=35;var S=88;var C=120;var k=65533;var N="named";var D="hexadecimal";var O="decimal";var R={};R[D]=16;R[O]=10;var I={};I[N]=s;I[O]=i;I[D]=o;var P=1;var L=2;var x=3;var F=4;var M=5;var B=6;var U=7;var G={};G[P]="Named character references must be terminated by a semicolon";G[L]="Numeric character references must be terminated by a semicolon";G[x]="Named character references cannot be empty";G[F]="Numeric character references cannot be empty";G[M]="Named character references must be known";G[B]="Numeric character references cannot be disallowed";G[U]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(e,t){var r={};var a;var n;if(!t){t={}}for(n in m){a=t[n];r[n]=a===null||a===undefined?m[n]:a}if(r.position.indent||r.position.start){r.indent=r.position.indent||[];r.position=r.position.start}return parse(e,r)}function parse(e,t){var r=t.additional;var i=t.nonTerminated;var o=t.text;var m=t.reference;var H=t.warning;var V=t.textContext;var q=t.referenceContext;var j=t.warningContext;var K=t.position;var z=t.indent||[];var W=e.length;var Y=0;var $=-1;var Q=K.column||1;var X=K.line||1;var J="";var Z=[];var ee;var te;var re;var ae;var ne;var ie;var oe;var se;var pe;var de;var le;var ue;var ce;var me;var fe;var he;var ge;var ve;var Te;if(typeof r==="string"){r=r.charCodeAt(0)}he=now();se=H?parseError:c;Y--;W++;while(++Y65535){ie-=65536;de+=l(ie>>>(10&1023)|55296);ie=56320|ie&1023}ie=de+l(ie)}}if(ie){flush();he=now();Y=Te-1;Q+=Te-ce+1;Z.push(ie);ge=now();ge.offset++;if(m){m.call(q,ie,{start:he,end:ge},e.slice(ce-1,Te))}he=ge}else{ae=e.slice(ce-1,Te);J+=ae;Q+=ae.length;Y=Te-1}}else{if(ne===10){X++;$++;Q=0}if(ne===ne){J+=l(ne);Q++}else{flush()}}}return Z.join("");function now(){return{line:X,column:Q,offset:Y+(K.offset||0)}}function parseError(e,t){var r=now();r.column+=t;r.offset+=t;H.call(j,G[e],r,e)}function flush(){if(J){Z.push(J);if(o){o.call(V,J,{start:he,end:now()})}J=""}}}function prohibited(e){return e>=55296&&e<=57343||e>1114111}function disallowed(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}},7079:(e,t,r)=>{const{DOCUMENT_MODE:a}=r(9338);const n="html";const i="about:legacy-compat";const o="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd";const s=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"];const p=s.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);const d=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"];const l=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"];const c=l.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function enquoteDoctypeId(e){const t=e.indexOf('"')!==-1?"'":'"';return t+e+t}function hasPrefix(e,t){for(let r=0;r-1){return a.QUIRKS}let e=t===null?p:s;if(hasPrefix(r,e)){return a.QUIRKS}e=t===null?l:c;if(hasPrefix(r,e)){return a.LIMITED_QUIRKS}}return a.NO_QUIRKS};t.serializeContent=function(e,t,r){let a="!DOCTYPE ";if(e){a+=e}if(t){a+=" PUBLIC "+enquoteDoctypeId(t)}else if(r){a+=" SYSTEM"}if(r!==null){a+=" "+enquoteDoctypeId(r)}return a}},5906:e=>{e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},2526:(e,t,r)=>{const a=r(5759);const n=r(9338);const i=n.TAG_NAMES;const o=n.NAMESPACES;const s=n.ATTRS;const p={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"};const d="definitionurl";const l="definitionURL";const c={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"};const m={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:o.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:o.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:o.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:o.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:o.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:o.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:o.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:o.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:o.XML},"xml:space":{prefix:"xml",name:"space",namespace:o.XML},xmlns:{prefix:"",name:"xmlns",namespace:o.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:o.XMLNS}};const g=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"};const v={[i.B]:true,[i.BIG]:true,[i.BLOCKQUOTE]:true,[i.BODY]:true,[i.BR]:true,[i.CENTER]:true,[i.CODE]:true,[i.DD]:true,[i.DIV]:true,[i.DL]:true,[i.DT]:true,[i.EM]:true,[i.EMBED]:true,[i.H1]:true,[i.H2]:true,[i.H3]:true,[i.H4]:true,[i.H5]:true,[i.H6]:true,[i.HEAD]:true,[i.HR]:true,[i.I]:true,[i.IMG]:true,[i.LI]:true,[i.LISTING]:true,[i.MENU]:true,[i.META]:true,[i.NOBR]:true,[i.OL]:true,[i.P]:true,[i.PRE]:true,[i.RUBY]:true,[i.S]:true,[i.SMALL]:true,[i.SPAN]:true,[i.STRONG]:true,[i.STRIKE]:true,[i.SUB]:true,[i.SUP]:true,[i.TABLE]:true,[i.TT]:true,[i.U]:true,[i.UL]:true,[i.VAR]:true};t.causesExit=function(e){const t=e.tagName;const r=t===i.FONT&&(a.getTokenAttr(e,s.COLOR)!==null||a.getTokenAttr(e,s.SIZE)!==null||a.getTokenAttr(e,s.FACE)!==null);return r?true:v[t]};t.adjustTokenMathMLAttrs=function(e){for(let t=0;t{const r=t.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",MATHML:"http://www.w3.org/1998/Math/MathML",SVG:"http://www.w3.org/2000/svg",XLINK:"http://www.w3.org/1999/xlink",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"};t.ATTRS={TYPE:"type",ACTION:"action",ENCODING:"encoding",PROMPT:"prompt",NAME:"name",COLOR:"color",FACE:"face",SIZE:"size"};t.DOCUMENT_MODE={NO_QUIRKS:"no-quirks",QUIRKS:"quirks",LIMITED_QUIRKS:"limited-quirks"};const a=t.TAG_NAMES={A:"a",ADDRESS:"address",ANNOTATION_XML:"annotation-xml",APPLET:"applet",AREA:"area",ARTICLE:"article",ASIDE:"aside",B:"b",BASE:"base",BASEFONT:"basefont",BGSOUND:"bgsound",BIG:"big",BLOCKQUOTE:"blockquote",BODY:"body",BR:"br",BUTTON:"button",CAPTION:"caption",CENTER:"center",CODE:"code",COL:"col",COLGROUP:"colgroup",DD:"dd",DESC:"desc",DETAILS:"details",DIALOG:"dialog",DIR:"dir",DIV:"div",DL:"dl",DT:"dt",EM:"em",EMBED:"embed",FIELDSET:"fieldset",FIGCAPTION:"figcaption",FIGURE:"figure",FONT:"font",FOOTER:"footer",FOREIGN_OBJECT:"foreignObject",FORM:"form",FRAME:"frame",FRAMESET:"frameset",H1:"h1",H2:"h2",H3:"h3",H4:"h4",H5:"h5",H6:"h6",HEAD:"head",HEADER:"header",HGROUP:"hgroup",HR:"hr",HTML:"html",I:"i",IMG:"img",IMAGE:"image",INPUT:"input",IFRAME:"iframe",KEYGEN:"keygen",LABEL:"label",LI:"li",LINK:"link",LISTING:"listing",MAIN:"main",MALIGNMARK:"malignmark",MARQUEE:"marquee",MATH:"math",MENU:"menu",META:"meta",MGLYPH:"mglyph",MI:"mi",MO:"mo",MN:"mn",MS:"ms",MTEXT:"mtext",NAV:"nav",NOBR:"nobr",NOFRAMES:"noframes",NOEMBED:"noembed",NOSCRIPT:"noscript",OBJECT:"object",OL:"ol",OPTGROUP:"optgroup",OPTION:"option",P:"p",PARAM:"param",PLAINTEXT:"plaintext",PRE:"pre",RB:"rb",RP:"rp",RT:"rt",RTC:"rtc",RUBY:"ruby",S:"s",SCRIPT:"script",SECTION:"section",SELECT:"select",SOURCE:"source",SMALL:"small",SPAN:"span",STRIKE:"strike",STRONG:"strong",STYLE:"style",SUB:"sub",SUMMARY:"summary",SUP:"sup",TABLE:"table",TBODY:"tbody",TEMPLATE:"template",TEXTAREA:"textarea",TFOOT:"tfoot",TD:"td",TH:"th",THEAD:"thead",TITLE:"title",TR:"tr",TRACK:"track",TT:"tt",U:"u",UL:"ul",SVG:"svg",VAR:"var",WBR:"wbr",XMP:"xmp"};t.SPECIAL_ELEMENTS={[r.HTML]:{[a.ADDRESS]:true,[a.APPLET]:true,[a.AREA]:true,[a.ARTICLE]:true,[a.ASIDE]:true,[a.BASE]:true,[a.BASEFONT]:true,[a.BGSOUND]:true,[a.BLOCKQUOTE]:true,[a.BODY]:true,[a.BR]:true,[a.BUTTON]:true,[a.CAPTION]:true,[a.CENTER]:true,[a.COL]:true,[a.COLGROUP]:true,[a.DD]:true,[a.DETAILS]:true,[a.DIR]:true,[a.DIV]:true,[a.DL]:true,[a.DT]:true,[a.EMBED]:true,[a.FIELDSET]:true,[a.FIGCAPTION]:true,[a.FIGURE]:true,[a.FOOTER]:true,[a.FORM]:true,[a.FRAME]:true,[a.FRAMESET]:true,[a.H1]:true,[a.H2]:true,[a.H3]:true,[a.H4]:true,[a.H5]:true,[a.H6]:true,[a.HEAD]:true,[a.HEADER]:true,[a.HGROUP]:true,[a.HR]:true,[a.HTML]:true,[a.IFRAME]:true,[a.IMG]:true,[a.INPUT]:true,[a.LI]:true,[a.LINK]:true,[a.LISTING]:true,[a.MAIN]:true,[a.MARQUEE]:true,[a.MENU]:true,[a.META]:true,[a.NAV]:true,[a.NOEMBED]:true,[a.NOFRAMES]:true,[a.NOSCRIPT]:true,[a.OBJECT]:true,[a.OL]:true,[a.P]:true,[a.PARAM]:true,[a.PLAINTEXT]:true,[a.PRE]:true,[a.SCRIPT]:true,[a.SECTION]:true,[a.SELECT]:true,[a.SOURCE]:true,[a.STYLE]:true,[a.SUMMARY]:true,[a.TABLE]:true,[a.TBODY]:true,[a.TD]:true,[a.TEMPLATE]:true,[a.TEXTAREA]:true,[a.TFOOT]:true,[a.TH]:true,[a.THEAD]:true,[a.TITLE]:true,[a.TR]:true,[a.TRACK]:true,[a.UL]:true,[a.WBR]:true,[a.XMP]:true},[r.MATHML]:{[a.MI]:true,[a.MO]:true,[a.MN]:true,[a.MS]:true,[a.MTEXT]:true,[a.ANNOTATION_XML]:true},[r.SVG]:{[a.TITLE]:true,[a.FOREIGN_OBJECT]:true,[a.DESC]:true}}},9481:(e,t)=>{const r=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="�";t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533};t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]};t.isSurrogate=function(e){return e>=55296&&e<=57343};t.isSurrogatePair=function(e){return e>=56320&&e<=57343};t.getSurrogatePairCodePoint=function(e,t){return(e-55296)*1024+9216+t};t.isControlCodePoint=function(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159};t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||r.indexOf(e)>-1}},6558:(e,t,r)=>{const a=r(2079);class ErrorReportingMixinBase extends a{constructor(e,t){super(e);this.posTracker=null;this.onParseError=t.onParseError}_setErrorLocation(e){e.startLine=e.endLine=this.posTracker.line;e.startCol=e.endCol=this.posTracker.col;e.startOffset=e.endOffset=this.posTracker.offset}_reportError(e){const t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t);this.onParseError(t)}_getOverriddenMethods(e){return{_err(t){e._reportError(t)}}}}e.exports=ErrorReportingMixinBase},8910:(e,t,r)=>{const a=r(6558);const n=r(9971);const i=r(2777);const o=r(2079);class ErrorReportingParserMixin extends a{constructor(e,t){super(e,t);this.opts=t;this.ctLoc=null;this.locBeforeToken=false}_setErrorLocation(e){if(this.ctLoc){e.startLine=this.ctLoc.startLine;e.startCol=this.ctLoc.startCol;e.startOffset=this.ctLoc.startOffset;e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine;e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol;e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset}}_getOverriddenMethods(e,t){return{_bootstrap(r,a){t._bootstrap.call(this,r,a);o.install(this.tokenizer,n,e.opts);o.install(this.tokenizer,i)},_processInputToken(r){e.ctLoc=r.location;t._processInputToken.call(this,r)},_err(t,r){e.locBeforeToken=r&&r.beforeToken;e._reportError(t)}}}}e.exports=ErrorReportingParserMixin},1071:(e,t,r)=>{const a=r(6558);const n=r(3340);const i=r(2079);class ErrorReportingPreprocessorMixin extends a{constructor(e,t){super(e,t);this.posTracker=i.install(e,n);this.lastErrOffset=-1}_reportError(e){if(this.lastErrOffset!==this.posTracker.offset){this.lastErrOffset=this.posTracker.offset;super._reportError(e)}}}e.exports=ErrorReportingPreprocessorMixin},9971:(e,t,r)=>{const a=r(6558);const n=r(1071);const i=r(2079);class ErrorReportingTokenizerMixin extends a{constructor(e,t){super(e,t);const r=i.install(e.preprocessor,n,t);this.posTracker=r.posTracker}}e.exports=ErrorReportingTokenizerMixin},7253:(e,t,r)=>{const a=r(2079);class LocationInfoOpenElementStackMixin extends a{constructor(e,t){super(e);this.onItemPop=t.onItemPop}_getOverriddenMethods(e,t){return{pop(){e.onItemPop(this.current);t.pop.call(this)},popAllUpToHtmlElement(){for(let t=this.stackTop;t>0;t--){e.onItemPop(this.items[t])}t.popAllUpToHtmlElement.call(this)},remove(r){e.onItemPop(this.current);t.remove.call(this,r)}}}}e.exports=LocationInfoOpenElementStackMixin},3647:(e,t,r)=>{const a=r(2079);const n=r(5759);const i=r(2777);const o=r(7253);const s=r(9338);const p=s.TAG_NAMES;class LocationInfoParserMixin extends a{constructor(e){super(e);this.parser=e;this.treeAdapter=this.parser.treeAdapter;this.posTracker=null;this.lastStartTagToken=null;this.lastFosterParentingLocation=null;this.currentToken=null}_setStartLocation(e){let t=null;if(this.lastStartTagToken){t=Object.assign({},this.lastStartTagToken.location);t.startTag=this.lastStartTagToken.location}this.treeAdapter.setNodeSourceCodeLocation(e,t)}_setEndLocation(e,t){const r=this.treeAdapter.getNodeSourceCodeLocation(e);if(r){if(t.location){const a=t.location;const i=this.treeAdapter.getTagName(e);const o=t.type===n.END_TAG_TOKEN&&i===t.tagName;if(o){r.endTag=Object.assign({},a);r.endLine=a.endLine;r.endCol=a.endCol;r.endOffset=a.endOffset}else{r.endLine=a.startLine;r.endCol=a.startCol;r.endOffset=a.startOffset}}}}_getOverriddenMethods(e,t){return{_bootstrap(r,n){t._bootstrap.call(this,r,n);e.lastStartTagToken=null;e.lastFosterParentingLocation=null;e.currentToken=null;const s=a.install(this.tokenizer,i);e.posTracker=s.posTracker;a.install(this.openElements,o,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop(r){t._runParsingLoop.call(this,r);for(let t=this.openElements.stackTop;t>=0;t--){e._setEndLocation(this.openElements.items[t],e.currentToken)}},_processTokenInForeignContent(r){e.currentToken=r;t._processTokenInForeignContent.call(this,r)},_processToken(r){e.currentToken=r;t._processToken.call(this,r);const a=r.type===n.END_TAG_TOKEN&&(r.tagName===p.HTML||r.tagName===p.BODY&&this.openElements.hasInScope(p.BODY));if(a){for(let t=this.openElements.stackTop;t>=0;t--){const a=this.openElements.items[t];if(this.treeAdapter.getTagName(a)===r.tagName){e._setEndLocation(a,r);break}}}},_setDocumentType(e){t._setDocumentType.call(this,e);const r=this.treeAdapter.getChildNodes(this.document);const a=r.length;for(let t=0;t{const a=r(2079);const n=r(5759);const i=r(3340);class LocationInfoTokenizerMixin extends a{constructor(e){super(e);this.tokenizer=e;this.posTracker=a.install(e.preprocessor,i);this.currentAttrLocation=null;this.ctLoc=null}_getCurrentLocation(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}_attachCurrentAttrLocationInfo(){this.currentAttrLocation.endLine=this.posTracker.line;this.currentAttrLocation.endCol=this.posTracker.col;this.currentAttrLocation.endOffset=this.posTracker.offset;const e=this.tokenizer.currentToken;const t=this.tokenizer.currentAttr;if(!e.location.attrs){e.location.attrs=Object.create(null)}e.location.attrs[t.name]=this.currentAttrLocation}_getOverriddenMethods(e,t){const r={_createStartTagToken(){t._createStartTagToken.call(this);this.currentToken.location=e.ctLoc},_createEndTagToken(){t._createEndTagToken.call(this);this.currentToken.location=e.ctLoc},_createCommentToken(){t._createCommentToken.call(this);this.currentToken.location=e.ctLoc},_createDoctypeToken(r){t._createDoctypeToken.call(this,r);this.currentToken.location=e.ctLoc},_createCharacterToken(r,a){t._createCharacterToken.call(this,r,a);this.currentCharacterToken.location=e.ctLoc},_createEOFToken(){t._createEOFToken.call(this);this.currentToken.location=e._getCurrentLocation()},_createAttr(r){t._createAttr.call(this,r);e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName(r){t._leaveAttrName.call(this,r);e._attachCurrentAttrLocationInfo()},_leaveAttrValue(r){t._leaveAttrValue.call(this,r);e._attachCurrentAttrLocationInfo()},_emitCurrentToken(){const r=this.currentToken.location;if(this.currentCharacterToken){this.currentCharacterToken.location.endLine=r.startLine;this.currentCharacterToken.location.endCol=r.startCol;this.currentCharacterToken.location.endOffset=r.startOffset}if(this.currentToken.type===n.EOF_TOKEN){r.endLine=r.startLine;r.endCol=r.startCol;r.endOffset=r.startOffset}else{r.endLine=e.posTracker.line;r.endCol=e.posTracker.col+1;r.endOffset=e.posTracker.offset+1}t._emitCurrentToken.call(this)},_emitCurrentCharacterToken(){const r=this.currentCharacterToken&&this.currentCharacterToken.location;if(r&&r.endOffset===-1){r.endLine=e.posTracker.line;r.endCol=e.posTracker.col;r.endOffset=e.posTracker.offset}t._emitCurrentCharacterToken.call(this)}};Object.keys(n.MODE).forEach((a=>{const i=n.MODE[a];r[i]=function(r){e.ctLoc=e._getCurrentLocation();t[i].call(this,r)}}));return r}}e.exports=LocationInfoTokenizerMixin},3340:(e,t,r)=>{const a=r(2079);class PositionTrackingPreprocessorMixin extends a{constructor(e){super(e);this.preprocessor=e;this.isEol=false;this.lineStartPos=0;this.droppedBufferSize=0;this.offset=0;this.col=0;this.line=1}_getOverriddenMethods(e,t){return{advance(){const r=this.pos+1;const a=this.html[r];if(e.isEol){e.isEol=false;e.line++;e.lineStartPos=r}if(a==="\n"||a==="\r"&&this.html[r+1]!=="\n"){e.isEol=true}e.col=r-e.lineStartPos+1;e.offset=e.droppedBufferSize+r;return t.advance.call(this)},retreat(){t.retreat.call(this);e.isEol=false;e.col=this.pos-e.lineStartPos+1},dropParsedChunk(){const r=this.pos;t.dropParsedChunk.call(this);const a=r-this.pos;e.lineStartPos-=a;e.droppedBufferSize+=a;e.offset=e.droppedBufferSize+this.pos}}}}e.exports=PositionTrackingPreprocessorMixin},9819:e=>{const t=3;class FormattingElementList{constructor(e){this.length=0;this.entries=[];this.treeAdapter=e;this.bookmark=null}_getNoahArkConditionCandidates(e){const r=[];if(this.length>=t){const t=this.treeAdapter.getAttrList(e).length;const a=this.treeAdapter.getTagName(e);const n=this.treeAdapter.getNamespaceURI(e);for(let e=this.length-1;e>=0;e--){const i=this.entries[e];if(i.type===FormattingElementList.MARKER_ENTRY){break}const o=i.element;const s=this.treeAdapter.getAttrList(o);const p=this.treeAdapter.getTagName(o)===a&&this.treeAdapter.getNamespaceURI(o)===n&&s.length===t;if(p){r.push({idx:e,attrs:s})}}}return r.length=t-1;e--){this.entries.splice(r[e].idx,1);this.length--}}}insertMarker(){this.entries.push({type:FormattingElementList.MARKER_ENTRY});this.length++}pushElement(e,t){this._ensureNoahArkCondition(e);this.entries.push({type:FormattingElementList.ELEMENT_ENTRY,element:e,token:t});this.length++}insertElementAfterBookmark(e,t){let r=this.length-1;for(;r>=0;r--){if(this.entries[r]===this.bookmark){break}}this.entries.splice(r+1,0,{type:FormattingElementList.ELEMENT_ENTRY,element:e,token:t});this.length++}removeEntry(e){for(let t=this.length-1;t>=0;t--){if(this.entries[t]===e){this.entries.splice(t,1);this.length--;break}}}clearToLastMarker(){while(this.length){const e=this.entries.pop();this.length--;if(e.type===FormattingElementList.MARKER_ENTRY){break}}}getElementEntryInScopeWithTagName(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===FormattingElementList.MARKER_ENTRY){return null}if(this.treeAdapter.getTagName(r.element)===e){return r}}return null}getElementEntry(e){for(let t=this.length-1;t>=0;t--){const r=this.entries[t];if(r.type===FormattingElementList.ELEMENT_ENTRY&&r.element===e){return r}}return null}}FormattingElementList.MARKER_ENTRY="MARKER_ENTRY";FormattingElementList.ELEMENT_ENTRY="ELEMENT_ENTRY";e.exports=FormattingElementList},1554:(e,t,r)=>{const a=r(5759);const n=r(4813);const i=r(9819);const o=r(3647);const s=r(8910);const p=r(2079);const d=r(6306);const l=r(2772);const c=r(7079);const m=r(2526);const g=r(5906);const v=r(9481);const T=r(9338);const E=T.TAG_NAMES;const _=T.NAMESPACES;const w=T.ATTRS;const A={scriptingEnabled:true,sourceCodeLocationInfo:false,onParseError:null,treeAdapter:d};const b="hidden";const y=8;const S=3;const C="INITIAL_MODE";const k="BEFORE_HTML_MODE";const N="BEFORE_HEAD_MODE";const D="IN_HEAD_MODE";const O="IN_HEAD_NO_SCRIPT_MODE";const R="AFTER_HEAD_MODE";const I="IN_BODY_MODE";const P="TEXT_MODE";const L="IN_TABLE_MODE";const x="IN_TABLE_TEXT_MODE";const F="IN_CAPTION_MODE";const M="IN_COLUMN_GROUP_MODE";const B="IN_TABLE_BODY_MODE";const U="IN_ROW_MODE";const G="IN_CELL_MODE";const H="IN_SELECT_MODE";const V="IN_SELECT_IN_TABLE_MODE";const q="IN_TEMPLATE_MODE";const j="AFTER_BODY_MODE";const K="IN_FRAMESET_MODE";const z="AFTER_FRAMESET_MODE";const W="AFTER_AFTER_BODY_MODE";const Y="AFTER_AFTER_FRAMESET_MODE";const $={[E.TR]:U,[E.TBODY]:B,[E.THEAD]:B,[E.TFOOT]:B,[E.CAPTION]:F,[E.COLGROUP]:M,[E.TABLE]:L,[E.BODY]:I,[E.FRAMESET]:K};const Q={[E.CAPTION]:L,[E.COLGROUP]:L,[E.TBODY]:L,[E.TFOOT]:L,[E.THEAD]:L,[E.COL]:M,[E.TR]:B,[E.TD]:U,[E.TH]:U};const X={[C]:{[a.CHARACTER_TOKEN]:tokenInInitialMode,[a.NULL_CHARACTER_TOKEN]:tokenInInitialMode,[a.WHITESPACE_CHARACTER_TOKEN]:ignoreToken,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:doctypeInInitialMode,[a.START_TAG_TOKEN]:tokenInInitialMode,[a.END_TAG_TOKEN]:tokenInInitialMode,[a.EOF_TOKEN]:tokenInInitialMode},[k]:{[a.CHARACTER_TOKEN]:tokenBeforeHtml,[a.NULL_CHARACTER_TOKEN]:tokenBeforeHtml,[a.WHITESPACE_CHARACTER_TOKEN]:ignoreToken,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagBeforeHtml,[a.END_TAG_TOKEN]:endTagBeforeHtml,[a.EOF_TOKEN]:tokenBeforeHtml},[N]:{[a.CHARACTER_TOKEN]:tokenBeforeHead,[a.NULL_CHARACTER_TOKEN]:tokenBeforeHead,[a.WHITESPACE_CHARACTER_TOKEN]:ignoreToken,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagBeforeHead,[a.END_TAG_TOKEN]:endTagBeforeHead,[a.EOF_TOKEN]:tokenBeforeHead},[D]:{[a.CHARACTER_TOKEN]:tokenInHead,[a.NULL_CHARACTER_TOKEN]:tokenInHead,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagInHead,[a.END_TAG_TOKEN]:endTagInHead,[a.EOF_TOKEN]:tokenInHead},[O]:{[a.CHARACTER_TOKEN]:tokenInHeadNoScript,[a.NULL_CHARACTER_TOKEN]:tokenInHeadNoScript,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagInHeadNoScript,[a.END_TAG_TOKEN]:endTagInHeadNoScript,[a.EOF_TOKEN]:tokenInHeadNoScript},[R]:{[a.CHARACTER_TOKEN]:tokenAfterHead,[a.NULL_CHARACTER_TOKEN]:tokenAfterHead,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:misplacedDoctype,[a.START_TAG_TOKEN]:startTagAfterHead,[a.END_TAG_TOKEN]:endTagAfterHead,[a.EOF_TOKEN]:tokenAfterHead},[I]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInBody,[a.END_TAG_TOKEN]:endTagInBody,[a.EOF_TOKEN]:eofInBody},[P]:{[a.CHARACTER_TOKEN]:insertCharacters,[a.NULL_CHARACTER_TOKEN]:insertCharacters,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:ignoreToken,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:ignoreToken,[a.END_TAG_TOKEN]:endTagInText,[a.EOF_TOKEN]:eofInText},[L]:{[a.CHARACTER_TOKEN]:characterInTable,[a.NULL_CHARACTER_TOKEN]:characterInTable,[a.WHITESPACE_CHARACTER_TOKEN]:characterInTable,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInTable,[a.END_TAG_TOKEN]:endTagInTable,[a.EOF_TOKEN]:eofInBody},[x]:{[a.CHARACTER_TOKEN]:characterInTableText,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInTableText,[a.COMMENT_TOKEN]:tokenInTableText,[a.DOCTYPE_TOKEN]:tokenInTableText,[a.START_TAG_TOKEN]:tokenInTableText,[a.END_TAG_TOKEN]:tokenInTableText,[a.EOF_TOKEN]:tokenInTableText},[F]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInCaption,[a.END_TAG_TOKEN]:endTagInCaption,[a.EOF_TOKEN]:eofInBody},[M]:{[a.CHARACTER_TOKEN]:tokenInColumnGroup,[a.NULL_CHARACTER_TOKEN]:tokenInColumnGroup,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInColumnGroup,[a.END_TAG_TOKEN]:endTagInColumnGroup,[a.EOF_TOKEN]:eofInBody},[B]:{[a.CHARACTER_TOKEN]:characterInTable,[a.NULL_CHARACTER_TOKEN]:characterInTable,[a.WHITESPACE_CHARACTER_TOKEN]:characterInTable,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInTableBody,[a.END_TAG_TOKEN]:endTagInTableBody,[a.EOF_TOKEN]:eofInBody},[U]:{[a.CHARACTER_TOKEN]:characterInTable,[a.NULL_CHARACTER_TOKEN]:characterInTable,[a.WHITESPACE_CHARACTER_TOKEN]:characterInTable,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInRow,[a.END_TAG_TOKEN]:endTagInRow,[a.EOF_TOKEN]:eofInBody},[G]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInCell,[a.END_TAG_TOKEN]:endTagInCell,[a.EOF_TOKEN]:eofInBody},[H]:{[a.CHARACTER_TOKEN]:insertCharacters,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInSelect,[a.END_TAG_TOKEN]:endTagInSelect,[a.EOF_TOKEN]:eofInBody},[V]:{[a.CHARACTER_TOKEN]:insertCharacters,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInSelectInTable,[a.END_TAG_TOKEN]:endTagInSelectInTable,[a.EOF_TOKEN]:eofInBody},[q]:{[a.CHARACTER_TOKEN]:characterInBody,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInTemplate,[a.END_TAG_TOKEN]:endTagInTemplate,[a.EOF_TOKEN]:eofInTemplate},[j]:{[a.CHARACTER_TOKEN]:tokenAfterBody,[a.NULL_CHARACTER_TOKEN]:tokenAfterBody,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendCommentToRootHtmlElement,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterBody,[a.END_TAG_TOKEN]:endTagAfterBody,[a.EOF_TOKEN]:stopParsing},[K]:{[a.CHARACTER_TOKEN]:ignoreToken,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagInFrameset,[a.END_TAG_TOKEN]:endTagInFrameset,[a.EOF_TOKEN]:stopParsing},[z]:{[a.CHARACTER_TOKEN]:ignoreToken,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:insertCharacters,[a.COMMENT_TOKEN]:appendComment,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterFrameset,[a.END_TAG_TOKEN]:endTagAfterFrameset,[a.EOF_TOKEN]:stopParsing},[W]:{[a.CHARACTER_TOKEN]:tokenAfterAfterBody,[a.NULL_CHARACTER_TOKEN]:tokenAfterAfterBody,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendCommentToDocument,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterAfterBody,[a.END_TAG_TOKEN]:tokenAfterAfterBody,[a.EOF_TOKEN]:stopParsing},[Y]:{[a.CHARACTER_TOKEN]:ignoreToken,[a.NULL_CHARACTER_TOKEN]:ignoreToken,[a.WHITESPACE_CHARACTER_TOKEN]:whitespaceCharacterInBody,[a.COMMENT_TOKEN]:appendCommentToDocument,[a.DOCTYPE_TOKEN]:ignoreToken,[a.START_TAG_TOKEN]:startTagAfterAfterFrameset,[a.END_TAG_TOKEN]:ignoreToken,[a.EOF_TOKEN]:stopParsing}};class Parser{constructor(e){this.options=l(A,e);this.treeAdapter=this.options.treeAdapter;this.pendingScript=null;if(this.options.sourceCodeLocationInfo){p.install(this,o)}if(this.options.onParseError){p.install(this,s,{onParseError:this.options.onParseError})}}parse(e){const t=this.treeAdapter.createDocument();this._bootstrap(t,null);this.tokenizer.write(e,true);this._runParsingLoop(null);return t}parseFragment(e,t){if(!t){t=this.treeAdapter.createElement(E.TEMPLATE,_.HTML,[])}const r=this.treeAdapter.createElement("documentmock",_.HTML,[]);this._bootstrap(r,t);if(this.treeAdapter.getTagName(t)===E.TEMPLATE){this._pushTmplInsertionMode(q)}this._initTokenizerForFragmentParsing();this._insertFakeRootElement();this._resetInsertionMode();this._findFormInFragmentContext();this.tokenizer.write(e,true);this._runParsingLoop(null);const a=this.treeAdapter.getFirstChild(r);const n=this.treeAdapter.createDocumentFragment();this._adoptNodes(a,n);return n}_bootstrap(e,t){this.tokenizer=new a(this.options);this.stopped=false;this.insertionMode=C;this.originalInsertionMode="";this.document=e;this.fragmentContext=t;this.headElement=null;this.formElement=null;this.openElements=new n(this.document,this.treeAdapter);this.activeFormattingElements=new i(this.treeAdapter);this.tmplInsertionModeStack=[];this.tmplInsertionModeStackTop=-1;this.currentTmplInsertionMode=null;this.pendingCharacterTokens=[];this.hasNonWhitespacePendingCharacterToken=false;this.framesetOk=true;this.skipNextNewLine=false;this.fosterParentingEnabled=false}_err(){}_runParsingLoop(e){while(!this.stopped){this._setupTokenizerCDATAMode();const t=this.tokenizer.getNextToken();if(t.type===a.HIBERNATION_TOKEN){break}if(this.skipNextNewLine){this.skipNextNewLine=false;if(t.type===a.WHITESPACE_CHARACTER_TOKEN&&t.chars[0]==="\n"){if(t.chars.length===1){continue}t.chars=t.chars.substr(1)}}this._processInputToken(t);if(e&&this.pendingScript){break}}}runParsingLoopForCurrentChunk(e,t){this._runParsingLoop(t);if(t&&this.pendingScript){const e=this.pendingScript;this.pendingScript=null;t(e);return}if(e){e()}}_setupTokenizerCDATAMode(){const e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==_.HTML&&!this._isIntegrationPoint(e)}_switchToTextParsing(e,t){this._insertElement(e,_.HTML);this.tokenizer.state=t;this.originalInsertionMode=this.insertionMode;this.insertionMode=P}switchToPlaintextParsing(){this.insertionMode=P;this.originalInsertionMode=I;this.tokenizer.state=a.MODE.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===E.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}_initTokenizerForFragmentParsing(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===_.HTML){const e=this.treeAdapter.getTagName(this.fragmentContext);if(e===E.TITLE||e===E.TEXTAREA){this.tokenizer.state=a.MODE.RCDATA}else if(e===E.STYLE||e===E.XMP||e===E.IFRAME||e===E.NOEMBED||e===E.NOFRAMES||e===E.NOSCRIPT){this.tokenizer.state=a.MODE.RAWTEXT}else if(e===E.SCRIPT){this.tokenizer.state=a.MODE.SCRIPT_DATA}else if(e===E.PLAINTEXT){this.tokenizer.state=a.MODE.PLAINTEXT}}}_setDocumentType(e){const t=e.name||"";const r=e.publicId||"";const a=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,r,a)}_attachElementToTree(e){if(this._shouldFosterParentOnInsertion()){this._fosterParentElement(e)}else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r)}_insertElement(e,t){const r=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(r);this.openElements.push(r)}_insertFakeElement(e){const t=this.treeAdapter.createElement(e,_.HTML,[]);this._attachElementToTree(t);this.openElements.push(t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,_.HTML,e.attrs);const r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,r);this._attachElementToTree(t);this.openElements.push(t)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(E.HTML,_.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e);this.openElements.push(e)}_appendCommentNode(e,t){const r=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,r)}_insertCharacters(e){if(this._shouldFosterParentOnInsertion()){this._fosterParentText(e.chars)}else{const t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}_adoptNodes(e,t){for(let r=this.treeAdapter.getFirstChild(e);r;r=this.treeAdapter.getFirstChild(e)){this.treeAdapter.detachNode(r);this.treeAdapter.appendChild(t,r)}}_shouldProcessTokenInForeignContent(e){const t=this._getAdjustedCurrentElement();if(!t||t===this.document){return false}const r=this.treeAdapter.getNamespaceURI(t);if(r===_.HTML){return false}if(this.treeAdapter.getTagName(t)===E.ANNOTATION_XML&&r===_.MATHML&&e.type===a.START_TAG_TOKEN&&e.tagName===E.SVG){return false}const n=e.type===a.CHARACTER_TOKEN||e.type===a.NULL_CHARACTER_TOKEN||e.type===a.WHITESPACE_CHARACTER_TOKEN;const i=e.type===a.START_TAG_TOKEN&&e.tagName!==E.MGLYPH&&e.tagName!==E.MALIGNMARK;if((i||n)&&this._isIntegrationPoint(t,_.MATHML)){return false}if((e.type===a.START_TAG_TOKEN||n)&&this._isIntegrationPoint(t,_.HTML)){return false}return e.type!==a.EOF_TOKEN}_processToken(e){X[this.insertionMode][e.type](this,e)}_processTokenInBodyMode(e){X[I][e.type](this,e)}_processTokenInForeignContent(e){if(e.type===a.CHARACTER_TOKEN){characterInForeignContent(this,e)}else if(e.type===a.NULL_CHARACTER_TOKEN){nullCharacterInForeignContent(this,e)}else if(e.type===a.WHITESPACE_CHARACTER_TOKEN){insertCharacters(this,e)}else if(e.type===a.COMMENT_TOKEN){appendComment(this,e)}else if(e.type===a.START_TAG_TOKEN){startTagInForeignContent(this,e)}else if(e.type===a.END_TAG_TOKEN){endTagInForeignContent(this,e)}}_processInputToken(e){if(this._shouldProcessTokenInForeignContent(e)){this._processTokenInForeignContent(e)}else{this._processToken(e)}if(e.type===a.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing){this._err(g.nonVoidHtmlElementStartTagWithTrailingSolidus)}}_isIntegrationPoint(e,t){const r=this.treeAdapter.getTagName(e);const a=this.treeAdapter.getNamespaceURI(e);const n=this.treeAdapter.getAttrList(e);return m.isIntegrationPoint(r,a,n,t)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.length;if(e){let t=e;let r=null;do{t--;r=this.activeFormattingElements.entries[t];if(r.type===i.MARKER_ENTRY||this.openElements.contains(r.element)){t++;break}}while(t>0);for(let a=t;a=0;e--){let r=this.openElements.items[e];if(e===0){t=true;if(this.fragmentContext){r=this.fragmentContext}}const a=this.treeAdapter.getTagName(r);const n=$[a];if(n){this.insertionMode=n;break}else if(!t&&(a===E.TD||a===E.TH)){this.insertionMode=G;break}else if(!t&&a===E.HEAD){this.insertionMode=D;break}else if(a===E.SELECT){this._resetInsertionModeForSelect(e);break}else if(a===E.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}else if(a===E.HTML){this.insertionMode=this.headElement?R:N;break}else if(t){this.insertionMode=I;break}}}_resetInsertionModeForSelect(e){if(e>0){for(let t=e-1;t>0;t--){const e=this.openElements.items[t];const r=this.treeAdapter.getTagName(e);if(r===E.TEMPLATE){break}else if(r===E.TABLE){this.insertionMode=V;return}}}this.insertionMode=H}_pushTmplInsertionMode(e){this.tmplInsertionModeStack.push(e);this.tmplInsertionModeStackTop++;this.currentTmplInsertionMode=e}_popTmplInsertionMode(){this.tmplInsertionModeStack.pop();this.tmplInsertionModeStackTop--;this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}_isElementCausesFosterParenting(e){const t=this.treeAdapter.getTagName(e);return t===E.TABLE||t===E.TBODY||t===E.TFOOT||t===E.THEAD||t===E.TR}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}_findFosterParentingLocation(){const e={parent:null,beforeElement:null};for(let t=this.openElements.stackTop;t>=0;t--){const r=this.openElements.items[t];const a=this.treeAdapter.getTagName(r);const n=this.treeAdapter.getNamespaceURI(r);if(a===E.TEMPLATE&&n===_.HTML){e.parent=this.treeAdapter.getTemplateContent(r);break}else if(a===E.TABLE){e.parent=this.treeAdapter.getParentNode(r);if(e.parent){e.beforeElement=r}else{e.parent=this.openElements.items[t-1]}break}}if(!e.parent){e.parent=this.openElements.items[0]}return e}_fosterParentElement(e){const t=this._findFosterParentingLocation();if(t.beforeElement){this.treeAdapter.insertBefore(t.parent,e,t.beforeElement)}else{this.treeAdapter.appendChild(t.parent,e)}}_fosterParentText(e){const t=this._findFosterParentingLocation();if(t.beforeElement){this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement)}else{this.treeAdapter.insertText(t.parent,e)}}_isSpecialElement(e){const t=this.treeAdapter.getTagName(e);const r=this.treeAdapter.getNamespaceURI(e);return T.SPECIAL_ELEMENTS[r][t]}}e.exports=Parser;function aaObtainFormattingElementEntry(e,t){let r=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);if(r){if(!e.openElements.contains(r.element)){e.activeFormattingElements.removeEntry(r);r=null}else if(!e.openElements.hasInScope(t.tagName)){r=null}}else{genericEndTagInBody(e,t)}return r}function aaObtainFurthestBlock(e,t){let r=null;for(let a=e.openElements.stackTop;a>=0;a--){const n=e.openElements.items[a];if(n===t.element){break}if(e._isSpecialElement(n)){r=n}}if(!r){e.openElements.popUntilElementPopped(t.element);e.activeFormattingElements.removeEntry(t)}return r}function aaInnerLoop(e,t,r){let a=t;let n=e.openElements.getCommonAncestor(t);for(let i=0,o=n;o!==r;i++,o=n){n=e.openElements.getCommonAncestor(o);const r=e.activeFormattingElements.getElementEntry(o);const s=r&&i>=S;const p=!r||s;if(p){if(s){e.activeFormattingElements.removeEntry(r)}e.openElements.remove(o)}else{o=aaRecreateElementFromEntry(e,r);if(a===t){e.activeFormattingElements.bookmark=r}e.treeAdapter.detachNode(a);e.treeAdapter.appendChild(o,a);a=o}}return a}function aaRecreateElementFromEntry(e,t){const r=e.treeAdapter.getNamespaceURI(t.element);const a=e.treeAdapter.createElement(t.token.tagName,r,t.token.attrs);e.openElements.replace(t.element,a);t.element=a;return a}function aaInsertLastNodeInCommonAncestor(e,t,r){if(e._isElementCausesFosterParenting(t)){e._fosterParentElement(r)}else{const a=e.treeAdapter.getTagName(t);const n=e.treeAdapter.getNamespaceURI(t);if(a===E.TEMPLATE&&n===_.HTML){t=e.treeAdapter.getTemplateContent(t)}e.treeAdapter.appendChild(t,r)}}function aaReplaceFormattingElement(e,t,r){const a=e.treeAdapter.getNamespaceURI(r.element);const n=r.token;const i=e.treeAdapter.createElement(n.tagName,a,n.attrs);e._adoptNodes(t,i);e.treeAdapter.appendChild(t,i);e.activeFormattingElements.insertElementAfterBookmark(i,r.token);e.activeFormattingElements.removeEntry(r);e.openElements.remove(r.element);e.openElements.insertAfter(t,i)}function callAdoptionAgency(e,t){let r;for(let a=0;a0){e.openElements.generateImpliedEndTagsThoroughly();if(e.openElements.currentTagName!==E.TEMPLATE){e._err(g.closingOfElementWithOpenChildElements)}e.openElements.popUntilTagNamePopped(E.TEMPLATE);e.activeFormattingElements.clearToLastMarker();e._popTmplInsertionMode();e._resetInsertionMode()}else{e._err(g.endTagWithoutMatchingOpenElement)}}else{e._err(g.endTagWithoutMatchingOpenElement)}}function tokenInHead(e,t){e.openElements.pop();e.insertionMode=R;e._processToken(t)}function startTagInHeadNoScript(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.BASEFONT||r===E.BGSOUND||r===E.HEAD||r===E.LINK||r===E.META||r===E.NOFRAMES||r===E.STYLE){startTagInHead(e,t)}else if(r===E.NOSCRIPT){e._err(g.nestedNoscriptInHead)}else{tokenInHeadNoScript(e,t)}}function endTagInHeadNoScript(e,t){const r=t.tagName;if(r===E.NOSCRIPT){e.openElements.pop();e.insertionMode=D}else if(r===E.BR){tokenInHeadNoScript(e,t)}else{e._err(g.endTagWithoutMatchingOpenElement)}}function tokenInHeadNoScript(e,t){const r=t.type===a.EOF_TOKEN?g.openElementsLeftAfterEof:g.disallowedContentInNoscriptInHead;e._err(r);e.openElements.pop();e.insertionMode=D;e._processToken(t)}function startTagAfterHead(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.BODY){e._insertElement(t,_.HTML);e.framesetOk=false;e.insertionMode=I}else if(r===E.FRAMESET){e._insertElement(t,_.HTML);e.insertionMode=K}else if(r===E.BASE||r===E.BASEFONT||r===E.BGSOUND||r===E.LINK||r===E.META||r===E.NOFRAMES||r===E.SCRIPT||r===E.STYLE||r===E.TEMPLATE||r===E.TITLE){e._err(g.abandonedHeadElementChild);e.openElements.push(e.headElement);startTagInHead(e,t);e.openElements.remove(e.headElement)}else if(r===E.HEAD){e._err(g.misplacedStartTagForHeadElement)}else{tokenAfterHead(e,t)}}function endTagAfterHead(e,t){const r=t.tagName;if(r===E.BODY||r===E.HTML||r===E.BR){tokenAfterHead(e,t)}else if(r===E.TEMPLATE){endTagInHead(e,t)}else{e._err(g.endTagWithoutMatchingOpenElement)}}function tokenAfterHead(e,t){e._insertFakeElement(E.BODY);e.insertionMode=I;e._processToken(t)}function whitespaceCharacterInBody(e,t){e._reconstructActiveFormattingElements();e._insertCharacters(t)}function characterInBody(e,t){e._reconstructActiveFormattingElements();e._insertCharacters(t);e.framesetOk=false}function htmlStartTagInBody(e,t){if(e.openElements.tmplCount===0){e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}}function bodyStartTagInBody(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();if(r&&e.openElements.tmplCount===0){e.framesetOk=false;e.treeAdapter.adoptAttributes(r,t.attrs)}}function framesetStartTagInBody(e,t){const r=e.openElements.tryPeekProperlyNestedBodyElement();if(e.framesetOk&&r){e.treeAdapter.detachNode(r);e.openElements.popAllUpToHtmlElement();e._insertElement(t,_.HTML);e.insertionMode=K}}function addressStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML)}function numberedHeaderStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}const r=e.openElements.currentTagName;if(r===E.H1||r===E.H2||r===E.H3||r===E.H4||r===E.H5||r===E.H6){e.openElements.pop()}e._insertElement(t,_.HTML)}function preStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);e.skipNextNewLine=true;e.framesetOk=false}function formStartTagInBody(e,t){const r=e.openElements.tmplCount>0;if(!e.formElement||r){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);if(!r){e.formElement=e.openElements.current}}}function listItemStartTagInBody(e,t){e.framesetOk=false;const r=t.tagName;for(let t=e.openElements.stackTop;t>=0;t--){const a=e.openElements.items[t];const n=e.treeAdapter.getTagName(a);let i=null;if(r===E.LI&&n===E.LI){i=E.LI}else if((r===E.DD||r===E.DT)&&(n===E.DD||n===E.DT)){i=n}if(i){e.openElements.generateImpliedEndTagsWithExclusion(i);e.openElements.popUntilTagNamePopped(i);break}if(n!==E.ADDRESS&&n!==E.DIV&&n!==E.P&&e._isSpecialElement(a)){break}}if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML)}function plaintextStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);e.tokenizer.state=a.MODE.PLAINTEXT}function buttonStartTagInBody(e,t){if(e.openElements.hasInScope(E.BUTTON)){e.openElements.generateImpliedEndTags();e.openElements.popUntilTagNamePopped(E.BUTTON)}e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.framesetOk=false}function aStartTagInBody(e,t){const r=e.activeFormattingElements.getElementEntryInScopeWithTagName(E.A);if(r){callAdoptionAgency(e,t);e.openElements.remove(r.element);e.activeFormattingElements.removeEntry(r)}e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.activeFormattingElements.pushElement(e.openElements.current,t)}function bStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.activeFormattingElements.pushElement(e.openElements.current,t)}function nobrStartTagInBody(e,t){e._reconstructActiveFormattingElements();if(e.openElements.hasInScope(E.NOBR)){callAdoptionAgency(e,t);e._reconstructActiveFormattingElements()}e._insertElement(t,_.HTML);e.activeFormattingElements.pushElement(e.openElements.current,t)}function appletStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.activeFormattingElements.insertMarker();e.framesetOk=false}function tableStartTagInBody(e,t){if(e.treeAdapter.getDocumentMode(e.document)!==T.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML);e.framesetOk=false;e.insertionMode=L}function areaStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._appendElement(t,_.HTML);e.framesetOk=false;t.ackSelfClosing=true}function inputStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._appendElement(t,_.HTML);const r=a.getTokenAttr(t,w.TYPE);if(!r||r.toLowerCase()!==b){e.framesetOk=false}t.ackSelfClosing=true}function paramStartTagInBody(e,t){e._appendElement(t,_.HTML);t.ackSelfClosing=true}function hrStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._appendElement(t,_.HTML);e.framesetOk=false;e.ackSelfClosing=true}function imageStartTagInBody(e,t){t.tagName=E.IMG;areaStartTagInBody(e,t)}function textareaStartTagInBody(e,t){e._insertElement(t,_.HTML);e.skipNextNewLine=true;e.tokenizer.state=a.MODE.RCDATA;e.originalInsertionMode=e.insertionMode;e.framesetOk=false;e.insertionMode=P}function xmpStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._reconstructActiveFormattingElements();e.framesetOk=false;e._switchToTextParsing(t,a.MODE.RAWTEXT)}function iframeStartTagInBody(e,t){e.framesetOk=false;e._switchToTextParsing(t,a.MODE.RAWTEXT)}function noembedStartTagInBody(e,t){e._switchToTextParsing(t,a.MODE.RAWTEXT)}function selectStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML);e.framesetOk=false;if(e.insertionMode===L||e.insertionMode===F||e.insertionMode===B||e.insertionMode===U||e.insertionMode===G){e.insertionMode=V}else{e.insertionMode=H}}function optgroupStartTagInBody(e,t){if(e.openElements.currentTagName===E.OPTION){e.openElements.pop()}e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML)}function rbStartTagInBody(e,t){if(e.openElements.hasInScope(E.RUBY)){e.openElements.generateImpliedEndTags()}e._insertElement(t,_.HTML)}function rtStartTagInBody(e,t){if(e.openElements.hasInScope(E.RUBY)){e.openElements.generateImpliedEndTagsWithExclusion(E.RTC)}e._insertElement(t,_.HTML)}function menuStartTagInBody(e,t){if(e.openElements.hasInButtonScope(E.P)){e._closePElement()}e._insertElement(t,_.HTML)}function mathStartTagInBody(e,t){e._reconstructActiveFormattingElements();m.adjustTokenMathMLAttrs(t);m.adjustTokenXMLAttrs(t);if(t.selfClosing){e._appendElement(t,_.MATHML)}else{e._insertElement(t,_.MATHML)}t.ackSelfClosing=true}function svgStartTagInBody(e,t){e._reconstructActiveFormattingElements();m.adjustTokenSVGAttrs(t);m.adjustTokenXMLAttrs(t);if(t.selfClosing){e._appendElement(t,_.SVG)}else{e._insertElement(t,_.SVG)}t.ackSelfClosing=true}function genericStartTagInBody(e,t){e._reconstructActiveFormattingElements();e._insertElement(t,_.HTML)}function startTagInBody(e,t){const r=t.tagName;switch(r.length){case 1:if(r===E.I||r===E.S||r===E.B||r===E.U){bStartTagInBody(e,t)}else if(r===E.P){addressStartTagInBody(e,t)}else if(r===E.A){aStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;case 2:if(r===E.DL||r===E.OL||r===E.UL){addressStartTagInBody(e,t)}else if(r===E.H1||r===E.H2||r===E.H3||r===E.H4||r===E.H5||r===E.H6){numberedHeaderStartTagInBody(e,t)}else if(r===E.LI||r===E.DD||r===E.DT){listItemStartTagInBody(e,t)}else if(r===E.EM||r===E.TT){bStartTagInBody(e,t)}else if(r===E.BR){areaStartTagInBody(e,t)}else if(r===E.HR){hrStartTagInBody(e,t)}else if(r===E.RB){rbStartTagInBody(e,t)}else if(r===E.RT||r===E.RP){rtStartTagInBody(e,t)}else if(r!==E.TH&&r!==E.TD&&r!==E.TR){genericStartTagInBody(e,t)}break;case 3:if(r===E.DIV||r===E.DIR||r===E.NAV){addressStartTagInBody(e,t)}else if(r===E.PRE){preStartTagInBody(e,t)}else if(r===E.BIG){bStartTagInBody(e,t)}else if(r===E.IMG||r===E.WBR){areaStartTagInBody(e,t)}else if(r===E.XMP){xmpStartTagInBody(e,t)}else if(r===E.SVG){svgStartTagInBody(e,t)}else if(r===E.RTC){rbStartTagInBody(e,t)}else if(r!==E.COL){genericStartTagInBody(e,t)}break;case 4:if(r===E.HTML){htmlStartTagInBody(e,t)}else if(r===E.BASE||r===E.LINK||r===E.META){startTagInHead(e,t)}else if(r===E.BODY){bodyStartTagInBody(e,t)}else if(r===E.MAIN||r===E.MENU){addressStartTagInBody(e,t)}else if(r===E.FORM){formStartTagInBody(e,t)}else if(r===E.CODE||r===E.FONT){bStartTagInBody(e,t)}else if(r===E.NOBR){nobrStartTagInBody(e,t)}else if(r===E.AREA){areaStartTagInBody(e,t)}else if(r===E.MATH){mathStartTagInBody(e,t)}else if(r===E.MENU){menuStartTagInBody(e,t)}else if(r!==E.HEAD){genericStartTagInBody(e,t)}break;case 5:if(r===E.STYLE||r===E.TITLE){startTagInHead(e,t)}else if(r===E.ASIDE){addressStartTagInBody(e,t)}else if(r===E.SMALL){bStartTagInBody(e,t)}else if(r===E.TABLE){tableStartTagInBody(e,t)}else if(r===E.EMBED){areaStartTagInBody(e,t)}else if(r===E.INPUT){inputStartTagInBody(e,t)}else if(r===E.PARAM||r===E.TRACK){paramStartTagInBody(e,t)}else if(r===E.IMAGE){imageStartTagInBody(e,t)}else if(r!==E.FRAME&&r!==E.TBODY&&r!==E.TFOOT&&r!==E.THEAD){genericStartTagInBody(e,t)}break;case 6:if(r===E.SCRIPT){startTagInHead(e,t)}else if(r===E.CENTER||r===E.FIGURE||r===E.FOOTER||r===E.HEADER||r===E.HGROUP||r===E.DIALOG){addressStartTagInBody(e,t)}else if(r===E.BUTTON){buttonStartTagInBody(e,t)}else if(r===E.STRIKE||r===E.STRONG){bStartTagInBody(e,t)}else if(r===E.APPLET||r===E.OBJECT){appletStartTagInBody(e,t)}else if(r===E.KEYGEN){areaStartTagInBody(e,t)}else if(r===E.SOURCE){paramStartTagInBody(e,t)}else if(r===E.IFRAME){iframeStartTagInBody(e,t)}else if(r===E.SELECT){selectStartTagInBody(e,t)}else if(r===E.OPTION){optgroupStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;case 7:if(r===E.BGSOUND){startTagInHead(e,t)}else if(r===E.DETAILS||r===E.ADDRESS||r===E.ARTICLE||r===E.SECTION||r===E.SUMMARY){addressStartTagInBody(e,t)}else if(r===E.LISTING){preStartTagInBody(e,t)}else if(r===E.MARQUEE){appletStartTagInBody(e,t)}else if(r===E.NOEMBED){noembedStartTagInBody(e,t)}else if(r!==E.CAPTION){genericStartTagInBody(e,t)}break;case 8:if(r===E.BASEFONT){startTagInHead(e,t)}else if(r===E.FRAMESET){framesetStartTagInBody(e,t)}else if(r===E.FIELDSET){addressStartTagInBody(e,t)}else if(r===E.TEXTAREA){textareaStartTagInBody(e,t)}else if(r===E.TEMPLATE){startTagInHead(e,t)}else if(r===E.NOSCRIPT){if(e.options.scriptingEnabled){noembedStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}}else if(r===E.OPTGROUP){optgroupStartTagInBody(e,t)}else if(r!==E.COLGROUP){genericStartTagInBody(e,t)}break;case 9:if(r===E.PLAINTEXT){plaintextStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;case 10:if(r===E.BLOCKQUOTE||r===E.FIGCAPTION){addressStartTagInBody(e,t)}else{genericStartTagInBody(e,t)}break;default:genericStartTagInBody(e,t)}}function bodyEndTagInBody(e){if(e.openElements.hasInScope(E.BODY)){e.insertionMode=j}}function htmlEndTagInBody(e,t){if(e.openElements.hasInScope(E.BODY)){e.insertionMode=j;e._processToken(t)}}function addressEndTagInBody(e,t){const r=t.tagName;if(e.openElements.hasInScope(r)){e.openElements.generateImpliedEndTags();e.openElements.popUntilTagNamePopped(r)}}function formEndTagInBody(e){const t=e.openElements.tmplCount>0;const r=e.formElement;if(!t){e.formElement=null}if((r||t)&&e.openElements.hasInScope(E.FORM)){e.openElements.generateImpliedEndTags();if(t){e.openElements.popUntilTagNamePopped(E.FORM)}else{e.openElements.remove(r)}}}function pEndTagInBody(e){if(!e.openElements.hasInButtonScope(E.P)){e._insertFakeElement(E.P)}e._closePElement()}function liEndTagInBody(e){if(e.openElements.hasInListItemScope(E.LI)){e.openElements.generateImpliedEndTagsWithExclusion(E.LI);e.openElements.popUntilTagNamePopped(E.LI)}}function ddEndTagInBody(e,t){const r=t.tagName;if(e.openElements.hasInScope(r)){e.openElements.generateImpliedEndTagsWithExclusion(r);e.openElements.popUntilTagNamePopped(r)}}function numberedHeaderEndTagInBody(e){if(e.openElements.hasNumberedHeaderInScope()){e.openElements.generateImpliedEndTags();e.openElements.popUntilNumberedHeaderPopped()}}function appletEndTagInBody(e,t){const r=t.tagName;if(e.openElements.hasInScope(r)){e.openElements.generateImpliedEndTags();e.openElements.popUntilTagNamePopped(r);e.activeFormattingElements.clearToLastMarker()}}function brEndTagInBody(e){e._reconstructActiveFormattingElements();e._insertFakeElement(E.BR);e.openElements.pop();e.framesetOk=false}function genericEndTagInBody(e,t){const r=t.tagName;for(let t=e.openElements.stackTop;t>0;t--){const a=e.openElements.items[t];if(e.treeAdapter.getTagName(a)===r){e.openElements.generateImpliedEndTagsWithExclusion(r);e.openElements.popUntilElementPopped(a);break}if(e._isSpecialElement(a)){break}}}function endTagInBody(e,t){const r=t.tagName;switch(r.length){case 1:if(r===E.A||r===E.B||r===E.I||r===E.S||r===E.U){callAdoptionAgency(e,t)}else if(r===E.P){pEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 2:if(r===E.DL||r===E.UL||r===E.OL){addressEndTagInBody(e,t)}else if(r===E.LI){liEndTagInBody(e,t)}else if(r===E.DD||r===E.DT){ddEndTagInBody(e,t)}else if(r===E.H1||r===E.H2||r===E.H3||r===E.H4||r===E.H5||r===E.H6){numberedHeaderEndTagInBody(e,t)}else if(r===E.BR){brEndTagInBody(e,t)}else if(r===E.EM||r===E.TT){callAdoptionAgency(e,t)}else{genericEndTagInBody(e,t)}break;case 3:if(r===E.BIG){callAdoptionAgency(e,t)}else if(r===E.DIR||r===E.DIV||r===E.NAV||r===E.PRE){addressEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 4:if(r===E.BODY){bodyEndTagInBody(e,t)}else if(r===E.HTML){htmlEndTagInBody(e,t)}else if(r===E.FORM){formEndTagInBody(e,t)}else if(r===E.CODE||r===E.FONT||r===E.NOBR){callAdoptionAgency(e,t)}else if(r===E.MAIN||r===E.MENU){addressEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 5:if(r===E.ASIDE){addressEndTagInBody(e,t)}else if(r===E.SMALL){callAdoptionAgency(e,t)}else{genericEndTagInBody(e,t)}break;case 6:if(r===E.CENTER||r===E.FIGURE||r===E.FOOTER||r===E.HEADER||r===E.HGROUP||r===E.DIALOG){addressEndTagInBody(e,t)}else if(r===E.APPLET||r===E.OBJECT){appletEndTagInBody(e,t)}else if(r===E.STRIKE||r===E.STRONG){callAdoptionAgency(e,t)}else{genericEndTagInBody(e,t)}break;case 7:if(r===E.ADDRESS||r===E.ARTICLE||r===E.DETAILS||r===E.SECTION||r===E.SUMMARY||r===E.LISTING){addressEndTagInBody(e,t)}else if(r===E.MARQUEE){appletEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;case 8:if(r===E.FIELDSET){addressEndTagInBody(e,t)}else if(r===E.TEMPLATE){endTagInHead(e,t)}else{genericEndTagInBody(e,t)}break;case 10:if(r===E.BLOCKQUOTE||r===E.FIGCAPTION){addressEndTagInBody(e,t)}else{genericEndTagInBody(e,t)}break;default:genericEndTagInBody(e,t)}}function eofInBody(e,t){if(e.tmplInsertionModeStackTop>-1){eofInTemplate(e,t)}else{e.stopped=true}}function endTagInText(e,t){if(t.tagName===E.SCRIPT){e.pendingScript=e.openElements.current}e.openElements.pop();e.insertionMode=e.originalInsertionMode}function eofInText(e,t){e._err(g.eofInElementThatCanContainOnlyText);e.openElements.pop();e.insertionMode=e.originalInsertionMode;e._processToken(t)}function characterInTable(e,t){const r=e.openElements.currentTagName;if(r===E.TABLE||r===E.TBODY||r===E.TFOOT||r===E.THEAD||r===E.TR){e.pendingCharacterTokens=[];e.hasNonWhitespacePendingCharacterToken=false;e.originalInsertionMode=e.insertionMode;e.insertionMode=x;e._processToken(t)}else{tokenInTable(e,t)}}function captionStartTagInTable(e,t){e.openElements.clearBackToTableContext();e.activeFormattingElements.insertMarker();e._insertElement(t,_.HTML);e.insertionMode=F}function colgroupStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertElement(t,_.HTML);e.insertionMode=M}function colStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertFakeElement(E.COLGROUP);e.insertionMode=M;e._processToken(t)}function tbodyStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertElement(t,_.HTML);e.insertionMode=B}function tdStartTagInTable(e,t){e.openElements.clearBackToTableContext();e._insertFakeElement(E.TBODY);e.insertionMode=B;e._processToken(t)}function tableStartTagInTable(e,t){if(e.openElements.hasInTableScope(E.TABLE)){e.openElements.popUntilTagNamePopped(E.TABLE);e._resetInsertionMode();e._processToken(t)}}function inputStartTagInTable(e,t){const r=a.getTokenAttr(t,w.TYPE);if(r&&r.toLowerCase()===b){e._appendElement(t,_.HTML)}else{tokenInTable(e,t)}t.ackSelfClosing=true}function formStartTagInTable(e,t){if(!e.formElement&&e.openElements.tmplCount===0){e._insertElement(t,_.HTML);e.formElement=e.openElements.current;e.openElements.pop()}}function startTagInTable(e,t){const r=t.tagName;switch(r.length){case 2:if(r===E.TD||r===E.TH||r===E.TR){tdStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 3:if(r===E.COL){colStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 4:if(r===E.FORM){formStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 5:if(r===E.TABLE){tableStartTagInTable(e,t)}else if(r===E.STYLE){startTagInHead(e,t)}else if(r===E.TBODY||r===E.TFOOT||r===E.THEAD){tbodyStartTagInTable(e,t)}else if(r===E.INPUT){inputStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 6:if(r===E.SCRIPT){startTagInHead(e,t)}else{tokenInTable(e,t)}break;case 7:if(r===E.CAPTION){captionStartTagInTable(e,t)}else{tokenInTable(e,t)}break;case 8:if(r===E.COLGROUP){colgroupStartTagInTable(e,t)}else if(r===E.TEMPLATE){startTagInHead(e,t)}else{tokenInTable(e,t)}break;default:tokenInTable(e,t)}}function endTagInTable(e,t){const r=t.tagName;if(r===E.TABLE){if(e.openElements.hasInTableScope(E.TABLE)){e.openElements.popUntilTagNamePopped(E.TABLE);e._resetInsertionMode()}}else if(r===E.TEMPLATE){endTagInHead(e,t)}else if(r!==E.BODY&&r!==E.CAPTION&&r!==E.COL&&r!==E.COLGROUP&&r!==E.HTML&&r!==E.TBODY&&r!==E.TD&&r!==E.TFOOT&&r!==E.TH&&r!==E.THEAD&&r!==E.TR){tokenInTable(e,t)}}function tokenInTable(e,t){const r=e.fosterParentingEnabled;e.fosterParentingEnabled=true;e._processTokenInBodyMode(t);e.fosterParentingEnabled=r}function whitespaceCharacterInTableText(e,t){e.pendingCharacterTokens.push(t)}function characterInTableText(e,t){e.pendingCharacterTokens.push(t);e.hasNonWhitespacePendingCharacterToken=true}function tokenInTableText(e,t){let r=0;if(e.hasNonWhitespacePendingCharacterToken){for(;r0){e.openElements.popUntilTagNamePopped(E.TEMPLATE);e.activeFormattingElements.clearToLastMarker();e._popTmplInsertionMode();e._resetInsertionMode();e._processToken(t)}else{e.stopped=true}}function startTagAfterBody(e,t){if(t.tagName===E.HTML){startTagInBody(e,t)}else{tokenAfterBody(e,t)}}function endTagAfterBody(e,t){if(t.tagName===E.HTML){if(!e.fragmentContext){e.insertionMode=W}}else{tokenAfterBody(e,t)}}function tokenAfterBody(e,t){e.insertionMode=I;e._processToken(t)}function startTagInFrameset(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.FRAMESET){e._insertElement(t,_.HTML)}else if(r===E.FRAME){e._appendElement(t,_.HTML);t.ackSelfClosing=true}else if(r===E.NOFRAMES){startTagInHead(e,t)}}function endTagInFrameset(e,t){if(t.tagName===E.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()){e.openElements.pop();if(!e.fragmentContext&&e.openElements.currentTagName!==E.FRAMESET){e.insertionMode=z}}}function startTagAfterFrameset(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.NOFRAMES){startTagInHead(e,t)}}function endTagAfterFrameset(e,t){if(t.tagName===E.HTML){e.insertionMode=Y}}function startTagAfterAfterBody(e,t){if(t.tagName===E.HTML){startTagInBody(e,t)}else{tokenAfterAfterBody(e,t)}}function tokenAfterAfterBody(e,t){e.insertionMode=I;e._processToken(t)}function startTagAfterAfterFrameset(e,t){const r=t.tagName;if(r===E.HTML){startTagInBody(e,t)}else if(r===E.NOFRAMES){startTagInHead(e,t)}}function nullCharacterInForeignContent(e,t){t.chars=v.REPLACEMENT_CHARACTER;e._insertCharacters(t)}function characterInForeignContent(e,t){e._insertCharacters(t);e.framesetOk=false}function startTagInForeignContent(e,t){if(m.causesExit(t)&&!e.fragmentContext){while(e.treeAdapter.getNamespaceURI(e.openElements.current)!==_.HTML&&!e._isIntegrationPoint(e.openElements.current)){e.openElements.pop()}e._processToken(t)}else{const r=e._getAdjustedCurrentElement();const a=e.treeAdapter.getNamespaceURI(r);if(a===_.MATHML){m.adjustTokenMathMLAttrs(t)}else if(a===_.SVG){m.adjustTokenSVGTagName(t);m.adjustTokenSVGAttrs(t)}m.adjustTokenXMLAttrs(t);if(t.selfClosing){e._appendElement(t,a)}else{e._insertElement(t,a)}t.ackSelfClosing=true}}function endTagInForeignContent(e,t){for(let r=e.openElements.stackTop;r>0;r--){const a=e.openElements.items[r];if(e.treeAdapter.getNamespaceURI(a)===_.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(a).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(a);break}}}},4813:(e,t,r)=>{const a=r(9338);const n=a.TAG_NAMES;const i=a.NAMESPACES;function isImpliedEndTagRequired(e){switch(e.length){case 1:return e===n.P;case 2:return e===n.RB||e===n.RP||e===n.RT||e===n.DD||e===n.DT||e===n.LI;case 3:return e===n.RTC;case 6:return e===n.OPTION;case 8:return e===n.OPTGROUP}return false}function isImpliedEndTagRequiredThoroughly(e){switch(e.length){case 1:return e===n.P;case 2:return e===n.RB||e===n.RP||e===n.RT||e===n.DD||e===n.DT||e===n.LI||e===n.TD||e===n.TH||e===n.TR;case 3:return e===n.RTC;case 5:return e===n.TBODY||e===n.TFOOT||e===n.THEAD;case 6:return e===n.OPTION;case 7:return e===n.CAPTION;case 8:return e===n.OPTGROUP||e===n.COLGROUP}return false}function isScopingElement(e,t){switch(e.length){case 2:if(e===n.TD||e===n.TH){return t===i.HTML}else if(e===n.MI||e===n.MO||e===n.MN||e===n.MS){return t===i.MATHML}break;case 4:if(e===n.HTML){return t===i.HTML}else if(e===n.DESC){return t===i.SVG}break;case 5:if(e===n.TABLE){return t===i.HTML}else if(e===n.MTEXT){return t===i.MATHML}else if(e===n.TITLE){return t===i.SVG}break;case 6:return(e===n.APPLET||e===n.OBJECT)&&t===i.HTML;case 7:return(e===n.CAPTION||e===n.MARQUEE)&&t===i.HTML;case 8:return e===n.TEMPLATE&&t===i.HTML;case 13:return e===n.FOREIGN_OBJECT&&t===i.SVG;case 14:return e===n.ANNOTATION_XML&&t===i.MATHML}return false}class OpenElementStack{constructor(e,t){this.stackTop=-1;this.items=[];this.current=e;this.currentTagName=null;this.currentTmplContent=null;this.tmplCount=0;this.treeAdapter=t}_indexOf(e){let t=-1;for(let r=this.stackTop;r>=0;r--){if(this.items[r]===e){t=r;break}}return t}_isInTemplate(){return this.currentTagName===n.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===i.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop];this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current);this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}push(e){this.items[++this.stackTop]=e;this._updateCurrentElement();if(this._isInTemplate()){this.tmplCount++}}pop(){this.stackTop--;if(this.tmplCount>0&&this._isInTemplate()){this.tmplCount--}this._updateCurrentElement()}replace(e,t){const r=this._indexOf(e);this.items[r]=t;if(r===this.stackTop){this._updateCurrentElement()}}insertAfter(e,t){const r=this._indexOf(e)+1;this.items.splice(r,0,t);if(r===++this.stackTop){this._updateCurrentElement()}}popUntilTagNamePopped(e){while(this.stackTop>-1){const t=this.currentTagName;const r=this.treeAdapter.getNamespaceURI(this.current);this.pop();if(t===e&&r===i.HTML){break}}}popUntilElementPopped(e){while(this.stackTop>-1){const t=this.current;this.pop();if(t===e){break}}}popUntilNumberedHeaderPopped(){while(this.stackTop>-1){const e=this.currentTagName;const t=this.treeAdapter.getNamespaceURI(this.current);this.pop();if(e===n.H1||e===n.H2||e===n.H3||e===n.H4||e===n.H5||e===n.H6&&t===i.HTML){break}}}popUntilTableCellPopped(){while(this.stackTop>-1){const e=this.currentTagName;const t=this.treeAdapter.getNamespaceURI(this.current);this.pop();if(e===n.TD||e===n.TH&&t===i.HTML){break}}}popAllUpToHtmlElement(){this.stackTop=0;this._updateCurrentElement()}clearBackToTableContext(){while(this.currentTagName!==n.TABLE&&this.currentTagName!==n.TEMPLATE&&this.currentTagName!==n.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML){this.pop()}}clearBackToTableBodyContext(){while(this.currentTagName!==n.TBODY&&this.currentTagName!==n.TFOOT&&this.currentTagName!==n.THEAD&&this.currentTagName!==n.TEMPLATE&&this.currentTagName!==n.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML){this.pop()}}clearBackToTableRowContext(){while(this.currentTagName!==n.TR&&this.currentTagName!==n.TEMPLATE&&this.currentTagName!==n.HTML||this.treeAdapter.getNamespaceURI(this.current)!==i.HTML){this.pop()}}remove(e){for(let t=this.stackTop;t>=0;t--){if(this.items[t]===e){this.items.splice(t,1);this.stackTop--;this._updateCurrentElement();break}}}tryPeekProperlyNestedBodyElement(){const e=this.items[1];return e&&this.treeAdapter.getTagName(e)===n.BODY?e:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){let t=this._indexOf(e);return--t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.currentTagName===n.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&a===i.HTML){return true}if(isScopingElement(r,a)){return false}}return true}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);const r=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===n.H1||t===n.H2||t===n.H3||t===n.H4||t===n.H5||t===n.H6)&&r===i.HTML){return true}if(isScopingElement(t,r)){return false}}return true}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&a===i.HTML){return true}if((r===n.UL||r===n.OL)&&a===i.HTML||isScopingElement(r,a)){return false}}return true}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(r===e&&a===i.HTML){return true}if(r===n.BUTTON&&a===i.HTML||isScopingElement(r,a)){return false}}return true}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(a!==i.HTML){continue}if(r===e){return true}if(r===n.TABLE||r===n.TEMPLATE||r===n.HTML){return false}}return true}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.treeAdapter.getTagName(this.items[e]);const r=this.treeAdapter.getNamespaceURI(this.items[e]);if(r!==i.HTML){continue}if(t===n.TBODY||t===n.THEAD||t===n.TFOOT){return true}if(t===n.TABLE||t===n.HTML){return false}}return true}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const r=this.treeAdapter.getTagName(this.items[t]);const a=this.treeAdapter.getNamespaceURI(this.items[t]);if(a!==i.HTML){continue}if(r===e){return true}if(r!==n.OPTION&&r!==n.OPTGROUP){return false}}return true}generateImpliedEndTags(){while(isImpliedEndTagRequired(this.currentTagName)){this.pop()}}generateImpliedEndTagsThoroughly(){while(isImpliedEndTagRequiredThoroughly(this.currentTagName)){this.pop()}}generateImpliedEndTagsWithExclusion(e){while(isImpliedEndTagRequired(this.currentTagName)&&this.currentTagName!==e){this.pop()}}}e.exports=OpenElementStack},5759:(e,t,r)=>{const a=r(6540);const n=r(9481);const i=r(9599);const o=r(5906);const s=n.CODE_POINTS;const p=n.CODE_POINT_SEQUENCES;const d={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};const l=1<<0;const c=1<<1;const m=1<<2;const g=l|c|m;const v="DATA_STATE";const T="RCDATA_STATE";const E="RAWTEXT_STATE";const _="SCRIPT_DATA_STATE";const w="PLAINTEXT_STATE";const A="TAG_OPEN_STATE";const b="END_TAG_OPEN_STATE";const y="TAG_NAME_STATE";const S="RCDATA_LESS_THAN_SIGN_STATE";const C="RCDATA_END_TAG_OPEN_STATE";const k="RCDATA_END_TAG_NAME_STATE";const N="RAWTEXT_LESS_THAN_SIGN_STATE";const D="RAWTEXT_END_TAG_OPEN_STATE";const O="RAWTEXT_END_TAG_NAME_STATE";const R="SCRIPT_DATA_LESS_THAN_SIGN_STATE";const I="SCRIPT_DATA_END_TAG_OPEN_STATE";const P="SCRIPT_DATA_END_TAG_NAME_STATE";const L="SCRIPT_DATA_ESCAPE_START_STATE";const x="SCRIPT_DATA_ESCAPE_START_DASH_STATE";const F="SCRIPT_DATA_ESCAPED_STATE";const M="SCRIPT_DATA_ESCAPED_DASH_STATE";const B="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE";const U="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE";const G="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE";const H="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE";const V="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE";const q="SCRIPT_DATA_DOUBLE_ESCAPED_STATE";const j="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE";const K="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE";const z="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE";const W="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE";const Y="BEFORE_ATTRIBUTE_NAME_STATE";const $="ATTRIBUTE_NAME_STATE";const Q="AFTER_ATTRIBUTE_NAME_STATE";const X="BEFORE_ATTRIBUTE_VALUE_STATE";const J="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE";const Z="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE";const ee="ATTRIBUTE_VALUE_UNQUOTED_STATE";const te="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE";const re="SELF_CLOSING_START_TAG_STATE";const ae="BOGUS_COMMENT_STATE";const ne="MARKUP_DECLARATION_OPEN_STATE";const ie="COMMENT_START_STATE";const oe="COMMENT_START_DASH_STATE";const se="COMMENT_STATE";const pe="COMMENT_LESS_THAN_SIGN_STATE";const de="COMMENT_LESS_THAN_SIGN_BANG_STATE";const le="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE";const ue="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE";const ce="COMMENT_END_DASH_STATE";const me="COMMENT_END_STATE";const fe="COMMENT_END_BANG_STATE";const he="DOCTYPE_STATE";const ge="BEFORE_DOCTYPE_NAME_STATE";const ve="DOCTYPE_NAME_STATE";const Te="AFTER_DOCTYPE_NAME_STATE";const Ee="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE";const _e="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE";const we="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE";const Ae="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE";const be="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE";const ye="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE";const Se="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE";const Ce="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE";const ke="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE";const Ne="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE";const De="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE";const Oe="BOGUS_DOCTYPE_STATE";const Re="CDATA_SECTION_STATE";const Ie="CDATA_SECTION_BRACKET_STATE";const Pe="CDATA_SECTION_END_STATE";const Le="CHARACTER_REFERENCE_STATE";const xe="NAMED_CHARACTER_REFERENCE_STATE";const Fe="AMBIGUOS_AMPERSAND_STATE";const Me="NUMERIC_CHARACTER_REFERENCE_STATE";const Be="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE";const Ue="DECIMAL_CHARACTER_REFERENCE_START_STATE";const Ge="HEXADEMICAL_CHARACTER_REFERENCE_STATE";const He="DECIMAL_CHARACTER_REFERENCE_STATE";const Ve="NUMERIC_CHARACTER_REFERENCE_END_STATE";function isWhitespace(e){return e===s.SPACE||e===s.LINE_FEED||e===s.TABULATION||e===s.FORM_FEED}function isAsciiDigit(e){return e>=s.DIGIT_0&&e<=s.DIGIT_9}function isAsciiUpper(e){return e>=s.LATIN_CAPITAL_A&&e<=s.LATIN_CAPITAL_Z}function isAsciiLower(e){return e>=s.LATIN_SMALL_A&&e<=s.LATIN_SMALL_Z}function isAsciiLetter(e){return isAsciiLower(e)||isAsciiUpper(e)}function isAsciiAlphaNumeric(e){return isAsciiLetter(e)||isAsciiDigit(e)}function isAsciiUpperHexDigit(e){return e>=s.LATIN_CAPITAL_A&&e<=s.LATIN_CAPITAL_F}function isAsciiLowerHexDigit(e){return e>=s.LATIN_SMALL_A&&e<=s.LATIN_SMALL_F}function isAsciiHexDigit(e){return isAsciiDigit(e)||isAsciiUpperHexDigit(e)||isAsciiLowerHexDigit(e)}function toAsciiLowerCodePoint(e){return e+32}function toChar(e){if(e<=65535){return String.fromCharCode(e)}e-=65536;return String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|e&1023)}function toAsciiLowerChar(e){return String.fromCharCode(toAsciiLowerCodePoint(e))}function findNamedEntityTreeBranch(e,t){const r=i[++e];let a=++e;let n=a+r-1;while(a<=n){const e=a+n>>>1;const o=i[e];if(ot){n=e-1}else{return i[e+r]}}return-1}class Tokenizer{constructor(){this.preprocessor=new a;this.tokenQueue=[];this.allowCDATA=false;this.state=v;this.returnState="";this.charRefCode=-1;this.tempBuff=[];this.lastStartTagName="";this.consumedAfterSnapshot=-1;this.active=false;this.currentCharacterToken=null;this.currentToken=null;this.currentAttr=null}_err(){}_errOnNextCodePoint(e){this._consume();this._err(e);this._unconsume()}getNextToken(){while(!this.tokenQueue.length&&this.active){this.consumedAfterSnapshot=0;const e=this._consume();if(!this._ensureHibernation()){this[this.state](e)}}return this.tokenQueue.shift()}write(e,t){this.active=true;this.preprocessor.write(e,t)}insertHtmlAtCurrentPos(e){this.active=true;this.preprocessor.insertHtmlAtCurrentPos(e)}_ensureHibernation(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--){this.preprocessor.retreat()}this.active=false;this.tokenQueue.push({type:Tokenizer.HIBERNATION_TOKEN});return true}return false}_consume(){this.consumedAfterSnapshot++;return this.preprocessor.advance()}_unconsume(){this.consumedAfterSnapshot--;this.preprocessor.retreat()}_reconsumeInState(e){this.state=e;this._unconsume()}_consumeSequenceIfMatch(e,t,r){let a=0;let n=true;const i=e.length;let o=0;let p=t;let d=void 0;for(;o0){p=this._consume();a++}if(p===s.EOF){n=false;break}d=e[o];if(p!==d&&(r||p!==toAsciiLowerCodePoint(d))){n=false;break}}if(!n){while(a--){this._unconsume()}}return n}_isTempBufferEqualToScriptString(){if(this.tempBuff.length!==p.SCRIPT_STRING.length){return false}for(let e=0;e0){this._err(o.endTagWithAttributes)}if(e.selfClosing){this._err(o.endTagWithTrailingSolidus)}}this.tokenQueue.push(e)}_emitCurrentCharacterToken(){if(this.currentCharacterToken){this.tokenQueue.push(this.currentCharacterToken);this.currentCharacterToken=null}}_emitEOFToken(){this._createEOFToken();this._emitCurrentToken()}_appendCharToCurrentCharacterToken(e,t){if(this.currentCharacterToken&&this.currentCharacterToken.type!==e){this._emitCurrentCharacterToken()}if(this.currentCharacterToken){this.currentCharacterToken.chars+=t}else{this._createCharacterToken(e,t)}}_emitCodePoint(e){let t=Tokenizer.CHARACTER_TOKEN;if(isWhitespace(e)){t=Tokenizer.WHITESPACE_CHARACTER_TOKEN}else if(e===s.NULL){t=Tokenizer.NULL_CHARACTER_TOKEN}this._appendCharToCurrentCharacterToken(t,toChar(e))}_emitSeveralCodePoints(e){for(let t=0;t-1){const e=i[a];const n=e")}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.state=F;this._emitChars(n.REPLACEMENT_CHARACTER)}else if(e===s.EOF){this._err(o.eofInScriptHtmlCommentLikeText);this._emitEOFToken()}else{this.state=F;this._emitCodePoint(e)}}[U](e){if(e===s.SOLIDUS){this.tempBuff=[];this.state=G}else if(isAsciiLetter(e)){this.tempBuff=[];this._emitChars("<");this._reconsumeInState(V)}else{this._emitChars("<");this._reconsumeInState(F)}}[G](e){if(isAsciiLetter(e)){this._createEndTagToken();this._reconsumeInState(H)}else{this._emitChars("")}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.state=q;this._emitChars(n.REPLACEMENT_CHARACTER)}else if(e===s.EOF){this._err(o.eofInScriptHtmlCommentLikeText);this._emitEOFToken()}else{this.state=q;this._emitCodePoint(e)}}[z](e){if(e===s.SOLIDUS){this.tempBuff=[];this.state=W;this._emitChars("/")}else{this._reconsumeInState(q)}}[W](e){if(isWhitespace(e)||e===s.SOLIDUS||e===s.GREATER_THAN_SIGN){this.state=this._isTempBufferEqualToScriptString()?F:q;this._emitCodePoint(e)}else if(isAsciiUpper(e)){this.tempBuff.push(toAsciiLowerCodePoint(e));this._emitCodePoint(e)}else if(isAsciiLower(e)){this.tempBuff.push(e);this._emitCodePoint(e)}else{this._reconsumeInState(q)}}[Y](e){if(isWhitespace(e)){return}if(e===s.SOLIDUS||e===s.GREATER_THAN_SIGN||e===s.EOF){this._reconsumeInState(Q)}else if(e===s.EQUALS_SIGN){this._err(o.unexpectedEqualsSignBeforeAttributeName);this._createAttr("=");this.state=$}else{this._createAttr("");this._reconsumeInState($)}}[$](e){if(isWhitespace(e)||e===s.SOLIDUS||e===s.GREATER_THAN_SIGN||e===s.EOF){this._leaveAttrName(Q);this._unconsume()}else if(e===s.EQUALS_SIGN){this._leaveAttrName(X)}else if(isAsciiUpper(e)){this.currentAttr.name+=toAsciiLowerChar(e)}else if(e===s.QUOTATION_MARK||e===s.APOSTROPHE||e===s.LESS_THAN_SIGN){this._err(o.unexpectedCharacterInAttributeName);this.currentAttr.name+=toChar(e)}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.name+=n.REPLACEMENT_CHARACTER}else{this.currentAttr.name+=toChar(e)}}[Q](e){if(isWhitespace(e)){return}if(e===s.SOLIDUS){this.state=re}else if(e===s.EQUALS_SIGN){this.state=X}else if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this._createAttr("");this._reconsumeInState($)}}[X](e){if(isWhitespace(e)){return}if(e===s.QUOTATION_MARK){this.state=J}else if(e===s.APOSTROPHE){this.state=Z}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingAttributeValue);this.state=v;this._emitCurrentToken()}else{this._reconsumeInState(ee)}}[J](e){if(e===s.QUOTATION_MARK){this.state=te}else if(e===s.AMPERSAND){this.returnState=J;this.state=Le}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.value+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this.currentAttr.value+=toChar(e)}}[Z](e){if(e===s.APOSTROPHE){this.state=te}else if(e===s.AMPERSAND){this.returnState=Z;this.state=Le}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.value+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this.currentAttr.value+=toChar(e)}}[ee](e){if(isWhitespace(e)){this._leaveAttrValue(Y)}else if(e===s.AMPERSAND){this.returnState=ee;this.state=Le}else if(e===s.GREATER_THAN_SIGN){this._leaveAttrValue(v);this._emitCurrentToken()}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentAttr.value+=n.REPLACEMENT_CHARACTER}else if(e===s.QUOTATION_MARK||e===s.APOSTROPHE||e===s.LESS_THAN_SIGN||e===s.EQUALS_SIGN||e===s.GRAVE_ACCENT){this._err(o.unexpectedCharacterInUnquotedAttributeValue);this.currentAttr.value+=toChar(e)}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this.currentAttr.value+=toChar(e)}}[te](e){if(isWhitespace(e)){this._leaveAttrValue(Y)}else if(e===s.SOLIDUS){this._leaveAttrValue(re)}else if(e===s.GREATER_THAN_SIGN){this._leaveAttrValue(v);this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this._err(o.missingWhitespaceBetweenAttributes);this._reconsumeInState(Y)}}[re](e){if(e===s.GREATER_THAN_SIGN){this.currentToken.selfClosing=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInTag);this._emitEOFToken()}else{this._err(o.unexpectedSolidusInTag);this._reconsumeInState(Y)}}[ae](e){if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._emitCurrentToken();this._emitEOFToken()}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.data+=n.REPLACEMENT_CHARACTER}else{this.currentToken.data+=toChar(e)}}[ne](e){if(this._consumeSequenceIfMatch(p.DASH_DASH_STRING,e,true)){this._createCommentToken();this.state=ie}else if(this._consumeSequenceIfMatch(p.DOCTYPE_STRING,e,false)){this.state=he}else if(this._consumeSequenceIfMatch(p.CDATA_START_STRING,e,true)){if(this.allowCDATA){this.state=Re}else{this._err(o.cdataInHtmlContent);this._createCommentToken();this.currentToken.data="[CDATA[";this.state=ae}}else if(!this._ensureHibernation()){this._err(o.incorrectlyOpenedComment);this._createCommentToken();this._reconsumeInState(ae)}}[ie](e){if(e===s.HYPHEN_MINUS){this.state=oe}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptClosingOfEmptyComment);this.state=v;this._emitCurrentToken()}else{this._reconsumeInState(se)}}[oe](e){if(e===s.HYPHEN_MINUS){this.state=me}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptClosingOfEmptyComment);this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="-";this._reconsumeInState(se)}}[se](e){if(e===s.HYPHEN_MINUS){this.state=ce}else if(e===s.LESS_THAN_SIGN){this.currentToken.data+="<";this.state=pe}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.data+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+=toChar(e)}}[pe](e){if(e===s.EXCLAMATION_MARK){this.currentToken.data+="!";this.state=de}else if(e===s.LESS_THAN_SIGN){this.currentToken.data+="!"}else{this._reconsumeInState(se)}}[de](e){if(e===s.HYPHEN_MINUS){this.state=le}else{this._reconsumeInState(se)}}[le](e){if(e===s.HYPHEN_MINUS){this.state=ue}else{this._reconsumeInState(ce)}}[ue](e){if(e!==s.GREATER_THAN_SIGN&&e!==s.EOF){this._err(o.nestedComment)}this._reconsumeInState(me)}[ce](e){if(e===s.HYPHEN_MINUS){this.state=me}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="-";this._reconsumeInState(se)}}[me](e){if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EXCLAMATION_MARK){this.state=fe}else if(e===s.HYPHEN_MINUS){this.currentToken.data+="-"}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="--";this._reconsumeInState(se)}}[fe](e){if(e===s.HYPHEN_MINUS){this.currentToken.data+="--!";this.state=ce}else if(e===s.GREATER_THAN_SIGN){this._err(o.incorrectlyClosedComment);this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInComment);this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.data+="--!";this._reconsumeInState(se)}}[he](e){if(isWhitespace(e)){this.state=ge}else if(e===s.GREATER_THAN_SIGN){this._reconsumeInState(ge)}else if(e===s.EOF){this._err(o.eofInDoctype);this._createDoctypeToken(null);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingWhitespaceBeforeDoctypeName);this._reconsumeInState(ge)}}[ge](e){if(isWhitespace(e)){return}if(isAsciiUpper(e)){this._createDoctypeToken(toAsciiLowerChar(e));this.state=ve}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this._createDoctypeToken(n.REPLACEMENT_CHARACTER);this.state=ve}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypeName);this._createDoctypeToken(null);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this._createDoctypeToken(null);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._createDoctypeToken(toChar(e));this.state=ve}}[ve](e){if(isWhitespace(e)){this.state=Te}else if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(isAsciiUpper(e)){this.currentToken.name+=toAsciiLowerChar(e)}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.name+=n.REPLACEMENT_CHARACTER}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.name+=toChar(e)}}[Te](e){if(isWhitespace(e)){return}if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else if(this._consumeSequenceIfMatch(p.PUBLIC_STRING,e,false)){this.state=Ee}else if(this._consumeSequenceIfMatch(p.SYSTEM_STRING,e,false)){this.state=Se}else if(!this._ensureHibernation()){this._err(o.invalidCharacterSequenceAfterDoctypeName);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[Ee](e){if(isWhitespace(e)){this.state=_e}else if(e===s.QUOTATION_MARK){this._err(o.missingWhitespaceAfterDoctypePublicKeyword);this.currentToken.publicId="";this.state=we}else if(e===s.APOSTROPHE){this._err(o.missingWhitespaceAfterDoctypePublicKeyword);this.currentToken.publicId="";this.state=Ae}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[_e](e){if(isWhitespace(e)){return}if(e===s.QUOTATION_MARK){this.currentToken.publicId="";this.state=we}else if(e===s.APOSTROPHE){this.currentToken.publicId="";this.state=Ae}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[we](e){if(e===s.QUOTATION_MARK){this.state=be}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.publicId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.publicId+=toChar(e)}}[Ae](e){if(e===s.APOSTROPHE){this.state=be}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.publicId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypePublicIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.publicId+=toChar(e)}}[be](e){if(isWhitespace(e)){this.state=ye}else if(e===s.GREATER_THAN_SIGN){this.state=v;this._emitCurrentToken()}else if(e===s.QUOTATION_MARK){this._err(o.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this._err(o.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);this.currentToken.systemId="";this.state=Ne}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[ye](e){if(isWhitespace(e)){return}if(e===s.GREATER_THAN_SIGN){this._emitCurrentToken();this.state=v}else if(e===s.QUOTATION_MARK){this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this.currentToken.systemId="";this.state=Ne}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[Se](e){if(isWhitespace(e)){this.state=Ce}else if(e===s.QUOTATION_MARK){this._err(o.missingWhitespaceAfterDoctypeSystemKeyword);this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this._err(o.missingWhitespaceAfterDoctypeSystemKeyword);this.currentToken.systemId="";this.state=Ne}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[Ce](e){if(isWhitespace(e)){return}if(e===s.QUOTATION_MARK){this.currentToken.systemId="";this.state=ke}else if(e===s.APOSTROPHE){this.currentToken.systemId="";this.state=Ne}else if(e===s.GREATER_THAN_SIGN){this._err(o.missingDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this.state=v;this._emitCurrentToken()}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.missingQuoteBeforeDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._reconsumeInState(Oe)}}[ke](e){if(e===s.QUOTATION_MARK){this.state=De}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.systemId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.systemId+=toChar(e)}}[Ne](e){if(e===s.APOSTROPHE){this.state=De}else if(e===s.NULL){this._err(o.unexpectedNullCharacter);this.currentToken.systemId+=n.REPLACEMENT_CHARACTER}else if(e===s.GREATER_THAN_SIGN){this._err(o.abruptDoctypeSystemIdentifier);this.currentToken.forceQuirks=true;this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this.currentToken.systemId+=toChar(e)}}[De](e){if(isWhitespace(e)){return}if(e===s.GREATER_THAN_SIGN){this._emitCurrentToken();this.state=v}else if(e===s.EOF){this._err(o.eofInDoctype);this.currentToken.forceQuirks=true;this._emitCurrentToken();this._emitEOFToken()}else{this._err(o.unexpectedCharacterAfterDoctypeSystemIdentifier);this._reconsumeInState(Oe)}}[Oe](e){if(e===s.GREATER_THAN_SIGN){this._emitCurrentToken();this.state=v}else if(e===s.NULL){this._err(o.unexpectedNullCharacter)}else if(e===s.EOF){this._emitCurrentToken();this._emitEOFToken()}}[Re](e){if(e===s.RIGHT_SQUARE_BRACKET){this.state=Ie}else if(e===s.EOF){this._err(o.eofInCdata);this._emitEOFToken()}else{this._emitCodePoint(e)}}[Ie](e){if(e===s.RIGHT_SQUARE_BRACKET){this.state=Pe}else{this._emitChars("]");this._reconsumeInState(Re)}}[Pe](e){if(e===s.GREATER_THAN_SIGN){this.state=v}else if(e===s.RIGHT_SQUARE_BRACKET){this._emitChars("]")}else{this._emitChars("]]");this._reconsumeInState(Re)}}[Le](e){this.tempBuff=[s.AMPERSAND];if(e===s.NUMBER_SIGN){this.tempBuff.push(e);this.state=Me}else if(isAsciiAlphaNumeric(e)){this._reconsumeInState(xe)}else{this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}[xe](e){const t=this._matchNamedCharacterReference(e);if(this._ensureHibernation()){this.tempBuff=[s.AMPERSAND]}else if(t){const e=this.tempBuff[this.tempBuff.length-1]===s.SEMICOLON;if(!this._isCharacterReferenceAttributeQuirk(e)){if(!e){this._errOnNextCodePoint(o.missingSemicolonAfterCharacterReference)}this.tempBuff=t}this._flushCodePointsConsumedAsCharacterReference();this.state=this.returnState}else{this._flushCodePointsConsumedAsCharacterReference();this.state=Fe}}[Fe](e){if(isAsciiAlphaNumeric(e)){if(this._isCharacterReferenceInAttribute()){this.currentAttr.value+=toChar(e)}else{this._emitCodePoint(e)}}else{if(e===s.SEMICOLON){this._err(o.unknownNamedCharacterReference)}this._reconsumeInState(this.returnState)}}[Me](e){this.charRefCode=0;if(e===s.LATIN_SMALL_X||e===s.LATIN_CAPITAL_X){this.tempBuff.push(e);this.state=Be}else{this._reconsumeInState(Ue)}}[Be](e){if(isAsciiHexDigit(e)){this._reconsumeInState(Ge)}else{this._err(o.absenceOfDigitsInNumericCharacterReference);this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}[Ue](e){if(isAsciiDigit(e)){this._reconsumeInState(He)}else{this._err(o.absenceOfDigitsInNumericCharacterReference);this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}[Ge](e){if(isAsciiUpperHexDigit(e)){this.charRefCode=this.charRefCode*16+e-55}else if(isAsciiLowerHexDigit(e)){this.charRefCode=this.charRefCode*16+e-87}else if(isAsciiDigit(e)){this.charRefCode=this.charRefCode*16+e-48}else if(e===s.SEMICOLON){this.state=Ve}else{this._err(o.missingSemicolonAfterCharacterReference);this._reconsumeInState(Ve)}}[He](e){if(isAsciiDigit(e)){this.charRefCode=this.charRefCode*10+e-48}else if(e===s.SEMICOLON){this.state=Ve}else{this._err(o.missingSemicolonAfterCharacterReference);this._reconsumeInState(Ve)}}[Ve](){if(this.charRefCode===s.NULL){this._err(o.nullCharacterReference);this.charRefCode=s.REPLACEMENT_CHARACTER}else if(this.charRefCode>1114111){this._err(o.characterReferenceOutsideUnicodeRange);this.charRefCode=s.REPLACEMENT_CHARACTER}else if(n.isSurrogate(this.charRefCode)){this._err(o.surrogateCharacterReference);this.charRefCode=s.REPLACEMENT_CHARACTER}else if(n.isUndefinedCodePoint(this.charRefCode)){this._err(o.noncharacterCharacterReference)}else if(n.isControlCodePoint(this.charRefCode)||this.charRefCode===s.CARRIAGE_RETURN){this._err(o.controlCharacterReference);const e=d[this.charRefCode];if(e){this.charRefCode=e}}this.tempBuff=[this.charRefCode];this._flushCodePointsConsumedAsCharacterReference();this._reconsumeInState(this.returnState)}}Tokenizer.CHARACTER_TOKEN="CHARACTER_TOKEN";Tokenizer.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN";Tokenizer.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN";Tokenizer.START_TAG_TOKEN="START_TAG_TOKEN";Tokenizer.END_TAG_TOKEN="END_TAG_TOKEN";Tokenizer.COMMENT_TOKEN="COMMENT_TOKEN";Tokenizer.DOCTYPE_TOKEN="DOCTYPE_TOKEN";Tokenizer.EOF_TOKEN="EOF_TOKEN";Tokenizer.HIBERNATION_TOKEN="HIBERNATION_TOKEN";Tokenizer.MODE={DATA:v,RCDATA:T,RAWTEXT:E,SCRIPT_DATA:_,PLAINTEXT:w};Tokenizer.getTokenAttr=function(e,t){for(let r=e.attrs.length-1;r>=0;r--){if(e.attrs[r].name===t){return e.attrs[r].value}}return null};e.exports=Tokenizer},9599:e=>{e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},6540:(e,t,r)=>{const a=r(9481);const n=r(5906);const i=a.CODE_POINTS;const o=1<<16;class Preprocessor{constructor(){this.html=null;this.pos=-1;this.lastGapPos=-1;this.lastCharPos=-1;this.gapStack=[];this.skipNextNewLine=false;this.lastChunkWritten=false;this.endOfChunkHit=false;this.bufferWaterline=o}_err(){}_addGap(){this.gapStack.push(this.lastGapPos);this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.lastCharPos){const t=this.html.charCodeAt(this.pos+1);if(a.isSurrogatePair(t)){this.pos++;this._addGap();return a.getSurrogatePairCodePoint(e,t)}}else if(!this.lastChunkWritten){this.endOfChunkHit=true;return i.EOF}this._err(n.surrogateInInputStream);return e}dropParsedChunk(){if(this.pos>this.bufferWaterline){this.lastCharPos-=this.pos;this.html=this.html.substring(this.pos);this.pos=0;this.lastGapPos=-1;this.gapStack=[]}}write(e,t){if(this.html){this.html+=e}else{this.html=e}this.lastCharPos=this.html.length-1;this.endOfChunkHit=false;this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length);this.lastCharPos=this.html.length-1;this.endOfChunkHit=false}advance(){this.pos++;if(this.pos>this.lastCharPos){this.endOfChunkHit=!this.lastChunkWritten;return i.EOF}let e=this.html.charCodeAt(this.pos);if(this.skipNextNewLine&&e===i.LINE_FEED){this.skipNextNewLine=false;this._addGap();return this.advance()}if(e===i.CARRIAGE_RETURN){this.skipNextNewLine=true;return i.LINE_FEED}this.skipNextNewLine=false;if(a.isSurrogate(e)){e=this._processSurrogate(e)}const t=e>31&&e<127||e===i.LINE_FEED||e===i.CARRIAGE_RETURN||e>159&&e<64976;if(!t){this._checkForProblematicCharacters(e)}return e}_checkForProblematicCharacters(e){if(a.isControlCodePoint(e)){this._err(n.controlCharacterInInputStream)}else if(a.isUndefinedCodePoint(e)){this._err(n.noncharacterInInputStream)}}retreat(){if(this.pos===this.lastGapPos){this.lastGapPos=this.gapStack.pop();this.pos--}this.pos--}}e.exports=Preprocessor},6306:(e,t,r)=>{const{DOCUMENT_MODE:a}=r(9338);t.createDocument=function(){return{nodeName:"#document",mode:a.NO_QUIRKS,childNodes:[]}};t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}};t.createElement=function(e,t,r){return{nodeName:e,tagName:e,attrs:r,namespaceURI:t,childNodes:[],parentNode:null}};t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};const createTextNode=function(e){return{nodeName:"#text",value:e,parentNode:null}};const n=t.appendChild=function(e,t){e.childNodes.push(t);t.parentNode=e};const i=t.insertBefore=function(e,t,r){const a=e.childNodes.indexOf(r);e.childNodes.splice(a,0,t);t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t};t.getTemplateContent=function(e){return e.content};t.setDocumentType=function(e,t,r,a){let i=null;for(let t=0;t{e.exports=function mergeOptions(e,t){t=t||Object.create(null);return[e,t].reduce(((e,t)=>{Object.keys(t).forEach((r=>{e[r]=t[r]}));return e}),Object.create(null))}},2079:e=>{class Mixin{constructor(e){const t={};const r=this._getOverriddenMethods(this,t);for(const a of Object.keys(r)){if(typeof r[a]==="function"){t[a]=e[a];e[a]=r[a]}}}_getOverriddenMethods(){throw new Error("Not implemented")}}Mixin.install=function(e,t,r){if(!e.__mixins){e.__mixins=[]}for(let r=0;r{var a=r(5144);var n=r(1018);var i=r(1828);var o="data";e.exports=find;var s=/^data[-\w.:]+$/i;var p=/-[a-z]/g;var d=/[A-Z]/g;function find(e,t){var r=a(t);var p=t;var d=i;if(r in e.normal){return e.property[e.normal[r]]}if(r.length>4&&r.slice(0,4)===o&&s.test(t)){if(t.charAt(4)==="-"){p=datasetToProperty(t)}else{t=datasetToAttribute(t)}d=n}return new d(p,t)}function datasetToProperty(e){var t=e.slice(5).replace(p,camelcase);return o+t.charAt(0).toUpperCase()+t.slice(1)}function datasetToAttribute(e){var t=e.slice(4);if(p.test(t)){return e}t=t.replace(d,kebab);if(t.charAt(0)!=="-"){t="-"+t}return o+t}function kebab(e){return"-"+e.toLowerCase()}function camelcase(e){return e.charAt(1).toUpperCase()}},9515:(e,t,r)=>{var a=r(7261);var n=r(2528);var i=r(1638);var o=r(5733);var s=r(7871);var p=r(3020);e.exports=a([i,n,o,s,p])},7871:(e,t,r)=>{var a=r(581);var n=r(2852);var i=a.booleanish;var o=a.number;var s=a.spaceSeparated;e.exports=n({transform:ariaTransform,properties:{ariaActiveDescendant:null,ariaAtomic:i,ariaAutoComplete:null,ariaBusy:i,ariaChecked:i,ariaColCount:o,ariaColIndex:o,ariaColSpan:o,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:i,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:i,ariaFlowTo:s,ariaGrabbed:i,ariaHasPopup:null,ariaHidden:i,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:o,ariaLive:null,ariaModal:i,ariaMultiLine:i,ariaMultiSelectable:i,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:o,ariaPressed:i,ariaReadOnly:i,ariaRelevant:null,ariaRequired:i,ariaRoleDescription:s,ariaRowCount:o,ariaRowIndex:o,ariaRowSpan:o,ariaSelected:i,ariaSetSize:o,ariaSort:null,ariaValueMax:o,ariaValueMin:o,ariaValueNow:o,ariaValueText:null,role:null}});function ariaTransform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}},3020:(e,t,r)=>{var a=r(581);var n=r(2852);var i=r(3082);var o=a.boolean;var s=a.overloadedBoolean;var p=a.booleanish;var d=a.number;var l=a.spaceSeparated;var c=a.commaSeparated;e.exports=n({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:i,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:c,acceptCharset:l,accessKey:l,action:null,allow:null,allowFullScreen:o,allowPaymentRequest:o,allowUserMedia:o,alt:null,as:null,async:o,autoCapitalize:null,autoComplete:l,autoFocus:o,autoPlay:o,capture:o,charSet:null,checked:o,cite:null,className:l,cols:d,colSpan:null,content:null,contentEditable:p,controls:o,controlsList:l,coords:d|c,crossOrigin:null,data:null,dateTime:null,decoding:null,default:o,defer:o,dir:null,dirName:null,disabled:o,download:s,draggable:p,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:o,formTarget:null,headers:l,height:d,hidden:o,high:d,href:null,hrefLang:null,htmlFor:l,httpEquiv:l,id:null,imageSizes:null,imageSrcSet:c,inputMode:null,integrity:null,is:null,isMap:o,itemId:null,itemProp:l,itemRef:l,itemScope:o,itemType:l,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:o,low:d,manifest:null,max:null,maxLength:d,media:null,method:null,min:null,minLength:d,multiple:o,muted:o,name:null,nonce:null,noModule:o,noValidate:o,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:o,optimum:d,pattern:null,ping:l,placeholder:null,playsInline:o,poster:null,preload:null,readOnly:o,referrerPolicy:null,rel:l,required:o,reversed:o,rows:d,rowSpan:d,sandbox:l,scope:null,scoped:o,seamless:o,selected:o,shape:null,size:d,sizes:null,slot:null,span:d,spellCheck:p,src:null,srcDoc:null,srcLang:null,srcSet:c,start:d,step:null,style:null,tabIndex:d,target:null,title:null,translate:null,type:null,typeMustMatch:o,useMap:null,value:p,width:d,wrap:null,align:null,aLink:null,archive:l,axis:null,background:null,bgColor:null,border:d,borderColor:null,bottomMargin:d,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:o,declare:o,event:null,face:null,frame:null,frameBorder:null,hSpace:d,leftMargin:d,link:null,longDesc:null,lowSrc:null,marginHeight:d,marginWidth:d,noResize:o,noHref:o,noShade:o,noWrap:o,object:null,profile:null,prompt:null,rev:null,rightMargin:d,rules:null,scheme:null,scrolling:p,standby:null,summary:null,text:null,topMargin:d,valueType:null,version:null,vAlign:null,vLink:null,vSpace:d,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:o,disableRemotePlayback:o,prefix:null,property:null,results:d,security:null,unselectable:null}})},2100:(e,t,r)=>{var a=r(581);var n=r(2852);var i=r(8187);var o=a.boolean;var s=a.number;var p=a.spaceSeparated;var d=a.commaSeparated;var l=a.commaOrSpaceSeparated;e.exports=n({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:i,properties:{about:l,accentHeight:s,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:s,amplitude:s,arabicForm:null,ascent:s,attributeName:null,attributeType:null,azimuth:s,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:s,by:null,calcMode:null,capHeight:s,className:p,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:s,diffuseConstant:s,direction:null,display:null,dur:null,divisor:s,dominantBaseline:null,download:o,dx:null,dy:null,edgeMode:null,editable:null,elevation:s,enableBackground:null,end:null,event:null,exponent:s,externalResourcesRequired:null,fill:null,fillOpacity:s,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:d,g2:d,glyphName:d,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:s,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:s,horizOriginX:s,horizOriginY:s,id:null,ideographic:s,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:s,k:s,k1:s,k2:s,k3:s,k4:s,kernelMatrix:l,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:s,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:s,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:s,overlineThickness:s,paintOrder:null,panose1:null,path:null,pathLength:s,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:p,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:s,pointsAtY:s,pointsAtZ:s,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:l,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:l,rev:l,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:l,requiredFeatures:l,requiredFonts:l,requiredFormats:l,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:s,specularExponent:s,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:s,strikethroughThickness:s,string:null,stroke:null,strokeDashArray:l,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:s,strokeOpacity:s,strokeWidth:null,style:null,surfaceScale:s,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:l,tabIndex:s,tableValues:null,target:null,targetX:s,targetY:s,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:l,to:null,transform:null,u1:null,u2:null,underlinePosition:s,underlineThickness:s,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:s,values:null,vAlphabetic:s,vMathematical:s,vectorEffect:null,vHanging:s,vIdeographic:s,version:null,vertAdvY:s,vertOriginX:s,vertOriginY:s,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:s,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}})},3082:(e,t,r)=>{var a=r(8187);e.exports=caseInsensitiveTransform;function caseInsensitiveTransform(e,t){return a(e,t.toLowerCase())}},8187:e=>{e.exports=caseSensitiveTransform;function caseSensitiveTransform(e,t){return t in e?e[t]:t}},2852:(e,t,r)=>{var a=r(5144);var n=r(6101);var i=r(1018);e.exports=create;function create(e){var t=e.space;var r=e.mustUseProperty||[];var o=e.attributes||{};var s=e.properties;var p=e.transform;var d={};var l={};var c;var m;for(c in s){m=new i(c,p(o,c),s[c],t);if(r.indexOf(c)!==-1){m.mustUseProperty=true}d[c]=m;l[a(c)]=c;l[a(m.attribute)]=c}return new n(d,l,t)}},1018:(e,t,r)=>{var a=r(1828);var n=r(581);e.exports=DefinedInfo;DefinedInfo.prototype=new a;DefinedInfo.prototype.defined=true;var i=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"];var o=i.length;function DefinedInfo(e,t,r,s){var p=-1;var d;mark(this,"space",s);a.call(this,e,t);while(++p{e.exports=Info;var t=Info.prototype;t.space=null;t.attribute=null;t.property=null;t.boolean=false;t.booleanish=false;t.overloadedBoolean=false;t.number=false;t.commaSeparated=false;t.spaceSeparated=false;t.commaOrSpaceSeparated=false;t.mustUseProperty=false;t.defined=false;function Info(e,t){this.property=e;this.attribute=t}},7261:(e,t,r)=>{var a=r(1208);var n=r(6101);e.exports=merge;function merge(e){var t=e.length;var r=[];var i=[];var o=-1;var s;var p;while(++o{e.exports=Schema;var t=Schema.prototype;t.space=null;t.normal={};t.property={};function Schema(e,t,r){this.property=e;this.normal=t;if(r){this.space=r}}},581:(e,t)=>{var r=0;t.boolean=increment();t.booleanish=increment();t.overloadedBoolean=increment();t.number=increment();t.spaceSeparated=increment();t.commaSeparated=increment();t.commaOrSpaceSeparated=increment();function increment(){return Math.pow(2,++r)}},2528:(e,t,r)=>{var a=r(2852);e.exports=a({space:"xlink",transform:xlinkTransform,properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});function xlinkTransform(e,t){return"xlink:"+t.slice(5).toLowerCase()}},1638:(e,t,r)=>{var a=r(2852);e.exports=a({space:"xml",transform:xmlTransform,properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function xmlTransform(e,t){return"xml:"+t.slice(3).toLowerCase()}},5733:(e,t,r)=>{var a=r(2852);var n=r(3082);e.exports=a({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:n,properties:{xmlns:null,xmlnsXLink:null}})},5144:e=>{e.exports=normalize;function normalize(e){return e.toLowerCase()}},4589:(e,t,r)=>{var a=r(7261);var n=r(2528);var i=r(1638);var o=r(5733);var s=r(7871);var p=r(2100);e.exports=a([i,n,o,s,p])},9830:(e,t,r)=>{var a=r(3233);e.exports=raw;function raw(){return a}},4859:(e,t,r)=>{var a=r(6623);var n=r(1208);var i=r(2683);e.exports=parse;parse.Parser=i;function parse(e){var t=this.data("settings");var r=a(i);r.prototype.options=n(r.prototype.options,t,e);this.Parser=r}},7311:e=>{e.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]},3811:(e,t,r)=>{var a=r(1208);var n=r(8859);e.exports=factory;function factory(e){decoder.raw=decodeRaw;return decoder;function normalize(t){var r=e.offset;var a=t.line;var n=[];while(++a){if(!(a in r)){break}n.push((r[a]||0)+1)}return{start:t,indent:n}}function decoder(t,r,a){n(t,{position:normalize(r),warning:handleWarning,text:a,reference:a,textContext:e,referenceContext:e})}function decodeRaw(e,t,r){return n(e,a(r,{position:normalize(t),warning:handleWarning}))}function handleWarning(t,r,a){if(a!==3){e.file.message(t,r)}}}},2557:(e,t,r)=>{e.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:r(7311)}},6603:e=>{e.exports=locate;function locate(e,t){var r=e.indexOf("\n",t);while(r>t){if(e.charAt(r-1)!==" "){break}r--}return r}},4222:e=>{e.exports=locate;function locate(e,t){return e.indexOf("`",t)}},8419:e=>{e.exports=locate;function locate(e,t){return e.indexOf("~~",t)}},366:e=>{e.exports=locate;function locate(e,t){var r=e.indexOf("*",t);var a=e.indexOf("_",t);if(a===-1){return r}if(r===-1){return a}return a{e.exports=locate;function locate(e,t){return e.indexOf("\\",t)}},2532:e=>{e.exports=locate;function locate(e,t){var r=e.indexOf("[",t);var a=e.indexOf("![",t);if(a===-1){return r}return r{e.exports=locate;function locate(e,t){var r=e.indexOf("**",t);var a=e.indexOf("__",t);if(a===-1){return r}if(r===-1){return a}return a{e.exports=locate;function locate(e,t){return e.indexOf("<",t)}},327:e=>{e.exports=locate;var t=["https://","http://","mailto:"];function locate(e,r){var a=t.length;var n=-1;var i=-1;var o;if(!this.options.gfm){return-1}while(++n{var a=r(1208);var n=r(7970);e.exports=parse;var i="\n";var o=/\r\n|\r/g;function parse(){var e=this;var t=String(e.file);var r={line:1,column:1,offset:0};var s=a(r);var p;t=t.replace(o,i);if(t.charCodeAt(0)===65279){t=t.slice(1);s.column++;s.offset++}p={type:"root",children:e.tokenizeBlock(t,s),position:{start:r,end:e.eof||a(r)}};if(!e.options.position){n(p,true)}return p}},2683:(e,t,r)=>{var a=r(1208);var n=r(6435);var i=r(2403);var o=r(4063);var s=r(3811);var p=r(8970);e.exports=Parser;function Parser(e,t){this.file=t;this.offset={};this.options=a(this.options);this.setOptions({});this.inList=false;this.inBlock=false;this.inLink=false;this.atStart=true;this.toOffset=i(t).toOffset;this.unescape=o(this,"escape");this.decode=s(this)}var d=Parser.prototype;d.setOptions=r(9449);d.parse=r(7329);d.options=r(2557);d.exitStart=n("atStart",true);d.enterList=n("inList",false);d.enterLink=n("inLink",false);d.enterBlock=n("inBlock",false);d.interruptParagraph=[["thematicBreak"],["atxHeading"],["fencedCode"],["blockquote"],["html"],["setextHeading",{commonmark:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];d.interruptList=[["atxHeading",{pedantic:false}],["fencedCode",{pedantic:false}],["thematicBreak",{pedantic:false}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];d.interruptBlockquote=[["indentedCode",{commonmark:true}],["fencedCode",{commonmark:true}],["atxHeading",{commonmark:true}],["setextHeading",{commonmark:true}],["thematicBreak",{commonmark:true}],["html",{commonmark:true}],["list",{commonmark:true}],["definition",{commonmark:false}],["footnote",{commonmark:false}]];d.blockTokenizers={newline:r(8742),indentedCode:r(5813),fencedCode:r(1553),blockquote:r(2614),atxHeading:r(5544),thematicBreak:r(2763),list:r(3766),setextHeading:r(7263),html:r(8514),footnote:r(2515),definition:r(7387),table:r(3274),paragraph:r(2082)};d.inlineTokenizers={escape:r(950),autoLink:r(3763),url:r(5069),html:r(9155),link:r(8337),reference:r(3699),strong:r(9569),emphasis:r(4133),deletion:r(5052),code:r(7215),break:r(2822),text:r(9916)};d.blockMethods=keys(d.blockTokenizers);d.inlineMethods=keys(d.inlineTokenizers);d.tokenizeBlock=p("block");d.tokenizeInline=p("inline");d.tokenizeFactory=p;function keys(e){var t=[];var r;for(r in e){t.push(r)}return t}},9449:(e,t,r)=>{var a=r(1208);var n=r(8805);var i=r(2557);e.exports=setOptions;function setOptions(e){var t=this;var r=t.options;var o;var s;if(e==null){e={}}else if(typeof e==="object"){e=a(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(o in i){s=e[o];if(s==null){s=r[o]}if(o!=="blocks"&&typeof s!=="boolean"||o==="blocks"&&typeof s!=="object"){throw new Error("Invalid value `"+s+"` for setting `options."+o+"`")}e[o]=s}t.options=e;t.escape=n(e);return t}},3763:(e,t,r)=>{var a=r(8473);var n=r(8859);var i=r(6330);e.exports=autoLink;autoLink.locator=i;autoLink.notInLink=true;var o="<";var s=">";var p="@";var d="/";var l="mailto:";var c=l.length;function autoLink(e,t,r){var i=this;var m="";var g=t.length;var v=0;var T="";var E=false;var _="";var w;var A;var b;var y;var S;if(t.charAt(0)!==o){return}v++;m=o;while(v{var a=r(4065);var n=r(1783);e.exports=blockquote;var i="\n";var o="\t";var s=" ";var p=">";function blockquote(e,t,r){var d=this;var l=d.offset;var c=d.blockTokenizers;var m=d.interruptBlockquote;var g=e.now();var v=g.line;var T=t.length;var E=[];var _=[];var w=[];var A;var b=0;var y;var S;var C;var k;var N;var D;var O;var R;while(b{var a=r(6603);e.exports=hardBreak;hardBreak.locator=a;var n=" ";var i="\n";var o=2;function hardBreak(e,t,r){var a=t.length;var s=-1;var p="";var d;while(++s{e.exports=fencedCode;var t="\n";var r="\t";var a=" ";var n="~";var i="`";var o=3;var s=4;function fencedCode(e,p,d){var l=this;var c=l.options.gfm;var m=p.length+1;var g=0;var v="";var T;var E;var _;var w;var A;var b;var y;var S;var C;var k;var N;var D;var O;if(!c){return}while(g=s){continue}y="";while(g{var a=r(6976);var n=r(3199);e.exports=indentedCode;var i="\n";var o="\t";var s=" ";var p=4;var d=a(s,p);function indentedCode(e,t,r){var a=-1;var p=t.length;var l="";var c="";var m="";var g="";var v;var T;var E;while(++a{var a=r(4222);e.exports=inlineCode;inlineCode.locator=a;var n=10;var i=32;var o=96;function inlineCode(e,t,r){var a=t.length;var s=0;var p;var d;var l;var c;var m;var g;while(s2&&(c===i||c===n)&&(m===i||m===n)){s++;a--;while(s{var a=r(8473);var n=r(2482);e.exports=definition;var i='"';var o="'";var s="\\";var p="\n";var d="\t";var l=" ";var c="[";var m="]";var g="(";var v=")";var T=":";var E="<";var _=">";function definition(e,t,r){var a=this;var _=a.options.commonmark;var w=0;var A=t.length;var b="";var y;var S;var C;var k;var N;var D;var O;var R;while(w{var a=r(8473);var n=r(8419);e.exports=strikethrough;strikethrough.locator=n;var i="~";var o="~~";function strikethrough(e,t,r){var n=this;var s="";var p="";var d="";var l="";var c;var m;var g;if(!n.options.gfm||t.charAt(0)!==i||t.charAt(1)!==i||a(t.charAt(2))){return}c=1;m=t.length;g=e.now();g.column+=2;g.offset+=2;while(++c{var a=r(4065);var n=r(1623);var i=r(8473);var o=r(366);e.exports=emphasis;emphasis.locator=o;var s="*";var p="_";var d="\\";function emphasis(e,t,r){var o=this;var l=0;var c=t.charAt(l);var m;var g;var v;var T;var E;var _;var w;if(c!==s&&c!==p){return}g=o.options.pedantic;E=c;v=c;_=t.length;l++;T="";c="";if(g&&i(t.charAt(l))){return}while(l<_){w=c;c=t.charAt(l);if(c===v&&(!g||!i(w))){c=t.charAt(++l);if(c!==v){if(!a(T)||w===v){return}if(!g&&v===p&&n(c)){T+=v;continue}if(r){return true}m=e.now();m.column++;m.offset++;return e(E+T+v)({type:"emphasis",children:o.tokenizeInline(T,m)})}T+=v}if(!g&&c===d){T+=c;c=t.charAt(++l)}T+=c;l++}}},950:(e,t,r)=>{var a=r(6230);e.exports=escape;escape.locator=a;var n="\n";var i="\\";function escape(e,t,r){var a=this;var o;var s;if(t.charAt(0)===i){o=t.charAt(1);if(a.escape.indexOf(o)!==-1){if(r){return true}if(o===n){s={type:"break"}}else{s={type:"text",value:o}}return e(i+o)(s)}}}},2515:(e,t,r)=>{var a=r(8473);var n=r(2482);e.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var i="\\";var o="\n";var s="\t";var p=" ";var d="[";var l="]";var c="^";var m=":";var g=/^( {4}|\t)?/gm;function footnoteDefinition(e,t,r){var v=this;var T=v.offset;var E;var _;var w;var A;var b;var y;var S;var C;var k;var N;var D;var O;if(!v.options.footnotes){return}E=0;_=t.length;w="";A=e.now();b=A.line;while(E<_){k=t.charAt(E);if(!a(k)){break}w+=k;E++}if(t.charAt(E)!==d||t.charAt(E+1)!==c){return}w+=d+c;E=w.length;S="";while(E<_){k=t.charAt(E);if(k===l){break}else if(k===i){S+=k;E++;k=t.charAt(E)}S+=k;E++}if(!S||t.charAt(E)!==l||t.charAt(E+1)!==m){return}if(r){return true}N=S;w+=S+l+m;E=w.length;while(E<_){k=t.charAt(E);if(k!==s&&k!==p){break}w+=k;E++}A.column+=w.length;A.offset+=w.length;S="";y="";C="";while(E<_){k=t.charAt(E);if(k===o){C=k;E++;while(E<_){k=t.charAt(E);if(k!==o){break}C+=k;E++}S+=C;C="";while(E<_){k=t.charAt(E);if(k!==p){break}C+=k;E++}if(C.length===0){break}S+=C}if(S){y+=S;S=""}y+=k;E++}w+=y;y=y.replace(g,(function(e){T[b]=(T[b]||0)+e.length;b++;return""}));D=e(w);O=v.enterBlock();y=v.tokenizeBlock(y,A);O();return D({type:"footnoteDefinition",identifier:n(N),label:N,children:y})}},5544:e=>{e.exports=atxHeading;var t="\n";var r="\t";var a=" ";var n="#";var i=6;function atxHeading(e,o,s){var p=this;var d=p.options.pedantic;var l=o.length+1;var c=-1;var m=e.now();var g="";var v="";var T;var E;var _;while(++ci){return}if(!_||!d&&o.charAt(c+1)===n){return}l=o.length+1;E="";while(++c{e.exports=setextHeading;var t="\n";var r="\t";var a=" ";var n="=";var i="-";var o=3;var s=1;var p=2;function setextHeading(e,d,l){var c=this;var m=e.now();var g=d.length;var v=-1;var T="";var E;var _;var w;var A;var b;while(++v=o){v--;break}T+=w}E="";_="";while(++v{var a=r(9181).g;e.exports=blockHtml;var n="\t";var i=" ";var o="\n";var s="<";var p=/^<(script|pre|style)(?=(\s|>|$))/i;var d=/<\/(script|pre|style)>/i;var l=/^/;var m=/^<\?/;var g=/\?>/;var v=/^/;var E=/^/;var w=/^$/;var A=new RegExp(a.source+"\\s*$");function blockHtml(e,t,r){var a=this;var b=a.options.blocks.join("|");var y=new RegExp("^|$))","i");var S=t.length;var C=0;var k;var N;var D;var O;var R;var I;var P;var L=[[p,d,true],[l,c,true],[m,g,true],[v,T,true],[E,_,true],[y,w,true],[A,w,false]];while(C{var a=r(1997);var n=r(6330);var i=r(9181)._;e.exports=inlineHTML;inlineHTML.locator=n;var o="<";var s="?";var p="!";var d="/";var l=/^/i;function inlineHTML(e,t,r){var n=this;var m=t.length;var g;var v;if(t.charAt(0)!==o||m<3){return}g=t.charAt(1);if(!a(g)&&g!==s&&g!==p&&g!==d){return}v=t.match(i);if(!v){return}if(r){return true}v=v[0];if(!n.inLink&&l.test(v)){n.inLink=true}else if(n.inLink&&c.test(v)){n.inLink=false}return e(v)({type:"html",value:v})}},8337:(e,t,r)=>{var a=r(8473);var n=r(2532);e.exports=link;link.locator=n;var i="\n";var o="!";var s='"';var p="'";var d="(";var l=")";var c="<";var m=">";var g="[";var v="\\";var T="]";var E="`";function link(e,t,r){var n=this;var _="";var w=0;var A=t.charAt(0);var b=n.options.pedantic;var y=n.options.commonmark;var S=n.options.gfm;var C;var k;var N;var D;var O;var R;var I;var P;var L;var x;var F;var M;var B;var U;var G;var H;var V;var q;if(A===o){P=true;_=A;A=t.charAt(++w)}if(A!==g){return}if(!P&&n.inLink){return}_+=A;U="";w++;F=t.length;H=e.now();B=0;H.column+=w;H.offset+=w;while(w=N){N=0}}else if(A===v){w++;R+=t.charAt(w)}else if((!N||S)&&A===g){B++}else if((!N||S)&&A===T){if(B){B--}else{if(!b){while(w{var a=r(4065);var n=r(6976);var i=r(5552);var o=r(8059);var s=r(1180);var p=r(1783);e.exports=list;var d="*";var l="_";var c="+";var m="-";var g=".";var v=" ";var T="\n";var E="\t";var _=")";var w="x";var A=4;var b=/\n\n(?!\s*$)/;var y=/^\[([ \t]|x|X)][ \t]/;var S=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/;var C=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/;var k=/^( {1,4}|\t)?/gm;function list(e,t,r){var n=this;var o=n.options.commonmark;var s=n.options.pedantic;var w=n.blockTokenizers;var b=n.interruptList;var y=0;var S=t.length;var C=null;var k=0;var N;var D;var O;var R;var I;var P;var L;var x;var F;var M;var B;var U;var G;var H;var V;var q;var j;var K;var z=false;var W;var Y;var $;var Q;while(y=A){return}O=t.charAt(y);if(O===d||O===c||O===m){R=O;D=false}else{D=true;N="";while(y=A){Q=true}if(q&&k>=q.indent){Q=true}O=t.charAt(y);x=null;if(!Q){if(O===d||O===c||O===m){x=O;y++;k++}else{N="";while(y=q.indent||k>A}L=false;y=P}M=t.slice(P,I);F=P===y?M:t.slice(y,I);if(x===d||x===l||x===m){if(w.thematicBreak.call(n,e,M,true)){break}}B=U;U=!L&&!a(F).length;if(Q&&q){q.value=q.value.concat(V,M);H=H.concat(V,M);V=[]}else if(L){if(V.length!==0){z=true;q.value.push("");q.trail=V.concat()}q={value:[M],indent:k,trail:[]};G.push(q);H=H.concat(V,M);V=[]}else if(U){if(B&&!o){break}V.push(M)}else{if(B){break}if(p(b,w,n,[e,M,true])){break}q.value=q.value.concat(V,M);H=H.concat(V,M);V=[]}y=I+1}W=e(H.join(T)).reset({type:"list",ordered:D,start:C,spread:z,children:[]});j=n.enterList();K=n.enterBlock();y=-1;S=G.length;while(++y{var a=r(8473);e.exports=newline;var n="\n";function newline(e,t,r){var i=t.charAt(0);var o;var s;var p;var d;if(i!==n){return}if(r){return true}d=1;o=t.length;s=i;p="";while(d{var a=r(4065);var n=r(5552);var i=r(3199);var o=r(1783);e.exports=paragraph;var s="\t";var p="\n";var d=" ";var l=4;function paragraph(e,t,r){var c=this;var m=c.options;var g=m.commonmark;var v=m.gfm;var T=c.blockTokenizers;var E=c.interruptParagraph;var _=t.indexOf(p);var w=t.length;var A;var b;var y;var S;var C;while(_=l&&y!==p){_=t.indexOf(p,_+1);continue}}b=t.slice(_+1);if(o(E,T,c,[e,b,true])){break}if(T.list.call(c,e,b,true)&&(c.inList||g||v&&!n(a.left(b).charAt(0)))){break}A=_;_=t.indexOf(p,_+1);if(_!==-1&&a(t.slice(A,_))===""){_=A;break}}b=t.slice(0,_);if(a(b)===""){e(b);return null}if(r){return true}C=e.now();b=i(b);return e(b)({type:"paragraph",children:c.tokenizeInline(b,C)})}},3699:(e,t,r)=>{var a=r(8473);var n=r(2532);var i=r(2482);e.exports=reference;reference.locator=n;var o="link";var s="image";var p="footnote";var d="shortcut";var l="collapsed";var c="full";var m=" ";var g="!";var v="[";var T="\\";var E="]";var _="^";function reference(e,t,r){var n=this;var w=n.options.commonmark;var A=n.options.footnotes;var b=t.charAt(0);var y=0;var S=t.length;var C="";var k="";var N=o;var D=d;var O;var R;var I;var P;var L;var x;var F;var M;if(b===g){N=s;k=b;b=t.charAt(++y)}if(b!==v){return}y++;k+=b;x="";if(A&&t.charAt(y)===_){if(N===s){return}k+=_;y++;N=p}M=0;while(y{var a=r(4065);var n=r(8473);var i=r(5514);e.exports=strong;strong.locator=i;var o="\\";var s="*";var p="_";function strong(e,t,r){var i=this;var d=0;var l=t.charAt(d);var c;var m;var g;var v;var T;var E;var _;if(l!==s&&l!==p||t.charAt(++d)!==l){return}m=i.options.pedantic;g=l;T=g+g;E=t.length;d++;v="";l="";if(m&&n(t.charAt(d))){return}while(d{var a=r(8473);e.exports=table;var n="\t";var i="\n";var o=" ";var s="-";var p=":";var d="\\";var l="|";var c=1;var m=2;var g="left";var v="center";var T="right";function table(e,t,r){var E=this;var _;var w;var A;var b;var y;var S;var C;var k;var N;var D;var O;var R;var I;var P;var L;var x;var F;var M;var B;var U;var G;var H;if(!E.options.gfm){return}_=0;x=0;S=t.length+1;C=[];while(_U){if(x1){if(N){b+=k.slice(0,k.length-1);k=k.charAt(k.length-1)}else{b+=k;k=""}}P=e.now();e(b)({type:"tableCell",children:E.tokenizeInline(R,P)},y)}e(k+N);k="";R=""}}else{if(k){R+=k;k=""}R+=N;if(N===d&&_!==S-2){R+=F.charAt(_+1);_++}}I=false;_++}if(!L){e(i+w)}}return B}},9916:e=>{e.exports=text;function text(e,t,r){var a=this;var n;var i;var o;var s;var p;var d;var l;var c;var m;var g;if(r){return true}n=a.inlineMethods;s=n.length;i=a.inlineTokenizers;o=-1;m=t.length;while(++o{e.exports=thematicBreak;var t="\t";var r="\n";var a=" ";var n="*";var i="-";var o="_";var s=3;function thematicBreak(e,p,d){var l=-1;var c=p.length+1;var m="";var g;var v;var T;var E;while(++l=s&&(!g||g===r)){m+=E;if(d){return true}return e(m)({type:"thematicBreak"})}else{return}}}},5069:(e,t,r)=>{var a=r(8859);var n=r(8473);var i=r(327);e.exports=url;url.locator=i;url.notInLink=true;var o='"';var s="'";var p="(";var d=")";var l=",";var c=".";var m=":";var g=";";var v="<";var T="@";var E="[";var _="]";var w="http://";var A="https://";var b="mailto:";var y=[w,A,b];var S=y.length;function url(e,t,r){var i=this;var w;var A;var C;var k;var N;var D;var O;var R;var I;var P;var L;var x;var F;if(!i.options.gfm){return}w="";k=-1;while(++k{e.exports=factory;function factory(e){return tokenize;function tokenize(t,r){var a=this;var n=a.offset;var i=[];var o=a[e+"Methods"];var s=a[e+"Tokenizers"];var p=r.line;var d=r.column;var l;var c;var m;var g;var v;var T;if(!t){return i}eat.now=now;eat.file=a.file;updatePosition("");while(t){l=-1;c=o.length;v=false;while(++l{e.exports=factory;var t="\\";function factory(e,r){return unescape;function unescape(a){var n=0;var i=a.indexOf(t);var o=e[r];var s=[];var p;while(i!==-1){s.push(a.slice(n,i));n=i+1;p=a.charAt(n);if(!p||o.indexOf(p)===-1){s.push(t)}i=a.indexOf(t,n+1)}s.push(a.slice(n));return s.join("")}}},8059:e=>{e.exports=indentation;var t="\t";var r=" ";var a=1;var n=4;function indentation(e){var i=0;var o=0;var s=e.charAt(i);var p={};var d;while(s===t||s===r){d=s===t?n:a;o+=d;if(d>1){o=Math.floor(o/d)*d}p[o]=i;s=e.charAt(++i)}return{indent:o,stops:p}}},9181:(e,t)=>{var r="[a-zA-Z_:][a-zA-Z0-9:._-]*";var a="[^\"'=<>`\\u0000-\\u0020]+";var n="'[^']*'";var i='"[^"]*"';var o="(?:"+a+"|"+n+"|"+i+")";var s="(?:\\s+"+r+"(?:\\s*=\\s*"+o+")?)";var p="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var d="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var l="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var c="<[?].*?[?]>";var m="]*>";var g="";t.g=new RegExp("^(?:"+p+"|"+d+")");t._=new RegExp("^(?:"+p+"|"+d+"|"+l+"|"+c+"|"+m+"|"+g+")")},1783:e=>{e.exports=interrupt;function interrupt(e,t,r,a){var n=e.length;var i=-1;var o;var s;while(++i{var a=r(8201);e.exports=normalize;function normalize(e){return a(e).toLowerCase()}},1180:(e,t,r)=>{var a=r(4065);var n=r(6976);var i=r(8059);e.exports=indentation;var o="\t";var s="\n";var p=" ";var d="!";function indentation(e,t){var r=e.split(s);var l=r.length+1;var c=Infinity;var m=[];var g;var v;var T;var E;r.unshift(n(p,t)+d);while(l--){v=i(r[l]);m[l]=v.stops;if(a(r[l]).length===0){continue}if(v.indent){if(v.indent>0&&v.indent{var a=r(7780);e.exports=remark2rehype;function remark2rehype(e,t){if(e&&!e.process){t=e;e=null}return e?bridge(e,t):mutate(t)}function bridge(e,t){return transformer;function transformer(r,n,i){e.run(a(r,t),n,done);function done(e){i(e)}}}function mutate(e){return transformer;function transformer(t){return a(t,e)}}},6976:e=>{ /*! * repeat-string * * Copyright (c) 2014-2015, Jon Schlinkert. * Licensed under the MIT License. */ -var t="";var r;e.exports=repeat;function repeat(e,a){if(typeof e!=="string"){throw new TypeError("expected a string")}if(a===1)return e;if(a===2)return e+e;var n=e.length*a;if(r!==e||typeof r==="undefined"){r=e;t=""}else if(t.length>=n){return t.substr(0,n)}while(n>t.length&&a>1){if(a&1){t+=e}a>>=1;e+=e}t+=e;t=t.substr(0,n);return t}},1762:(e,t,r)=>{var a=r(6961);var n=r(7512);e.exports=function(e,t){if(typeof t==="function"){t={parse:t}}var r=toObject(e);var a={section_delimiter:"---",parse:identity};var i=n({},a,t);var o=i.section_delimiter;var s=r.content.split(/\r?\n/);var p=null;var d=createSection();var l=[];var m=[];function initSections(e){r.content=e;p=[];l=[]}function closeSection(e){if(m.length){d.key=getKey(m[0],o);d.content=e;i.parse(d,p);p.push(d);d=createSection();l=[];m=[]}}for(var c=0;c{t.parse=parse;t.stringify=stringify;var r="";var a=" ";var n=/[ \t\n\r\f]+/g;function parse(e){var t=String(e||r).trim();return t===r?[]:t.split(n)}function stringify(e){return e.join(a).trim()}},6435:e=>{e.exports=factory;function factory(e,t,r){return enter;function enter(){var a=r||this;var n=a[e];a[e]=!t;return exit;function exit(){a[e]=n}}}},6550:e=>{ +var t="";var r;e.exports=repeat;function repeat(e,a){if(typeof e!=="string"){throw new TypeError("expected a string")}if(a===1)return e;if(a===2)return e+e;var n=e.length*a;if(r!==e||typeof r==="undefined"){r=e;t=""}else if(t.length>=n){return t.substr(0,n)}while(n>t.length&&a>1){if(a&1){t+=e}a>>=1;e+=e}t+=e;t=t.substr(0,n);return t}},1762:(e,t,r)=>{var a=r(6961);var n=r(7512);e.exports=function(e,t){if(typeof t==="function"){t={parse:t}}var r=toObject(e);var a={section_delimiter:"---",parse:identity};var i=n({},a,t);var o=i.section_delimiter;var s=r.content.split(/\r?\n/);var p=null;var d=createSection();var l=[];var c=[];function initSections(e){r.content=e;p=[];l=[]}function closeSection(e){if(c.length){d.key=getKey(c[0],o);d.content=e;i.parse(d,p);p.push(d);d=createSection();l=[];c=[]}}for(var m=0;m{t.parse=parse;t.stringify=stringify;var r="";var a=" ";var n=/[ \t\n\r\f]+/g;function parse(e){var t=String(e||r).trim();return t===r?[]:t.split(n)}function stringify(e){return e.join(a).trim()}},6435:e=>{e.exports=factory;function factory(e,t,r){return enter;function enter(){var a=r||this;var n=a[e];a[e]=!t;return exit;function exit(){a[e]=n}}}},6550:e=>{ /*! * strip-bom-string * * Copyright (c) 2015, 2017, Jon Schlinkert. * Released under the MIT License. */ -e.exports=function(e){if(typeof e==="string"&&e.charAt(0)==="\ufeff"){return e.slice(1)}return e}},6204:(e,t,r)=>{var a=r(3328);function StyleToObject(e,t){var r=null;if(!e||typeof e!=="string"){return r}var n;var i=a(e);var o=typeof t==="function";var s;var p;for(var d=0,l=i.length;d{var a=r(5477);var n=r(2020);var i={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var t=0;var r=n.length-1;while(t<=r){var a=Math.floor((t+r)/2);var i=n[a];if(i[0][0]<=e&&i[0][1]>=e){return i}else if(i[0][0]>e){r=a-1}else{t=a+1}}return null}var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(o,"_").length}function mapChars(e,t,r){var a=false;var n="";var o=countSymbols(e);for(var s=0;s253||s.length===0){i.error=true}for(var p=0;p63||o.length===0){i.error=true;break}}}if(i.error)return null;return o.join(".")};e.exports.toUnicode=function(e,t){var r=processing(e,t,i.NONTRANSITIONAL);return{domain:r.string,error:r.error}};e.exports.PROCESSING_OPTIONS=i},8213:e=>{e.exports=trimLines;var t=/[ \t]*\n+[ \t]*/g;var r="\n";function trimLines(e){return String(e).replace(t,r)}},3199:e=>{e.exports=trimTrailingLines;function trimTrailingLines(e){return String(e).replace(/\n+$/,"")}},4065:(e,t)=>{t=e.exports=trim;function trim(e){return e.replace(/^\s*|\s*$/g,"")}t.left=function(e){return e.replace(/^\s*/,"")};t.right=function(e){return e.replace(/\s*$/,"")}},3604:(e,t,r)=>{var a=r(3458);e.exports=trough;trough.wrap=a;var n=[].slice;function trough(){var e=[];var t={};t.run=run;t.use=use;return t;function run(){var t=-1;var r=n.call(arguments,0,-1);var i=arguments[arguments.length-1];if(typeof i!=="function"){throw new Error("Expected function as last argument, not "+i)}next.apply(null,[null].concat(r));function next(o){var s=e[++t];var p=n.call(arguments,0);var d=p.slice(1);var l=r.length;var m=-1;if(o){i(o);return}while(++m{var t=[].slice;e.exports=wrap;function wrap(e,r){var a;return wrapped;function wrapped(){var r=t.call(arguments,0);var n=e.length>r.length;var i;if(n){r.push(done)}try{i=e.apply(null,r)}catch(e){if(n&&a){throw e}return done(e)}if(!n){if(i&&typeof i.then==="function"){i.then(then,done)}else if(i instanceof Error){done(i)}else{then(i)}}}function done(){if(!a){a=true;r.apply(null,arguments)}}function then(e){done(null,e)}}},4294:(e,t,r)=>{e.exports=r(4219)},4219:(e,t,r)=>{var a=r(1808);var n=r(4404);var i=r(3685);var o=r(5687);var s=r(2361);var p=r(9491);var d=r(3837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,a,n){var i=toOptions(r,a,n);for(var o=0,s=t.requests.length;o=this.maxSockets){n.requests.push(i);return}n.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){n.emit("free",t,i)}function onCloseOrRemove(e){n.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var a={};r.sockets.push(a);var n=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){n.localAddress=e.localAddress}if(n.proxyAuth){n.headers=n.headers||{};n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")}l("making CONNECT request");var i=r.request(n);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(n,o,s){i.removeAllListeners();o.removeAllListeners();if(n.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",n.statusCode);o.destroy();var p=new Error("tunneling socket could not be established, "+"statusCode="+n.statusCode);p.code="ECONNRESET";e.request.emit("error",p);r.removeSocket(a);return}if(s.length>0){l("got illegal response body from proxy");o.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET";e.request.emit("error",p);r.removeSocket(a);return}l("tunneling connection has established");r.sockets[r.sockets.indexOf(a)]=o;return t(o)}function onError(t){i.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var n=new Error("tunneling socket could not be established, "+"cause="+t.message);n.code="ECONNRESET";e.request.emit("error",n);r.removeSocket(a)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(a){var i=e.request.getHeader("host");var o=mergeOptions({},r.options,{socket:a,servername:i?i.replace(/:.*$/,""):e.host});var s=n.connect(0,o);r.sockets[r.sockets.indexOf(a)]=s;t(s)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{var a=r(1208);var n=r(4124);e.exports=unherit;function unherit(e){var t;var r;var i;n(Of,e);n(From,Of);t=Of.prototype;for(r in t){i=t[r];if(i&&typeof i==="object"){t[r]="concat"in i?i.concat():a(i)}}return Of;function From(t){return e.apply(this,t)}function Of(){if(!(this instanceof Of)){return new From(arguments)}return e.apply(this,arguments)}}},5075:(e,t,r)=>{var a=r(8171);var n=r(7240);var i=r(4860);var o=r(3604);var s=r(864);e.exports=unified().freeze();var p=[].slice;var d={}.hasOwnProperty;var l=o().use(pipelineParse).use(pipelineRun).use(pipelineStringify);function pipelineParse(e,t){t.tree=e.parse(t.file)}function pipelineRun(e,t,r){e.run(t.tree,t.file,done);function done(e,a,n){if(e){r(e)}else{t.tree=a;t.file=n;r()}}}function pipelineStringify(e,t){t.file.contents=e.stringify(t.tree,t.file)}function unified(){var e=[];var t=o();var r={};var m=false;var c=-1;processor.data=data;processor.freeze=freeze;processor.attachers=e;processor.use=use;processor.parse=parse;processor.stringify=stringify;processor.run=run;processor.runSync=runSync;processor.process=process;processor.processSync=processSync;return processor;function processor(){var t=unified();var n=e.length;var i=-1;while(++i{var a=r(7426);e.exports=u;function u(e,t,r){var n;if((r===null||r===undefined)&&(typeof t!=="object"||Array.isArray(t))){r=t;t={}}n=a({type:String(e)},t);if(Array.isArray(r)){n.children=r}else if(r!==null&&r!==undefined){n.value=String(r)}return n}},5084:e=>{e.exports=generated;function generated(e){return!e||!e.position||!e.position.start||!e.position.start.line||!e.position.start.column||!e.position.end||!e.position.end.line||!e.position.end.column}},4070:e=>{e.exports=convert;function convert(e){if(typeof e==="string"){return typeFactory(e)}if(e===null||e===undefined){return ok}if(typeof e==="object"){return("length"in e?anyFactory:matchesFactory)(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function convertAll(e){var t=[];var r=e.length;var a=-1;while(++a{var t=factory("start");var r=factory("end");e.exports=position;position.start=t;position.end=r;function position(e){return{start:t(e),end:r(e)}}function factory(e){point.displayName=e;return point;function point(t){var r=t&&t.position&&t.position[e]||{};return{line:r.line||null,column:r.column||null,offset:isNaN(r.offset)?null:r.offset}}}},7970:(e,t,r)=>{var a=r(5259);e.exports=removePosition;function removePosition(e,t){a(e,t?hard:soft);return e}function hard(e){delete e.position}function soft(e){e.position=undefined}},4571:(e,t,r)=>{e.exports=visitParents;var a=r(4070);var n=true;var i="skip";var o=false;visitParents.CONTINUE=n;visitParents.SKIP=i;visitParents.EXIT=o;function visitParents(e,t,r,n){var s;if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}s=a(t);one(e,null,[]);function one(e,a,n){var p=[];var d;if(!t||s(e,a,n[n.length-1]||null)){p=toResult(r(e,n));if(p[0]===o){return p}}if(e.children&&p[0]!==i){d=toResult(all(e.children,n.concat(e)));return d[0]===o?d:p}return p}function all(e,t){var r=-1;var a=n?-1:1;var i=(n?e.length:r)+a;var s;while(i>r&&i{e.exports=visit;var a=r(4571);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},1957:e=>{var t={}.hasOwnProperty;e.exports=stringify;function stringify(e){if(!e||typeof e!=="object"){return""}if(t.call(e,"position")||t.call(e,"type")){return position(e.position)}if(t.call(e,"start")||t.call(e,"end")){return position(e)}if(t.call(e,"line")||t.call(e,"column")){return point(e)}return""}function point(e){if(!e||typeof e!=="object"){e={}}return index(e.line)+":"+index(e.column)}function position(e){if(!e||typeof e!=="object"){e={}}return point(e.start)+"-"+point(e.end)}function index(e){return e&&typeof e==="number"?e:1}},9906:e=>{e.exports=color;function color(e){return""+e+""}},3246:(e,t,r)=>{e.exports=visitParents;var a=r(4048);var n=r(9906);var i=true;var o="skip";var s=false;visitParents.CONTINUE=i;visitParents.SKIP=o;visitParents.EXIT=s;function visitParents(e,t,r,i){var p;var d;if(typeof t==="function"&&typeof r!=="function"){i=r;r=t;t=null}d=a(t);p=i?-1:1;factory(e,null,[])();function factory(e,a,l){var m=typeof e==="object"&&e!==null?e:{};var c;if(typeof m.type==="string"){c=typeof m.tagName==="string"?m.tagName:typeof m.name==="string"?m.name:undefined;visit.displayName="node ("+n(m.type+(c?"<"+c+">":""))+")"}return visit;function visit(){var n=l.concat(e);var m=[];var c;var g;if(!t||d(e,a,l[l.length-1]||null)){m=toResult(r(e,l));if(m[0]===s){return m}}if(e.children&&m[0]!==o){g=(i?e.children.length:-1)+p;while(g>-1&&g{e.exports=convert;function convert(e){if(e==null){return ok}if(typeof e==="string"){return typeFactory(e)}if(typeof e==="object"){return"length"in e?anyFactory(e):allFactory(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function allFactory(e){return all;function all(t){var r;for(r in e){if(t[r]!==e[r])return false}return true}}function anyFactory(e){var t=[];var r=-1;while(++r{e.exports=visit;var a=r(3246);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},5030:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}t.getUserAgent=getUserAgent},2403:e=>{e.exports=factory;function factory(e){var t=indices(String(e));return{toPosition:offsetToPositionFactory(t),toOffset:positionToOffsetFactory(t)}}function offsetToPositionFactory(e){return offsetToPosition;function offsetToPosition(t){var r=-1;var a=e.length;if(t<0){return{}}while(++rt){return{line:r+1,column:t-(e[r-1]||0)+1,offset:t}}}return{}}}function positionToOffsetFactory(e){return positionToOffset;function positionToOffset(t){var r=t&&t.line;var a=t&&t.column;if(!isNaN(r)&&!isNaN(a)&&r-1 in e){return(e[r-2]||0)+a-1||0}return-1}}function indices(e){var t=[];var r=e.indexOf("\n");while(r!==-1){t.push(r+1);r=e.indexOf("\n",r+1)}t.push(e.length+1);return t}},4108:(e,t,r)=>{var a=r(1957);e.exports=VMessage;function VMessagePrototype(){}VMessagePrototype.prototype=Error.prototype;VMessage.prototype=new VMessagePrototype;var n=VMessage.prototype;n.file="";n.name="";n.reason="";n.message="";n.stack="";n.fatal=null;n.column=null;n.line=null;function VMessage(e,t,r){var n;var i;var o;if(typeof t==="string"){r=t;t=null}n=parseOrigin(r);i=a(t)||"1:1";o={start:{line:null,column:null},end:{line:null,column:null}};if(t&&t.position){t=t.position}if(t){if(t.start){o=t;t=t.start}else{o.start=t}}if(e.stack){this.stack=e.stack;e=e.message}this.message=e;this.name=i;this.reason=e;this.line=t?t.line:null;this.column=t?t.column:null;this.location=o;this.source=n[0];this.ruleId=n[1]}function parseOrigin(e){var t=[null,null];var r;if(typeof e==="string"){r=e.indexOf(":");if(r===-1){t[1]=e}else{t[0]=e.slice(0,r);t[1]=e.slice(r+1)}}return t}},4860:(e,t,r)=>{e.exports=r(77)},9523:(e,t,r)=>{var a=r(9239);var n=r(6070);var i=r(5625);e.exports=VFile;var o={}.hasOwnProperty;var s=["history","path","basename","stem","extname","dirname"];VFile.prototype.toString=toString;Object.defineProperty(VFile.prototype,"path",{get:getPath,set:setPath});Object.defineProperty(VFile.prototype,"dirname",{get:getDirname,set:setDirname});Object.defineProperty(VFile.prototype,"basename",{get:getBasename,set:setBasename});Object.defineProperty(VFile.prototype,"extname",{get:getExtname,set:setExtname});Object.defineProperty(VFile.prototype,"stem",{get:getStem,set:setStem});function VFile(e){var t;var r;if(!e){e={}}else if(typeof e==="string"||i(e)){e={contents:e}}else if("message"in e&&"messages"in e){return e}if(!(this instanceof VFile)){return new VFile(e)}this.data={};this.messages=[];this.history=[];this.cwd=n.cwd();r=-1;while(++r-1){throw new Error("`extname` cannot contain multiple dots")}}this.path=a.join(this.dirname,this.stem+(e||""))}function getStem(){return typeof this.path==="string"?a.basename(this.path,this.extname):undefined}function setStem(e){assertNonEmpty(e,"stem");assertPart(e,"stem");this.path=a.join(this.dirname||"",e+(this.extname||""))}function toString(e){return(this.contents||"").toString(e)}function assertPart(e,t){if(e&&e.indexOf(a.sep)>-1){throw new Error("`"+t+"` cannot be a path: did not expect `"+a.sep+"`")}}function assertNonEmpty(e,t){if(!e){throw new Error("`"+t+"` cannot be empty")}}function assertPath(e,t){if(!e){throw new Error("Setting `"+t+"` requires `path` to be set too")}}},77:(e,t,r)=>{var a=r(4108);var n=r(9523);e.exports=n;n.prototype.message=message;n.prototype.info=info;n.prototype.fail=fail;function message(e,t,r){var n=new a(e,t,r);if(this.path){n.name=this.path+":"+n.name;n.file=this.path}n.fatal=false;this.messages.push(n);return n}function fail(){var e=this.message.apply(this,arguments);e.fatal=true;throw e}function info(){var e=this.message.apply(this,arguments);e.fatal=null;return e}},9239:(e,t,r)=>{e.exports=r(1017)},6070:e=>{e.exports=process},4886:e=>{var t={};e.exports=t;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,t){if(!t.unsigned){--e}const r=t.unsigned?0:-Math.pow(2,e);const a=Math.pow(2,e)-1;const n=t.moduloBitLength?Math.pow(2,t.moduloBitLength):Math.pow(2,e);const i=t.moduloBitLength?Math.pow(2,t.moduloBitLength-1):Math.pow(2,e-1);return function(e,o){if(!o)o={};let s=+e;if(o.enforceRange){if(!Number.isFinite(s)){throw new TypeError("Argument is not a finite number")}s=sign(s)*Math.floor(Math.abs(s));if(sa){throw new TypeError("Argument is not in byte range")}return s}if(!isNaN(s)&&o.clamp){s=evenRound(s);if(sa)s=a;return s}if(!Number.isFinite(s)||s===0){return 0}s=sign(s)*Math.floor(Math.abs(s));s=s%n;if(!t.unsigned&&s>=i){return s-n}else if(t.unsigned){if(s<0){s+=n}else if(s===-0){return 0}}return s}}t["void"]=function(){return undefined};t["boolean"]=function(e){return!!e};t["byte"]=createNumberConversion(8,{unsigned:false});t["octet"]=createNumberConversion(8,{unsigned:true});t["short"]=createNumberConversion(16,{unsigned:false});t["unsigned short"]=createNumberConversion(16,{unsigned:true});t["long"]=createNumberConversion(32,{unsigned:false});t["unsigned long"]=createNumberConversion(32,{unsigned:true});t["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});t["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});t["double"]=function(e){const t=+e;if(!Number.isFinite(t)){throw new TypeError("Argument is not a finite floating-point value")}return t};t["unrestricted double"]=function(e){const t=+e;if(isNaN(t)){throw new TypeError("Argument is NaN")}return t};t["float"]=t["double"];t["unrestricted float"]=t["unrestricted double"];t["DOMString"]=function(e,t){if(!t)t={};if(t.treatNullAsEmptyString&&e===null){return""}return String(e)};t["ByteString"]=function(e,t){const r=String(e);let a=undefined;for(let e=0;(a=r.codePointAt(e))!==undefined;++e){if(a>255){throw new TypeError("Argument is not a valid bytestring")}}return r};t["USVString"]=function(e){const t=String(e);const r=t.length;const a=[];for(let e=0;e57343){a.push(String.fromCodePoint(n))}else if(56320<=n&&n<=57343){a.push(String.fromCodePoint(65533))}else{if(e===r-1){a.push(String.fromCodePoint(65533))}else{const r=t.charCodeAt(e+1);if(56320<=r&&r<=57343){const t=n&1023;const i=r&1023;a.push(String.fromCodePoint((2<<15)+(2<<9)*t+i));++e}else{a.push(String.fromCodePoint(65533))}}}}return a.join("")};t["Date"]=function(e,t){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};t["RegExp"]=function(e,t){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,t,r)=>{const a=r(2158);t.implementation=class URLImpl{constructor(e){const t=e[0];const r=e[1];let n=null;if(r!==undefined){n=a.basicURLParse(r);if(n==="failure"){throw new TypeError("Invalid base URL")}}const i=a.basicURLParse(t,{baseURL:n});if(i==="failure"){throw new TypeError("Invalid URL")}this._url=i}get href(){return a.serializeURL(this._url)}set href(e){const t=a.basicURLParse(e);if(t==="failure"){throw new TypeError("Invalid URL")}this._url=t}get origin(){return a.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){a.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(a.cannotHaveAUsernamePasswordPort(this._url)){return}a.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(a.cannotHaveAUsernamePasswordPort(this._url)){return}a.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return a.serializeHost(e.host)}return a.serializeHost(e.host)+":"+a.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}a.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return a.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}a.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return a.serializeInteger(this._url.port)}set port(e){if(a.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{a.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];a.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const t=this._url;if(e===""){t.query=null;return}const r=e[0]==="?"?e.substring(1):e;t.query="";a.basicURLParse(r,{url:t,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const t=e[0]==="#"?e.substring(1):e;this._url.fragment="";a.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,t,r)=>{const a=r(4886);const n=r(3185);const i=r(7537);const o=n.implSymbol;function URL(t){if(!this||this[o]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const r=[];for(let e=0;e{t.URL=r(3394)["interface"];t.serializeURL=r(2158).serializeURL;t.serializeURLOrigin=r(2158).serializeURLOrigin;t.basicURLParse=r(2158).basicURLParse;t.setTheUsername=r(2158).setTheUsername;t.setThePassword=r(2158).setThePassword;t.serializeHost=r(2158).serializeHost;t.serializeInteger=r(2158).serializeInteger;t.parseURL=r(2158).parseURL},2158:(e,t,r)=>{const a=r(5477);const n=r(4256);const i={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const o=Symbol("failure");function countSymbols(e){return a.ucs2.decode(e).length}function at(e,t){const r=e[t];return isNaN(r)?undefined:String.fromCodePoint(r)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,t){return isASCIIAlpha(e)&&(t===58||t===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return i[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return i[e]}function percentEncode(e){let t=e.toString(16).toUpperCase();if(t.length===1){t="0"+t}return"%"+t}function utf8PercentEncode(e){const t=new Buffer(e);let r="";for(let e=0;e126}const s=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||s.has(e)}const p=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||p.has(e)}function percentEncodeChar(e,t){const r=String.fromCodePoint(e);if(t(e)){return utf8PercentEncode(r)}return r}function parseIPv4Number(e){let t=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);t=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);t=8}if(e===""){return 0}const r=t===10?/[^0-9]/:t===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(r.test(e)){return o}return parseInt(e,t)}function parseIPv4(e){const t=e.split(".");if(t[t.length-1]===""){if(t.length>1){t.pop()}}if(t.length>4){return e}const r=[];for(const a of t){if(a===""){return e}const t=parseIPv4Number(a);if(t===o){return e}r.push(t)}for(let e=0;e255){return o}}if(r[r.length-1]>=Math.pow(256,5-r.length)){return o}let a=r.pop();let n=0;for(const e of r){a+=e*Math.pow(256,3-n);++n}return a}function serializeIPv4(e){let t="";let r=e;for(let e=1;e<=4;++e){t=String(r%256)+t;if(e!==4){t="."+t}r=Math.floor(r/256)}return t}function parseIPv6(e){const t=[0,0,0,0,0,0,0,0];let r=0;let n=null;let i=0;e=a.ucs2.decode(e);if(e[i]===58){if(e[i+1]!==58){return o}i+=2;++r;n=r}while(i6){return o}let a=0;while(e[i]!==undefined){let n=null;if(a>0){if(e[i]===46&&a<4){++i}else{return o}}if(!isASCIIDigit(e[i])){return o}while(isASCIIDigit(e[i])){const t=parseInt(at(e,i));if(n===null){n=t}else if(n===0){return o}else{n=n*10+t}if(n>255){return o}++i}t[r]=t[r]*256+n;++a;if(a===2||a===4){++r}}if(a!==4){return o}break}else if(e[i]===58){++i;if(e[i]===undefined){return o}}else if(e[i]!==undefined){return o}t[r]=a;++r}if(n!==null){let e=r-n;r=7;while(r!==0&&e>0){const a=t[n+e-1];t[n+e-1]=t[r];t[r]=a;--r;--e}}else if(n===null&&r!==8){return o}return t}function serializeIPv6(e){let t="";const r=findLongestZeroSequence(e);const a=r.idx;let n=false;for(let r=0;r<=7;++r){if(n&&e[r]===0){continue}else if(n){n=false}if(a===r){const e=r===0?"::":":";t+=e;n=true;continue}t+=e[r].toString(16);if(r!==7){t+=":"}}return t}function parseHost(e,t){if(e[0]==="["){if(e[e.length-1]!=="]"){return o}return parseIPv6(e.substring(1,e.length-1))}if(!t){return parseOpaqueHost(e)}const r=utf8PercentDecode(e);const a=n.toASCII(r,false,n.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(a===null){return o}if(containsForbiddenHostCodePoint(a)){return o}const i=parseIPv4(a);if(typeof i==="number"||i===o){return i}return a}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return o}let t="";const r=a.ucs2.decode(e);for(let e=0;er){t=a;r=n}a=null;n=0}else{if(a===null){a=i}++n}}if(n>r){t=a;r=n}return{idx:t,len:r}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const t=e.path;if(t.length===0){return}if(e.scheme==="file"&&t.length===1&&isNormalizedWindowsDriveLetter(t[0])){return}t.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,t,r,n,i){this.pointer=0;this.input=e;this.base=t||null;this.encodingOverride=r||"utf-8";this.stateOverride=i;this.url=n;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const s=trimTabAndNewline(this.input);if(s!==this.input){this.parseError=true}this.input=s;this.state=i||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=a.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const t=isNaN(e)?undefined:String.fromCodePoint(e);const r=this["parse "+this.state](e,t);if(!r){break}else if(r===o){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,t){if(isASCIIAlpha(e)){this.buffer+=t.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return o}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,t){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=t.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return o}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return o}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,t){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let t=0;tMath.pow(2,16)-1){this.parseError=true;return o}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return o}return true};const d=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!d.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,t){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===o){return o}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=t}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,t){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const t=new Buffer(this.buffer);for(let e=0;e126||t[e]===34||t[e]===35||t[e]===60||t[e]===62){this.url.query+=percentEncode(t[e])}else{this.url.query+=String.fromCodePoint(t[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=t}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,t){let r=e.scheme+":";if(e.host!==null){r+="//";if(e.username!==""||e.password!==""){r+=e.username;if(e.password!==""){r+=":"+e.password}r+="@"}r+=serializeHost(e.host);if(e.port!==null){r+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){r+="//"}if(e.cannotBeABaseURL){r+=e.path[0]}else{for(const t of e.path){r+="/"+t}}if(e.query!==null){r+="?"+e.query}if(!t&&e.fragment!==null){r+="#"+e.fragment}return r}function serializeOrigin(e){let t=e.scheme+"://";t+=serializeHost(e.host);if(e.port!==null){t+=":"+e.port}return t}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(t){switch(t.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(t.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:t.scheme,host:t.host,port:t.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,t){if(t===undefined){t={}}const r=new URLStateMachine(e,t.baseURL,t.encodingOverride,t.url,t.stateOverride);if(r.failure){return"failure"}return r.url};e.exports.setTheUsername=function(e,t){e.username="";const r=a.ucs2.decode(t);for(let t=0;t{e.exports.mixin=function mixin(e,t){const r=Object.getOwnPropertyNames(t);for(let a=0;a{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r{e.exports=extend;var t=Object.prototype.hasOwnProperty;function extend(){var e={};for(var r=0;r{e.exports=factory;var t=Function.prototype;var r={}.hasOwnProperty;function factory(e,a){var n=a||{};function one(a){var n=one.invalid;var i=one.handlers;if(a&&r.call(a,e)){n=r.call(i,a[e])?i[a[e]]:one.unknown}return(n||t).apply(this,arguments)}one.handlers=n.handlers||{};one.invalid=n.invalid;one.unknown=n.unknown;return one}},2877:module=>{module.exports=eval("require")("encoding")},9491:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("assert")},2361:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("events")},7147:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs")},3685:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http")},5687:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("https")},1808:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("net")},2037:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("os")},1017:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("path")},5477:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("punycode")},2781:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream")},4404:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tls")},7310:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("url")},3837:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util")},9796:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("zlib")},7452:e=>{e.exports=JSON.parse('{"AElig":"Æ","AMP":"&","Aacute":"Á","Acirc":"Â","Agrave":"À","Aring":"Å","Atilde":"Ã","Auml":"Ä","COPY":"©","Ccedil":"Ç","ETH":"Ð","Eacute":"É","Ecirc":"Ê","Egrave":"È","Euml":"Ë","GT":">","Iacute":"Í","Icirc":"Î","Igrave":"Ì","Iuml":"Ï","LT":"<","Ntilde":"Ñ","Oacute":"Ó","Ocirc":"Ô","Ograve":"Ò","Oslash":"Ø","Otilde":"Õ","Ouml":"Ö","QUOT":"\\"","REG":"®","THORN":"Þ","Uacute":"Ú","Ucirc":"Û","Ugrave":"Ù","Uuml":"Ü","Yacute":"Ý","aacute":"á","acirc":"â","acute":"´","aelig":"æ","agrave":"à","amp":"&","aring":"å","atilde":"ã","auml":"ä","brvbar":"¦","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","curren":"¤","deg":"°","divide":"÷","eacute":"é","ecirc":"ê","egrave":"è","eth":"ð","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","iacute":"í","icirc":"î","iexcl":"¡","igrave":"ì","iquest":"¿","iuml":"ï","laquo":"«","lt":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","ntilde":"ñ","oacute":"ó","ocirc":"ô","ograve":"ò","ordf":"ª","ordm":"º","oslash":"ø","otilde":"õ","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","raquo":"»","reg":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","thorn":"þ","times":"×","uacute":"ú","ucirc":"û","ugrave":"ù","uml":"¨","uuml":"ü","yacute":"ý","yen":"¥","yuml":"ÿ"}')},2661:e=>{e.exports=JSON.parse('{"AEli":"Æ","AElig":"Æ","AM":"&","AMP":"&","Aacut":"Á","Aacute":"Á","Abreve":"Ă","Acir":"Â","Acirc":"Â","Acy":"А","Afr":"𝔄","Agrav":"À","Agrave":"À","Alpha":"Α","Amacr":"Ā","And":"⩓","Aogon":"Ą","Aopf":"𝔸","ApplyFunction":"⁡","Arin":"Å","Aring":"Å","Ascr":"𝒜","Assign":"≔","Atild":"Ã","Atilde":"Ã","Aum":"Ä","Auml":"Ä","Backslash":"∖","Barv":"⫧","Barwed":"⌆","Bcy":"Б","Because":"∵","Bernoullis":"ℬ","Beta":"Β","Bfr":"𝔅","Bopf":"𝔹","Breve":"˘","Bscr":"ℬ","Bumpeq":"≎","CHcy":"Ч","COP":"©","COPY":"©","Cacute":"Ć","Cap":"⋒","CapitalDifferentialD":"ⅅ","Cayleys":"ℭ","Ccaron":"Č","Ccedi":"Ç","Ccedil":"Ç","Ccirc":"Ĉ","Cconint":"∰","Cdot":"Ċ","Cedilla":"¸","CenterDot":"·","Cfr":"ℭ","Chi":"Χ","CircleDot":"⊙","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","Colon":"∷","Colone":"⩴","Congruent":"≡","Conint":"∯","ContourIntegral":"∮","Copf":"ℂ","Coproduct":"∐","CounterClockwiseContourIntegral":"∳","Cross":"⨯","Cscr":"𝒞","Cup":"⋓","CupCap":"≍","DD":"ⅅ","DDotrahd":"⤑","DJcy":"Ђ","DScy":"Ѕ","DZcy":"Џ","Dagger":"‡","Darr":"↡","Dashv":"⫤","Dcaron":"Ď","Dcy":"Д","Del":"∇","Delta":"Δ","Dfr":"𝔇","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","Diamond":"⋄","DifferentialD":"ⅆ","Dopf":"𝔻","Dot":"¨","DotDot":"⃜","DotEqual":"≐","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrow":"↓","DownArrowBar":"⤓","DownArrowUpArrow":"⇵","DownBreve":"̑","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVector":"↽","DownLeftVectorBar":"⥖","DownRightTeeVector":"⥟","DownRightVector":"⇁","DownRightVectorBar":"⥗","DownTee":"⊤","DownTeeArrow":"↧","Downarrow":"⇓","Dscr":"𝒟","Dstrok":"Đ","ENG":"Ŋ","ET":"Ð","ETH":"Ð","Eacut":"É","Eacute":"É","Ecaron":"Ě","Ecir":"Ê","Ecirc":"Ê","Ecy":"Э","Edot":"Ė","Efr":"𝔈","Egrav":"È","Egrave":"È","Element":"∈","Emacr":"Ē","EmptySmallSquare":"◻","EmptyVerySmallSquare":"▫","Eogon":"Ę","Eopf":"𝔼","Epsilon":"Ε","Equal":"⩵","EqualTilde":"≂","Equilibrium":"⇌","Escr":"ℰ","Esim":"⩳","Eta":"Η","Eum":"Ë","Euml":"Ë","Exists":"∃","ExponentialE":"ⅇ","Fcy":"Ф","Ffr":"𝔉","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","Fopf":"𝔽","ForAll":"∀","Fouriertrf":"ℱ","Fscr":"ℱ","GJcy":"Ѓ","G":">","GT":">","Gamma":"Γ","Gammad":"Ϝ","Gbreve":"Ğ","Gcedil":"Ģ","Gcirc":"Ĝ","Gcy":"Г","Gdot":"Ġ","Gfr":"𝔊","Gg":"⋙","Gopf":"𝔾","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","Gt":"≫","HARDcy":"Ъ","Hacek":"ˇ","Hat":"^","Hcirc":"Ĥ","Hfr":"ℌ","HilbertSpace":"ℋ","Hopf":"ℍ","HorizontalLine":"─","Hscr":"ℋ","Hstrok":"Ħ","HumpDownHump":"≎","HumpEqual":"≏","IEcy":"Е","IJlig":"IJ","IOcy":"Ё","Iacut":"Í","Iacute":"Í","Icir":"Î","Icirc":"Î","Icy":"И","Idot":"İ","Ifr":"ℑ","Igrav":"Ì","Igrave":"Ì","Im":"ℑ","Imacr":"Ī","ImaginaryI":"ⅈ","Implies":"⇒","Int":"∬","Integral":"∫","Intersection":"⋂","InvisibleComma":"⁣","InvisibleTimes":"⁢","Iogon":"Į","Iopf":"𝕀","Iota":"Ι","Iscr":"ℐ","Itilde":"Ĩ","Iukcy":"І","Ium":"Ï","Iuml":"Ï","Jcirc":"Ĵ","Jcy":"Й","Jfr":"𝔍","Jopf":"𝕁","Jscr":"𝒥","Jsercy":"Ј","Jukcy":"Є","KHcy":"Х","KJcy":"Ќ","Kappa":"Κ","Kcedil":"Ķ","Kcy":"К","Kfr":"𝔎","Kopf":"𝕂","Kscr":"𝒦","LJcy":"Љ","L":"<","LT":"<","Lacute":"Ĺ","Lambda":"Λ","Lang":"⟪","Laplacetrf":"ℒ","Larr":"↞","Lcaron":"Ľ","Lcedil":"Ļ","Lcy":"Л","LeftAngleBracket":"⟨","LeftArrow":"←","LeftArrowBar":"⇤","LeftArrowRightArrow":"⇆","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVector":"⇃","LeftDownVectorBar":"⥙","LeftFloor":"⌊","LeftRightArrow":"↔","LeftRightVector":"⥎","LeftTee":"⊣","LeftTeeArrow":"↤","LeftTeeVector":"⥚","LeftTriangle":"⊲","LeftTriangleBar":"⧏","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVector":"↿","LeftUpVectorBar":"⥘","LeftVector":"↼","LeftVectorBar":"⥒","Leftarrow":"⇐","Leftrightarrow":"⇔","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","LessLess":"⪡","LessSlantEqual":"⩽","LessTilde":"≲","Lfr":"𝔏","Ll":"⋘","Lleftarrow":"⇚","Lmidot":"Ŀ","LongLeftArrow":"⟵","LongLeftRightArrow":"⟷","LongRightArrow":"⟶","Longleftarrow":"⟸","Longleftrightarrow":"⟺","Longrightarrow":"⟹","Lopf":"𝕃","LowerLeftArrow":"↙","LowerRightArrow":"↘","Lscr":"ℒ","Lsh":"↰","Lstrok":"Ł","Lt":"≪","Map":"⤅","Mcy":"М","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","MinusPlus":"∓","Mopf":"𝕄","Mscr":"ℳ","Mu":"Μ","NJcy":"Њ","Nacute":"Ń","Ncaron":"Ň","Ncedil":"Ņ","Ncy":"Н","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","Nfr":"𝔑","NoBreak":"⁠","NonBreakingSpace":" ","Nopf":"ℕ","Not":"⫬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","NotLeftTriangle":"⋪","NotLeftTriangleBar":"⧏̸","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangle":"⋫","NotRightTriangleBar":"⧐̸","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","Nscr":"𝒩","Ntild":"Ñ","Ntilde":"Ñ","Nu":"Ν","OElig":"Œ","Oacut":"Ó","Oacute":"Ó","Ocir":"Ô","Ocirc":"Ô","Ocy":"О","Odblac":"Ő","Ofr":"𝔒","Ograv":"Ò","Ograve":"Ò","Omacr":"Ō","Omega":"Ω","Omicron":"Ο","Oopf":"𝕆","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","Or":"⩔","Oscr":"𝒪","Oslas":"Ø","Oslash":"Ø","Otild":"Õ","Otilde":"Õ","Otimes":"⨷","Oum":"Ö","Ouml":"Ö","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","PartialD":"∂","Pcy":"П","Pfr":"𝔓","Phi":"Φ","Pi":"Π","PlusMinus":"±","Poincareplane":"ℌ","Popf":"ℙ","Pr":"⪻","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","Prime":"″","Product":"∏","Proportion":"∷","Proportional":"∝","Pscr":"𝒫","Psi":"Ψ","QUO":"\\"","QUOT":"\\"","Qfr":"𝔔","Qopf":"ℚ","Qscr":"𝒬","RBarr":"⤐","RE":"®","REG":"®","Racute":"Ŕ","Rang":"⟫","Rarr":"↠","Rarrtl":"⤖","Rcaron":"Ř","Rcedil":"Ŗ","Rcy":"Р","Re":"ℜ","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","Rfr":"ℜ","Rho":"Ρ","RightAngleBracket":"⟩","RightArrow":"→","RightArrowBar":"⇥","RightArrowLeftArrow":"⇄","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVector":"⇂","RightDownVectorBar":"⥕","RightFloor":"⌋","RightTee":"⊢","RightTeeArrow":"↦","RightTeeVector":"⥛","RightTriangle":"⊳","RightTriangleBar":"⧐","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVector":"↾","RightUpVectorBar":"⥔","RightVector":"⇀","RightVectorBar":"⥓","Rightarrow":"⇒","Ropf":"ℝ","RoundImplies":"⥰","Rrightarrow":"⇛","Rscr":"ℛ","Rsh":"↱","RuleDelayed":"⧴","SHCHcy":"Щ","SHcy":"Ш","SOFTcy":"Ь","Sacute":"Ś","Sc":"⪼","Scaron":"Š","Scedil":"Ş","Scirc":"Ŝ","Scy":"С","Sfr":"𝔖","ShortDownArrow":"↓","ShortLeftArrow":"←","ShortRightArrow":"→","ShortUpArrow":"↑","Sigma":"Σ","SmallCircle":"∘","Sopf":"𝕊","Sqrt":"√","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","Sscr":"𝒮","Star":"⋆","Sub":"⋐","Subset":"⋐","SubsetEqual":"⊆","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","SuchThat":"∋","Sum":"∑","Sup":"⋑","Superset":"⊃","SupersetEqual":"⊇","Supset":"⋑","THOR":"Þ","THORN":"Þ","TRADE":"™","TSHcy":"Ћ","TScy":"Ц","Tab":"\\t","Tau":"Τ","Tcaron":"Ť","Tcedil":"Ţ","Tcy":"Т","Tfr":"𝔗","Therefore":"∴","Theta":"Θ","ThickSpace":"  ","ThinSpace":" ","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","Topf":"𝕋","TripleDot":"⃛","Tscr":"𝒯","Tstrok":"Ŧ","Uacut":"Ú","Uacute":"Ú","Uarr":"↟","Uarrocir":"⥉","Ubrcy":"Ў","Ubreve":"Ŭ","Ucir":"Û","Ucirc":"Û","Ucy":"У","Udblac":"Ű","Ufr":"𝔘","Ugrav":"Ù","Ugrave":"Ù","Umacr":"Ū","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","Uopf":"𝕌","UpArrow":"↑","UpArrowBar":"⤒","UpArrowDownArrow":"⇅","UpDownArrow":"↕","UpEquilibrium":"⥮","UpTee":"⊥","UpTeeArrow":"↥","Uparrow":"⇑","Updownarrow":"⇕","UpperLeftArrow":"↖","UpperRightArrow":"↗","Upsi":"ϒ","Upsilon":"Υ","Uring":"Ů","Uscr":"𝒰","Utilde":"Ũ","Uum":"Ü","Uuml":"Ü","VDash":"⊫","Vbar":"⫫","Vcy":"В","Vdash":"⊩","Vdashl":"⫦","Vee":"⋁","Verbar":"‖","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","Vopf":"𝕍","Vscr":"𝒱","Vvdash":"⊪","Wcirc":"Ŵ","Wedge":"⋀","Wfr":"𝔚","Wopf":"𝕎","Wscr":"𝒲","Xfr":"𝔛","Xi":"Ξ","Xopf":"𝕏","Xscr":"𝒳","YAcy":"Я","YIcy":"Ї","YUcy":"Ю","Yacut":"Ý","Yacute":"Ý","Ycirc":"Ŷ","Ycy":"Ы","Yfr":"𝔜","Yopf":"𝕐","Yscr":"𝒴","Yuml":"Ÿ","ZHcy":"Ж","Zacute":"Ź","Zcaron":"Ž","Zcy":"З","Zdot":"Ż","ZeroWidthSpace":"​","Zeta":"Ζ","Zfr":"ℨ","Zopf":"ℤ","Zscr":"𝒵","aacut":"á","aacute":"á","abreve":"ă","ac":"∾","acE":"∾̳","acd":"∿","acir":"â","acirc":"â","acut":"´","acute":"´","acy":"а","aeli":"æ","aelig":"æ","af":"⁡","afr":"𝔞","agrav":"à","agrave":"à","alefsym":"ℵ","aleph":"ℵ","alpha":"α","amacr":"ā","amalg":"⨿","am":"&","amp":"&","and":"∧","andand":"⩕","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsd":"∡","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","aogon":"ą","aopf":"𝕒","ap":"≈","apE":"⩰","apacir":"⩯","ape":"≊","apid":"≋","apos":"\'","approx":"≈","approxeq":"≊","arin":"å","aring":"å","ascr":"𝒶","ast":"*","asymp":"≈","asympeq":"≍","atild":"ã","atilde":"ã","aum":"ä","auml":"ä","awconint":"∳","awint":"⨑","bNot":"⫭","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","barvee":"⊽","barwed":"⌅","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","beta":"β","beth":"ℶ","between":"≬","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bnot":"⌐","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxDL":"╗","boxDR":"╔","boxDl":"╖","boxDr":"╓","boxH":"═","boxHD":"╦","boxHU":"╩","boxHd":"╤","boxHu":"╧","boxUL":"╝","boxUR":"╚","boxUl":"╜","boxUr":"╙","boxV":"║","boxVH":"╬","boxVL":"╣","boxVR":"╠","boxVh":"╫","boxVl":"╢","boxVr":"╟","boxbox":"⧉","boxdL":"╕","boxdR":"╒","boxdl":"┐","boxdr":"┌","boxh":"─","boxhD":"╥","boxhU":"╨","boxhd":"┬","boxhu":"┴","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxuL":"╛","boxuR":"╘","boxul":"┘","boxur":"└","boxv":"│","boxvH":"╪","boxvL":"╡","boxvR":"╞","boxvh":"┼","boxvl":"┤","boxvr":"├","bprime":"‵","breve":"˘","brvba":"¦","brvbar":"¦","bscr":"𝒷","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsol":"\\\\","bsolb":"⧅","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","bumpeq":"≏","cacute":"ć","cap":"∩","capand":"⩄","capbrcup":"⩉","capcap":"⩋","capcup":"⩇","capdot":"⩀","caps":"∩︀","caret":"⁁","caron":"ˇ","ccaps":"⩍","ccaron":"č","ccedi":"ç","ccedil":"ç","ccirc":"ĉ","ccups":"⩌","ccupssm":"⩐","cdot":"ċ","cedi":"¸","cedil":"¸","cemptyv":"⦲","cen":"¢","cent":"¢","centerdot":"·","cfr":"𝔠","chcy":"ч","check":"✓","checkmark":"✓","chi":"χ","cir":"○","cirE":"⧃","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledR":"®","circledS":"Ⓢ","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","clubs":"♣","clubsuit":"♣","colon":":","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","conint":"∮","copf":"𝕔","coprod":"∐","cop":"©","copy":"©","copysr":"℗","crarr":"↵","cross":"✗","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cup":"∪","cupbrcap":"⩈","cupcap":"⩆","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curre":"¤","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dArr":"⇓","dHar":"⥥","dagger":"†","daleth":"ℸ","darr":"↓","dash":"‐","dashv":"⊣","dbkarow":"⤏","dblac":"˝","dcaron":"ď","dcy":"д","dd":"ⅆ","ddagger":"‡","ddarr":"⇊","ddotseq":"⩷","de":"°","deg":"°","delta":"δ","demptyv":"⦱","dfisht":"⥿","dfr":"𝔡","dharl":"⇃","dharr":"⇂","diam":"⋄","diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","digamma":"ϝ","disin":"⋲","div":"÷","divid":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","dopf":"𝕕","dot":"˙","doteq":"≐","doteqdot":"≑","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","downarrow":"↓","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","dscr":"𝒹","dscy":"ѕ","dsol":"⧶","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","dzcy":"џ","dzigrarr":"⟿","eDDot":"⩷","eDot":"≑","eacut":"é","eacute":"é","easter":"⩮","ecaron":"ě","ecir":"ê","ecirc":"ê","ecolon":"≕","ecy":"э","edot":"ė","ee":"ⅇ","efDot":"≒","efr":"𝔢","eg":"⪚","egrav":"è","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","emacr":"ē","empty":"∅","emptyset":"∅","emptyv":"∅","emsp13":" ","emsp14":" ","emsp":" ","eng":"ŋ","ensp":" ","eogon":"ę","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","equals":"=","equest":"≟","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erDot":"≓","erarr":"⥱","escr":"ℯ","esdot":"≐","esim":"≂","eta":"η","et":"ð","eth":"ð","eum":"ë","euml":"ë","euro":"€","excl":"!","exist":"∃","expectation":"ℰ","exponentiale":"ⅇ","fallingdotseq":"≒","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","ffr":"𝔣","filig":"fi","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","fopf":"𝕗","forall":"∀","fork":"⋔","forkv":"⫙","fpartint":"⨍","frac1":"¼","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac3":"¾","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","gE":"≧","gEl":"⪌","gacute":"ǵ","gamma":"γ","gammad":"ϝ","gap":"⪆","gbreve":"ğ","gcirc":"ĝ","gcy":"г","gdot":"ġ","ge":"≥","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","ges":"⩾","gescc":"⪩","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","gfr":"𝔤","gg":"≫","ggg":"⋙","gimel":"ℷ","gjcy":"ѓ","gl":"≷","glE":"⪒","gla":"⪥","glj":"⪤","gnE":"≩","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gneq":"⪈","gneqq":"≩","gnsim":"⋧","gopf":"𝕘","grave":"`","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","g":">","gt":">","gtcc":"⪧","gtcir":"⩺","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","hArr":"⇔","hairsp":" ","half":"½","hamilt":"ℋ","hardcy":"ъ","harr":"↔","harrcir":"⥈","harrw":"↭","hbar":"ℏ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","horbar":"―","hscr":"𝒽","hslash":"ℏ","hstrok":"ħ","hybull":"⁃","hyphen":"‐","iacut":"í","iacute":"í","ic":"⁣","icir":"î","icirc":"î","icy":"и","iecy":"е","iexc":"¡","iexcl":"¡","iff":"⇔","ifr":"𝔦","igrav":"ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","ijlig":"ij","imacr":"ī","image":"ℑ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","imof":"⊷","imped":"Ƶ","in":"∈","incare":"℅","infin":"∞","infintie":"⧝","inodot":"ı","int":"∫","intcal":"⊺","integers":"ℤ","intercal":"⊺","intlarhk":"⨗","intprod":"⨼","iocy":"ё","iogon":"į","iopf":"𝕚","iota":"ι","iprod":"⨼","iques":"¿","iquest":"¿","iscr":"𝒾","isin":"∈","isinE":"⋹","isindot":"⋵","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","itilde":"ĩ","iukcy":"і","ium":"ï","iuml":"ï","jcirc":"ĵ","jcy":"й","jfr":"𝔧","jmath":"ȷ","jopf":"𝕛","jscr":"𝒿","jsercy":"ј","jukcy":"є","kappa":"κ","kappav":"ϰ","kcedil":"ķ","kcy":"к","kfr":"𝔨","kgreen":"ĸ","khcy":"х","kjcy":"ќ","kopf":"𝕜","kscr":"𝓀","lAarr":"⇚","lArr":"⇐","lAtail":"⤛","lBarr":"⤎","lE":"≦","lEg":"⪋","lHar":"⥢","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","lambda":"λ","lang":"⟨","langd":"⦑","langle":"⟨","lap":"⪅","laqu":"«","laquo":"«","larr":"←","larrb":"⇤","larrbfs":"⤟","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","lat":"⪫","latail":"⤙","late":"⪭","lates":"⪭︀","lbarr":"⤌","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","lcaron":"ľ","lcedil":"ļ","lceil":"⌈","lcub":"{","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","leftarrow":"←","leftarrowtail":"↢","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","leftthreetimes":"⋋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","les":"⩽","lescc":"⪨","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","lessgtr":"≶","lesssim":"≲","lfisht":"⥼","lfloor":"⌊","lfr":"𝔩","lg":"≶","lgE":"⪑","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","ljcy":"љ","ll":"≪","llarr":"⇇","llcorner":"⌞","llhard":"⥫","lltri":"◺","lmidot":"ŀ","lmoust":"⎰","lmoustache":"⎰","lnE":"≨","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","longleftrightarrow":"⟷","longmapsto":"⟼","longrightarrow":"⟶","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","lstrok":"ł","l":"<","lt":"<","ltcc":"⪦","ltcir":"⩹","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltrPar":"⦖","ltri":"◃","ltrie":"⊴","ltrif":"◂","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","mDDot":"∺","mac":"¯","macr":"¯","male":"♂","malt":"✠","maltese":"✠","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","mcy":"м","mdash":"—","measuredangle":"∡","mfr":"𝔪","mho":"℧","micr":"µ","micro":"µ","mid":"∣","midast":"*","midcir":"⫰","middo":"·","middot":"·","minus":"−","minusb":"⊟","minusd":"∸","minusdu":"⨪","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","mopf":"𝕞","mp":"∓","mscr":"𝓂","mstpos":"∾","mu":"μ","multimap":"⊸","mumap":"⊸","nGg":"⋙̸","nGt":"≫⃒","nGtv":"≫̸","nLeftarrow":"⇍","nLeftrightarrow":"⇎","nLl":"⋘̸","nLt":"≪⃒","nLtv":"≪̸","nRightarrow":"⇏","nVDash":"⊯","nVdash":"⊮","nabla":"∇","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natur":"♮","natural":"♮","naturals":"ℕ","nbs":" ","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","ncaron":"ň","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","ncy":"н","ndash":"–","ne":"≠","neArr":"⇗","nearhk":"⤤","nearr":"↗","nearrow":"↗","nedot":"≐̸","nequiv":"≢","nesear":"⤨","nesim":"≂̸","nexist":"∄","nexists":"∄","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","ngsim":"≵","ngt":"≯","ngtr":"≯","nhArr":"⇎","nharr":"↮","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","njcy":"њ","nlArr":"⇍","nlE":"≦̸","nlarr":"↚","nldr":"‥","nle":"≰","nleftarrow":"↚","nleftrightarrow":"↮","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nlsim":"≴","nlt":"≮","nltri":"⋪","nltrie":"⋬","nmid":"∤","nopf":"𝕟","no":"¬","not":"¬","notin":"∉","notinE":"⋹̸","notindot":"⋵̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","npar":"∦","nparallel":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","npre":"⪯̸","nprec":"⊀","npreceq":"⪯̸","nrArr":"⇏","nrarr":"↛","nrarrc":"⤳̸","nrarrw":"↝̸","nrightarrow":"↛","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","ntild":"ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","nu":"ν","num":"#","numero":"№","numsp":" ","nvDash":"⊭","nvHarr":"⤄","nvap":"≍⃒","nvdash":"⊬","nvge":"≥⃒","nvgt":">⃒","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwArr":"⇖","nwarhk":"⤣","nwarr":"↖","nwarrow":"↖","nwnear":"⤧","oS":"Ⓢ","oacut":"ó","oacute":"ó","oast":"⊛","ocir":"ô","ocirc":"ô","ocy":"о","odash":"⊝","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","oelig":"œ","ofcir":"⦿","ofr":"𝔬","ogon":"˛","ograv":"ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","omacr":"ō","omega":"ω","omicron":"ο","omid":"⦶","ominus":"⊖","oopf":"𝕠","opar":"⦷","operp":"⦹","oplus":"⊕","or":"∨","orarr":"↻","ord":"º","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oscr":"ℴ","oslas":"ø","oslash":"ø","osol":"⊘","otild":"õ","otilde":"õ","otimes":"⊗","otimesas":"⨶","oum":"ö","ouml":"ö","ovbar":"⌽","par":"¶","para":"¶","parallel":"∥","parsim":"⫳","parsl":"⫽","part":"∂","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","pfr":"𝔭","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plus":"+","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plusdo":"∔","plusdu":"⨥","pluse":"⩲","plusm":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","pointint":"⨕","popf":"𝕡","poun":"£","pound":"£","pr":"≺","prE":"⪳","prap":"⪷","prcue":"≼","pre":"⪯","prec":"≺","precapprox":"⪷","preccurlyeq":"≼","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","precsim":"≾","prime":"′","primes":"ℙ","prnE":"⪵","prnap":"⪹","prnsim":"⋨","prod":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","propto":"∝","prsim":"≾","prurel":"⊰","pscr":"𝓅","psi":"ψ","puncsp":" ","qfr":"𝔮","qint":"⨌","qopf":"𝕢","qprime":"⁗","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quo":"\\"","quot":"\\"","rAarr":"⇛","rArr":"⇒","rAtail":"⤜","rBarr":"⤏","rHar":"⥤","race":"∽̱","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","rangd":"⦒","range":"⦥","rangle":"⟩","raqu":"»","raquo":"»","rarr":"→","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","rarrtl":"↣","rarrw":"↝","ratail":"⤚","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","rcaron":"ř","rcedil":"ŗ","rceil":"⌉","rcub":"}","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","rect":"▭","re":"®","reg":"®","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","rhard":"⇁","rharu":"⇀","rharul":"⥬","rho":"ρ","rhov":"ϱ","rightarrow":"→","rightarrowtail":"↣","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","rightthreetimes":"⋌","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoust":"⎱","rmoustache":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","roplus":"⨮","rotimes":"⨵","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","rsaquo":"›","rscr":"𝓇","rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","ruluhar":"⥨","rx":"℞","sacute":"ś","sbquo":"‚","sc":"≻","scE":"⪴","scap":"⪸","scaron":"š","sccue":"≽","sce":"⪰","scedil":"ş","scirc":"ŝ","scnE":"⪶","scnap":"⪺","scnsim":"⋩","scpolint":"⨓","scsim":"≿","scy":"с","sdot":"⋅","sdotb":"⊡","sdote":"⩦","seArr":"⇘","searhk":"⤥","searr":"↘","searrow":"↘","sec":"§","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","sfr":"𝔰","sfrown":"⌢","sharp":"♯","shchcy":"щ","shcy":"ш","shortmid":"∣","shortparallel":"∥","sh":"­","shy":"­","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","softcy":"ь","sol":"/","solb":"⧄","solbar":"⌿","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","squ":"□","square":"□","squarf":"▪","squf":"▪","srarr":"→","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","subE":"⫅","subdot":"⪽","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","subseteq":"⊆","subseteqq":"⫅","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succ":"≻","succapprox":"⪸","succcurlyeq":"≽","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","sum":"∑","sung":"♪","sup":"⊃","sup1":"¹","sup2":"²","sup3":"³","supE":"⫆","supdot":"⪾","supdsub":"⫘","supe":"⊇","supedot":"⫄","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swArr":"⇙","swarhk":"⤦","swarr":"↙","swarrow":"↙","swnwar":"⤪","szli":"ß","szlig":"ß","target":"⌖","tau":"τ","tbrk":"⎴","tcaron":"ť","tcedil":"ţ","tcy":"т","tdot":"⃛","telrec":"⌕","tfr":"𝔱","there4":"∴","therefore":"∴","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","thinsp":" ","thkap":"≈","thksim":"∼","thor":"þ","thorn":"þ","tilde":"˜","time":"×","times":"×","timesb":"⊠","timesbar":"⨱","timesd":"⨰","tint":"∭","toea":"⤨","top":"⊤","topbot":"⌶","topcir":"⫱","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","tscr":"𝓉","tscy":"ц","tshcy":"ћ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","uArr":"⇑","uHar":"⥣","uacut":"ú","uacute":"ú","uarr":"↑","ubrcy":"ў","ubreve":"ŭ","ucir":"û","ucirc":"û","ucy":"у","udarr":"⇅","udblac":"ű","udhar":"⥮","ufisht":"⥾","ufr":"𝔲","ugrav":"ù","ugrave":"ù","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","umacr":"ū","um":"¨","uml":"¨","uogon":"ų","uopf":"𝕦","uparrow":"↑","updownarrow":"↕","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","upsi":"υ","upsih":"ϒ","upsilon":"υ","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","uring":"ů","urtri":"◹","uscr":"𝓊","utdot":"⋰","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","uum":"ü","uuml":"ü","uwangle":"⦧","vArr":"⇕","vBar":"⫨","vBarv":"⫩","vDash":"⊨","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vcy":"в","vdash":"⊢","vee":"∨","veebar":"⊻","veeeq":"≚","vellip":"⋮","verbar":"|","vert":"|","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","vopf":"𝕧","vprop":"∝","vrtri":"⊳","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","vzigzag":"⦚","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","wedgeq":"≙","weierp":"℘","wfr":"𝔴","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","xfr":"𝔵","xhArr":"⟺","xharr":"⟷","xi":"ξ","xlArr":"⟸","xlarr":"⟵","xmap":"⟼","xnis":"⋻","xodot":"⨀","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrArr":"⟹","xrarr":"⟶","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","yacut":"ý","yacute":"ý","yacy":"я","ycirc":"ŷ","ycy":"ы","ye":"¥","yen":"¥","yfr":"𝔶","yicy":"ї","yopf":"𝕪","yscr":"𝓎","yucy":"ю","yum":"ÿ","yuml":"ÿ","zacute":"ź","zcaron":"ž","zcy":"з","zdot":"ż","zeetrf":"ℨ","zeta":"ζ","zfr":"𝔷","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},3580:e=>{e.exports=JSON.parse('{"0":"�","128":"€","130":"‚","131":"ƒ","132":"„","133":"…","134":"†","135":"‡","136":"ˆ","137":"‰","138":"Š","139":"‹","140":"Œ","142":"Ž","145":"‘","146":"’","147":"“","148":"”","149":"•","150":"–","151":"—","152":"˜","153":"™","154":"š","155":"›","156":"œ","158":"ž","159":"Ÿ"}')},6947:e=>{e.exports=JSON.parse('["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"]')},9878:e=>{e.exports=JSON.parse('["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"]')},9640:e=>{e.exports=JSON.parse('{"classId":"classID","dataType":"datatype","itemId":"itemID","strokeDashArray":"strokeDasharray","strokeDashOffset":"strokeDashoffset","strokeLineCap":"strokeLinecap","strokeLineJoin":"strokeLinejoin","strokeMiterLimit":"strokeMiterlimit","typeOf":"typeof","xLinkActuate":"xlinkActuate","xLinkArcRole":"xlinkArcrole","xLinkHref":"xlinkHref","xLinkRole":"xlinkRole","xLinkShow":"xlinkShow","xLinkTitle":"xlinkTitle","xLinkType":"xlinkType","xmlnsXLink":"xmlnsXlink"}')},2020:e=>{e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')},6:e=>{e.exports=JSON.parse('{"html":"http://www.w3.org/1999/xhtml","mathml":"http://www.w3.org/1998/Math/MathML","svg":"http://www.w3.org/2000/svg","xlink":"http://www.w3.org/1999/xlink","xml":"http://www.w3.org/XML/1998/namespace","xmlns":"http://www.w3.org/2000/xmlns/"}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var r=__webpack_module_cache__[e]={exports:{}};var a=true;try{__webpack_modules__[e].call(r.exports,r,r.exports,__nccwpck_require__);a=false}finally{if(a)delete __webpack_module_cache__[e]}return r.exports}(()=>{__nccwpck_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;__nccwpck_require__.d(t,{a:t});return t}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var r in t){if(__nccwpck_require__.o(t,r)&&!__nccwpck_require__.o(e,r)){Object.defineProperty(e,r,{enumerable:true,get:t[r]})}}}})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=new URL(".",import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";var __webpack_exports__={};(()=>{const e=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs/promises");var t=__nccwpck_require__.n(e);var r=__nccwpck_require__(1017);var a=__nccwpck_require__.n(r);var n=__nccwpck_require__(5075);var i=__nccwpck_require__.n(n);var o=__nccwpck_require__(4859);var s=__nccwpck_require__.n(o);var p=__nccwpck_require__(4892);var d=__nccwpck_require__.n(p);var l=__nccwpck_require__(9830);var m=__nccwpck_require__.n(l);var c=__nccwpck_require__(199);var g=__nccwpck_require__.n(c);var v=__nccwpck_require__(237);var T=__nccwpck_require__.n(v);var E=__nccwpck_require__(5382);var _=__nccwpck_require__.n(E);var w=__nccwpck_require__(5438);const A="/docs/";const b=["/docs/messages/"];const y=["top"];const S="\x3c!-- LINK_CHECKER_COMMENT --\x3e";const{context:C,getOctokit:k}=w;const N=k(process.env.GITHUB_TOKEN);const{owner:D,repo:O}=C.repo;const I=C.payload.pull_request;const R=I.head.sha;const P=new(T());async function getMdxFiles(e,r=[]){const n=await t().readdir(e);for(const i of n){const n=a().join(e,i);const o=await t().stat(n);if(o.isDirectory()){r=await getMdxFiles(n,r)}else if(a().extname(i)===".mdx"){r.push(n)}}return r}function getHeadingsFromMarkdownTree(e){const t=[];P.reset();g()(e,"heading",(e=>{let r="";g()(e,(e=>{if(e.value){r+=e.value}}));t.push(P.slug(r))}));return t}const L=i()().use(s()).use(d(),{allowDangerousHTML:true}).use(m()).use((function compiler(){this.Compiler=function treeCompiler(e){return e}}));let x;async function prepareDocumentMapEntry(e){const r=a().relative("."+A,e);const n=r.replace(/(\d\d-)/g,"").replace(".mdx","").replace("/index","");const i=await t().readFile(e,"utf8");const{content:o,data:s}=_()(i);const p=L.parse(o);const d=getHeadingsFromMarkdownTree(p);return[n,{body:o,path:e,headings:d,...s}]}function validateInternalLink(e,t){const[r,a]=t.replace(A,"").split("#");const n=x.get(r);if(!n){e.brokenLinks.push(`${A}${r}${a?"#"+a:""}`)}else if(a&&!y.includes(a)){const t=n.source?x.get(n.source):undefined;const i=(t||n).headings.includes(a);if(!i){e.brokenHashes.push(`${A}${r}${a?"#"+a:""}`)}}}function validateHashLink(e,t,r){const a=t.replace("#","");if(!y.includes(a)&&!r.headings.includes(a)){e.brokenHashes.push(t)}}function validateSourceLinks(e,t){if(e.source&&!x.get(e.source)){t.brokenSourceLinks.push(e.source)}}function validateRelatedLinks(e,t){if(e.related&&e.related.links){e.related.links.forEach((e=>{if(!x.get(e)){t.brokenRelatedLinks.push(e)}}))}}function traverseTreeAndValidateLinks(e,t){const r={doc:t,brokenLinks:[],brokenHashes:[],brokenSourceLinks:[],brokenRelatedLinks:[]};g()(e,(e=>{if(e.type==="element"&&e.tagName==="a"){const a=e.properties.href;if(!a)return;if(a.startsWith(A)&&!b.some((e=>a.startsWith(e)))){validateInternalLink(r,a)}else if(a.startsWith("#")){validateHashLink(r,a,t)}}}));validateSourceLinks(t,r);validateRelatedLinks(t,r);return r}async function findBotComment(){const{data:e}=await N.rest.issues.listComments({owner:D,repo:O,issue_number:C.payload.pull_request?.number});return e.find((e=>e.body?.includes(S)))}async function updateComment(e,t){const{data:r}=await N.rest.issues.updateComment({owner:D,repo:O,comment_id:t.id,body:e});return r.html_url}async function createComment(e){const{data:t}=await N.rest.issues.createComment({owner:D,repo:O,issue_number:C.payload.pull_request?.number,body:e});return t.html_url}const formatTableRow=(e,t)=>`| ${e} | [/${t}](https://github.com/vercel/next.js/blob/${R}/${t}) | \n`;async function createCommitStatus(e,t){const r=e?"failure":"success";const a=e?"This PR introduces broken links to the docs. Click details for a list.":"All broken links are now fixed, thank you!";await N.rest.repos.createCommitStatus({owner:D,repo:O,sha:R,state:r,description:a,context:"Link Validation",target_url:t})}async function validateAllInternalLinks(){const e=await getMdxFiles("."+A);x=new Map(await Promise.all(e.map(prepareDocumentMapEntry)));const t=Array.from(x.values()).map((async e=>{const t=(await L.process(e.body)).contents;return traverseTreeAndValidateLinks(t,e)}));const r=await Promise.all(t);let a="Hi there :wave:\n\nIt looks like this PR introduces broken links to the docs, please take a moment to fix them before merging:\n\n| :heavy_multiplication_x: Broken link | :page_facing_up: File | \n| ----------- | ----------- | \n";r.forEach((e=>{const{doc:{path:t},brokenLinks:r,brokenHashes:n,brokenSourceLinks:i,brokenRelatedLinks:o}=e;if(r.length>0){r.forEach((e=>{a+=formatTableRow(e,t)}))}if(n.length>0){n.forEach((e=>{a+=formatTableRow(e,t)}))}if(i.length>0){i.forEach((e=>{a+=formatTableRow(e,t)}))}if(o.length>0){o.forEach((e=>{a+=formatTableRow(e,t)}))}}));a+="\nThank you :pray:";const n=r.some((e=>e.brokenLinks.length>0||e.brokenHashes.length>0||e.brokenSourceLinks.length>0||e.brokenRelatedLinks.length>0));const i=await findBotComment();let o;if(n){const e=`${S}\n${a}`;if(i){o=await updateComment(e,i)}else{o=await createComment(e)}}else{const e=`${S}\nAll broken links are now fixed, thank you!`;if(i){o=await updateComment(e,i)}else{o=await createComment(e)}}console.log({commentUrl:o,errorsExist:n,errorComment:a,botComment:i});try{await createCommitStatus(n,o)}catch(e){console.error("Failed to create commit status: ",e)}}validateAllInternalLinks()})(); \ No newline at end of file +e.exports=function(e){if(typeof e==="string"&&e.charAt(0)==="\ufeff"){return e.slice(1)}return e}},6204:(e,t,r)=>{var a=r(3328);function StyleToObject(e,t){var r=null;if(!e||typeof e!=="string"){return r}var n;var i=a(e);var o=typeof t==="function";var s;var p;for(var d=0,l=i.length;d{var a=r(5477);var n=r(2020);var i={TRANSITIONAL:0,NONTRANSITIONAL:1};function normalize(e){return e.split("\0").map((function(e){return e.normalize("NFC")})).join("\0")}function findStatus(e){var t=0;var r=n.length-1;while(t<=r){var a=Math.floor((t+r)/2);var i=n[a];if(i[0][0]<=e&&i[0][1]>=e){return i}else if(i[0][0]>e){r=a-1}else{t=a+1}}return null}var o=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function countSymbols(e){return e.replace(o,"_").length}function mapChars(e,t,r){var a=false;var n="";var o=countSymbols(e);for(var s=0;s253||s.length===0){i.error=true}for(var p=0;p63||o.length===0){i.error=true;break}}}if(i.error)return null;return o.join(".")};e.exports.toUnicode=function(e,t){var r=processing(e,t,i.NONTRANSITIONAL);return{domain:r.string,error:r.error}};e.exports.PROCESSING_OPTIONS=i},8213:e=>{e.exports=trimLines;var t=/[ \t]*\n+[ \t]*/g;var r="\n";function trimLines(e){return String(e).replace(t,r)}},3199:e=>{e.exports=trimTrailingLines;function trimTrailingLines(e){return String(e).replace(/\n+$/,"")}},4065:(e,t)=>{t=e.exports=trim;function trim(e){return e.replace(/^\s*|\s*$/g,"")}t.left=function(e){return e.replace(/^\s*/,"")};t.right=function(e){return e.replace(/\s*$/,"")}},3604:(e,t,r)=>{var a=r(3458);e.exports=trough;trough.wrap=a;var n=[].slice;function trough(){var e=[];var t={};t.run=run;t.use=use;return t;function run(){var t=-1;var r=n.call(arguments,0,-1);var i=arguments[arguments.length-1];if(typeof i!=="function"){throw new Error("Expected function as last argument, not "+i)}next.apply(null,[null].concat(r));function next(o){var s=e[++t];var p=n.call(arguments,0);var d=p.slice(1);var l=r.length;var c=-1;if(o){i(o);return}while(++c{var t=[].slice;e.exports=wrap;function wrap(e,r){var a;return wrapped;function wrapped(){var r=t.call(arguments,0);var n=e.length>r.length;var i;if(n){r.push(done)}try{i=e.apply(null,r)}catch(e){if(n&&a){throw e}return done(e)}if(!n){if(i&&typeof i.then==="function"){i.then(then,done)}else if(i instanceof Error){done(i)}else{then(i)}}}function done(){if(!a){a=true;r.apply(null,arguments)}}function then(e){done(null,e)}}},4294:(e,t,r)=>{e.exports=r(4219)},4219:(e,t,r)=>{var a=r(1808);var n=r(4404);var i=r(3685);var o=r(5687);var s=r(2361);var p=r(9491);var d=r(3837);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,r,a,n){var i=toOptions(r,a,n);for(var o=0,s=t.requests.length;o=this.maxSockets){n.requests.push(i);return}n.createSocket(i,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){n.emit("free",t,i)}function onCloseOrRemove(e){n.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var a={};r.sockets.push(a);var n=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){n.localAddress=e.localAddress}if(n.proxyAuth){n.headers=n.headers||{};n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")}l("making CONNECT request");var i=r.request(n);i.useChunkedEncodingByDefault=false;i.once("response",onResponse);i.once("upgrade",onUpgrade);i.once("connect",onConnect);i.once("error",onError);i.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick((function(){onConnect(e,t,r)}))}function onConnect(n,o,s){i.removeAllListeners();o.removeAllListeners();if(n.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",n.statusCode);o.destroy();var p=new Error("tunneling socket could not be established, "+"statusCode="+n.statusCode);p.code="ECONNRESET";e.request.emit("error",p);r.removeSocket(a);return}if(s.length>0){l("got illegal response body from proxy");o.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET";e.request.emit("error",p);r.removeSocket(a);return}l("tunneling connection has established");r.sockets[r.sockets.indexOf(a)]=o;return t(o)}function onError(t){i.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var n=new Error("tunneling socket could not be established, "+"cause="+t.message);n.code="ECONNRESET";e.request.emit("error",n);r.removeSocket(a)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,(function(e){r.request.onSocket(e)}))}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,(function(a){var i=e.request.getHeader("host");var o=mergeOptions({},r.options,{socket:a,servername:i?i.replace(/:.*$/,""):e.host});var s=n.connect(0,o);r.sockets[r.sockets.indexOf(a)]=s;t(s)}))}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{var a=r(1208);var n=r(4124);e.exports=unherit;function unherit(e){var t;var r;var i;n(Of,e);n(From,Of);t=Of.prototype;for(r in t){i=t[r];if(i&&typeof i==="object"){t[r]="concat"in i?i.concat():a(i)}}return Of;function From(t){return e.apply(this,t)}function Of(){if(!(this instanceof Of)){return new From(arguments)}return e.apply(this,arguments)}}},5075:(e,t,r)=>{var a=r(8171);var n=r(7240);var i=r(4860);var o=r(3604);var s=r(864);e.exports=unified().freeze();var p=[].slice;var d={}.hasOwnProperty;var l=o().use(pipelineParse).use(pipelineRun).use(pipelineStringify);function pipelineParse(e,t){t.tree=e.parse(t.file)}function pipelineRun(e,t,r){e.run(t.tree,t.file,done);function done(e,a,n){if(e){r(e)}else{t.tree=a;t.file=n;r()}}}function pipelineStringify(e,t){t.file.contents=e.stringify(t.tree,t.file)}function unified(){var e=[];var t=o();var r={};var c=false;var m=-1;processor.data=data;processor.freeze=freeze;processor.attachers=e;processor.use=use;processor.parse=parse;processor.stringify=stringify;processor.run=run;processor.runSync=runSync;processor.process=process;processor.processSync=processSync;return processor;function processor(){var t=unified();var n=e.length;var i=-1;while(++i{var a=r(7426);e.exports=u;function u(e,t,r){var n;if((r===null||r===undefined)&&(typeof t!=="object"||Array.isArray(t))){r=t;t={}}n=a({type:String(e)},t);if(Array.isArray(r)){n.children=r}else if(r!==null&&r!==undefined){n.value=String(r)}return n}},5084:e=>{e.exports=generated;function generated(e){return!e||!e.position||!e.position.start||!e.position.start.line||!e.position.start.column||!e.position.end||!e.position.end.line||!e.position.end.column}},4070:e=>{e.exports=convert;function convert(e){if(typeof e==="string"){return typeFactory(e)}if(e===null||e===undefined){return ok}if(typeof e==="object"){return("length"in e?anyFactory:matchesFactory)(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function convertAll(e){var t=[];var r=e.length;var a=-1;while(++a{var t=factory("start");var r=factory("end");e.exports=position;position.start=t;position.end=r;function position(e){return{start:t(e),end:r(e)}}function factory(e){point.displayName=e;return point;function point(t){var r=t&&t.position&&t.position[e]||{};return{line:r.line||null,column:r.column||null,offset:isNaN(r.offset)?null:r.offset}}}},7970:(e,t,r)=>{var a=r(5259);e.exports=removePosition;function removePosition(e,t){a(e,t?hard:soft);return e}function hard(e){delete e.position}function soft(e){e.position=undefined}},4571:(e,t,r)=>{e.exports=visitParents;var a=r(4070);var n=true;var i="skip";var o=false;visitParents.CONTINUE=n;visitParents.SKIP=i;visitParents.EXIT=o;function visitParents(e,t,r,n){var s;if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}s=a(t);one(e,null,[]);function one(e,a,n){var p=[];var d;if(!t||s(e,a,n[n.length-1]||null)){p=toResult(r(e,n));if(p[0]===o){return p}}if(e.children&&p[0]!==i){d=toResult(all(e.children,n.concat(e)));return d[0]===o?d:p}return p}function all(e,t){var r=-1;var a=n?-1:1;var i=(n?e.length:r)+a;var s;while(i>r&&i{e.exports=visit;var a=r(4571);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},1957:e=>{var t={}.hasOwnProperty;e.exports=stringify;function stringify(e){if(!e||typeof e!=="object"){return""}if(t.call(e,"position")||t.call(e,"type")){return position(e.position)}if(t.call(e,"start")||t.call(e,"end")){return position(e)}if(t.call(e,"line")||t.call(e,"column")){return point(e)}return""}function point(e){if(!e||typeof e!=="object"){e={}}return index(e.line)+":"+index(e.column)}function position(e){if(!e||typeof e!=="object"){e={}}return point(e.start)+"-"+point(e.end)}function index(e){return e&&typeof e==="number"?e:1}},9906:e=>{e.exports=color;function color(e){return""+e+""}},3246:(e,t,r)=>{e.exports=visitParents;var a=r(4048);var n=r(9906);var i=true;var o="skip";var s=false;visitParents.CONTINUE=i;visitParents.SKIP=o;visitParents.EXIT=s;function visitParents(e,t,r,i){var p;var d;if(typeof t==="function"&&typeof r!=="function"){i=r;r=t;t=null}d=a(t);p=i?-1:1;factory(e,null,[])();function factory(e,a,l){var c=typeof e==="object"&&e!==null?e:{};var m;if(typeof c.type==="string"){m=typeof c.tagName==="string"?c.tagName:typeof c.name==="string"?c.name:undefined;visit.displayName="node ("+n(c.type+(m?"<"+m+">":""))+")"}return visit;function visit(){var n=l.concat(e);var c=[];var m;var g;if(!t||d(e,a,l[l.length-1]||null)){c=toResult(r(e,l));if(c[0]===s){return c}}if(e.children&&c[0]!==o){g=(i?e.children.length:-1)+p;while(g>-1&&g{e.exports=convert;function convert(e){if(e==null){return ok}if(typeof e==="string"){return typeFactory(e)}if(typeof e==="object"){return"length"in e?anyFactory(e):allFactory(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function allFactory(e){return all;function all(t){var r;for(r in e){if(t[r]!==e[r])return false}return true}}function anyFactory(e){var t=[];var r=-1;while(++r{e.exports=visit;var a=r(3246);var n=a.CONTINUE;var i=a.SKIP;var o=a.EXIT;visit.CONTINUE=n;visit.SKIP=i;visit.EXIT=o;function visit(e,t,r,n){if(typeof t==="function"&&typeof r!=="function"){n=r;r=t;t=null}a(e,t,overload,n);function overload(e,t){var a=t[t.length-1];var n=a?a.children.indexOf(e):null;return r(e,n,a)}}},5030:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}t.getUserAgent=getUserAgent},5840:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});Object.defineProperty(t,"v1",{enumerable:true,get:function(){return a.default}});Object.defineProperty(t,"v3",{enumerable:true,get:function(){return n.default}});Object.defineProperty(t,"v4",{enumerable:true,get:function(){return i.default}});Object.defineProperty(t,"v5",{enumerable:true,get:function(){return o.default}});Object.defineProperty(t,"NIL",{enumerable:true,get:function(){return s.default}});Object.defineProperty(t,"version",{enumerable:true,get:function(){return p.default}});Object.defineProperty(t,"validate",{enumerable:true,get:function(){return d.default}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return l.default}});Object.defineProperty(t,"parse",{enumerable:true,get:function(){return c.default}});var a=_interopRequireDefault(r(8628));var n=_interopRequireDefault(r(6409));var i=_interopRequireDefault(r(5122));var o=_interopRequireDefault(r(9120));var s=_interopRequireDefault(r(5332));var p=_interopRequireDefault(r(1595));var d=_interopRequireDefault(r(6900));var l=_interopRequireDefault(r(8950));var c=_interopRequireDefault(r(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}},4569:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function md5(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return a.default.createHash("md5").update(e).digest()}var n=md5;t["default"]=n},5332:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r="00000000-0000-0000-0000-000000000000";t["default"]=r},2746:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function parse(e){if(!(0,a.default)(e)){throw TypeError("Invalid UUID")}let t;const r=new Uint8Array(16);r[0]=(t=parseInt(e.slice(0,8),16))>>>24;r[1]=t>>>16&255;r[2]=t>>>8&255;r[3]=t&255;r[4]=(t=parseInt(e.slice(9,13),16))>>>8;r[5]=t&255;r[6]=(t=parseInt(e.slice(14,18),16))>>>8;r[7]=t&255;r[8]=(t=parseInt(e.slice(19,23),16))>>>8;r[9]=t&255;r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255;r[11]=t/4294967296&255;r[12]=t>>>24&255;r[13]=t>>>16&255;r[14]=t>>>8&255;r[15]=t&255;return r}var n=parse;t["default"]=n},814:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var r=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;t["default"]=r},807:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=rng;var a=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const n=new Uint8Array(256);let i=n.length;function rng(){if(i>n.length-16){a.default.randomFillSync(n);i=0}return n.slice(i,i+=16)}},5274:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(6113));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function sha1(e){if(Array.isArray(e)){e=Buffer.from(e)}else if(typeof e==="string"){e=Buffer.from(e,"utf8")}return a.default.createHash("sha1").update(e).digest()}var n=sha1;t["default"]=n},8950:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const n=[];for(let e=0;e<256;++e){n.push((e+256).toString(16).substr(1))}function stringify(e,t=0){const r=(n[e[t+0]]+n[e[t+1]]+n[e[t+2]]+n[e[t+3]]+"-"+n[e[t+4]]+n[e[t+5]]+"-"+n[e[t+6]]+n[e[t+7]]+"-"+n[e[t+8]]+n[e[t+9]]+"-"+n[e[t+10]]+n[e[t+11]]+n[e[t+12]]+n[e[t+13]]+n[e[t+14]]+n[e[t+15]]).toLowerCase();if(!(0,a.default)(r)){throw TypeError("Stringified UUID is invalid")}return r}var i=stringify;t["default"]=i},8628:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(807));var n=_interopRequireDefault(r(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let i;let o;let s=0;let p=0;function v1(e,t,r){let d=t&&r||0;const l=t||new Array(16);e=e||{};let c=e.node||i;let m=e.clockseq!==undefined?e.clockseq:o;if(c==null||m==null){const t=e.random||(e.rng||a.default)();if(c==null){c=i=[t[0]|1,t[1],t[2],t[3],t[4],t[5]]}if(m==null){m=o=(t[6]<<8|t[7])&16383}}let g=e.msecs!==undefined?e.msecs:Date.now();let v=e.nsecs!==undefined?e.nsecs:p+1;const T=g-s+(v-p)/1e4;if(T<0&&e.clockseq===undefined){m=m+1&16383}if((T<0||g>s)&&e.nsecs===undefined){v=0}if(v>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}s=g;p=v;o=m;g+=122192928e5;const E=((g&268435455)*1e4+v)%4294967296;l[d++]=E>>>24&255;l[d++]=E>>>16&255;l[d++]=E>>>8&255;l[d++]=E&255;const _=g/4294967296*1e4&268435455;l[d++]=_>>>8&255;l[d++]=_&255;l[d++]=_>>>24&15|16;l[d++]=_>>>16&255;l[d++]=m>>>8|128;l[d++]=m&255;for(let e=0;e<6;++e){l[d+e]=c[e]}return t||(0,n.default)(l)}var d=v1;t["default"]=d},6409:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(5998));var n=_interopRequireDefault(r(4569));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,a.default)("v3",48,n.default);var o=i;t["default"]=o},5998:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=_default;t.URL=t.DNS=void 0;var a=_interopRequireDefault(r(8950));var n=_interopRequireDefault(r(2746));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function stringToBytes(e){e=unescape(encodeURIComponent(e));const t=[];for(let r=0;r{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(807));var n=_interopRequireDefault(r(8950));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function v4(e,t,r){e=e||{};const i=e.random||(e.rng||a.default)();i[6]=i[6]&15|64;i[8]=i[8]&63|128;if(t){r=r||0;for(let e=0;e<16;++e){t[r+e]=i[e]}return t}return(0,n.default)(i)}var i=v4;t["default"]=i},9120:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(5998));var n=_interopRequireDefault(r(5274));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const i=(0,a.default)("v5",80,n.default);var o=i;t["default"]=o},6900:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(814));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function validate(e){return typeof e==="string"&&a.default.test(e)}var n=validate;t["default"]=n},1595:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t["default"]=void 0;var a=_interopRequireDefault(r(6900));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function version(e){if(!(0,a.default)(e)){throw TypeError("Invalid UUID")}return parseInt(e.substr(14,1),16)}var n=version;t["default"]=n},2403:e=>{e.exports=factory;function factory(e){var t=indices(String(e));return{toPosition:offsetToPositionFactory(t),toOffset:positionToOffsetFactory(t)}}function offsetToPositionFactory(e){return offsetToPosition;function offsetToPosition(t){var r=-1;var a=e.length;if(t<0){return{}}while(++rt){return{line:r+1,column:t-(e[r-1]||0)+1,offset:t}}}return{}}}function positionToOffsetFactory(e){return positionToOffset;function positionToOffset(t){var r=t&&t.line;var a=t&&t.column;if(!isNaN(r)&&!isNaN(a)&&r-1 in e){return(e[r-2]||0)+a-1||0}return-1}}function indices(e){var t=[];var r=e.indexOf("\n");while(r!==-1){t.push(r+1);r=e.indexOf("\n",r+1)}t.push(e.length+1);return t}},4108:(e,t,r)=>{var a=r(1957);e.exports=VMessage;function VMessagePrototype(){}VMessagePrototype.prototype=Error.prototype;VMessage.prototype=new VMessagePrototype;var n=VMessage.prototype;n.file="";n.name="";n.reason="";n.message="";n.stack="";n.fatal=null;n.column=null;n.line=null;function VMessage(e,t,r){var n;var i;var o;if(typeof t==="string"){r=t;t=null}n=parseOrigin(r);i=a(t)||"1:1";o={start:{line:null,column:null},end:{line:null,column:null}};if(t&&t.position){t=t.position}if(t){if(t.start){o=t;t=t.start}else{o.start=t}}if(e.stack){this.stack=e.stack;e=e.message}this.message=e;this.name=i;this.reason=e;this.line=t?t.line:null;this.column=t?t.column:null;this.location=o;this.source=n[0];this.ruleId=n[1]}function parseOrigin(e){var t=[null,null];var r;if(typeof e==="string"){r=e.indexOf(":");if(r===-1){t[1]=e}else{t[0]=e.slice(0,r);t[1]=e.slice(r+1)}}return t}},4860:(e,t,r)=>{e.exports=r(77)},9523:(e,t,r)=>{var a=r(9239);var n=r(6070);var i=r(5625);e.exports=VFile;var o={}.hasOwnProperty;var s=["history","path","basename","stem","extname","dirname"];VFile.prototype.toString=toString;Object.defineProperty(VFile.prototype,"path",{get:getPath,set:setPath});Object.defineProperty(VFile.prototype,"dirname",{get:getDirname,set:setDirname});Object.defineProperty(VFile.prototype,"basename",{get:getBasename,set:setBasename});Object.defineProperty(VFile.prototype,"extname",{get:getExtname,set:setExtname});Object.defineProperty(VFile.prototype,"stem",{get:getStem,set:setStem});function VFile(e){var t;var r;if(!e){e={}}else if(typeof e==="string"||i(e)){e={contents:e}}else if("message"in e&&"messages"in e){return e}if(!(this instanceof VFile)){return new VFile(e)}this.data={};this.messages=[];this.history=[];this.cwd=n.cwd();r=-1;while(++r-1){throw new Error("`extname` cannot contain multiple dots")}}this.path=a.join(this.dirname,this.stem+(e||""))}function getStem(){return typeof this.path==="string"?a.basename(this.path,this.extname):undefined}function setStem(e){assertNonEmpty(e,"stem");assertPart(e,"stem");this.path=a.join(this.dirname||"",e+(this.extname||""))}function toString(e){return(this.contents||"").toString(e)}function assertPart(e,t){if(e&&e.indexOf(a.sep)>-1){throw new Error("`"+t+"` cannot be a path: did not expect `"+a.sep+"`")}}function assertNonEmpty(e,t){if(!e){throw new Error("`"+t+"` cannot be empty")}}function assertPath(e,t){if(!e){throw new Error("Setting `"+t+"` requires `path` to be set too")}}},77:(e,t,r)=>{var a=r(4108);var n=r(9523);e.exports=n;n.prototype.message=message;n.prototype.info=info;n.prototype.fail=fail;function message(e,t,r){var n=new a(e,t,r);if(this.path){n.name=this.path+":"+n.name;n.file=this.path}n.fatal=false;this.messages.push(n);return n}function fail(){var e=this.message.apply(this,arguments);e.fatal=true;throw e}function info(){var e=this.message.apply(this,arguments);e.fatal=null;return e}},9239:(e,t,r)=>{e.exports=r(1017)},6070:e=>{e.exports=process},4886:e=>{var t={};e.exports=t;function sign(e){return e<0?-1:1}function evenRound(e){if(e%1===.5&&(e&1)===0){return Math.floor(e)}else{return Math.round(e)}}function createNumberConversion(e,t){if(!t.unsigned){--e}const r=t.unsigned?0:-Math.pow(2,e);const a=Math.pow(2,e)-1;const n=t.moduloBitLength?Math.pow(2,t.moduloBitLength):Math.pow(2,e);const i=t.moduloBitLength?Math.pow(2,t.moduloBitLength-1):Math.pow(2,e-1);return function(e,o){if(!o)o={};let s=+e;if(o.enforceRange){if(!Number.isFinite(s)){throw new TypeError("Argument is not a finite number")}s=sign(s)*Math.floor(Math.abs(s));if(sa){throw new TypeError("Argument is not in byte range")}return s}if(!isNaN(s)&&o.clamp){s=evenRound(s);if(sa)s=a;return s}if(!Number.isFinite(s)||s===0){return 0}s=sign(s)*Math.floor(Math.abs(s));s=s%n;if(!t.unsigned&&s>=i){return s-n}else if(t.unsigned){if(s<0){s+=n}else if(s===-0){return 0}}return s}}t["void"]=function(){return undefined};t["boolean"]=function(e){return!!e};t["byte"]=createNumberConversion(8,{unsigned:false});t["octet"]=createNumberConversion(8,{unsigned:true});t["short"]=createNumberConversion(16,{unsigned:false});t["unsigned short"]=createNumberConversion(16,{unsigned:true});t["long"]=createNumberConversion(32,{unsigned:false});t["unsigned long"]=createNumberConversion(32,{unsigned:true});t["long long"]=createNumberConversion(32,{unsigned:false,moduloBitLength:64});t["unsigned long long"]=createNumberConversion(32,{unsigned:true,moduloBitLength:64});t["double"]=function(e){const t=+e;if(!Number.isFinite(t)){throw new TypeError("Argument is not a finite floating-point value")}return t};t["unrestricted double"]=function(e){const t=+e;if(isNaN(t)){throw new TypeError("Argument is NaN")}return t};t["float"]=t["double"];t["unrestricted float"]=t["unrestricted double"];t["DOMString"]=function(e,t){if(!t)t={};if(t.treatNullAsEmptyString&&e===null){return""}return String(e)};t["ByteString"]=function(e,t){const r=String(e);let a=undefined;for(let e=0;(a=r.codePointAt(e))!==undefined;++e){if(a>255){throw new TypeError("Argument is not a valid bytestring")}}return r};t["USVString"]=function(e){const t=String(e);const r=t.length;const a=[];for(let e=0;e57343){a.push(String.fromCodePoint(n))}else if(56320<=n&&n<=57343){a.push(String.fromCodePoint(65533))}else{if(e===r-1){a.push(String.fromCodePoint(65533))}else{const r=t.charCodeAt(e+1);if(56320<=r&&r<=57343){const t=n&1023;const i=r&1023;a.push(String.fromCodePoint((2<<15)+(2<<9)*t+i));++e}else{a.push(String.fromCodePoint(65533))}}}}return a.join("")};t["Date"]=function(e,t){if(!(e instanceof Date)){throw new TypeError("Argument is not a Date object")}if(isNaN(e)){return undefined}return e};t["RegExp"]=function(e,t){if(!(e instanceof RegExp)){e=new RegExp(e)}return e}},7537:(e,t,r)=>{const a=r(2158);t.implementation=class URLImpl{constructor(e){const t=e[0];const r=e[1];let n=null;if(r!==undefined){n=a.basicURLParse(r);if(n==="failure"){throw new TypeError("Invalid base URL")}}const i=a.basicURLParse(t,{baseURL:n});if(i==="failure"){throw new TypeError("Invalid URL")}this._url=i}get href(){return a.serializeURL(this._url)}set href(e){const t=a.basicURLParse(e);if(t==="failure"){throw new TypeError("Invalid URL")}this._url=t}get origin(){return a.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(e){a.basicURLParse(e+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(e){if(a.cannotHaveAUsernamePasswordPort(this._url)){return}a.setTheUsername(this._url,e)}get password(){return this._url.password}set password(e){if(a.cannotHaveAUsernamePasswordPort(this._url)){return}a.setThePassword(this._url,e)}get host(){const e=this._url;if(e.host===null){return""}if(e.port===null){return a.serializeHost(e.host)}return a.serializeHost(e.host)+":"+a.serializeInteger(e.port)}set host(e){if(this._url.cannotBeABaseURL){return}a.basicURLParse(e,{url:this._url,stateOverride:"host"})}get hostname(){if(this._url.host===null){return""}return a.serializeHost(this._url.host)}set hostname(e){if(this._url.cannotBeABaseURL){return}a.basicURLParse(e,{url:this._url,stateOverride:"hostname"})}get port(){if(this._url.port===null){return""}return a.serializeInteger(this._url.port)}set port(e){if(a.cannotHaveAUsernamePasswordPort(this._url)){return}if(e===""){this._url.port=null}else{a.basicURLParse(e,{url:this._url,stateOverride:"port"})}}get pathname(){if(this._url.cannotBeABaseURL){return this._url.path[0]}if(this._url.path.length===0){return""}return"/"+this._url.path.join("/")}set pathname(e){if(this._url.cannotBeABaseURL){return}this._url.path=[];a.basicURLParse(e,{url:this._url,stateOverride:"path start"})}get search(){if(this._url.query===null||this._url.query===""){return""}return"?"+this._url.query}set search(e){const t=this._url;if(e===""){t.query=null;return}const r=e[0]==="?"?e.substring(1):e;t.query="";a.basicURLParse(r,{url:t,stateOverride:"query"})}get hash(){if(this._url.fragment===null||this._url.fragment===""){return""}return"#"+this._url.fragment}set hash(e){if(e===""){this._url.fragment=null;return}const t=e[0]==="#"?e.substring(1):e;this._url.fragment="";a.basicURLParse(t,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}},3394:(e,t,r)=>{const a=r(4886);const n=r(3185);const i=r(7537);const o=n.implSymbol;function URL(t){if(!this||this[o]||!(this instanceof URL)){throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.")}if(arguments.length<1){throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.")}const r=[];for(let e=0;e{t.URL=r(3394)["interface"];t.serializeURL=r(2158).serializeURL;t.serializeURLOrigin=r(2158).serializeURLOrigin;t.basicURLParse=r(2158).basicURLParse;t.setTheUsername=r(2158).setTheUsername;t.setThePassword=r(2158).setThePassword;t.serializeHost=r(2158).serializeHost;t.serializeInteger=r(2158).serializeInteger;t.parseURL=r(2158).parseURL},2158:(e,t,r)=>{const a=r(5477);const n=r(4256);const i={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443};const o=Symbol("failure");function countSymbols(e){return a.ucs2.decode(e).length}function at(e,t){const r=e[t];return isNaN(r)?undefined:String.fromCodePoint(r)}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){return e>=65&&e<=90||e>=97&&e<=122}function isASCIIAlphanumeric(e){return isASCIIAlpha(e)||isASCIIDigit(e)}function isASCIIHex(e){return isASCIIDigit(e)||e>=65&&e<=70||e>=97&&e<=102}function isSingleDot(e){return e==="."||e.toLowerCase()==="%2e"}function isDoubleDot(e){e=e.toLowerCase();return e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function isWindowsDriveLetterCodePoints(e,t){return isASCIIAlpha(e)&&(t===58||t===124)}function isWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function isNormalizedWindowsDriveLetterString(e){return e.length===2&&isASCIIAlpha(e.codePointAt(0))&&e[1]===":"}function containsForbiddenHostCodePoint(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function containsForbiddenHostCodePointExcludingPercent(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function isSpecialScheme(e){return i[e]!==undefined}function isSpecial(e){return isSpecialScheme(e.scheme)}function defaultPort(e){return i[e]}function percentEncode(e){let t=e.toString(16).toUpperCase();if(t.length===1){t="0"+t}return"%"+t}function utf8PercentEncode(e){const t=new Buffer(e);let r="";for(let e=0;e126}const s=new Set([32,34,35,60,62,63,96,123,125]);function isPathPercentEncode(e){return isC0ControlPercentEncode(e)||s.has(e)}const p=new Set([47,58,59,61,64,91,92,93,94,124]);function isUserinfoPercentEncode(e){return isPathPercentEncode(e)||p.has(e)}function percentEncodeChar(e,t){const r=String.fromCodePoint(e);if(t(e)){return utf8PercentEncode(r)}return r}function parseIPv4Number(e){let t=10;if(e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"){e=e.substring(2);t=16}else if(e.length>=2&&e.charAt(0)==="0"){e=e.substring(1);t=8}if(e===""){return 0}const r=t===10?/[^0-9]/:t===16?/[^0-9A-Fa-f]/:/[^0-7]/;if(r.test(e)){return o}return parseInt(e,t)}function parseIPv4(e){const t=e.split(".");if(t[t.length-1]===""){if(t.length>1){t.pop()}}if(t.length>4){return e}const r=[];for(const a of t){if(a===""){return e}const t=parseIPv4Number(a);if(t===o){return e}r.push(t)}for(let e=0;e255){return o}}if(r[r.length-1]>=Math.pow(256,5-r.length)){return o}let a=r.pop();let n=0;for(const e of r){a+=e*Math.pow(256,3-n);++n}return a}function serializeIPv4(e){let t="";let r=e;for(let e=1;e<=4;++e){t=String(r%256)+t;if(e!==4){t="."+t}r=Math.floor(r/256)}return t}function parseIPv6(e){const t=[0,0,0,0,0,0,0,0];let r=0;let n=null;let i=0;e=a.ucs2.decode(e);if(e[i]===58){if(e[i+1]!==58){return o}i+=2;++r;n=r}while(i6){return o}let a=0;while(e[i]!==undefined){let n=null;if(a>0){if(e[i]===46&&a<4){++i}else{return o}}if(!isASCIIDigit(e[i])){return o}while(isASCIIDigit(e[i])){const t=parseInt(at(e,i));if(n===null){n=t}else if(n===0){return o}else{n=n*10+t}if(n>255){return o}++i}t[r]=t[r]*256+n;++a;if(a===2||a===4){++r}}if(a!==4){return o}break}else if(e[i]===58){++i;if(e[i]===undefined){return o}}else if(e[i]!==undefined){return o}t[r]=a;++r}if(n!==null){let e=r-n;r=7;while(r!==0&&e>0){const a=t[n+e-1];t[n+e-1]=t[r];t[r]=a;--r;--e}}else if(n===null&&r!==8){return o}return t}function serializeIPv6(e){let t="";const r=findLongestZeroSequence(e);const a=r.idx;let n=false;for(let r=0;r<=7;++r){if(n&&e[r]===0){continue}else if(n){n=false}if(a===r){const e=r===0?"::":":";t+=e;n=true;continue}t+=e[r].toString(16);if(r!==7){t+=":"}}return t}function parseHost(e,t){if(e[0]==="["){if(e[e.length-1]!=="]"){return o}return parseIPv6(e.substring(1,e.length-1))}if(!t){return parseOpaqueHost(e)}const r=utf8PercentDecode(e);const a=n.toASCII(r,false,n.PROCESSING_OPTIONS.NONTRANSITIONAL,false);if(a===null){return o}if(containsForbiddenHostCodePoint(a)){return o}const i=parseIPv4(a);if(typeof i==="number"||i===o){return i}return a}function parseOpaqueHost(e){if(containsForbiddenHostCodePointExcludingPercent(e)){return o}let t="";const r=a.ucs2.decode(e);for(let e=0;er){t=a;r=n}a=null;n=0}else{if(a===null){a=i}++n}}if(n>r){t=a;r=n}return{idx:t,len:r}}function serializeHost(e){if(typeof e==="number"){return serializeIPv4(e)}if(e instanceof Array){return"["+serializeIPv6(e)+"]"}return e}function trimControlChars(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function trimTabAndNewline(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function shortenPath(e){const t=e.path;if(t.length===0){return}if(e.scheme==="file"&&t.length===1&&isNormalizedWindowsDriveLetter(t[0])){return}t.pop()}function includesCredentials(e){return e.username!==""||e.password!==""}function cannotHaveAUsernamePasswordPort(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function isNormalizedWindowsDriveLetter(e){return/^[A-Za-z]:$/.test(e)}function URLStateMachine(e,t,r,n,i){this.pointer=0;this.input=e;this.base=t||null;this.encodingOverride=r||"utf-8";this.stateOverride=i;this.url=n;this.failure=false;this.parseError=false;if(!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:false};const e=trimControlChars(this.input);if(e!==this.input){this.parseError=true}this.input=e}const s=trimTabAndNewline(this.input);if(s!==this.input){this.parseError=true}this.input=s;this.state=i||"scheme start";this.buffer="";this.atFlag=false;this.arrFlag=false;this.passwordTokenSeenFlag=false;this.input=a.ucs2.decode(this.input);for(;this.pointer<=this.input.length;++this.pointer){const e=this.input[this.pointer];const t=isNaN(e)?undefined:String.fromCodePoint(e);const r=this["parse "+this.state](e,t);if(!r){break}else if(r===o){this.failure=true;break}}}URLStateMachine.prototype["parse scheme start"]=function parseSchemeStart(e,t){if(isASCIIAlpha(e)){this.buffer+=t.toLowerCase();this.state="scheme"}else if(!this.stateOverride){this.state="no scheme";--this.pointer}else{this.parseError=true;return o}return true};URLStateMachine.prototype["parse scheme"]=function parseScheme(e,t){if(isASCIIAlphanumeric(e)||e===43||e===45||e===46){this.buffer+=t.toLowerCase()}else if(e===58){if(this.stateOverride){if(isSpecial(this.url)&&!isSpecialScheme(this.buffer)){return false}if(!isSpecial(this.url)&&isSpecialScheme(this.buffer)){return false}if((includesCredentials(this.url)||this.url.port!==null)&&this.buffer==="file"){return false}if(this.url.scheme==="file"&&(this.url.host===""||this.url.host===null)){return false}}this.url.scheme=this.buffer;this.buffer="";if(this.stateOverride){return false}if(this.url.scheme==="file"){if(this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47){this.parseError=true}this.state="file"}else if(isSpecial(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme){this.state="special relative or authority"}else if(isSpecial(this.url)){this.state="special authority slashes"}else if(this.input[this.pointer+1]===47){this.state="path or authority";++this.pointer}else{this.url.cannotBeABaseURL=true;this.url.path.push("");this.state="cannot-be-a-base-URL path"}}else if(!this.stateOverride){this.buffer="";this.state="no scheme";this.pointer=-1}else{this.parseError=true;return o}return true};URLStateMachine.prototype["parse no scheme"]=function parseNoScheme(e){if(this.base===null||this.base.cannotBeABaseURL&&e!==35){return o}else if(this.base.cannotBeABaseURL&&e===35){this.url.scheme=this.base.scheme;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.url.cannotBeABaseURL=true;this.state="fragment"}else if(this.base.scheme==="file"){this.state="file";--this.pointer}else{this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse special relative or authority"]=function parseSpecialRelativeOrAuthority(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="relative";--this.pointer}return true};URLStateMachine.prototype["parse path or authority"]=function parsePathOrAuthority(e){if(e===47){this.state="authority"}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative"]=function parseRelative(e){this.url.scheme=this.base.scheme;if(isNaN(e)){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===47){this.state="relative slash"}else if(e===63){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else if(isSpecial(this.url)&&e===92){this.parseError=true;this.state="relative slash"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.url.path=this.base.path.slice(0,this.base.path.length-1);this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse relative slash"]=function parseRelativeSlash(e){if(isSpecial(this.url)&&(e===47||e===92)){if(e===92){this.parseError=true}this.state="special authority ignore slashes"}else if(e===47){this.state="authority"}else{this.url.username=this.base.username;this.url.password=this.base.password;this.url.host=this.base.host;this.url.port=this.base.port;this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse special authority slashes"]=function parseSpecialAuthoritySlashes(e){if(e===47&&this.input[this.pointer+1]===47){this.state="special authority ignore slashes";++this.pointer}else{this.parseError=true;this.state="special authority ignore slashes";--this.pointer}return true};URLStateMachine.prototype["parse special authority ignore slashes"]=function parseSpecialAuthorityIgnoreSlashes(e){if(e!==47&&e!==92){this.state="authority";--this.pointer}else{this.parseError=true}return true};URLStateMachine.prototype["parse authority"]=function parseAuthority(e,t){if(e===64){this.parseError=true;if(this.atFlag){this.buffer="%40"+this.buffer}this.atFlag=true;const e=countSymbols(this.buffer);for(let t=0;tMath.pow(2,16)-1){this.parseError=true;return o}this.url.port=e===defaultPort(this.url.scheme)?null:e;this.buffer=""}if(this.stateOverride){return false}this.state="path start";--this.pointer}else{this.parseError=true;return o}return true};const d=new Set([47,92,63,35]);URLStateMachine.prototype["parse file"]=function parseFile(e){this.url.scheme="file";if(e===47||e===92){if(e===92){this.parseError=true}this.state="file slash"}else if(this.base!==null&&this.base.scheme==="file"){if(isNaN(e)){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query}else if(e===63){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query="";this.state="query"}else if(e===35){this.url.host=this.base.host;this.url.path=this.base.path.slice();this.url.query=this.base.query;this.url.fragment="";this.state="fragment"}else{if(this.input.length-this.pointer-1===0||!isWindowsDriveLetterCodePoints(e,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!d.has(this.input[this.pointer+2])){this.url.host=this.base.host;this.url.path=this.base.path.slice();shortenPath(this.url)}else{this.parseError=true}this.state="path";--this.pointer}}else{this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file slash"]=function parseFileSlash(e){if(e===47||e===92){if(e===92){this.parseError=true}this.state="file host"}else{if(this.base!==null&&this.base.scheme==="file"){if(isNormalizedWindowsDriveLetterString(this.base.path[0])){this.url.path.push(this.base.path[0])}else{this.url.host=this.base.host}}this.state="path";--this.pointer}return true};URLStateMachine.prototype["parse file host"]=function parseFileHost(e,t){if(isNaN(e)||e===47||e===92||e===63||e===35){--this.pointer;if(!this.stateOverride&&isWindowsDriveLetterString(this.buffer)){this.parseError=true;this.state="path"}else if(this.buffer===""){this.url.host="";if(this.stateOverride){return false}this.state="path start"}else{let e=parseHost(this.buffer,isSpecial(this.url));if(e===o){return o}if(e==="localhost"){e=""}this.url.host=e;if(this.stateOverride){return false}this.buffer="";this.state="path start"}}else{this.buffer+=t}return true};URLStateMachine.prototype["parse path start"]=function parsePathStart(e){if(isSpecial(this.url)){if(e===92){this.parseError=true}this.state="path";if(e!==47&&e!==92){--this.pointer}}else if(!this.stateOverride&&e===63){this.url.query="";this.state="query"}else if(!this.stateOverride&&e===35){this.url.fragment="";this.state="fragment"}else if(e!==undefined){this.state="path";if(e!==47){--this.pointer}}return true};URLStateMachine.prototype["parse path"]=function parsePath(e){if(isNaN(e)||e===47||isSpecial(this.url)&&e===92||!this.stateOverride&&(e===63||e===35)){if(isSpecial(this.url)&&e===92){this.parseError=true}if(isDoubleDot(this.buffer)){shortenPath(this.url);if(e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}}else if(isSingleDot(this.buffer)&&e!==47&&!(isSpecial(this.url)&&e===92)){this.url.path.push("")}else if(!isSingleDot(this.buffer)){if(this.url.scheme==="file"&&this.url.path.length===0&&isWindowsDriveLetterString(this.buffer)){if(this.url.host!==""&&this.url.host!==null){this.parseError=true;this.url.host=""}this.buffer=this.buffer[0]+":"}this.url.path.push(this.buffer)}this.buffer="";if(this.url.scheme==="file"&&(e===undefined||e===63||e===35)){while(this.url.path.length>1&&this.url.path[0]===""){this.parseError=true;this.url.path.shift()}}if(e===63){this.url.query="";this.state="query"}if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=percentEncodeChar(e,isPathPercentEncode)}return true};URLStateMachine.prototype["parse cannot-be-a-base-URL path"]=function parseCannotBeABaseURLPath(e){if(e===63){this.url.query="";this.state="query"}else if(e===35){this.url.fragment="";this.state="fragment"}else{if(!isNaN(e)&&e!==37){this.parseError=true}if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}if(!isNaN(e)){this.url.path[0]=this.url.path[0]+percentEncodeChar(e,isC0ControlPercentEncode)}}return true};URLStateMachine.prototype["parse query"]=function parseQuery(e,t){if(isNaN(e)||!this.stateOverride&&e===35){if(!isSpecial(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss"){this.encodingOverride="utf-8"}const t=new Buffer(this.buffer);for(let e=0;e126||t[e]===34||t[e]===35||t[e]===60||t[e]===62){this.url.query+=percentEncode(t[e])}else{this.url.query+=String.fromCodePoint(t[e])}}this.buffer="";if(e===35){this.url.fragment="";this.state="fragment"}}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.buffer+=t}return true};URLStateMachine.prototype["parse fragment"]=function parseFragment(e){if(isNaN(e)){}else if(e===0){this.parseError=true}else{if(e===37&&(!isASCIIHex(this.input[this.pointer+1])||!isASCIIHex(this.input[this.pointer+2]))){this.parseError=true}this.url.fragment+=percentEncodeChar(e,isC0ControlPercentEncode)}return true};function serializeURL(e,t){let r=e.scheme+":";if(e.host!==null){r+="//";if(e.username!==""||e.password!==""){r+=e.username;if(e.password!==""){r+=":"+e.password}r+="@"}r+=serializeHost(e.host);if(e.port!==null){r+=":"+e.port}}else if(e.host===null&&e.scheme==="file"){r+="//"}if(e.cannotBeABaseURL){r+=e.path[0]}else{for(const t of e.path){r+="/"+t}}if(e.query!==null){r+="?"+e.query}if(!t&&e.fragment!==null){r+="#"+e.fragment}return r}function serializeOrigin(e){let t=e.scheme+"://";t+=serializeHost(e.host);if(e.port!==null){t+=":"+e.port}return t}e.exports.serializeURL=serializeURL;e.exports.serializeURLOrigin=function(t){switch(t.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(t.path[0]))}catch(e){return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return serializeOrigin({scheme:t.scheme,host:t.host,port:t.port});case"file":return"file://";default:return"null"}};e.exports.basicURLParse=function(e,t){if(t===undefined){t={}}const r=new URLStateMachine(e,t.baseURL,t.encodingOverride,t.url,t.stateOverride);if(r.failure){return"failure"}return r.url};e.exports.setTheUsername=function(e,t){e.username="";const r=a.ucs2.decode(t);for(let t=0;t{e.exports.mixin=function mixin(e,t){const r=Object.getOwnPropertyNames(t);for(let a=0;a{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r{e.exports=extend;var t=Object.prototype.hasOwnProperty;function extend(){var e={};for(var r=0;r{e.exports=factory;var t=Function.prototype;var r={}.hasOwnProperty;function factory(e,a){var n=a||{};function one(a){var n=one.invalid;var i=one.handlers;if(a&&r.call(a,e)){n=r.call(i,a[e])?i[a[e]]:one.unknown}return(n||t).apply(this,arguments)}one.handlers=n.handlers||{};one.invalid=n.invalid;one.unknown=n.unknown;return one}},2877:module=>{module.exports=eval("require")("encoding")},9491:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("assert")},6113:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("crypto")},2361:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("events")},7147:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs")},3685:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http")},5687:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("https")},1808:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("net")},2037:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("os")},1017:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("path")},5477:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("punycode")},2781:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream")},4404:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tls")},7310:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("url")},3837:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util")},9796:e=>{e.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("zlib")},7452:e=>{e.exports=JSON.parse('{"AElig":"Æ","AMP":"&","Aacute":"Á","Acirc":"Â","Agrave":"À","Aring":"Å","Atilde":"Ã","Auml":"Ä","COPY":"©","Ccedil":"Ç","ETH":"Ð","Eacute":"É","Ecirc":"Ê","Egrave":"È","Euml":"Ë","GT":">","Iacute":"Í","Icirc":"Î","Igrave":"Ì","Iuml":"Ï","LT":"<","Ntilde":"Ñ","Oacute":"Ó","Ocirc":"Ô","Ograve":"Ò","Oslash":"Ø","Otilde":"Õ","Ouml":"Ö","QUOT":"\\"","REG":"®","THORN":"Þ","Uacute":"Ú","Ucirc":"Û","Ugrave":"Ù","Uuml":"Ü","Yacute":"Ý","aacute":"á","acirc":"â","acute":"´","aelig":"æ","agrave":"à","amp":"&","aring":"å","atilde":"ã","auml":"ä","brvbar":"¦","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","curren":"¤","deg":"°","divide":"÷","eacute":"é","ecirc":"ê","egrave":"è","eth":"ð","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","iacute":"í","icirc":"î","iexcl":"¡","igrave":"ì","iquest":"¿","iuml":"ï","laquo":"«","lt":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","ntilde":"ñ","oacute":"ó","ocirc":"ô","ograve":"ò","ordf":"ª","ordm":"º","oslash":"ø","otilde":"õ","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","raquo":"»","reg":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","thorn":"þ","times":"×","uacute":"ú","ucirc":"û","ugrave":"ù","uml":"¨","uuml":"ü","yacute":"ý","yen":"¥","yuml":"ÿ"}')},2661:e=>{e.exports=JSON.parse('{"AEli":"Æ","AElig":"Æ","AM":"&","AMP":"&","Aacut":"Á","Aacute":"Á","Abreve":"Ă","Acir":"Â","Acirc":"Â","Acy":"А","Afr":"𝔄","Agrav":"À","Agrave":"À","Alpha":"Α","Amacr":"Ā","And":"⩓","Aogon":"Ą","Aopf":"𝔸","ApplyFunction":"⁡","Arin":"Å","Aring":"Å","Ascr":"𝒜","Assign":"≔","Atild":"Ã","Atilde":"Ã","Aum":"Ä","Auml":"Ä","Backslash":"∖","Barv":"⫧","Barwed":"⌆","Bcy":"Б","Because":"∵","Bernoullis":"ℬ","Beta":"Β","Bfr":"𝔅","Bopf":"𝔹","Breve":"˘","Bscr":"ℬ","Bumpeq":"≎","CHcy":"Ч","COP":"©","COPY":"©","Cacute":"Ć","Cap":"⋒","CapitalDifferentialD":"ⅅ","Cayleys":"ℭ","Ccaron":"Č","Ccedi":"Ç","Ccedil":"Ç","Ccirc":"Ĉ","Cconint":"∰","Cdot":"Ċ","Cedilla":"¸","CenterDot":"·","Cfr":"ℭ","Chi":"Χ","CircleDot":"⊙","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","Colon":"∷","Colone":"⩴","Congruent":"≡","Conint":"∯","ContourIntegral":"∮","Copf":"ℂ","Coproduct":"∐","CounterClockwiseContourIntegral":"∳","Cross":"⨯","Cscr":"𝒞","Cup":"⋓","CupCap":"≍","DD":"ⅅ","DDotrahd":"⤑","DJcy":"Ђ","DScy":"Ѕ","DZcy":"Џ","Dagger":"‡","Darr":"↡","Dashv":"⫤","Dcaron":"Ď","Dcy":"Д","Del":"∇","Delta":"Δ","Dfr":"𝔇","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","Diamond":"⋄","DifferentialD":"ⅆ","Dopf":"𝔻","Dot":"¨","DotDot":"⃜","DotEqual":"≐","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrow":"↓","DownArrowBar":"⤓","DownArrowUpArrow":"⇵","DownBreve":"̑","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVector":"↽","DownLeftVectorBar":"⥖","DownRightTeeVector":"⥟","DownRightVector":"⇁","DownRightVectorBar":"⥗","DownTee":"⊤","DownTeeArrow":"↧","Downarrow":"⇓","Dscr":"𝒟","Dstrok":"Đ","ENG":"Ŋ","ET":"Ð","ETH":"Ð","Eacut":"É","Eacute":"É","Ecaron":"Ě","Ecir":"Ê","Ecirc":"Ê","Ecy":"Э","Edot":"Ė","Efr":"𝔈","Egrav":"È","Egrave":"È","Element":"∈","Emacr":"Ē","EmptySmallSquare":"◻","EmptyVerySmallSquare":"▫","Eogon":"Ę","Eopf":"𝔼","Epsilon":"Ε","Equal":"⩵","EqualTilde":"≂","Equilibrium":"⇌","Escr":"ℰ","Esim":"⩳","Eta":"Η","Eum":"Ë","Euml":"Ë","Exists":"∃","ExponentialE":"ⅇ","Fcy":"Ф","Ffr":"𝔉","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","Fopf":"𝔽","ForAll":"∀","Fouriertrf":"ℱ","Fscr":"ℱ","GJcy":"Ѓ","G":">","GT":">","Gamma":"Γ","Gammad":"Ϝ","Gbreve":"Ğ","Gcedil":"Ģ","Gcirc":"Ĝ","Gcy":"Г","Gdot":"Ġ","Gfr":"𝔊","Gg":"⋙","Gopf":"𝔾","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","Gt":"≫","HARDcy":"Ъ","Hacek":"ˇ","Hat":"^","Hcirc":"Ĥ","Hfr":"ℌ","HilbertSpace":"ℋ","Hopf":"ℍ","HorizontalLine":"─","Hscr":"ℋ","Hstrok":"Ħ","HumpDownHump":"≎","HumpEqual":"≏","IEcy":"Е","IJlig":"IJ","IOcy":"Ё","Iacut":"Í","Iacute":"Í","Icir":"Î","Icirc":"Î","Icy":"И","Idot":"İ","Ifr":"ℑ","Igrav":"Ì","Igrave":"Ì","Im":"ℑ","Imacr":"Ī","ImaginaryI":"ⅈ","Implies":"⇒","Int":"∬","Integral":"∫","Intersection":"⋂","InvisibleComma":"⁣","InvisibleTimes":"⁢","Iogon":"Į","Iopf":"𝕀","Iota":"Ι","Iscr":"ℐ","Itilde":"Ĩ","Iukcy":"І","Ium":"Ï","Iuml":"Ï","Jcirc":"Ĵ","Jcy":"Й","Jfr":"𝔍","Jopf":"𝕁","Jscr":"𝒥","Jsercy":"Ј","Jukcy":"Є","KHcy":"Х","KJcy":"Ќ","Kappa":"Κ","Kcedil":"Ķ","Kcy":"К","Kfr":"𝔎","Kopf":"𝕂","Kscr":"𝒦","LJcy":"Љ","L":"<","LT":"<","Lacute":"Ĺ","Lambda":"Λ","Lang":"⟪","Laplacetrf":"ℒ","Larr":"↞","Lcaron":"Ľ","Lcedil":"Ļ","Lcy":"Л","LeftAngleBracket":"⟨","LeftArrow":"←","LeftArrowBar":"⇤","LeftArrowRightArrow":"⇆","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVector":"⇃","LeftDownVectorBar":"⥙","LeftFloor":"⌊","LeftRightArrow":"↔","LeftRightVector":"⥎","LeftTee":"⊣","LeftTeeArrow":"↤","LeftTeeVector":"⥚","LeftTriangle":"⊲","LeftTriangleBar":"⧏","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVector":"↿","LeftUpVectorBar":"⥘","LeftVector":"↼","LeftVectorBar":"⥒","Leftarrow":"⇐","Leftrightarrow":"⇔","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","LessLess":"⪡","LessSlantEqual":"⩽","LessTilde":"≲","Lfr":"𝔏","Ll":"⋘","Lleftarrow":"⇚","Lmidot":"Ŀ","LongLeftArrow":"⟵","LongLeftRightArrow":"⟷","LongRightArrow":"⟶","Longleftarrow":"⟸","Longleftrightarrow":"⟺","Longrightarrow":"⟹","Lopf":"𝕃","LowerLeftArrow":"↙","LowerRightArrow":"↘","Lscr":"ℒ","Lsh":"↰","Lstrok":"Ł","Lt":"≪","Map":"⤅","Mcy":"М","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","MinusPlus":"∓","Mopf":"𝕄","Mscr":"ℳ","Mu":"Μ","NJcy":"Њ","Nacute":"Ń","Ncaron":"Ň","Ncedil":"Ņ","Ncy":"Н","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","Nfr":"𝔑","NoBreak":"⁠","NonBreakingSpace":" ","Nopf":"ℕ","Not":"⫬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","NotLeftTriangle":"⋪","NotLeftTriangleBar":"⧏̸","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangle":"⋫","NotRightTriangleBar":"⧐̸","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","Nscr":"𝒩","Ntild":"Ñ","Ntilde":"Ñ","Nu":"Ν","OElig":"Œ","Oacut":"Ó","Oacute":"Ó","Ocir":"Ô","Ocirc":"Ô","Ocy":"О","Odblac":"Ő","Ofr":"𝔒","Ograv":"Ò","Ograve":"Ò","Omacr":"Ō","Omega":"Ω","Omicron":"Ο","Oopf":"𝕆","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","Or":"⩔","Oscr":"𝒪","Oslas":"Ø","Oslash":"Ø","Otild":"Õ","Otilde":"Õ","Otimes":"⨷","Oum":"Ö","Ouml":"Ö","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","PartialD":"∂","Pcy":"П","Pfr":"𝔓","Phi":"Φ","Pi":"Π","PlusMinus":"±","Poincareplane":"ℌ","Popf":"ℙ","Pr":"⪻","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","Prime":"″","Product":"∏","Proportion":"∷","Proportional":"∝","Pscr":"𝒫","Psi":"Ψ","QUO":"\\"","QUOT":"\\"","Qfr":"𝔔","Qopf":"ℚ","Qscr":"𝒬","RBarr":"⤐","RE":"®","REG":"®","Racute":"Ŕ","Rang":"⟫","Rarr":"↠","Rarrtl":"⤖","Rcaron":"Ř","Rcedil":"Ŗ","Rcy":"Р","Re":"ℜ","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","Rfr":"ℜ","Rho":"Ρ","RightAngleBracket":"⟩","RightArrow":"→","RightArrowBar":"⇥","RightArrowLeftArrow":"⇄","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVector":"⇂","RightDownVectorBar":"⥕","RightFloor":"⌋","RightTee":"⊢","RightTeeArrow":"↦","RightTeeVector":"⥛","RightTriangle":"⊳","RightTriangleBar":"⧐","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVector":"↾","RightUpVectorBar":"⥔","RightVector":"⇀","RightVectorBar":"⥓","Rightarrow":"⇒","Ropf":"ℝ","RoundImplies":"⥰","Rrightarrow":"⇛","Rscr":"ℛ","Rsh":"↱","RuleDelayed":"⧴","SHCHcy":"Щ","SHcy":"Ш","SOFTcy":"Ь","Sacute":"Ś","Sc":"⪼","Scaron":"Š","Scedil":"Ş","Scirc":"Ŝ","Scy":"С","Sfr":"𝔖","ShortDownArrow":"↓","ShortLeftArrow":"←","ShortRightArrow":"→","ShortUpArrow":"↑","Sigma":"Σ","SmallCircle":"∘","Sopf":"𝕊","Sqrt":"√","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","Sscr":"𝒮","Star":"⋆","Sub":"⋐","Subset":"⋐","SubsetEqual":"⊆","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","SuchThat":"∋","Sum":"∑","Sup":"⋑","Superset":"⊃","SupersetEqual":"⊇","Supset":"⋑","THOR":"Þ","THORN":"Þ","TRADE":"™","TSHcy":"Ћ","TScy":"Ц","Tab":"\\t","Tau":"Τ","Tcaron":"Ť","Tcedil":"Ţ","Tcy":"Т","Tfr":"𝔗","Therefore":"∴","Theta":"Θ","ThickSpace":"  ","ThinSpace":" ","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","Topf":"𝕋","TripleDot":"⃛","Tscr":"𝒯","Tstrok":"Ŧ","Uacut":"Ú","Uacute":"Ú","Uarr":"↟","Uarrocir":"⥉","Ubrcy":"Ў","Ubreve":"Ŭ","Ucir":"Û","Ucirc":"Û","Ucy":"У","Udblac":"Ű","Ufr":"𝔘","Ugrav":"Ù","Ugrave":"Ù","Umacr":"Ū","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","Uopf":"𝕌","UpArrow":"↑","UpArrowBar":"⤒","UpArrowDownArrow":"⇅","UpDownArrow":"↕","UpEquilibrium":"⥮","UpTee":"⊥","UpTeeArrow":"↥","Uparrow":"⇑","Updownarrow":"⇕","UpperLeftArrow":"↖","UpperRightArrow":"↗","Upsi":"ϒ","Upsilon":"Υ","Uring":"Ů","Uscr":"𝒰","Utilde":"Ũ","Uum":"Ü","Uuml":"Ü","VDash":"⊫","Vbar":"⫫","Vcy":"В","Vdash":"⊩","Vdashl":"⫦","Vee":"⋁","Verbar":"‖","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","Vopf":"𝕍","Vscr":"𝒱","Vvdash":"⊪","Wcirc":"Ŵ","Wedge":"⋀","Wfr":"𝔚","Wopf":"𝕎","Wscr":"𝒲","Xfr":"𝔛","Xi":"Ξ","Xopf":"𝕏","Xscr":"𝒳","YAcy":"Я","YIcy":"Ї","YUcy":"Ю","Yacut":"Ý","Yacute":"Ý","Ycirc":"Ŷ","Ycy":"Ы","Yfr":"𝔜","Yopf":"𝕐","Yscr":"𝒴","Yuml":"Ÿ","ZHcy":"Ж","Zacute":"Ź","Zcaron":"Ž","Zcy":"З","Zdot":"Ż","ZeroWidthSpace":"​","Zeta":"Ζ","Zfr":"ℨ","Zopf":"ℤ","Zscr":"𝒵","aacut":"á","aacute":"á","abreve":"ă","ac":"∾","acE":"∾̳","acd":"∿","acir":"â","acirc":"â","acut":"´","acute":"´","acy":"а","aeli":"æ","aelig":"æ","af":"⁡","afr":"𝔞","agrav":"à","agrave":"à","alefsym":"ℵ","aleph":"ℵ","alpha":"α","amacr":"ā","amalg":"⨿","am":"&","amp":"&","and":"∧","andand":"⩕","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsd":"∡","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","aogon":"ą","aopf":"𝕒","ap":"≈","apE":"⩰","apacir":"⩯","ape":"≊","apid":"≋","apos":"\'","approx":"≈","approxeq":"≊","arin":"å","aring":"å","ascr":"𝒶","ast":"*","asymp":"≈","asympeq":"≍","atild":"ã","atilde":"ã","aum":"ä","auml":"ä","awconint":"∳","awint":"⨑","bNot":"⫭","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","barvee":"⊽","barwed":"⌅","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","beta":"β","beth":"ℶ","between":"≬","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bnot":"⌐","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxDL":"╗","boxDR":"╔","boxDl":"╖","boxDr":"╓","boxH":"═","boxHD":"╦","boxHU":"╩","boxHd":"╤","boxHu":"╧","boxUL":"╝","boxUR":"╚","boxUl":"╜","boxUr":"╙","boxV":"║","boxVH":"╬","boxVL":"╣","boxVR":"╠","boxVh":"╫","boxVl":"╢","boxVr":"╟","boxbox":"⧉","boxdL":"╕","boxdR":"╒","boxdl":"┐","boxdr":"┌","boxh":"─","boxhD":"╥","boxhU":"╨","boxhd":"┬","boxhu":"┴","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxuL":"╛","boxuR":"╘","boxul":"┘","boxur":"└","boxv":"│","boxvH":"╪","boxvL":"╡","boxvR":"╞","boxvh":"┼","boxvl":"┤","boxvr":"├","bprime":"‵","breve":"˘","brvba":"¦","brvbar":"¦","bscr":"𝒷","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsol":"\\\\","bsolb":"⧅","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","bumpeq":"≏","cacute":"ć","cap":"∩","capand":"⩄","capbrcup":"⩉","capcap":"⩋","capcup":"⩇","capdot":"⩀","caps":"∩︀","caret":"⁁","caron":"ˇ","ccaps":"⩍","ccaron":"č","ccedi":"ç","ccedil":"ç","ccirc":"ĉ","ccups":"⩌","ccupssm":"⩐","cdot":"ċ","cedi":"¸","cedil":"¸","cemptyv":"⦲","cen":"¢","cent":"¢","centerdot":"·","cfr":"𝔠","chcy":"ч","check":"✓","checkmark":"✓","chi":"χ","cir":"○","cirE":"⧃","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledR":"®","circledS":"Ⓢ","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","clubs":"♣","clubsuit":"♣","colon":":","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","conint":"∮","copf":"𝕔","coprod":"∐","cop":"©","copy":"©","copysr":"℗","crarr":"↵","cross":"✗","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cup":"∪","cupbrcap":"⩈","cupcap":"⩆","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curre":"¤","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dArr":"⇓","dHar":"⥥","dagger":"†","daleth":"ℸ","darr":"↓","dash":"‐","dashv":"⊣","dbkarow":"⤏","dblac":"˝","dcaron":"ď","dcy":"д","dd":"ⅆ","ddagger":"‡","ddarr":"⇊","ddotseq":"⩷","de":"°","deg":"°","delta":"δ","demptyv":"⦱","dfisht":"⥿","dfr":"𝔡","dharl":"⇃","dharr":"⇂","diam":"⋄","diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","digamma":"ϝ","disin":"⋲","div":"÷","divid":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","dopf":"𝕕","dot":"˙","doteq":"≐","doteqdot":"≑","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","downarrow":"↓","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","dscr":"𝒹","dscy":"ѕ","dsol":"⧶","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","dzcy":"џ","dzigrarr":"⟿","eDDot":"⩷","eDot":"≑","eacut":"é","eacute":"é","easter":"⩮","ecaron":"ě","ecir":"ê","ecirc":"ê","ecolon":"≕","ecy":"э","edot":"ė","ee":"ⅇ","efDot":"≒","efr":"𝔢","eg":"⪚","egrav":"è","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","emacr":"ē","empty":"∅","emptyset":"∅","emptyv":"∅","emsp13":" ","emsp14":" ","emsp":" ","eng":"ŋ","ensp":" ","eogon":"ę","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","equals":"=","equest":"≟","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erDot":"≓","erarr":"⥱","escr":"ℯ","esdot":"≐","esim":"≂","eta":"η","et":"ð","eth":"ð","eum":"ë","euml":"ë","euro":"€","excl":"!","exist":"∃","expectation":"ℰ","exponentiale":"ⅇ","fallingdotseq":"≒","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","ffr":"𝔣","filig":"fi","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","fopf":"𝕗","forall":"∀","fork":"⋔","forkv":"⫙","fpartint":"⨍","frac1":"¼","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac3":"¾","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","gE":"≧","gEl":"⪌","gacute":"ǵ","gamma":"γ","gammad":"ϝ","gap":"⪆","gbreve":"ğ","gcirc":"ĝ","gcy":"г","gdot":"ġ","ge":"≥","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","ges":"⩾","gescc":"⪩","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","gfr":"𝔤","gg":"≫","ggg":"⋙","gimel":"ℷ","gjcy":"ѓ","gl":"≷","glE":"⪒","gla":"⪥","glj":"⪤","gnE":"≩","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gneq":"⪈","gneqq":"≩","gnsim":"⋧","gopf":"𝕘","grave":"`","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","g":">","gt":">","gtcc":"⪧","gtcir":"⩺","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","hArr":"⇔","hairsp":" ","half":"½","hamilt":"ℋ","hardcy":"ъ","harr":"↔","harrcir":"⥈","harrw":"↭","hbar":"ℏ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","horbar":"―","hscr":"𝒽","hslash":"ℏ","hstrok":"ħ","hybull":"⁃","hyphen":"‐","iacut":"í","iacute":"í","ic":"⁣","icir":"î","icirc":"î","icy":"и","iecy":"е","iexc":"¡","iexcl":"¡","iff":"⇔","ifr":"𝔦","igrav":"ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","ijlig":"ij","imacr":"ī","image":"ℑ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","imof":"⊷","imped":"Ƶ","in":"∈","incare":"℅","infin":"∞","infintie":"⧝","inodot":"ı","int":"∫","intcal":"⊺","integers":"ℤ","intercal":"⊺","intlarhk":"⨗","intprod":"⨼","iocy":"ё","iogon":"į","iopf":"𝕚","iota":"ι","iprod":"⨼","iques":"¿","iquest":"¿","iscr":"𝒾","isin":"∈","isinE":"⋹","isindot":"⋵","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","itilde":"ĩ","iukcy":"і","ium":"ï","iuml":"ï","jcirc":"ĵ","jcy":"й","jfr":"𝔧","jmath":"ȷ","jopf":"𝕛","jscr":"𝒿","jsercy":"ј","jukcy":"є","kappa":"κ","kappav":"ϰ","kcedil":"ķ","kcy":"к","kfr":"𝔨","kgreen":"ĸ","khcy":"х","kjcy":"ќ","kopf":"𝕜","kscr":"𝓀","lAarr":"⇚","lArr":"⇐","lAtail":"⤛","lBarr":"⤎","lE":"≦","lEg":"⪋","lHar":"⥢","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","lambda":"λ","lang":"⟨","langd":"⦑","langle":"⟨","lap":"⪅","laqu":"«","laquo":"«","larr":"←","larrb":"⇤","larrbfs":"⤟","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","lat":"⪫","latail":"⤙","late":"⪭","lates":"⪭︀","lbarr":"⤌","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","lcaron":"ľ","lcedil":"ļ","lceil":"⌈","lcub":"{","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","leftarrow":"←","leftarrowtail":"↢","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","leftthreetimes":"⋋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","les":"⩽","lescc":"⪨","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","lessgtr":"≶","lesssim":"≲","lfisht":"⥼","lfloor":"⌊","lfr":"𝔩","lg":"≶","lgE":"⪑","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","ljcy":"љ","ll":"≪","llarr":"⇇","llcorner":"⌞","llhard":"⥫","lltri":"◺","lmidot":"ŀ","lmoust":"⎰","lmoustache":"⎰","lnE":"≨","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","longleftrightarrow":"⟷","longmapsto":"⟼","longrightarrow":"⟶","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","lstrok":"ł","l":"<","lt":"<","ltcc":"⪦","ltcir":"⩹","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltrPar":"⦖","ltri":"◃","ltrie":"⊴","ltrif":"◂","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","mDDot":"∺","mac":"¯","macr":"¯","male":"♂","malt":"✠","maltese":"✠","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","mcy":"м","mdash":"—","measuredangle":"∡","mfr":"𝔪","mho":"℧","micr":"µ","micro":"µ","mid":"∣","midast":"*","midcir":"⫰","middo":"·","middot":"·","minus":"−","minusb":"⊟","minusd":"∸","minusdu":"⨪","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","mopf":"𝕞","mp":"∓","mscr":"𝓂","mstpos":"∾","mu":"μ","multimap":"⊸","mumap":"⊸","nGg":"⋙̸","nGt":"≫⃒","nGtv":"≫̸","nLeftarrow":"⇍","nLeftrightarrow":"⇎","nLl":"⋘̸","nLt":"≪⃒","nLtv":"≪̸","nRightarrow":"⇏","nVDash":"⊯","nVdash":"⊮","nabla":"∇","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natur":"♮","natural":"♮","naturals":"ℕ","nbs":" ","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","ncaron":"ň","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","ncy":"н","ndash":"–","ne":"≠","neArr":"⇗","nearhk":"⤤","nearr":"↗","nearrow":"↗","nedot":"≐̸","nequiv":"≢","nesear":"⤨","nesim":"≂̸","nexist":"∄","nexists":"∄","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","ngsim":"≵","ngt":"≯","ngtr":"≯","nhArr":"⇎","nharr":"↮","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","njcy":"њ","nlArr":"⇍","nlE":"≦̸","nlarr":"↚","nldr":"‥","nle":"≰","nleftarrow":"↚","nleftrightarrow":"↮","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nlsim":"≴","nlt":"≮","nltri":"⋪","nltrie":"⋬","nmid":"∤","nopf":"𝕟","no":"¬","not":"¬","notin":"∉","notinE":"⋹̸","notindot":"⋵̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","npar":"∦","nparallel":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","npre":"⪯̸","nprec":"⊀","npreceq":"⪯̸","nrArr":"⇏","nrarr":"↛","nrarrc":"⤳̸","nrarrw":"↝̸","nrightarrow":"↛","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","ntild":"ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","nu":"ν","num":"#","numero":"№","numsp":" ","nvDash":"⊭","nvHarr":"⤄","nvap":"≍⃒","nvdash":"⊬","nvge":"≥⃒","nvgt":">⃒","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwArr":"⇖","nwarhk":"⤣","nwarr":"↖","nwarrow":"↖","nwnear":"⤧","oS":"Ⓢ","oacut":"ó","oacute":"ó","oast":"⊛","ocir":"ô","ocirc":"ô","ocy":"о","odash":"⊝","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","oelig":"œ","ofcir":"⦿","ofr":"𝔬","ogon":"˛","ograv":"ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","omacr":"ō","omega":"ω","omicron":"ο","omid":"⦶","ominus":"⊖","oopf":"𝕠","opar":"⦷","operp":"⦹","oplus":"⊕","or":"∨","orarr":"↻","ord":"º","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oscr":"ℴ","oslas":"ø","oslash":"ø","osol":"⊘","otild":"õ","otilde":"õ","otimes":"⊗","otimesas":"⨶","oum":"ö","ouml":"ö","ovbar":"⌽","par":"¶","para":"¶","parallel":"∥","parsim":"⫳","parsl":"⫽","part":"∂","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","pfr":"𝔭","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plus":"+","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plusdo":"∔","plusdu":"⨥","pluse":"⩲","plusm":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","pointint":"⨕","popf":"𝕡","poun":"£","pound":"£","pr":"≺","prE":"⪳","prap":"⪷","prcue":"≼","pre":"⪯","prec":"≺","precapprox":"⪷","preccurlyeq":"≼","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","precsim":"≾","prime":"′","primes":"ℙ","prnE":"⪵","prnap":"⪹","prnsim":"⋨","prod":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","propto":"∝","prsim":"≾","prurel":"⊰","pscr":"𝓅","psi":"ψ","puncsp":" ","qfr":"𝔮","qint":"⨌","qopf":"𝕢","qprime":"⁗","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quo":"\\"","quot":"\\"","rAarr":"⇛","rArr":"⇒","rAtail":"⤜","rBarr":"⤏","rHar":"⥤","race":"∽̱","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","rangd":"⦒","range":"⦥","rangle":"⟩","raqu":"»","raquo":"»","rarr":"→","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","rarrtl":"↣","rarrw":"↝","ratail":"⤚","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","rcaron":"ř","rcedil":"ŗ","rceil":"⌉","rcub":"}","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","rect":"▭","re":"®","reg":"®","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","rhard":"⇁","rharu":"⇀","rharul":"⥬","rho":"ρ","rhov":"ϱ","rightarrow":"→","rightarrowtail":"↣","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","rightthreetimes":"⋌","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoust":"⎱","rmoustache":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","roplus":"⨮","rotimes":"⨵","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","rsaquo":"›","rscr":"𝓇","rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","ruluhar":"⥨","rx":"℞","sacute":"ś","sbquo":"‚","sc":"≻","scE":"⪴","scap":"⪸","scaron":"š","sccue":"≽","sce":"⪰","scedil":"ş","scirc":"ŝ","scnE":"⪶","scnap":"⪺","scnsim":"⋩","scpolint":"⨓","scsim":"≿","scy":"с","sdot":"⋅","sdotb":"⊡","sdote":"⩦","seArr":"⇘","searhk":"⤥","searr":"↘","searrow":"↘","sec":"§","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","sfr":"𝔰","sfrown":"⌢","sharp":"♯","shchcy":"щ","shcy":"ш","shortmid":"∣","shortparallel":"∥","sh":"­","shy":"­","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","softcy":"ь","sol":"/","solb":"⧄","solbar":"⌿","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","squ":"□","square":"□","squarf":"▪","squf":"▪","srarr":"→","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","subE":"⫅","subdot":"⪽","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","subseteq":"⊆","subseteqq":"⫅","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succ":"≻","succapprox":"⪸","succcurlyeq":"≽","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","sum":"∑","sung":"♪","sup":"⊃","sup1":"¹","sup2":"²","sup3":"³","supE":"⫆","supdot":"⪾","supdsub":"⫘","supe":"⊇","supedot":"⫄","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swArr":"⇙","swarhk":"⤦","swarr":"↙","swarrow":"↙","swnwar":"⤪","szli":"ß","szlig":"ß","target":"⌖","tau":"τ","tbrk":"⎴","tcaron":"ť","tcedil":"ţ","tcy":"т","tdot":"⃛","telrec":"⌕","tfr":"𝔱","there4":"∴","therefore":"∴","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","thinsp":" ","thkap":"≈","thksim":"∼","thor":"þ","thorn":"þ","tilde":"˜","time":"×","times":"×","timesb":"⊠","timesbar":"⨱","timesd":"⨰","tint":"∭","toea":"⤨","top":"⊤","topbot":"⌶","topcir":"⫱","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","tscr":"𝓉","tscy":"ц","tshcy":"ћ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","uArr":"⇑","uHar":"⥣","uacut":"ú","uacute":"ú","uarr":"↑","ubrcy":"ў","ubreve":"ŭ","ucir":"û","ucirc":"û","ucy":"у","udarr":"⇅","udblac":"ű","udhar":"⥮","ufisht":"⥾","ufr":"𝔲","ugrav":"ù","ugrave":"ù","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","umacr":"ū","um":"¨","uml":"¨","uogon":"ų","uopf":"𝕦","uparrow":"↑","updownarrow":"↕","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","upsi":"υ","upsih":"ϒ","upsilon":"υ","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","uring":"ů","urtri":"◹","uscr":"𝓊","utdot":"⋰","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","uum":"ü","uuml":"ü","uwangle":"⦧","vArr":"⇕","vBar":"⫨","vBarv":"⫩","vDash":"⊨","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vcy":"в","vdash":"⊢","vee":"∨","veebar":"⊻","veeeq":"≚","vellip":"⋮","verbar":"|","vert":"|","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","vopf":"𝕧","vprop":"∝","vrtri":"⊳","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","vzigzag":"⦚","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","wedgeq":"≙","weierp":"℘","wfr":"𝔴","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","xfr":"𝔵","xhArr":"⟺","xharr":"⟷","xi":"ξ","xlArr":"⟸","xlarr":"⟵","xmap":"⟼","xnis":"⋻","xodot":"⨀","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrArr":"⟹","xrarr":"⟶","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","yacut":"ý","yacute":"ý","yacy":"я","ycirc":"ŷ","ycy":"ы","ye":"¥","yen":"¥","yfr":"𝔶","yicy":"ї","yopf":"𝕪","yscr":"𝓎","yucy":"ю","yum":"ÿ","yuml":"ÿ","zacute":"ź","zcaron":"ž","zcy":"з","zdot":"ż","zeetrf":"ℨ","zeta":"ζ","zfr":"𝔷","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},3580:e=>{e.exports=JSON.parse('{"0":"�","128":"€","130":"‚","131":"ƒ","132":"„","133":"…","134":"†","135":"‡","136":"ˆ","137":"‰","138":"Š","139":"‹","140":"Œ","142":"Ž","145":"‘","146":"’","147":"“","148":"”","149":"•","150":"–","151":"—","152":"˜","153":"™","154":"š","155":"›","156":"œ","158":"ž","159":"Ÿ"}')},6947:e=>{e.exports=JSON.parse('["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"]')},9878:e=>{e.exports=JSON.parse('["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"]')},9640:e=>{e.exports=JSON.parse('{"classId":"classID","dataType":"datatype","itemId":"itemID","strokeDashArray":"strokeDasharray","strokeDashOffset":"strokeDashoffset","strokeLineCap":"strokeLinecap","strokeLineJoin":"strokeLinejoin","strokeMiterLimit":"strokeMiterlimit","typeOf":"typeof","xLinkActuate":"xlinkActuate","xLinkArcRole":"xlinkArcrole","xLinkHref":"xlinkHref","xLinkRole":"xlinkRole","xLinkShow":"xlinkShow","xLinkTitle":"xlinkTitle","xLinkType":"xlinkType","xmlnsXLink":"xmlnsXlink"}')},2020:e=>{e.exports=JSON.parse('[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1000,1000],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6000],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8000,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8000]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9000],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[30000]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13000,13000],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43000,43000],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64000,64000],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66000,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[120000,120000],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128000,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23000]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149000]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32000]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195000,195000],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[40000]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918000,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]')},6:e=>{e.exports=JSON.parse('{"html":"http://www.w3.org/1999/xhtml","mathml":"http://www.w3.org/1998/Math/MathML","svg":"http://www.w3.org/2000/svg","xlink":"http://www.w3.org/1999/xlink","xml":"http://www.w3.org/XML/1998/namespace","xmlns":"http://www.w3.org/2000/xmlns/"}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var r=__webpack_module_cache__[e]={exports:{}};var a=true;try{__webpack_modules__[e].call(r.exports,r,r.exports,__nccwpck_require__);a=false}finally{if(a)delete __webpack_module_cache__[e]}return r.exports}(()=>{__nccwpck_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;__nccwpck_require__.d(t,{a:t});return t}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var r in t){if(__nccwpck_require__.o(t,r)&&!__nccwpck_require__.o(e,r)){Object.defineProperty(e,r,{enumerable:true,get:t[r]})}}}})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=new URL(".",import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";var __webpack_exports__={};(()=>{const e=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs/promises");var t=__nccwpck_require__.n(e);var r=__nccwpck_require__(1017);var a=__nccwpck_require__.n(r);var n=__nccwpck_require__(5075);var i=__nccwpck_require__.n(n);var o=__nccwpck_require__(4859);var s=__nccwpck_require__.n(o);var p=__nccwpck_require__(4892);var d=__nccwpck_require__.n(p);var l=__nccwpck_require__(9830);var c=__nccwpck_require__.n(l);var m=__nccwpck_require__(199);var g=__nccwpck_require__.n(m);var v=__nccwpck_require__(237);var T=__nccwpck_require__.n(v);var E=__nccwpck_require__(5382);var _=__nccwpck_require__.n(E);var w=__nccwpck_require__(5438);var A=__nccwpck_require__(2186);const b="/docs/";const y=["/docs/messages/"];const S=["top"];const C="\x3c!-- LINK_CHECKER_COMMENT --\x3e";const{context:k,getOctokit:N}=w;const D=N(process.env.GITHUB_TOKEN);const{owner:O,repo:R}=k.repo;const I=k.payload.pull_request;const P=I.head.sha;const L=new(T());async function getAllMdxFiles(e,r=[]){const n=await t().readdir(e);for(const i of n){const n=a().join(e,i);const o=await t().stat(n);if(o.isDirectory()){r=await getAllMdxFiles(n,r)}else if(a().extname(i)===".mdx"){r.push(n)}}return r}async function getFilesChangedInPR(){try{const e=await D.rest.pulls.listFiles({owner:O,repo:R,pull_number:I.number});const t=e.data.filter((e=>a().join("/",e.filename).startsWith(b)&&e.filename.endsWith(".mdx")&&(e.status==="added"||e.status==="modified"))).map((e=>e.filename));if(t.length===0){console.log("PR doesn't include any changes to .mdx files within DOCS_PATH.")}return t}catch(e){(0,A.setFailed)(`Error fetching files changed in PR: ${e}`);return[]}}function getHeadingsFromMarkdownTree(e){const t=[];L.reset();g()(e,"heading",(e=>{let r="";g()(e,(e=>{if(e.value){r+=e.value}}));t.push(L.slug(r))}));return t}const x=i()().use(s()).use(d(),{allowDangerousHTML:true}).use(c()).use((function compiler(){this.Compiler=function treeCompiler(e){return e}}));function normalizePath(e){return a().relative("."+b,e).replace(/(\d\d-)/g,"").replace(".mdx","").replace("/index","")}let F;async function prepareDocumentMapEntry(e){try{const r=await t().readFile(e,"utf8");const{content:a,data:n}=_()(r);const i=x.parse(a);const o=getHeadingsFromMarkdownTree(i);const s=normalizePath(e);return[s,{body:a,path:e,headings:o,...n}]}catch(t){(0,A.setFailed)(`Error preparing document map for file ${e}: ${t}`);return["",{}]}}function validateInternalLink(e,t){const[r,a]=t.replace(b,"").split("#");const n=F.get(r);if(!n){e.brokenLinks.push(`${b}${r}${a?"#"+a:""}`)}else if(a&&!S.includes(a)){const t=n.source?F.get(n.source):undefined;const i=(t||n).headings.includes(a);if(!i){e.brokenHashes.push(`${b}${r}${a?"#"+a:""}`)}}}function validateHashLink(e,t,r){const a=t.replace("#","");if(!S.includes(a)&&!r.headings.includes(a)){e.brokenHashes.push(t)}}function validateSourceLinks(e,t){if(e.source&&!F.get(e.source)){t.brokenSourceLinks.push(e.source)}}function validateRelatedLinks(e,t){if(e.related&&e.related.links){e.related.links.forEach((e=>{if(!F.get(e)){t.brokenRelatedLinks.push(e)}}))}}function traverseTreeAndValidateLinks(e,t){const r={doc:t,brokenLinks:[],brokenHashes:[],brokenSourceLinks:[],brokenRelatedLinks:[]};try{g()(e,(e=>{if(e.type==="element"&&e.tagName==="a"){const a=e.properties.href;if(!a)return;if(a.startsWith(b)&&!y.some((e=>a.startsWith(e)))){validateInternalLink(r,a)}else if(a.startsWith("#")){validateHashLink(r,a,t)}}}));validateSourceLinks(t,r);validateRelatedLinks(t,r)}catch(e){(0,A.setFailed)("Error traversing tree: "+e)}return r}async function findBotComment(){try{const{data:e}=await D.rest.issues.listComments({owner:O,repo:R,issue_number:I.number});return e.find((e=>e.body?.includes(C)))}catch(e){(0,A.setFailed)("Error finding bot comment: "+e);return undefined}}async function updateComment(e,t){try{const{data:r}=await D.rest.issues.updateComment({owner:O,repo:R,comment_id:t.id,body:e});return r.html_url}catch(e){(0,A.setFailed)("Error updating comment: "+e);return""}}async function createComment(e){try{const{data:t}=await D.rest.issues.createComment({owner:O,repo:R,issue_number:I.number,body:e});return t.html_url}catch(e){(0,A.setFailed)("Error creating comment: "+e);return""}}const formatTableRow=(e,t)=>`| ${e} | [/${t}](https://github.com/vercel/next.js/blob/${P}/${t}) | \n`;async function createCommitStatus(e,t){const r=e?"failure":"success";const a=e?"This PR introduces broken links to the docs. Click details for a list.":"All broken links are now fixed, thank you!";await D.rest.repos.createCommitStatus({owner:O,repo:R,sha:P,state:r,description:a,context:"Link Validation",target_url:t})}async function validateAllInternalLinks(){try{const e=await getAllMdxFiles("."+b);const t=await getFilesChangedInPR();F=new Map(await Promise.all(e.map(prepareDocumentMapEntry)));const r=t.map((async e=>{const t=F.get(normalizePath(e));if(t){const e=(await x.process(t.body)).contents;return traverseTreeAndValidateLinks(e,t)}else{return{doc:{},brokenLinks:[],brokenHashes:[],brokenSourceLinks:[],brokenRelatedLinks:[]}}}));const a=await Promise.all(r);let n="Hi there :wave:\n\nIt looks like this PR introduces broken links to the docs, please take a moment to fix them before merging:\n\n| :heavy_multiplication_x: Broken link | :page_facing_up: File | \n| ----------- | ----------- | \n";a.forEach((e=>{const{doc:{path:t},brokenLinks:r,brokenHashes:a,brokenSourceLinks:i,brokenRelatedLinks:o}=e;if(r.length>0){r.forEach((e=>{n+=formatTableRow(e,t)}))}if(a.length>0){a.forEach((e=>{n+=formatTableRow(e,t)}))}if(i.length>0){i.forEach((e=>{n+=formatTableRow(e,t)}))}if(o.length>0){o.forEach((e=>{n+=formatTableRow(e,t)}))}}));n+="\nThank you :pray:";const i=a.some((e=>e.brokenLinks.length>0||e.brokenHashes.length>0||e.brokenSourceLinks.length>0||e.brokenRelatedLinks.length>0));const o=await findBotComment();let s;if(i){const e=`${C}\n${n}`;if(o){s=await updateComment(e,o)}else{s=await createComment(e)}}else{const e=`${C}\nAll broken links are now fixed, thank you!`;if(o){s=await updateComment(e,o)}}try{await createCommitStatus(i,s)}catch(e){(0,A.setFailed)("Failed to create commit status: "+e)}}catch(e){(0,A.setFailed)("Error validating internal links: "+e)}}validateAllInternalLinks()})(); \ No newline at end of file diff --git a/.github/actions/validate-docs-links/lib/licenses.txt b/.github/actions/validate-docs-links/lib/licenses.txt index f9022faa10304c1..ef7f2263f1ee261 100644 --- a/.github/actions/validate-docs-links/lib/licenses.txt +++ b/.github/actions/validate-docs-links/lib/licenses.txt @@ -1,3 +1,15 @@ +@actions/core +MIT +The MIT License (MIT) + +Copyright 2019 GitHub + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + @actions/github MIT The MIT License (MIT) @@ -2137,6 +2149,19 @@ Permission to use, copy, modify, and/or distribute this software for any purpose THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +uuid +MIT +The MIT License (MIT) + +Copyright (c) 2010-2020 Robert Kieffer and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + vfile MIT (The MIT License) diff --git a/.github/actions/validate-docs-links/package.json b/.github/actions/validate-docs-links/package.json index dc9d1a49dff7be1..7994e0f97cbcd5c 100644 --- a/.github/actions/validate-docs-links/package.json +++ b/.github/actions/validate-docs-links/package.json @@ -14,6 +14,7 @@ "@vercel/ncc": "0.34.0" }, "dependencies": { + "@actions/core": "^1.10.0", "@actions/github": "^5.1.1", "github-slugger": "1.2.0", "gray-matter": "4.0.2", diff --git a/.github/actions/validate-docs-links/src/index.ts b/.github/actions/validate-docs-links/src/index.ts index f1cbb72d57cac93..3488a7ce1b33a83 100644 --- a/.github/actions/validate-docs-links/src/index.ts +++ b/.github/actions/validate-docs-links/src/index.ts @@ -8,6 +8,7 @@ import visit from 'unist-util-visit' import GithubSlugger from 'github-slugger' import matter from 'gray-matter' import * as github from '@actions/github' +import { setFailed } from '@actions/core' import type { Node, Data } from 'unist' /** @@ -16,12 +17,12 @@ import type { Node, Data } from 'unist' * 1. Recursively traverses the docs and collects all .mdx files. * 2. For each file, it extracts the content, metadata, and heading slugs. * 3. It creates a document map to efficiently lookup documents by path. - * 4. It then traverses each document: - * - It checks if each internal link (links starting with "/docs/") points + * 4. It then traverses each document modified in the PR and... + * - Checks if each internal link (links starting with "/docs/") points * to an existing document - * - It validates hash links (links starting with "#") against the list of + * - Validates hash links (links starting with "#") against the list of * headings in the current document. - * - It checks the source and related links found in the metadata of each + * - Checks the source and related links found in the metadata of each * document. * 5. Any broken links discovered during these checks are categorized and a * comment is added to the PR. @@ -63,7 +64,7 @@ const sha = pullRequest.head.sha const slugger = new GithubSlugger() // Recursively traverses DOCS_PATH and collects all .mdx files -async function getMdxFiles( +async function getAllMdxFiles( dir: string, fileList: string[] = [] ): Promise { @@ -74,7 +75,7 @@ async function getMdxFiles( const stats = await fs.stat(filePath) if (stats.isDirectory()) { - fileList = await getMdxFiles(filePath, fileList) + fileList = await getAllMdxFiles(filePath, fileList) } else if (path.extname(file) === '.mdx') { fileList.push(filePath) } @@ -83,6 +84,36 @@ async function getMdxFiles( return fileList } +async function getFilesChangedInPR(): Promise { + try { + const filesChanged = await octokit.rest.pulls.listFiles({ + owner, + repo, + pull_number: pullRequest.number, + }) + + const mdxFilesChanged = filesChanged.data + .filter( + (file) => + path.join('/', file.filename).startsWith(DOCS_PATH) && + file.filename.endsWith('.mdx') && + (file.status === 'added' || file.status === 'modified') + ) + .map((file) => file.filename) + + if (mdxFilesChanged.length === 0) { + console.log( + "PR doesn't include any changes to .mdx files within DOCS_PATH." + ) + } + + return mdxFilesChanged + } catch (error) { + setFailed(`Error fetching files changed in PR: ${error}`) + return [] + } +} + // Returns the slugs of all headings in a tree function getHeadingsFromMarkdownTree(tree: Node): string[] { const headings: string[] = [] @@ -117,6 +148,17 @@ const markdownProcessor = unified() } }) +function normalizePath(filePath: string): string { + return ( + path + .relative('.' + DOCS_PATH, filePath) + // Remove prefixed numbers used for ordering from the path + .replace(/(\d\d-)/g, '') + .replace('.mdx', '') + .replace('/index', '') + ) +} + // use Map for faster lookup let documentMap: Map @@ -125,20 +167,21 @@ let documentMap: Map async function prepareDocumentMapEntry( filePath: string ): Promise<[string, Document]> { - const relativePath = path.relative('.' + DOCS_PATH, filePath) - - // Remove prefixed numbers used for ordering from the path - const normalizedPath = relativePath - .replace(/(\d\d-)/g, '') - .replace('.mdx', '') - .replace('/index', '') - - const mdxContent = await fs.readFile(filePath, 'utf8') - const { content, data } = matter(mdxContent) - const tree = markdownProcessor.parse(content) - const headings = getHeadingsFromMarkdownTree(tree) - - return [normalizedPath, { body: content, path: filePath, headings, ...data }] + try { + const mdxContent = await fs.readFile(filePath, 'utf8') + const { content, data } = matter(mdxContent) + const tree = markdownProcessor.parse(content) + const headings = getHeadingsFromMarkdownTree(tree) + const normalizedPath = normalizePath(filePath) + + return [ + normalizedPath, + { body: content, path: filePath, headings, ...data }, + ] + } catch (error) { + setFailed(`Error preparing document map for file ${filePath}: ${error}`) + return ['', {} as Document] // Return a default document + } } // Checks if the links point to existing documents @@ -201,62 +244,81 @@ function traverseTreeAndValidateLinks(tree: any, doc: Document): Errors { brokenRelatedLinks: [], } - visit(tree, (node: any) => { - if (node.type === 'element' && node.tagName === 'a') { - const href = node.properties.href - - if (!href) return - - if ( - href.startsWith(DOCS_PATH) && - !EXCLUDED_PATHS.some((excludedPath) => href.startsWith(excludedPath)) - ) { - validateInternalLink(errors, href) - } else if (href.startsWith('#')) { - validateHashLink(errors, href, doc) + try { + visit(tree, (node: any) => { + if (node.type === 'element' && node.tagName === 'a') { + const href = node.properties.href + + if (!href) return + + if ( + href.startsWith(DOCS_PATH) && + !EXCLUDED_PATHS.some((excludedPath) => href.startsWith(excludedPath)) + ) { + validateInternalLink(errors, href) + } else if (href.startsWith('#')) { + validateHashLink(errors, href, doc) + } } - } - }) + }) - validateSourceLinks(doc, errors) - validateRelatedLinks(doc, errors) + validateSourceLinks(doc, errors) + validateRelatedLinks(doc, errors) + } catch (error) { + setFailed('Error traversing tree: ' + error) + } return errors } async function findBotComment(): Promise { - const { data: comments } = await octokit.rest.issues.listComments({ - owner, - repo, - issue_number: context.payload.pull_request?.number!, - }) + try { + const { data: comments } = await octokit.rest.issues.listComments({ + owner, + repo, + issue_number: pullRequest.number, + }) - return comments.find((c) => c.body?.includes(COMMENT_TAG)) + return comments.find((c) => c.body?.includes(COMMENT_TAG)) + } catch (error) { + setFailed('Error finding bot comment: ' + error) + return undefined + } } async function updateComment( comment: string, botComment: Comment ): Promise { - const { data } = await octokit.rest.issues.updateComment({ - owner, - repo, - comment_id: botComment.id, - body: comment, - }) + try { + const { data } = await octokit.rest.issues.updateComment({ + owner, + repo, + comment_id: botComment.id, + body: comment, + }) - return data.html_url + return data.html_url + } catch (error) { + setFailed('Error updating comment: ' + error) + return '' + } } async function createComment(comment: string): Promise { - const { data } = await octokit.rest.issues.createComment({ - owner, - repo, - issue_number: context.payload.pull_request?.number!, - body: comment, - }) + try { + const { data } = await octokit.rest.issues.createComment({ + owner, + repo, + issue_number: pullRequest.number, + body: comment, + }) - return data.html_url + return data.html_url + } catch (error) { + setFailed('Error creating comment: ' + error) + return '' + } } const formatTableRow = (link: string, docPath: string) => { @@ -283,96 +345,106 @@ async function createCommitStatus( }) } -// Main function that triggers link validation across all .mdx files +// Main function that triggers link validation across .mdx files async function validateAllInternalLinks(): Promise { - const mdxFilePaths = await getMdxFiles('.' + DOCS_PATH) - - documentMap = new Map( - await Promise.all(mdxFilePaths.map(prepareDocumentMapEntry)) - ) - - const docProcessingPromises = Array.from(documentMap.values()).map( - async (doc) => { - const tree = (await markdownProcessor.process(doc.body)).contents - return traverseTreeAndValidateLinks(tree, doc) - } - ) + try { + const allMdxFilePaths = await getAllMdxFiles('.' + DOCS_PATH) + const prMdxFilePaths = await getFilesChangedInPR() + + documentMap = new Map( + await Promise.all(allMdxFilePaths.map(prepareDocumentMapEntry)) + ) + + const docProcessingPromises = prMdxFilePaths.map(async (filePath) => { + const doc = documentMap.get(normalizePath(filePath)) + if (doc) { + const tree = (await markdownProcessor.process(doc.body)).contents + return traverseTreeAndValidateLinks(tree, doc) + } else { + return { + doc: {} as Document, + brokenLinks: [], + brokenHashes: [], + brokenSourceLinks: [], + brokenRelatedLinks: [], + } as Errors + } + }) - const allErrors = await Promise.all(docProcessingPromises) + const allErrors = await Promise.all(docProcessingPromises) - let errorComment = - 'Hi there :wave:\n\nIt looks like this PR introduces broken links to the docs, please take a moment to fix them before merging:\n\n| :heavy_multiplication_x: Broken link | :page_facing_up: File | \n| ----------- | ----------- | \n' + let errorComment = + 'Hi there :wave:\n\nIt looks like this PR introduces broken links to the docs, please take a moment to fix them before merging:\n\n| :heavy_multiplication_x: Broken link | :page_facing_up: File | \n| ----------- | ----------- | \n' - allErrors.forEach((errors) => { - const { - doc: { path: docPath }, - brokenLinks, - brokenHashes, - brokenSourceLinks, - brokenRelatedLinks, - } = errors + allErrors.forEach((errors) => { + const { + doc: { path: docPath }, + brokenLinks, + brokenHashes, + brokenSourceLinks, + brokenRelatedLinks, + } = errors - if (brokenLinks.length > 0) { - brokenLinks.forEach((link) => { - errorComment += formatTableRow(link, docPath) - }) - } + if (brokenLinks.length > 0) { + brokenLinks.forEach((link) => { + errorComment += formatTableRow(link, docPath) + }) + } - if (brokenHashes.length > 0) { - brokenHashes.forEach((hash) => { - errorComment += formatTableRow(hash, docPath) - }) - } + if (brokenHashes.length > 0) { + brokenHashes.forEach((hash) => { + errorComment += formatTableRow(hash, docPath) + }) + } - if (brokenSourceLinks.length > 0) { - brokenSourceLinks.forEach((link) => { - errorComment += formatTableRow(link, docPath) - }) - } + if (brokenSourceLinks.length > 0) { + brokenSourceLinks.forEach((link) => { + errorComment += formatTableRow(link, docPath) + }) + } - if (brokenRelatedLinks.length > 0) { - brokenRelatedLinks.forEach((link) => { - errorComment += formatTableRow(link, docPath) - }) - } - }) + if (brokenRelatedLinks.length > 0) { + brokenRelatedLinks.forEach((link) => { + errorComment += formatTableRow(link, docPath) + }) + } + }) - errorComment += '\nThank you :pray:' + errorComment += '\nThank you :pray:' - const errorsExist = allErrors.some( - (errors) => - errors.brokenLinks.length > 0 || - errors.brokenHashes.length > 0 || - errors.brokenSourceLinks.length > 0 || - errors.brokenRelatedLinks.length > 0 - ) + const errorsExist = allErrors.some( + (errors) => + errors.brokenLinks.length > 0 || + errors.brokenHashes.length > 0 || + errors.brokenSourceLinks.length > 0 || + errors.brokenRelatedLinks.length > 0 + ) - const botComment = await findBotComment() + const botComment = await findBotComment() - let commentUrl + let commentUrl - if (errorsExist) { - const comment = `${COMMENT_TAG}\n${errorComment}` - if (botComment) { - commentUrl = await updateComment(comment, botComment) - } else { - commentUrl = await createComment(comment) - } - } else { - const comment = `${COMMENT_TAG}\nAll broken links are now fixed, thank you!` - if (botComment) { - commentUrl = await updateComment(comment, botComment) + if (errorsExist) { + const comment = `${COMMENT_TAG}\n${errorComment}` + if (botComment) { + commentUrl = await updateComment(comment, botComment) + } else { + commentUrl = await createComment(comment) + } } else { - commentUrl = await createComment(comment) + const comment = `${COMMENT_TAG}\nAll broken links are now fixed, thank you!` + if (botComment) { + commentUrl = await updateComment(comment, botComment) + } } - } - - console.log({ commentUrl, errorsExist, errorComment, botComment }) - try { - await createCommitStatus(errorsExist, commentUrl) + try { + await createCommitStatus(errorsExist, commentUrl) + } catch (error) { + setFailed('Failed to create commit status: ' + error) + } } catch (error) { - console.error('Failed to create commit status: ', error) + setFailed('Error validating internal links: ' + error) } } From 23609257185c59aa0c4a8405c3078db98c413383 Mon Sep 17 00:00:00 2001 From: Shu Ding Date: Wed, 21 Jun 2023 18:06:26 +0200 Subject: [PATCH 03/10] Temporarily disable flaky test (#51616) --- test/e2e/app-dir/app-css/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/app-dir/app-css/index.test.ts b/test/e2e/app-dir/app-css/index.test.ts index 8cdab06b7180580..b41fc5028a56561 100644 --- a/test/e2e/app-dir/app-css/index.test.ts +++ b/test/e2e/app-dir/app-css/index.test.ts @@ -17,7 +17,7 @@ createNextDescribe( ({ next, isNextDev: isDev }) => { describe('css support', () => { describe('server layouts', () => { - it('should support global css inside server layouts', async () => { + it.skip('should support global css inside server layouts', async () => { const browser = await next.browser('/dashboard') // Should body text in red From 343438ff3b4b2619928c37c5aa269c590fece7cc Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Wed, 21 Jun 2023 19:34:55 +0200 Subject: [PATCH 04/10] Revert "add edge rendering for app dir for Turbopack" (#51617) Reverts vercel/next.js#50830 --- .../js/src/entry/app-edge-renderer.tsx | 82 ------ .../next-core/js/src/entry/app-renderer.tsx | 263 +++++++++++++++--- .../next-core/js/src/entry/app/app-entry.tsx | 1 - .../js/src/entry/app/edge-page-bootstrap.ts | 107 ------- .../next-core/js/src/entry/app/edge-route.ts | 7 +- .../js/src/entry/app/layout-entry.tsx | 25 ++ .../next-core/js/src/entry/app/manifest.ts | 127 --------- .../next-core/js/src/entry/app/route.ts | 47 +++- .../js/src/entry/server-edge-api.tsx | 7 +- .../js/src/internal/api-server-handler.ts | 237 ++++++++++------ .../crates/next-core/js/src/internal/edge.ts | 27 +- .../js/src/internal/nodejs-proxy-handler.ts | 52 ---- .../js/src/internal/operation-stream.ts | 155 ----------- .../crates/next-core/js/tsconfig.json | 3 +- .../next-core/js/types/compiled-next.d.ts | 1 + .../crates/next-core/js/types/rust.d.ts | 11 - .../crates/next-core/src/app_render/mod.rs | 2 +- ...ion.rs => next_layout_entry_transition.rs} | 18 +- .../next-core/src/app_segment_config.rs | 146 ++-------- .../crates/next-core/src/app_source.rs | 220 ++++----------- .../crates/next-core/src/bootstrap.rs | 15 +- .../crates/next-core/src/next_edge/mod.rs | 3 +- .../src/next_edge/page_transition.rs | 100 ------- .../{route_transition.rs => transition.rs} | 4 +- .../crates/next-core/src/next_import_map.rs | 18 +- .../crates/next-core/src/page_source.rs | 12 +- .../next-swc/crates/next-core/src/router.rs | 6 +- .../next-dev-tests/tests/integration.rs | 171 ++++++------ .../next/import/conditions/input/app/test.js | 15 +- ...rror resolving commonjs request-b2593b.txt | 35 --- ...rror resolving commonjs request-dd84e7.txt | 41 --- .../build/webpack/loaders/next-app-loader.ts | 29 +- .../loaders/next-edge-ssr-loader/render.ts | 2 +- .../src/server/app-render/action-handler.ts | 2 +- .../create-server-components-renderer.tsx | 13 +- .../next/src/server/app-render/entry-base.ts | 52 ---- packages/next/src/server/render-result.ts | 12 +- packages/next/src/server/web/globals.ts | 13 +- 38 files changed, 709 insertions(+), 1372 deletions(-) delete mode 100644 packages/next-swc/crates/next-core/js/src/entry/app-edge-renderer.tsx delete mode 100644 packages/next-swc/crates/next-core/js/src/entry/app/app-entry.tsx delete mode 100644 packages/next-swc/crates/next-core/js/src/entry/app/edge-page-bootstrap.ts create mode 100644 packages/next-swc/crates/next-core/js/src/entry/app/layout-entry.tsx delete mode 100644 packages/next-swc/crates/next-core/js/src/entry/app/manifest.ts delete mode 100644 packages/next-swc/crates/next-core/js/src/internal/nodejs-proxy-handler.ts delete mode 100644 packages/next-swc/crates/next-core/js/src/internal/operation-stream.ts rename packages/next-swc/crates/next-core/src/app_render/{next_server_component_transition.rs => next_layout_entry_transition.rs} (79%) delete mode 100644 packages/next-swc/crates/next-core/src/next_edge/page_transition.rs rename packages/next-swc/crates/next-core/src/next_edge/{route_transition.rs => transition.rs} (96%) delete mode 100644 packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-b2593b.txt delete mode 100644 packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-dd84e7.txt delete mode 100644 packages/next/src/server/app-render/entry-base.ts diff --git a/packages/next-swc/crates/next-core/js/src/entry/app-edge-renderer.tsx b/packages/next-swc/crates/next-core/js/src/entry/app-edge-renderer.tsx deleted file mode 100644 index b1e585f1983d49d..000000000000000 --- a/packages/next-swc/crates/next-core/js/src/entry/app-edge-renderer.tsx +++ /dev/null @@ -1,82 +0,0 @@ -// IPC need to be the first import to allow it to catch errors happening during -// the other imports -import startOperationStreamHandler from '../internal/operation-stream' - -import { join } from 'path' -import { parse as parseUrl } from 'node:url' - -import { runEdgeFunction } from '../internal/edge' -import { headersFromEntries, initProxiedHeaders } from '../internal/headers' -import { NodeNextRequest } from 'next/dist/server/base-http/node' - -import type { IncomingMessage } from 'node:http' -import type { RenderData } from 'types/turbopack' - -import chunkGroup from 'INNER_EDGE_CHUNK_GROUP' -import { attachRequestMeta } from '../internal/next-request-helpers' -import { Readable } from 'stream' - -startOperationStreamHandler(async (renderData: RenderData, respond) => { - const { response } = await runOperation(renderData) - - if (response == null) { - throw new Error('no html returned') - } - - const channel = respond({ - status: response.status, - // @ts-expect-error Headers is iterable since node.js 18 - headers: [...response.headers], - }) - - if (response.body) { - const reader = response.body.getReader() - for (;;) { - let { done, value } = await reader.read() - if (done) { - break - } - channel.chunk(Buffer.from(value!)) - } - } - - channel.end() -}) - -async function runOperation(renderData: RenderData) { - const edgeInfo = { - name: 'edge', - paths: chunkGroup.map((chunk: string) => - join(process.cwd(), '.next/server/app', chunk) - ), - wasm: [], - env: Object.keys(process.env), - assets: [], - } - - const parsedUrl = parseUrl(renderData.originalUrl, true) - const incoming = new Readable() as IncomingMessage - incoming.push(null) - incoming.url = renderData.originalUrl - incoming.method = renderData.method - incoming.headers = initProxiedHeaders( - headersFromEntries(renderData.rawHeaders), - renderData.data?.serverInfo - ) - const req = new NodeNextRequest(incoming) - attachRequestMeta(req, parsedUrl, req.headers.host!) - - const res = await runEdgeFunction({ - edgeInfo, - outputDir: 'edge-pages', - req, - query: renderData.rawQuery, - params: renderData.params, - path: renderData.path, - onWarning(warning) { - console.warn(warning) - }, - }) - - return res as { response: Response } -} diff --git a/packages/next-swc/crates/next-core/js/src/entry/app-renderer.tsx b/packages/next-swc/crates/next-core/js/src/entry/app-renderer.tsx index cc3979b94b59cd6..6ee374288b570ea 100644 --- a/packages/next-swc/crates/next-core/js/src/entry/app-renderer.tsx +++ b/packages/next-swc/crates/next-core/js/src/entry/app-renderer.tsx @@ -1,11 +1,22 @@ -// IPC need to be the first import to allow it to catch errors happening during -// the other imports -import startOperationStreamHandler from '../internal/operation-stream' - -import '../polyfill/app-polyfills.ts' +// Provided by the rust generate code +type FileType = + | 'layout' + | 'template' + | 'error' + | 'loading' + | 'not-found' + | 'head' +declare global { + // an tree of all layouts and the page + const LOADER_TREE: LoaderTree + // array of chunks for the bootstrap script + const BOOTSTRAP: string[] + const IPC: Ipc +} +import type { Ipc } from '@vercel/turbopack-node/ipc/index' import type { IncomingMessage } from 'node:http' - +import type { ClientReferenceManifest } from 'next/dist/build/webpack/plugins/flight-manifest-plugin' import type { RenderData } from 'types/turbopack' import type { RenderOpts } from 'next/dist/server/app-render/types' @@ -14,39 +25,211 @@ import { RSC_VARY_HEADER } from 'next/dist/client/components/app-router-headers' import { headersFromEntries, initProxiedHeaders } from '../internal/headers' import { parse, ParsedUrlQuery } from 'node:querystring' import { PassThrough } from 'node:stream' -;('TURBOPACK { chunking-type: isolatedParallel }') -import entry from 'APP_ENTRY' -import BOOTSTRAP from 'APP_BOOTSTRAP' +;('TURBOPACK { transition: next-layout-entry; chunking-type: isolatedParallel }') +// @ts-ignore +import layoutEntry from './app/layout-entry' import { createServerResponse } from '../internal/http' -import { createManifests, installRequireAndChunkLoad } from './app/manifest' -installRequireAndChunkLoad() +globalThis.__next_require__ = (data) => { + const [, , ssr_id] = JSON.parse(data) + return __turbopack_require__(ssr_id) +} +globalThis.__next_chunk_load__ = () => Promise.resolve() process.env.__NEXT_NEW_LINK_BEHAVIOR = 'true' +const ipc = IPC as Ipc + +type IpcIncomingMessage = { + type: 'headers' + data: RenderData +} + +type IpcOutgoingMessage = + | { + type: 'headers' + data: { + status: number + headers: [string, string][] + } + } + | { + type: 'bodyChunk' + data: number[] + } + | { + type: 'bodyEnd' + } + const MIME_TEXT_HTML_UTF8 = 'text/html; charset=utf-8' -startOperationStreamHandler(async (renderData: RenderData, respond) => { - const result = await runOperation(renderData) +;(async () => { + while (true) { + const msg = await ipc.recv() - if (result == null) { - throw new Error('no html returned') - } + let renderData: RenderData + switch (msg.type) { + case 'headers': { + renderData = msg.data + break + } + default: { + console.error('unexpected message type', msg.type) + process.exit(1) + } + } - const channel = respond({ - status: result.statusCode, - headers: result.headers, - }) + const result = await runOperation(renderData) - for await (const chunk of result.body) { - channel.chunk(chunk as Buffer) - } + if (result == null) { + throw new Error('no html returned') + } + + ipc.send({ + type: 'headers', + data: { + status: result.statusCode, + headers: result.headers, + }, + }) + + for await (const chunk of result.body) { + ipc.send({ + type: 'bodyChunk', + data: (chunk as Buffer).toJSON().data, + }) + } - channel.end() + ipc.send({ type: 'bodyEnd' }) + } +})().catch((err) => { + ipc.sendError(err) }) +// TODO expose these types in next.js +type ComponentModule = () => any +type ModuleReference = [componentModule: ComponentModule, filePath: string] +export type ComponentsType = { + [componentKey in FileType]?: ModuleReference +} & { + page?: ModuleReference +} +type LoaderTree = [ + segment: string, + parallelRoutes: { [parallelRouterKey: string]: LoaderTree }, + components: ComponentsType +] + async function runOperation(renderData: RenderData) { - const { clientReferenceManifest } = createManifests() + const proxyMethodsForModule = ( + id: string + ): ProxyHandler => { + return { + get(_target, prop: string) { + return { + id, + chunks: JSON.parse(id)[1], + name: prop, + } + }, + } + } + + const proxyMethodsNested = ( + type: 'ssrModuleMapping' | 'clientModules' | 'entryCSSFiles' + ): ProxyHandler< + | ClientReferenceManifest['ssrModuleMapping'] + | ClientReferenceManifest['clientModules'] + | ClientReferenceManifest['entryCSSFiles'] + > => { + return { + get(_target, key: string) { + if (type === 'ssrModuleMapping') { + return new Proxy({}, proxyMethodsForModule(key as string)) + } + if (type === 'clientModules') { + // The key is a `${file}#${name}`, but `file` can contain `#` itself. + // There are 2 possibilities: + // "file#" => id = "file", name = "" + // "file#foo" => id = "file", name = "foo" + const pos = key.lastIndexOf('#') + let id = key + let name = '' + if (pos !== -1) { + id = key.slice(0, pos) + name = key.slice(pos + 1) + } else { + throw new Error('keys need to be formatted as {file}#{name}') + } + + return { + id, + name, + chunks: JSON.parse(id)[1], + } + } + if (type === 'entryCSSFiles') { + const cssChunks = JSON.parse(key) + // TODO(WEB-856) subscribe to changes + return { + modules: [], + files: cssChunks.filter(filterAvailable).map(toPath), + } + } + }, + } + } + + const proxyMethods = (): ProxyHandler => { + const clientModulesProxy = new Proxy( + {}, + proxyMethodsNested('clientModules') + ) + const ssrModuleMappingProxy = new Proxy( + {}, + proxyMethodsNested('ssrModuleMapping') + ) + const entryCSSFilesProxy = new Proxy( + {}, + proxyMethodsNested('entryCSSFiles') + ) + return { + get(_target: any, prop: string) { + if (prop === 'ssrModuleMapping') { + return ssrModuleMappingProxy + } + if (prop === 'clientModules') { + return clientModulesProxy + } + if (prop === 'entryCSSFiles') { + return entryCSSFilesProxy + } + }, + } + } + const availableModules = new Set() + const toPath = (chunk: ChunkData) => + typeof chunk === 'string' ? chunk : chunk.path + /// determines if a chunk is needed based on the current available modules + const filterAvailable = (chunk: ChunkData) => { + if (typeof chunk === 'string') { + return true + } else { + let includedList = chunk.included || [] + if (includedList.length === 0) { + return true + } + let needed = false + for (const item of includedList) { + if (!availableModules.has(item)) { + availableModules.add(item) + needed = true + } + } + return needed + } + } + const manifest: ClientReferenceManifest = new Proxy({} as any, proxyMethods()) const req: IncomingMessage = { url: renderData.originalUrl, @@ -83,14 +266,12 @@ async function runOperation(renderData: RenderData) { ampFirstPages: [], }, ComponentMod: { - ...entry, - __next_app__: { - require: __next_require__, - loadChunk: __next_chunk_load__, - }, + ...layoutEntry, + default: undefined, + tree: LOADER_TREE, pages: ['page.js'], }, - clientReferenceManifest, + clientReferenceManifest: manifest, runtime: 'nodejs', serverComponents: true, assetPrefix: '', @@ -124,3 +305,23 @@ async function runOperation(renderData: RenderData) { body, } } + +// This utility is based on https://github.com/zertosh/htmlescape +// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE + +const ESCAPE_LOOKUP = { + '&': '\\u0026', + '>': '\\u003e', + '<': '\\u003c', + '\u2028': '\\u2028', + '\u2029': '\\u2029', +} + +const ESCAPE_REGEX = /[&><\u2028\u2029]/g + +export function htmlEscapeJsonString(str: string) { + return str.replace( + ESCAPE_REGEX, + (match) => ESCAPE_LOOKUP[match as keyof typeof ESCAPE_LOOKUP] + ) +} diff --git a/packages/next-swc/crates/next-core/js/src/entry/app/app-entry.tsx b/packages/next-swc/crates/next-core/js/src/entry/app/app-entry.tsx deleted file mode 100644 index b445020fe0de15f..000000000000000 --- a/packages/next-swc/crates/next-core/js/src/entry/app/app-entry.tsx +++ /dev/null @@ -1 +0,0 @@ -// This file is generated by app_source.rs diff --git a/packages/next-swc/crates/next-core/js/src/entry/app/edge-page-bootstrap.ts b/packages/next-swc/crates/next-core/js/src/entry/app/edge-page-bootstrap.ts deleted file mode 100644 index ca351ab7a61fa95..000000000000000 --- a/packages/next-swc/crates/next-core/js/src/entry/app/edge-page-bootstrap.ts +++ /dev/null @@ -1,107 +0,0 @@ -import 'next/dist/esm/server/web/globals' -import { adapter } from 'next/dist/server/web/adapter' -import { RSC_VARY_HEADER } from 'next/dist/client/components/app-router-headers' -import { IncrementalCache } from 'next/dist/server/lib/incremental-cache' -import { renderToHTMLOrFlight } from 'next/dist/server/app-render/app-render' -;('TURBOPACK { chunking-type: isolatedParallel }') -import entry from 'APP_ENTRY' -import BOOTSTRAP from 'APP_BOOTSTRAP' -import { createManifests, installRequireAndChunkLoad } from './manifest' -import type { NextRequest, NextFetchEvent } from 'next/server' -import type { RenderOpts } from 'next/dist/server/app-render/types' -import type { ParsedUrlQuery } from 'querystring' - -installRequireAndChunkLoad() - -// avoid limiting stack traces to 10 lines -Error.stackTraceLimit = 100 - -const { clientReferenceManifest } = createManifests() - -const MIME_TEXT_HTML_UTF8 = 'text/html; charset=utf-8' - -async function render(request: NextRequest, event: NextFetchEvent) { - const renderOpt: Omit< - RenderOpts, - 'App' | 'Document' | 'Component' | 'pathname' - > & { params: ParsedUrlQuery } = { - // TODO(WEB-1195) params - params: {}, - supportsDynamicHTML: true, - dev: true, - buildId: 'development', - buildManifest: { - polyfillFiles: [], - rootMainFiles: BOOTSTRAP.filter((path) => path.endsWith('.js')), - devFiles: [], - ampDevFiles: [], - lowPriorityFiles: [], - pages: { - '/_app': [], - }, - ampFirstPages: [], - }, - ComponentMod: { - ...entry, - __next_app__: { - require: __next_require__, - loadChunk: __next_chunk_load__, - }, - pages: ['page.js'], - }, - clientReferenceManifest, - runtime: 'nodejs', - serverComponents: true, - assetPrefix: '', - pageConfig: {}, - reactLoadableManifest: {}, - // TODO nextConfigOutput - nextConfigOutput: undefined, - } - - const tranform = new TransformStream() - const response = new Response(tranform.readable) - - let { pathname, search: query } = new URL(request.url, 'next://') - - const result = await renderToHTMLOrFlight( - // @ts-expect-error - TODO renderToHTMLOrFlight types should accept web platform types - request, - response, - pathname, - // TODO(WEB-1195) query - {}, - renderOpt as any as RenderOpts - ) - - response.headers.append( - 'Content-Type', - result.contentType() || MIME_TEXT_HTML_UTF8 - ) - response.headers.append('Vary', RSC_VARY_HEADER) - - const writer = tranform.writable.getWriter() - result.pipe({ - write: (chunk: Uint8Array) => writer.write(chunk), - end: () => writer.close(), - destroy: (reason?: Error) => writer.abort(reason), - }) - - return response -} - -// adapter uses this to detect edge rendering -self.__BUILD_MANIFEST = {} - -// @ts-expect-error - exposed for edge support -globalThis._ENTRIES = { - middleware_edge: { - default: function (opts: any) { - return adapter({ - ...opts, - IncrementalCache, - handler: render, - }) - }, - }, -} diff --git a/packages/next-swc/crates/next-core/js/src/entry/app/edge-route.ts b/packages/next-swc/crates/next-core/js/src/entry/app/edge-route.ts index 32c118745eb6907..afff164d101c7cd 100644 --- a/packages/next-swc/crates/next-core/js/src/entry/app/edge-route.ts +++ b/packages/next-swc/crates/next-core/js/src/entry/app/edge-route.ts @@ -12,7 +12,7 @@ import { NodeNextResponse, } from 'next/dist/server/base-http/node' -import { runEdgeFunction, updateResponse } from '../../internal/edge' +import { runEdgeFunction } from '../../internal/edge' import { attachRequestMeta } from '../../internal/next-request-helpers' import chunkGroup from 'ROUTE_CHUNK_GROUP' @@ -34,10 +34,11 @@ startHandler(async ({ request, response, query, params, path }) => { assets: [], } - const result = await runEdgeFunction({ + await runEdgeFunction({ edgeInfo, outputDir: 'app', req, + res, query, params, path, @@ -45,6 +46,4 @@ startHandler(async ({ request, response, query, params, path }) => { console.warn(warning) }, }) - - updateResponse(res, result) }) diff --git a/packages/next-swc/crates/next-core/js/src/entry/app/layout-entry.tsx b/packages/next-swc/crates/next-core/js/src/entry/app/layout-entry.tsx new file mode 100644 index 000000000000000..f9b0a9dd3c87770 --- /dev/null +++ b/packages/next-swc/crates/next-core/js/src/entry/app/layout-entry.tsx @@ -0,0 +1,25 @@ +export { default as AppRouter } from 'next/dist/client/components/app-router' +export { default as LayoutRouter } from 'next/dist/client/components/layout-router' +export { default as RenderFromTemplateContext } from 'next/dist/client/components/render-from-template-context' +export { default as GlobalError } from 'next/dist/client/components/error-boundary' + +export { staticGenerationAsyncStorage } from 'next/dist/client/components/static-generation-async-storage' + +export { requestAsyncStorage } from 'next/dist/client/components/request-async-storage' +export { actionAsyncStorage } from 'next/dist/client/components/action-async-storage' + +export { staticGenerationBailout } from 'next/dist/client/components/static-generation-bailout' +export { default as StaticGenerationSearchParamsBailoutProvider } from 'next/dist/client/components/static-generation-searchparams-bailout-provider' +export { createSearchParamsBailoutProxy } from 'next/dist/client/components/searchparams-bailout-proxy' + +import * as serverHooks from 'next/dist/client/components/hooks-server-context' +export { serverHooks } +export { + renderToReadableStream, + decodeReply, +} from 'next/dist/compiled/react-server-dom-webpack/server.edge' +export { + preloadStyle, + preloadFont, + preconnect, +} from 'next/dist/server/app-render/rsc/preloads' diff --git a/packages/next-swc/crates/next-core/js/src/entry/app/manifest.ts b/packages/next-swc/crates/next-core/js/src/entry/app/manifest.ts deleted file mode 100644 index 912f3ae75d9522e..000000000000000 --- a/packages/next-swc/crates/next-core/js/src/entry/app/manifest.ts +++ /dev/null @@ -1,127 +0,0 @@ -import type { ClientReferenceManifest } from 'next/dist/build/webpack/plugins/flight-manifest-plugin' - -export function createManifests() { - const proxyMethodsForModule = ( - id: string - ): ProxyHandler => { - return { - get(_target, prop: string) { - return { - id, - chunks: JSON.parse(id)[1], - name: prop, - } - }, - } - } - - const availableModules = new Set() - const toPath = (chunk: ChunkData) => - typeof chunk === 'string' ? chunk : chunk.path - /// determines if a chunk is needed based on the current available modules - const filterAvailable = (chunk: ChunkData) => { - if (typeof chunk === 'string') { - return true - } else { - let includedList = chunk.included || [] - if (includedList.length === 0) { - return true - } - let needed = false - for (const item of includedList) { - if (!availableModules.has(item)) { - availableModules.add(item) - needed = true - } - } - return needed - } - } - - const proxyMethodsNested = ( - type: 'ssrModuleMapping' | 'clientModules' | 'entryCSSFiles' - ): ProxyHandler< - | ClientReferenceManifest['ssrModuleMapping'] - | ClientReferenceManifest['clientModules'] - | ClientReferenceManifest['entryCSSFiles'] - > => { - return { - get(_target, key: string) { - if (type === 'ssrModuleMapping') { - return new Proxy({}, proxyMethodsForModule(key as string)) - } - if (type === 'clientModules') { - // The key is a `${file}#${name}`, but `file` can contain `#` itself. - // There are 2 possibilities: - // "file#" => id = "file", name = "" - // "file#foo" => id = "file", name = "foo" - const pos = key.lastIndexOf('#') - let id = key - let name = '' - if (pos !== -1) { - id = key.slice(0, pos) - name = key.slice(pos + 1) - } else { - throw new Error('keys need to be formatted as {file}#{name}') - } - - return { - id, - name, - chunks: JSON.parse(id)[1], - } - } - if (type === 'entryCSSFiles') { - const cssChunks = JSON.parse(key) - // TODO(WEB-856) subscribe to changes - return { - modules: [], - files: cssChunks.filter(filterAvailable).map(toPath), - } - } - }, - } - } - const proxyMethods = (): ProxyHandler => { - const clientModulesProxy = new Proxy( - {}, - proxyMethodsNested('clientModules') - ) - const ssrModuleMappingProxy = new Proxy( - {}, - proxyMethodsNested('ssrModuleMapping') - ) - const entryCSSFilesProxy = new Proxy( - {}, - proxyMethodsNested('entryCSSFiles') - ) - return { - get(_target: any, prop: string) { - if (prop === 'ssrModuleMapping') { - return ssrModuleMappingProxy - } - if (prop === 'clientModules') { - return clientModulesProxy - } - if (prop === 'entryCSSFiles') { - return entryCSSFilesProxy - } - }, - } - } - - const clientReferenceManifest: ClientReferenceManifest = new Proxy( - {} as any, - proxyMethods() - ) - - return { clientReferenceManifest } -} - -export function installRequireAndChunkLoad() { - globalThis.__next_require__ = (data) => { - const [, , ssr_id] = JSON.parse(data) - return __turbopack_require__(ssr_id) - } - globalThis.__next_chunk_load__ = () => Promise.resolve() -} diff --git a/packages/next-swc/crates/next-core/js/src/entry/app/route.ts b/packages/next-swc/crates/next-core/js/src/entry/app/route.ts index 9f268d1fe86e6e9..37c7f31f07de06a 100644 --- a/packages/next-swc/crates/next-core/js/src/entry/app/route.ts +++ b/packages/next-swc/crates/next-core/js/src/entry/app/route.ts @@ -1,6 +1,20 @@ // IPC need to be the first import to allow it to catch errors happening during // the other imports -import startHandler from '../../internal/nodejs-proxy-handler' +import startHandler from '../../internal/api-server-handler' + +import '../../polyfill/app-polyfills' + +import { parse as parseUrl } from 'node:url' + +import { + NodeNextRequest, + NodeNextResponse, +} from 'next/dist/server/base-http/node' +import { sendResponse } from 'next/dist/server/send-response' +import { NextRequestAdapter } from 'next/dist/server/web/spec-extension/adapters/next-request' +import { RouteHandlerManagerContext } from 'next/dist/server/future/route-handler-managers/route-handler-manager' + +import { attachRequestMeta } from '../../internal/next-request-helpers' import RouteModule from 'ROUTE_MODULE' import * as userland from 'ENTRY' @@ -20,4 +34,33 @@ const routeModule = new RouteModule({ nextConfigOutput: undefined, }) -startHandler(routeModule) +startHandler(async ({ request, response, query, params, path }) => { + const req = new NodeNextRequest(request) + const res = new NodeNextResponse(response) + + const parsedUrl = parseUrl(req.url!, true) + attachRequestMeta(req, parsedUrl, request.headers.host!) + + const context: RouteHandlerManagerContext = { + params, + prerenderManifest: { + version: -1 as any, // letting us know this doesn't conform to spec + routes: {}, + dynamicRoutes: {}, + notFoundRoutes: [], + preview: { + previewModeId: 'development-id', + } as any, + }, + staticGenerationContext: { + supportsDynamicHTML: true, + }, + } + + const routeResponse = await routeModule.handle( + NextRequestAdapter.fromNodeNextRequest(req), + context + ) + + await sendResponse(req, res, routeResponse) +}) diff --git a/packages/next-swc/crates/next-core/js/src/entry/server-edge-api.tsx b/packages/next-swc/crates/next-core/js/src/entry/server-edge-api.tsx index 8edab71c6dd5cd2..2988e767bb0dae1 100644 --- a/packages/next-swc/crates/next-core/js/src/entry/server-edge-api.tsx +++ b/packages/next-swc/crates/next-core/js/src/entry/server-edge-api.tsx @@ -13,7 +13,7 @@ import { } from 'next/dist/server/base-http/node' import { attachRequestMeta } from '../internal/next-request-helpers' -import { runEdgeFunction, updateResponse } from '../internal/edge' +import { runEdgeFunction } from '../internal/edge' import chunkGroup from 'INNER_EDGE_CHUNK_GROUP' @@ -34,10 +34,11 @@ startHandler(async ({ request, response, query, params, path }) => { assets: [], } - const result = await runEdgeFunction({ + await runEdgeFunction({ edgeInfo, outputDir: 'pages', req, + res, query, params, path, @@ -45,6 +46,4 @@ startHandler(async ({ request, response, query, params, path }) => { console.warn(warning) }, }) - - await updateResponse(res, result) }) diff --git a/packages/next-swc/crates/next-core/js/src/internal/api-server-handler.ts b/packages/next-swc/crates/next-core/js/src/internal/api-server-handler.ts index 53f6c76f19a2a8d..1a55c3d1effadab 100644 --- a/packages/next-swc/crates/next-core/js/src/internal/api-server-handler.ts +++ b/packages/next-swc/crates/next-core/js/src/internal/api-server-handler.ts @@ -1,15 +1,48 @@ // IPC need to be the first import to allow it to catch errors happening during // the other imports -import startOperationStreamHandler from './operation-stream' +import { IPC } from '@vercel/turbopack-node/ipc/index' import type { ClientRequest, IncomingMessage, Server } from 'node:http' import type { ServerResponse } from 'node:http' import { Buffer } from 'node:buffer' +import type { Ipc } from '@vercel/turbopack-node/ipc/index' + import type { RenderData } from 'types/turbopack' import { createServer, makeRequest } from '../internal/server' import { toPairs } from '../internal/headers' +const ipc = IPC as Ipc + +type IpcIncomingMessage = + | { + type: 'headers' + data: RenderData + } + | { + type: 'bodyChunk' + data: number[] + } + | { type: 'bodyEnd' } + +type IpcOutgoingMessage = + | { + type: 'headers' + data: ResponseHeaders + } + | { + type: 'bodyChunk' + data: number[] + } + | { + type: 'bodyEnd' + } + +type ResponseHeaders = { + status: number + headers: [string, string][] +} + type Handler = (data: { request: IncomingMessage response: ServerResponse @@ -25,96 +58,134 @@ type Operation = { server: Server } -type ResponseHeaders = { - status: number - headers: [string, string][] -} - export default function startHandler(handler: Handler): void { - startOperationStreamHandler( - async (renderData: RenderData, respond, reportError) => { - const operationPromise = (async function createOperation() { - const server = await createServer() - - const { - clientRequest, - clientResponsePromise, - serverRequest, - serverResponse, - } = await makeRequest( - server, - renderData.method, - renderData.path, - renderData.rawQuery, - renderData.rawHeaders, - renderData.data?.serverInfo - ) - - return { - clientRequest, - server, - clientResponsePromise, - apiOperation: handler({ - request: serverRequest, - response: serverResponse, - query: renderData.rawQuery, - params: renderData.params, - path: renderData.path, - }), - } - })() - - function handleClientResponse( - server: Server, - clientResponse: IncomingMessage - ) { - const responseHeaders: ResponseHeaders = { - status: clientResponse.statusCode!, - headers: toPairs(clientResponse.rawHeaders), - } - - const channel = respond(responseHeaders) - - clientResponse.on('data', (chunk) => { - channel.chunk(chunk) - }) + ;(async () => { + while (true) { + let operationPromise: Promise | null = null - clientResponse.once('end', () => { - channel.end() - server.close() - }) + const msg = await ipc.recv() - clientResponse.once('error', (err) => { - reportError(err) - }) + switch (msg.type) { + case 'headers': { + operationPromise = createOperation(msg.data) + break + } + default: { + console.error('unexpected message type', msg.type) + process.exit(1) + } } - /** - * Ends an operation by writing the response body to the client and waiting for the Next.js API resolver to finish. - */ - async function endOperation(operation: Operation, body: Buffer) { - operation.clientRequest.end(body) - - try { - await operation.apiOperation - } catch (error) { - await reportError(error) - return + let body = Buffer.alloc(0) + let operation: Operation + loop: while (true) { + const msg = await ipc.recv() + + switch (msg.type) { + case 'bodyChunk': { + body = Buffer.concat([body, Buffer.from(msg.data)]) + break + } + case 'bodyEnd': { + operation = await operationPromise + break loop + } + default: { + console.error('unexpected message type', msg.type) + process.exit(1) + } } } - return { - streamRequest: false, - onBody: async (body) => { - const operation = await operationPromise - await Promise.all([ - endOperation(operation, body), - operation.clientResponsePromise.then((clientResponse) => - handleClientResponse(operation.server, clientResponse) - ), - ]) - }, + await Promise.all([ + endOperation(operation, body), + operation.clientResponsePromise.then((clientResponse) => + handleClientResponse(operation.server, clientResponse) + ), + ]) + } + })().catch((err) => { + ipc.sendError(err) + }) + + async function createOperation(renderData: RenderData): Promise { + const server = await createServer() + + const { + clientRequest, + clientResponsePromise, + serverRequest, + serverResponse, + } = await makeRequest( + server, + renderData.method, + renderData.path, + renderData.rawQuery, + renderData.rawHeaders, + renderData.data?.serverInfo + ) + + return { + clientRequest, + server, + clientResponsePromise, + apiOperation: handler({ + request: serverRequest, + response: serverResponse, + query: renderData.rawQuery, + params: renderData.params, + path: renderData.path, + }), + } + } + + function handleClientResponse( + server: Server, + clientResponse: IncomingMessage + ) { + const responseHeaders: ResponseHeaders = { + status: clientResponse.statusCode!, + headers: toPairs(clientResponse.rawHeaders), + } + + ipc.send({ + type: 'headers', + data: responseHeaders, + }) + + clientResponse.on('data', (chunk) => { + ipc.send({ + type: 'bodyChunk', + data: chunk.toJSON().data, + }) + }) + + clientResponse.once('end', () => { + ipc.send({ type: 'bodyEnd' }) + server.close() + }) + + clientResponse.once('error', (err) => { + ipc.sendError(err) + }) + } + + /** + * Ends an operation by writing the response body to the client and waiting for the Next.js API resolver to finish. + */ + async function endOperation(operation: Operation, body: Buffer) { + operation.clientRequest.end(body) + + try { + await operation.apiOperation + } catch (error) { + if (error instanceof Error) { + await ipc.sendError(error) + } else { + await ipc.sendError(new Error('an unknown error occurred')) } + + return } - ) + } } diff --git a/packages/next-swc/crates/next-core/js/src/internal/edge.ts b/packages/next-swc/crates/next-core/js/src/internal/edge.ts index 614c3530ba1dcd1..386840001cce8db 100644 --- a/packages/next-swc/crates/next-core/js/src/internal/edge.ts +++ b/packages/next-swc/crates/next-core/js/src/internal/edge.ts @@ -10,7 +10,7 @@ import type { } from 'next/dist/server/base-http/node' import { parse, ParsedUrlQuery } from 'querystring' import type { Params } from 'next/dist/shared/lib/router/utils/route-matcher' -import type { FetchEventResult } from 'next/dist/server/web/types' +import { FetchEventResult } from 'next/dist/server/web/types' import { getCloneableBody } from 'next/dist/server/body-streams' // This is an adapted version of a similar function in next-dev-server. @@ -19,6 +19,7 @@ export async function runEdgeFunction({ edgeInfo, outputDir, req, + res, query, params, path, @@ -33,11 +34,12 @@ export async function runEdgeFunction({ } outputDir: string req: BaseNextRequest | NodeNextRequest + res: BaseNextResponse | NodeNextResponse query: string path: string params: Params | undefined onWarning?: (warning: Error) => void -}): Promise { +}): Promise { // For edge to "fetch" we must always provide an absolute URL const initialUrl = new URL(path, 'http://n') const parsedQuery = parse(query) @@ -81,28 +83,21 @@ export async function runEdgeFunction({ onWarning, })) as FetchEventResult - return result -} - -export async function updateResponse( - response: BaseNextResponse | NodeNextResponse, - result: FetchEventResult -) { - response.statusCode = result.response.status - response.statusMessage = result.response.statusText + res.statusCode = result.response.status + res.statusMessage = result.response.statusText result.response.headers.forEach((value: string, key) => { // the append handling is special cased for `set-cookie` if (key.toLowerCase() === 'set-cookie') { - response.setHeader(key, value) + res.setHeader(key, value) } else { - response.appendHeader(key, value) + res.appendHeader(key, value) } }) if (result.response.body) { // TODO(gal): not sure that we always need to stream - const nodeResStream = (response as NodeNextResponse).originalResponse + const nodeResStream = (res as NodeNextResponse).originalResponse const { consumeUint8ArrayReadableStream, } = require('next/dist/compiled/edge-runtime') @@ -116,8 +111,10 @@ export async function updateResponse( nodeResStream.end() } } else { - ;(response as NodeNextResponse).originalResponse.end() + ;(res as NodeNextResponse).originalResponse.end() } + + return result } function stringifyUrlQueryParam(param: unknown): string { diff --git a/packages/next-swc/crates/next-core/js/src/internal/nodejs-proxy-handler.ts b/packages/next-swc/crates/next-core/js/src/internal/nodejs-proxy-handler.ts deleted file mode 100644 index 2f5f56e74cdb278..000000000000000 --- a/packages/next-swc/crates/next-core/js/src/internal/nodejs-proxy-handler.ts +++ /dev/null @@ -1,52 +0,0 @@ -// IPC need to be the first import to allow it to catch errors happening during -// the other imports -import startHandler from './api-server-handler' - -import '../polyfill/app-polyfills' - -import { parse as parseUrl } from 'node:url' - -import { - NodeNextRequest, - NodeNextResponse, -} from 'next/dist/server/base-http/node' -import { sendResponse } from 'next/dist/server/send-response' -import { NextRequestAdapter } from 'next/dist/server/web/spec-extension/adapters/next-request' -import { RouteHandlerManagerContext } from 'next/dist/server/future/route-handler-managers/route-handler-manager' - -import { attachRequestMeta } from './next-request-helpers' - -import type { RouteModule } from 'next/dist/server/future/route-modules/route-module' - -export default (routeModule: RouteModule) => { - startHandler(async ({ request, response, params }) => { - const req = new NodeNextRequest(request) - const res = new NodeNextResponse(response) - - const parsedUrl = parseUrl(req.url!, true) - attachRequestMeta(req, parsedUrl, request.headers.host!) - - const context: RouteHandlerManagerContext = { - params, - prerenderManifest: { - version: -1 as any, // letting us know this doesn't conform to spec - routes: {}, - dynamicRoutes: {}, - notFoundRoutes: [], - preview: { - previewModeId: 'development-id', - } as any, - }, - staticGenerationContext: { - supportsDynamicHTML: true, - }, - } - - const routeResponse = await routeModule.handle( - NextRequestAdapter.fromNodeNextRequest(req), - context - ) - - await sendResponse(req, res, routeResponse) - }) -} diff --git a/packages/next-swc/crates/next-core/js/src/internal/operation-stream.ts b/packages/next-swc/crates/next-core/js/src/internal/operation-stream.ts deleted file mode 100644 index 77f5a7d89aeae38..000000000000000 --- a/packages/next-swc/crates/next-core/js/src/internal/operation-stream.ts +++ /dev/null @@ -1,155 +0,0 @@ -// IPC need to be the first import to allow it to catch errors happening during -// the other imports -import { IPC } from '@vercel/turbopack-node/ipc/index' - -import { Buffer } from 'node:buffer' - -import type { Ipc } from '@vercel/turbopack-node/ipc/index' - -type Operation = - | { - streamRequest: true - onChunk?: (chunk: Buffer) => Promise - onEnd?: () => Promise - } - | { - streamRequest?: false - onBody?: (body: Buffer) => Promise - } - -type IpcIncomingMessage = - | { - type: 'headers' - data: T - } - | { - type: 'bodyChunk' - data: number[] - } - | { - type: 'bodyText' - data: number[] - } - | { type: 'bodyEnd' } - -type IpcOutgoingMessage = - | { - type: 'headers' - data: R - } - | { - type: 'bodyChunk' - data: number[] - } - | { - type: 'bodyEnd' - } - -interface Response { - chunk: (data: Buffer) => Promise - end: () => Promise -} - -export default function startHandler( - createOperation: ( - data: T, - respond: (data: R) => Response, - reportError: (error: unknown) => Promise - ) => Promise -) { - const ipc = IPC as Ipc, IpcOutgoingMessage> - - ;(async () => { - while (true) { - let operation: Operation | void - - { - const msg = await ipc.recv() - - switch (msg.type) { - case 'headers': { - operation = await createOperation( - msg.data, - (data) => { - ipc.send({ - type: 'headers', - data, - }) - return { - chunk: (buf: Buffer) => { - return ipc.send({ - type: 'bodyChunk', - data: buf.toJSON().data, - }) - }, - end: () => { - return ipc.send({ type: 'bodyEnd' }) - }, - } - }, - (error) => { - return ipc.sendError( - error instanceof Error - ? error - : new Error(`an unknown error occurred: ${error}`) - ) - } - ) - break - } - default: { - console.error('unexpected message type', msg.type) - process.exit(1) - } - } - } - - if (operation) { - if (operation.streamRequest) { - loop: while (true) { - const msg = await ipc.recv() - - switch (msg.type) { - case 'bodyChunk': - case 'bodyText': { - await operation.onChunk?.(Buffer.from(msg.data)) - break - } - case 'bodyEnd': { - await operation.onEnd?.() - break loop - } - default: { - console.error('unexpected message type', msg.type) - process.exit(1) - } - } - } - } else { - let body = Buffer.alloc(0) - loop: while (true) { - const msg = await ipc.recv() - - switch (msg.type) { - case 'bodyChunk': - case 'bodyText': { - body = Buffer.concat([body, Buffer.from(msg.data)]) - break - } - case 'bodyEnd': { - await operation.onBody?.(body) - break loop - } - default: { - console.error('unexpected message type', msg.type) - process.exit(1) - } - } - } - } - } - } - })().catch((err) => { - ipc.sendError(err) - }) -} diff --git a/packages/next-swc/crates/next-core/js/tsconfig.json b/packages/next-swc/crates/next-core/js/tsconfig.json index a10e86411737261..abf31fb964f8c87 100644 --- a/packages/next-swc/crates/next-core/js/tsconfig.json +++ b/packages/next-swc/crates/next-core/js/tsconfig.json @@ -27,7 +27,8 @@ "@vercel/turbopack-next/pages/_app": ["node_modules/next/app"], "@vercel/turbopack-next/pages/_document": ["node_modules/next/document"], "@vercel/turbopack-next/pages/_error": ["node_modules/next/error"], - "@vercel/turbopack-next/internal/_error": ["node_modules/next/error"] + "@vercel/turbopack-next/internal/_error": ["node_modules/next/error"], + "next/*": ["node_modules/next/*"] }, "resolveJsonModule": true, "types": ["react/next"], diff --git a/packages/next-swc/crates/next-core/js/types/compiled-next.d.ts b/packages/next-swc/crates/next-core/js/types/compiled-next.d.ts index bc9f894f61ea4d5..7dc4c97f0788daa 100644 --- a/packages/next-swc/crates/next-core/js/types/compiled-next.d.ts +++ b/packages/next-swc/crates/next-core/js/types/compiled-next.d.ts @@ -1 +1,2 @@ declare module 'next/dist/compiled/react-server-dom-webpack/client' +declare module 'next/dist/client/app-call-server' diff --git a/packages/next-swc/crates/next-core/js/types/rust.d.ts b/packages/next-swc/crates/next-core/js/types/rust.d.ts index 8718b03cf82f023..70713bedd664ffa 100644 --- a/packages/next-swc/crates/next-core/js/types/rust.d.ts +++ b/packages/next-swc/crates/next-core/js/types/rust.d.ts @@ -80,17 +80,6 @@ declare module 'BOOTSTRAP_CONFIG' { export const KIND: RouteKind } -declare module 'APP_BOOTSTRAP' { - const chunks: Array - export default chunks -} - -declare module 'APP_ENTRY' { - export const tree: any - export const pathname: string - // and more... -} - declare module 'CLIENT_MODULE' { export const __turbopack_module_id__: string } diff --git a/packages/next-swc/crates/next-core/src/app_render/mod.rs b/packages/next-swc/crates/next-core/src/app_render/mod.rs index 85695272c205d25..e1436002e3e0b8d 100644 --- a/packages/next-swc/crates/next-core/src/app_render/mod.rs +++ b/packages/next-swc/crates/next-core/src/app_render/mod.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use turbopack_binding::turbo::tasks_fs::FileSystemPathVc; -pub mod next_server_component_transition; +pub mod next_layout_entry_transition; #[turbo_tasks::value(shared)] pub struct LayoutSegment { diff --git a/packages/next-swc/crates/next-core/src/app_render/next_server_component_transition.rs b/packages/next-swc/crates/next-core/src/app_render/next_layout_entry_transition.rs similarity index 79% rename from packages/next-swc/crates/next-core/src/app_render/next_server_component_transition.rs rename to packages/next-swc/crates/next-core/src/app_render/next_layout_entry_transition.rs index 4b205a93f21ea5f..472b2a9f554ff3c 100644 --- a/packages/next-swc/crates/next-core/src/app_render/next_server_component_transition.rs +++ b/packages/next-swc/crates/next-core/src/app_render/next_layout_entry_transition.rs @@ -13,10 +13,7 @@ use turbopack_binding::{ }, }; -use crate::next_client_component::{ - with_chunking_context_scope_asset::WithChunkingContextScopeAsset, - with_client_chunks::WithClientChunksAsset, -}; +use crate::next_client_component::with_client_chunks::WithClientChunksAsset; #[turbo_tasks::value(shared)] pub struct NextServerComponentTransition { @@ -62,15 +59,10 @@ impl Transition for NextServerComponentTransition { bail!("Not an ecmascript module"); }; - Ok(WithChunkingContextScopeAsset { - asset: WithClientChunksAsset { - asset, - // next.js code already adds _next prefix - server_root: self.server_root.join("_next"), - } - .cell() - .into(), - layer: "rsc".to_string(), + Ok(WithClientChunksAsset { + asset, + // next.js code already adds _next prefix + server_root: self.server_root.join("_next"), } .cell() .into()) diff --git a/packages/next-swc/crates/next-core/src/app_segment_config.rs b/packages/next-swc/crates/next-core/src/app_segment_config.rs index 2078129095ff4f4..d771881d144a9ae 100644 --- a/packages/next-swc/crates/next-core/src/app_segment_config.rs +++ b/packages/next-swc/crates/next-core/src/app_segment_config.rs @@ -1,24 +1,21 @@ use std::ops::Deref; -use anyhow::{bail, Result}; +use anyhow::Result; use serde::{Deserialize, Serialize}; use serde_json::Value; use swc_core::{ common::{source_map::Pos, Span, Spanned}, ecma::ast::{Expr, Ident, Program}, }; -use turbo_tasks::{primitives::StringVc, trace::TraceRawVcs, TryJoinIterExt}; +use turbo_tasks::{primitives::StringVc, trace::TraceRawVcs}; use turbo_tasks_fs::FileSystemPathVc; use turbopack_binding::turbopack::{ core::{ asset::{Asset, AssetVc}, - context::{AssetContext, AssetContextVc}, ident::AssetIdentVc, issue::{ Issue, IssueSeverity, IssueSeverityVc, IssueSourceVc, IssueVc, OptionIssueSourceVc, }, - reference_type::{EcmaScriptModulesReferenceSubType, ReferenceType}, - source_asset::SourceAssetVc, }, ecmascript::{ analyzer::{graph::EvalContext, JsValue}, @@ -27,7 +24,7 @@ use turbopack_binding::turbopack::{ }, }; -use crate::{app_structure::LoaderTreeVc, util::NextRuntime}; +use crate::util::NextRuntime; #[derive(Default, PartialEq, Eq, Clone, Copy, Debug, TraceRawVcs, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] @@ -53,14 +50,15 @@ pub enum NextSegmentFetchCache { } #[turbo_tasks::value] -#[derive(Debug, Default)] +#[derive(Debug)] +#[serde(rename_all = "camelCase")] pub struct NextSegmentConfig { - pub dynamic: Option, - pub dynamic_params: Option, - pub revalidate: Option, - pub fetch_cache: Option, - pub runtime: Option, - pub preferred_region: Option, + pub dynamic: NextSegmentDynamic, + pub dynamic_params: bool, + pub revalidate: bool, + pub fetch_cache: NextSegmentFetchCache, + pub runtime: NextRuntime, + pub referred_region: String, } #[turbo_tasks::value_impl] @@ -71,73 +69,16 @@ impl NextSegmentConfigVc { } } -impl NextSegmentConfig { - /// Applies the parent config to this config, setting any unset values to - /// the parent's values. - pub fn apply_parent_config(&mut self, parent: &Self) { - let NextSegmentConfig { - dynamic, - dynamic_params, - revalidate, - fetch_cache, - runtime, - preferred_region, - } = self; - *dynamic = dynamic.or(parent.dynamic); - *dynamic_params = dynamic_params.or(parent.dynamic_params); - *revalidate = revalidate.or(parent.revalidate); - *fetch_cache = fetch_cache.or(parent.fetch_cache); - *runtime = runtime.or(parent.runtime); - *preferred_region = preferred_region.take().or(parent.preferred_region.clone()); - } - - /// Applies a config from a paralllel route to this config, returning an - /// error if there are conflicting values. - pub fn apply_parallel_config(&mut self, parallel_config: &Self) -> Result<()> { - fn merge_parallel( - a: &mut Option, - b: &Option, - name: &str, - ) -> Result<()> { - match (a.as_ref(), b) { - (Some(a), Some(b)) => { - if *a != *b { - bail!( - "Sibling segment configs have conflicting values for {}", - name - ) - } - } - (None, Some(b)) => { - *a = Some(b.clone()); - } - _ => {} - } - Ok(()) +impl Default for NextSegmentConfig { + fn default() -> Self { + NextSegmentConfig { + dynamic: Default::default(), + dynamic_params: true, + revalidate: false, + fetch_cache: Default::default(), + runtime: Default::default(), + referred_region: "auto".to_string(), } - let Self { - dynamic, - dynamic_params, - revalidate, - fetch_cache, - runtime, - preferred_region, - } = self; - merge_parallel(dynamic, ¶llel_config.dynamic, "dynamic")?; - merge_parallel( - dynamic_params, - ¶llel_config.dynamic_params, - "dynamicParams", - )?; - merge_parallel(revalidate, ¶llel_config.revalidate, "revalidate")?; - merge_parallel(fetch_cache, ¶llel_config.fetch_cache, "fetchCache")?; - merge_parallel(runtime, ¶llel_config.runtime, "runtime")?; - merge_parallel( - preferred_region, - ¶llel_config.preferred_region, - "referredRegion", - )?; - Ok(()) } } @@ -275,7 +216,7 @@ fn parse_config_value( }; config.dynamic = match serde_json::from_value(Value::String(val.to_string())) { - Ok(dynamic) => Some(dynamic), + Ok(dynamic) => dynamic, Err(err) => { return invalid_config( &format!("`dynamic` has an invalid value: {}", err), @@ -290,7 +231,7 @@ fn parse_config_value( return invalid_config("`dynamicParams` needs to be a static boolean", &value); }; - config.dynamic_params = Some(val); + config.dynamic_params = val; } "revalidate" => { let value = eval_context.eval(init); @@ -298,7 +239,7 @@ fn parse_config_value( return invalid_config("`revalidate` needs to be a static boolean", &value); }; - config.revalidate = Some(val); + config.revalidate = val; } "fetchCache" => { let value = eval_context.eval(init); @@ -307,7 +248,7 @@ fn parse_config_value( }; config.fetch_cache = match serde_json::from_value(Value::String(val.to_string())) { - Ok(fetch_cache) => Some(fetch_cache), + Ok(fetch_cache) => fetch_cache, Err(err) => { return invalid_config( &format!("`fetchCache` has an invalid value: {}", err), @@ -323,7 +264,7 @@ fn parse_config_value( }; config.runtime = match serde_json::from_value(Value::String(val.to_string())) { - Ok(runtime) => Some(runtime), + Ok(runtime) => runtime, Err(err) => { return invalid_config( &format!("`runtime` has an invalid value: {}", err), @@ -338,43 +279,8 @@ fn parse_config_value( return invalid_config("`preferredRegion` needs to be a static string", &value); }; - config.preferred_region = Some(val.to_string()); + config.referred_region = val.to_string(); } _ => {} } } - -#[turbo_tasks::function] -pub async fn parse_segment_config_from_loader_tree( - loader_tree: LoaderTreeVc, - context: AssetContextVc, -) -> Result { - let loader_tree = loader_tree.await?; - let components = loader_tree.components.await?; - let mut config = NextSegmentConfig::default(); - let parallel_configs = loader_tree - .parallel_routes - .values() - .copied() - .map(|tree| parse_segment_config_from_loader_tree(tree, context)) - .try_join() - .await?; - for tree in parallel_configs { - config.apply_parallel_config(&tree)?; - } - for component in [components.page, components.default, components.layout] - .into_iter() - .flatten() - { - config.apply_parent_config( - &*parse_segment_config_from_source(context.process( - SourceAssetVc::new(component).into(), - turbo_tasks::Value::new(ReferenceType::EcmaScriptModules( - EcmaScriptModulesReferenceSubType::Undefined, - )), - )) - .await?, - ); - } - Ok(config.cell()) -} diff --git a/packages/next-swc/crates/next-core/src/app_source.rs b/packages/next-swc/crates/next-core/src/app_source.rs index 5d8f6807322f0a8..d5a2953d5ff8488 100644 --- a/packages/next-swc/crates/next-core/src/app_source.rs +++ b/packages/next-swc/crates/next-core/src/app_source.rs @@ -1,15 +1,14 @@ -use std::{collections::HashMap, io::Write as _, iter::once}; +use std::{collections::HashMap, io::Write, iter::once}; use anyhow::{bail, Result}; use async_recursion::async_recursion; use indexmap::{indexmap, IndexMap}; -use indoc::indoc; use turbo_tasks::{primitives::JsonValueVc, TryJoinIterExt, ValueToString}; use turbopack_binding::{ turbo::{ tasks::{primitives::StringVc, Value}, tasks_env::{CustomProcessEnvVc, EnvMapVc, ProcessEnvVc}, - tasks_fs::{rope::RopeBuilder, File, FileSystemPathVc}, + tasks_fs::{rope::RopeBuilder, File, FileContent, FileSystemPathVc}, }, turbopack::{ core::{ @@ -60,14 +59,14 @@ use turbopack_binding::{ }; use crate::{ - app_render::next_server_component_transition::NextServerComponentTransition, - app_segment_config::{parse_segment_config_from_loader_tree, parse_segment_config_from_source}, + app_render::next_layout_entry_transition::NextServerComponentTransition, + app_segment_config::parse_segment_config_from_source, app_structure::{ get_entrypoints, get_global_metadata, Components, Entrypoint, GlobalMetadataVc, LoaderTree, LoaderTreeVc, Metadata, MetadataItem, MetadataWithAltItem, OptionAppDirVc, }, bootstrap::{route_bootstrap, BootstrapConfigVc}, - embed_js::{next_asset, next_js_file_path}, + embed_js::{next_asset, next_js_file, next_js_file_path}, env::env_for_js, fallback::get_fallback_page, mode::NextMode, @@ -87,8 +86,7 @@ use crate::{ next_config::NextConfigVc, next_edge::{ context::{get_edge_compile_time_info, get_edge_resolve_options_context}, - page_transition::NextEdgePageTransition, - route_transition::NextEdgeRouteTransition, + transition::NextEdgeTransition, }, next_image::module::{BlurPlaceholderMode, StructuredImageModuleType}, next_route_matcher::{NextFallbackMatcherVc, NextParamsMatcherVc}, @@ -202,7 +200,7 @@ fn next_ssr_client_module_transition( } #[turbo_tasks::function] -fn next_server_component_transition( +fn next_layout_entry_transition( project_path: FileSystemPathVc, execution_context: ExecutionContextVc, app_dir: FileSystemPathVc, @@ -229,37 +227,6 @@ fn next_server_component_transition( .into() } -#[turbo_tasks::function] -fn next_edge_server_component_transition( - project_path: FileSystemPathVc, - execution_context: ExecutionContextVc, - app_dir: FileSystemPathVc, - server_root: FileSystemPathVc, - next_config: NextConfigVc, - server_addr: ServerAddrVc, -) -> TransitionVc { - let ty = Value::new(ServerContextType::AppRSC { app_dir }); - let mode = NextMode::Development; - let rsc_compile_time_info = get_edge_compile_time_info( - project_path, - server_addr, - Value::new(EnvironmentIntention::ServerRendering), - ); - let rsc_resolve_options_context = - get_edge_resolve_options_context(project_path, ty, next_config, execution_context); - let rsc_module_options_context = - get_server_module_options_context(project_path, execution_context, ty, mode, next_config); - - NextServerComponentTransition { - rsc_compile_time_info, - rsc_module_options_context, - rsc_resolve_options_context, - server_root, - } - .cell() - .into() -} - #[turbo_tasks::function] fn next_edge_route_transition( project_path: FileSystemPathVc, @@ -285,12 +252,12 @@ fn next_edge_route_transition( get_client_assets_path(server_root, Value::new(ClientContextType::App { app_dir })), edge_compile_time_info.environment(), ) - .reference_chunk_source_maps(should_debug("app_source")) + .reference_chunk_source_maps(false) .build(); let edge_resolve_options_context = get_edge_resolve_options_context(project_path, server_ty, next_config, execution_context); - NextEdgeRouteTransition { + NextEdgeTransition { edge_compile_time_info, edge_chunking_context, edge_module_options_context: None, @@ -304,49 +271,6 @@ fn next_edge_route_transition( .into() } -#[turbo_tasks::function] -fn next_edge_page_transition( - project_path: FileSystemPathVc, - app_dir: FileSystemPathVc, - server_root: FileSystemPathVc, - next_config: NextConfigVc, - server_addr: ServerAddrVc, - output_path: FileSystemPathVc, - execution_context: ExecutionContextVc, -) -> TransitionVc { - let server_ty = Value::new(ServerContextType::AppRoute { app_dir }); - - let edge_compile_time_info = get_edge_compile_time_info( - project_path, - server_addr, - Value::new(EnvironmentIntention::ServerRendering), - ); - - let edge_chunking_context = DevChunkingContextVc::builder( - project_path, - output_path.join("edge-pages"), - output_path.join("edge-pages/chunks"), - get_client_assets_path(server_root, Value::new(ClientContextType::App { app_dir })), - edge_compile_time_info.environment(), - ) - .layer("ssr") - .reference_chunk_source_maps(should_debug("app_source")) - .build(); - let edge_resolve_options_context = - get_edge_resolve_options_context(project_path, server_ty, next_config, execution_context); - - NextEdgePageTransition { - edge_compile_time_info, - edge_chunking_context, - edge_module_options_context: None, - edge_resolve_options_context, - output_path, - bootstrap_asset: next_asset("entry/app/edge-page-bootstrap.ts"), - } - .cell() - .into() -} - #[allow(clippy::too_many_arguments)] #[turbo_tasks::function] fn app_context( @@ -378,20 +302,8 @@ fn app_context( ), ); transitions.insert( - "next-edge-page".to_string(), - next_edge_page_transition( - project_path, - app_dir, - server_root, - next_config, - server_addr, - output_path, - execution_context, - ), - ); - transitions.insert( - "next-server-component".to_string(), - next_server_component_transition( + "next-layout-entry".to_string(), + next_layout_entry_transition( project_path, execution_context, app_dir, @@ -401,17 +313,6 @@ fn app_context( server_addr, ), ); - transitions.insert( - "next-edge-server-component".to_string(), - next_edge_server_component_transition( - project_path, - execution_context, - app_dir, - server_root, - next_config, - server_addr, - ), - ); transitions.insert( "server-to-client".to_string(), next_server_to_client_transition, @@ -815,14 +716,6 @@ impl AppRendererVc { (context_ssr, intermediate_output_path) }; - let config = parse_segment_config_from_loader_tree(loader_tree, context); - - let runtime = config.await?.runtime; - let rsc_transition = match runtime { - Some(NextRuntime::NodeJs) | None => "next-server-component", - Some(NextRuntime::Edge) => "next-edge-server-component", - }; - struct State { inner_assets: IndexMap, counter: usize, @@ -830,7 +723,6 @@ impl AppRendererVc { loader_tree_code: String, context: AssetContextVc, unsupported_metadata: Vec, - rsc_transition: &'static str, } impl State { @@ -848,7 +740,6 @@ impl AppRendererVc { loader_tree_code: String::new(), context, unsupported_metadata: Vec::new(), - rsc_transition, }; fn write_component( @@ -876,7 +767,7 @@ import {}, {{ chunks as {} }} from "COMPONENT_{}"; state.inner_assets.insert( format!("COMPONENT_{i}"), - state.context.with_transition(state.rsc_transition).process( + state.context.with_transition("next-layout-entry").process( SourceAssetVc::new(component).into(), Value::new(ReferenceType::EcmaScriptModules( EcmaScriptModulesReferenceSubType::Undefined, @@ -1067,7 +958,7 @@ import {}, {{ chunks as {} }} from "COMPONENT_{}"; walk_tree(&mut state, loader_tree).await?; let State { - inner_assets, + mut inner_assets, imports, loader_tree_code, unsupported_metadata, @@ -1084,29 +975,41 @@ import {}, {{ chunks as {} }} from "COMPONENT_{}"; .emit(); } - let mut result = RopeBuilder::from(indoc! {" - \"TURBOPACK { chunking-type: isolatedParallel; transition: next-edge-server-component }\"; - import GlobalErrorMod from \"next/dist/client/components/error-boundary\" - const { GlobalError } = GlobalErrorMod; - \"TURBOPACK { chunking-type: isolatedParallel; transition: next-edge-server-component }\"; - import base from \"next/dist/server/app-render/entry-base\"\n - "}); + // IPC need to be the first import to allow it to catch errors happening during + // the other imports + let mut result = + RopeBuilder::from("import { IPC } from \"@vercel/turbopack-node/ipc/index\";\n"); + + let import_path = next_js_file_path("entry") + .await? + .get_relative_path_to(&*next_js_file_path("polyfill/app-polyfills.ts").await?) + .unwrap(); + writeln!(result, "import \"{import_path}\";\n",)?; for import in imports { writeln!(result, "{import}")?; } - writeln!(result, "const tree = {loader_tree_code};\n")?; - writeln!(result, "const pathname = '';\n")?; - writeln!( - result, - // Need this hack because "export *" from CommonJS will trigger a warning - // otherwise - "__turbopack_export_value__({{ tree, GlobalError, pathname, ...base }});\n" - )?; + writeln!(result, "const LOADER_TREE = {loader_tree_code};\n")?; + writeln!(result, "import BOOTSTRAP from \"BOOTSTRAP\";\n")?; + + inner_assets.insert( + "BOOTSTRAP".to_string(), + context.with_transition("next-client").process( + SourceAssetVc::new(next_js_file_path("entry/app/hydrate.tsx")).into(), + Value::new(ReferenceType::EcmaScriptModules( + EcmaScriptModulesReferenceSubType::Undefined, + )), + ), + ); + + let base_code = next_js_file("entry/app-renderer.tsx"); + if let FileContent::Content(base_file) = &*base_code.await? { + result += base_file.content() + } let file = File::from(result.build()); - let asset = VirtualAssetVc::new(next_js_file_path("entry/app-entry.tsx"), file.into()); + let asset = VirtualAssetVc::new(next_js_file_path("entry/app-renderer.tsx"), file.into()); let chunking_context = DevChunkingContextVc::builder( project_path, @@ -1116,38 +1019,15 @@ import {}, {{ chunks as {} }} from "COMPONENT_{}"; context.compile_time_info().environment(), ) .layer("ssr") - .reference_chunk_source_maps(should_debug("app_source")) + .reference_chunk_source_maps(false) .build(); - let renderer_module = match runtime { - Some(NextRuntime::NodeJs) | None => context.process( - SourceAssetVc::new(next_js_file_path("entry/app-renderer.tsx")).into(), - Value::new(ReferenceType::Internal(InnerAssetsVc::cell(indexmap! { - "APP_ENTRY".to_string() => context.with_transition(rsc_transition).process( - asset.into(), - Value::new(ReferenceType::Internal(InnerAssetsVc::cell(inner_assets))), - ), - "APP_BOOTSTRAP".to_string() => context.with_transition("next-client").process( - SourceAssetVc::new(next_js_file_path("entry/app/hydrate.tsx")).into(), - Value::new(ReferenceType::EcmaScriptModules( - EcmaScriptModulesReferenceSubType::Undefined, - )), - ), - }))), - ), - Some(NextRuntime::Edge) => - context.process( - SourceAssetVc::new(next_js_file_path("entry/app-edge-renderer.tsx")).into(), - Value::new(ReferenceType::Internal(InnerAssetsVc::cell(indexmap! { - "INNER_EDGE_CHUNK_GROUP".to_string() => context.with_transition("next-edge-page").process( - asset.into(), - Value::new(ReferenceType::Internal(InnerAssetsVc::cell(inner_assets))), - ), - }))), - ) - }; + let module = context.process( + asset.into(), + Value::new(ReferenceType::Internal(InnerAssetsVc::cell(inner_assets))), + ); - let Some(module) = EvaluatableAssetVc::resolve_from(renderer_module).await? else { + let Some(module) = EvaluatableAssetVc::resolve_from(module).await? else { bail!("internal module must be evaluatable"); }; @@ -1216,7 +1096,7 @@ impl AppRouteVc { this.context.compile_time_info().environment(), ) .layer("ssr") - .reference_chunk_source_maps(should_debug("app_source")) + .reference_chunk_source_maps(false) .build(); let entry_source_asset = SourceAssetVc::new(this.entry_path); @@ -1227,7 +1107,7 @@ impl AppRouteVc { let config = parse_segment_config_from_source(entry_asset); let module = match config.await?.runtime { - Some(NextRuntime::NodeJs) | None => { + NextRuntime::NodeJs => { let bootstrap_asset = next_asset("entry/app/route.ts"); route_bootstrap( @@ -1238,7 +1118,7 @@ impl AppRouteVc { BootstrapConfigVc::empty(), ) } - Some(NextRuntime::Edge) => { + NextRuntime::Edge => { let internal_asset = next_asset("entry/app/edge-route.ts"); let entry = this.context.with_transition("next-edge-route").process( diff --git a/packages/next-swc/crates/next-core/src/bootstrap.rs b/packages/next-swc/crates/next-core/src/bootstrap.rs index 93533b54f788b17..9dc833f153d6db9 100644 --- a/packages/next-swc/crates/next-core/src/bootstrap.rs +++ b/packages/next-swc/crates/next-core/src/bootstrap.rs @@ -1,6 +1,6 @@ -use anyhow::{bail, Result}; +use anyhow::{bail, Context, Result}; use indexmap::{indexmap, IndexMap}; -use turbo_tasks::{Value, ValueToString}; +use turbo_tasks::Value; use turbo_tasks_fs::{File, FileSystemPathVc}; use turbopack_binding::turbopack::{ core::{ @@ -80,13 +80,10 @@ pub async fn bootstrap( config: BootstrapConfigVc, ) -> Result { let path = asset.ident().path().await?; - let Some(path) = base_path.await?.get_path_to(&path) else { - bail!( - "asset {} is not in base path {}", - asset.ident().to_string().await?, - base_path.to_string().await? - ); - }; + let path = base_path + .await? + .get_path_to(&path) + .context("asset is not in base_path")?; let path = if let Some((name, ext)) = path.rsplit_once('.') { if !ext.contains('/') { name diff --git a/packages/next-swc/crates/next-core/src/next_edge/mod.rs b/packages/next-swc/crates/next-core/src/next_edge/mod.rs index 1ee55be5bcbc374..05cf987f8b50e99 100644 --- a/packages/next-swc/crates/next-core/src/next_edge/mod.rs +++ b/packages/next-swc/crates/next-core/src/next_edge/mod.rs @@ -1,3 +1,2 @@ pub mod context; -pub mod page_transition; -pub mod route_transition; +pub mod transition; diff --git a/packages/next-swc/crates/next-core/src/next_edge/page_transition.rs b/packages/next-swc/crates/next-core/src/next_edge/page_transition.rs deleted file mode 100644 index 277a55de4936037..000000000000000 --- a/packages/next-swc/crates/next-core/src/next_edge/page_transition.rs +++ /dev/null @@ -1,100 +0,0 @@ -use anyhow::{bail, Result}; -use indexmap::indexmap; -use turbo_tasks::Value; -use turbopack_binding::{ - turbo::tasks_fs::FileSystemPathVc, - turbopack::{ - core::{ - asset::AssetVc, - chunk::{ChunkableAssetVc, ChunkingContextVc}, - compile_time_info::CompileTimeInfoVc, - context::AssetContext, - reference_type::{EcmaScriptModulesReferenceSubType, InnerAssetsVc, ReferenceType}, - source_asset::SourceAssetVc, - }, - ecmascript::chunk_group_files_asset::ChunkGroupFilesAsset, - turbopack::{ - module_options::ModuleOptionsContextVc, - resolve_options_context::ResolveOptionsContextVc, - transition::{Transition, TransitionVc}, - ModuleAssetContextVc, - }, - }, -}; - -use crate::embed_js::next_js_file_path; - -/// Transition into edge environment to render an app directory page. -/// -/// It changes the environment to the provided edge environment, and wraps the -/// process asset with the provided bootstrap_asset returning the chunks of all -/// that for running them in the edge sandbox. -#[turbo_tasks::value(shared)] -pub struct NextEdgePageTransition { - pub edge_compile_time_info: CompileTimeInfoVc, - pub edge_chunking_context: ChunkingContextVc, - pub edge_module_options_context: Option, - pub edge_resolve_options_context: ResolveOptionsContextVc, - pub output_path: FileSystemPathVc, - pub bootstrap_asset: AssetVc, -} - -#[turbo_tasks::value_impl] -impl Transition for NextEdgePageTransition { - #[turbo_tasks::function] - fn process_compile_time_info( - &self, - _compile_time_info: CompileTimeInfoVc, - ) -> CompileTimeInfoVc { - self.edge_compile_time_info - } - - #[turbo_tasks::function] - fn process_module_options_context( - &self, - context: ModuleOptionsContextVc, - ) -> ModuleOptionsContextVc { - self.edge_module_options_context.unwrap_or(context) - } - - #[turbo_tasks::function] - fn process_resolve_options_context( - &self, - _context: ResolveOptionsContextVc, - ) -> ResolveOptionsContextVc { - self.edge_resolve_options_context - } - - #[turbo_tasks::function] - async fn process_module( - &self, - asset: AssetVc, - context: ModuleAssetContextVc, - ) -> Result { - let asset = context.process( - self.bootstrap_asset, - Value::new(ReferenceType::Internal(InnerAssetsVc::cell(indexmap! { - "APP_ENTRY".to_string() => asset, - "APP_BOOTSTRAP".to_string() => context.with_transition("next-client").process( - SourceAssetVc::new(next_js_file_path("entry/app/hydrate.tsx")).into(), - Value::new(ReferenceType::EcmaScriptModules( - EcmaScriptModulesReferenceSubType::Undefined, - )), - ), - }))), - ); - - let Some(asset) = ChunkableAssetVc::resolve_from(asset).await? else { - bail!("Internal module is not evaluatable"); - }; - - let asset = ChunkGroupFilesAsset { - asset, - client_root: self.output_path, - chunking_context: self.edge_chunking_context, - runtime_entries: None, - }; - - Ok(asset.cell().into()) - } -} diff --git a/packages/next-swc/crates/next-core/src/next_edge/route_transition.rs b/packages/next-swc/crates/next-core/src/next_edge/transition.rs similarity index 96% rename from packages/next-swc/crates/next-core/src/next_edge/route_transition.rs rename to packages/next-swc/crates/next-core/src/next_edge/transition.rs index 39f0a2672bea4f0..e64598522e1b08d 100644 --- a/packages/next-swc/crates/next-core/src/next_edge/route_transition.rs +++ b/packages/next-swc/crates/next-core/src/next_edge/transition.rs @@ -17,7 +17,7 @@ use turbopack_binding::{ use crate::bootstrap::{route_bootstrap, BootstrapConfigVc}; #[turbo_tasks::value(shared)] -pub struct NextEdgeRouteTransition { +pub struct NextEdgeTransition { pub edge_compile_time_info: CompileTimeInfoVc, pub edge_chunking_context: ChunkingContextVc, pub edge_module_options_context: Option, @@ -29,7 +29,7 @@ pub struct NextEdgeRouteTransition { } #[turbo_tasks::value_impl] -impl Transition for NextEdgeRouteTransition { +impl Transition for NextEdgeTransition { #[turbo_tasks::function] fn process_compile_time_info( &self, diff --git a/packages/next-swc/crates/next-core/src/next_import_map.rs b/packages/next-swc/crates/next-core/src/next_import_map.rs index 4fdfffd45fcd30c..28fb315ecd46408 100644 --- a/packages/next-swc/crates/next-core/src/next_import_map.rs +++ b/packages/next-swc/crates/next-core/src/next_import_map.rs @@ -209,6 +209,12 @@ pub async fn get_next_server_import_map( ) .await?; + import_map.insert_exact_alias( + "@opentelemetry/api", + // TODO(WEB-625) this actually need to prefer the local version of @opentelemetry/api + ImportMapping::External(Some("next/dist/compiled/@opentelemetry/api".to_string())).into(), + ); + let ty = ty.into_value(); insert_next_server_special_aliases(&mut import_map, ty).await?; @@ -351,12 +357,6 @@ pub async fn insert_next_server_special_aliases( ) -> Result<()> { match ty { ServerContextType::Pages { pages_dir } => { - import_map.insert_exact_alias( - "@opentelemetry/api", - // TODO(WEB-625) this actually need to prefer the local version of - // @opentelemetry/api - external_request_to_import_mapping("next/dist/compiled/@opentelemetry/api"), - ); insert_alias_to_alternatives( import_map, format!("{VIRTUAL_PACKAGE_NAME}/pages/_app"), @@ -386,12 +386,6 @@ pub async fn insert_next_server_special_aliases( ServerContextType::AppSSR { app_dir } | ServerContextType::AppRSC { app_dir } | ServerContextType::AppRoute { app_dir } => { - import_map.insert_exact_alias( - "@opentelemetry/api", - // TODO(WEB-625) this actually need to prefer the local version of - // @opentelemetry/api - request_to_import_mapping(app_dir, "next/dist/compiled/@opentelemetry/api"), - ); import_map.insert_exact_alias( "react", request_to_import_mapping(app_dir, "next/dist/compiled/react"), diff --git a/packages/next-swc/crates/next-core/src/page_source.rs b/packages/next-swc/crates/next-core/src/page_source.rs index 95329e2400e7b91..7ac9e53d2c82314 100644 --- a/packages/next-swc/crates/next-core/src/page_source.rs +++ b/packages/next-swc/crates/next-core/src/page_source.rs @@ -62,7 +62,7 @@ use crate::{ next_config::NextConfigVc, next_edge::{ context::{get_edge_compile_time_info, get_edge_resolve_options_context}, - route_transition::NextEdgeRouteTransition, + transition::NextEdgeTransition, }, next_route_matcher::{ NextExactMatcherVc, NextFallbackMatcherVc, NextParamsMatcherVc, @@ -168,12 +168,12 @@ pub async fn create_page_source( ), edge_compile_time_info.environment(), ) - .reference_chunk_source_maps(should_debug("page_source")) + .reference_chunk_source_maps(false) .build(); let edge_resolve_options_context = get_edge_resolve_options_context(project_root, server_ty, next_config, execution_context); - let next_edge_transition = NextEdgeRouteTransition { + let next_edge_transition = NextEdgeTransition { edge_compile_time_info, edge_chunking_context, edge_module_options_context: None, @@ -374,7 +374,7 @@ async fn create_page_source_for_file( ), server_context.compile_time_info().environment(), ) - .reference_chunk_source_maps(should_debug("page_source")) + .reference_chunk_source_maps(false) .build(); let data_node_path = node_path.join("data"); @@ -389,7 +389,7 @@ async fn create_page_source_for_file( ), server_context.compile_time_info().environment(), ) - .reference_chunk_source_maps(should_debug("page_source")) + .reference_chunk_source_maps(false) .build(); let client_chunking_context = get_client_chunking_context( @@ -534,7 +534,7 @@ async fn create_not_found_page_source( ), server_context.compile_time_info().environment(), ) - .reference_chunk_source_maps(should_debug("page_source")) + .reference_chunk_source_maps(false) .build(); let client_chunking_context = get_client_chunking_context( diff --git a/packages/next-swc/crates/next-core/src/router.rs b/packages/next-swc/crates/next-core/src/router.rs index fc56edbb3639521..a5a58ee23d2325d 100644 --- a/packages/next-swc/crates/next-core/src/router.rs +++ b/packages/next-swc/crates/next-core/src/router.rs @@ -47,7 +47,7 @@ use crate::{ next_config::NextConfigVc, next_edge::{ context::{get_edge_compile_time_info, get_edge_resolve_options_context}, - route_transition::NextEdgeRouteTransition, + transition::NextEdgeTransition, }, next_import_map::get_next_build_import_map, next_server::context::{get_server_module_options_context, ServerContextType}, @@ -250,7 +250,7 @@ fn edge_transition_map( output_path.join("edge/assets"), edge_compile_time_info.environment(), ) - .reference_chunk_source_maps(should_debug("router")) + .reference_chunk_source_maps(false) .build(); let edge_resolve_options_context = get_edge_resolve_options_context( @@ -268,7 +268,7 @@ fn edge_transition_map( next_config, ); - let next_edge_transition = NextEdgeRouteTransition { + let next_edge_transition = NextEdgeTransition { edge_compile_time_info, edge_chunking_context, edge_module_options_context: Some(server_module_options_context), diff --git a/packages/next-swc/crates/next-dev-tests/tests/integration.rs b/packages/next-swc/crates/next-dev-tests/tests/integration.rs index e2368f4c278ed89..b26150aa2db11a3 100644 --- a/packages/next-swc/crates/next-dev-tests/tests/integration.rs +++ b/packages/next-swc/crates/next-dev-tests/tests/integration.rs @@ -92,8 +92,6 @@ lazy_static! { static ref DEBUG_BROWSER: bool = env::var("TURBOPACK_DEBUG_BROWSER").is_ok(); /// Only starts the dev server on port 3000, but doesn't spawn a browser or run any tests. static ref DEBUG_START: bool = env::var("TURBOPACK_DEBUG_START").is_ok(); - /// When using TURBOPACK_DEBUG_START, this will open the browser to the dev server. - static ref DEBUG_OPEN: bool = env::var("TURBOPACK_DEBUG_OPEN").is_ok(); } fn run_async_test<'a, T>(future: impl Future + Send + 'a) -> T { @@ -139,12 +137,19 @@ fn test(resource: PathBuf) { run_result, } = run_async_test(run_test(resource)); - let mut messages = vec![]; - - if run_result.test_results.is_empty() { - messages.push("No tests were run.".to_string()); + if !uncaught_exceptions.is_empty() { + panic!( + "Uncaught exception(s) in test:\n{}", + uncaught_exceptions.join("\n") + ) } + assert!( + !run_result.test_results.is_empty(), + "Expected one or more tests to run." + ); + + let mut messages = vec![]; for test_result in run_result.test_results { // It's possible to fail multiple tests across these tests, // so collect them and fail the respective test in Rust with @@ -158,10 +163,6 @@ fn test(resource: PathBuf) { } } - for uncaught_exception in uncaught_exceptions { - messages.push(format!("Uncaught exception: {}", uncaught_exception)); - } - if !messages.is_empty() { panic!( "Failed with error(s) in the following test(s):\n\n{}", @@ -256,11 +257,7 @@ async fn run_test(resource: PathBuf) -> JsResult { let test_dir = resource_temp.to_path_buf(); let workspace_root = cargo_workspace_root.parent().unwrap().parent().unwrap(); let project_dir = test_dir.join("input"); - let requested_addr = if *DEBUG_START { - "127.0.0.1:3000".parse().unwrap() - } else { - get_free_local_addr().unwrap() - }; + let requested_addr = get_free_local_addr().unwrap(); let mock_dir = resource_temp.join("__httpmock__"); let mock_server_future = get_mock_server_future(&mock_dir); @@ -268,95 +265,89 @@ async fn run_test(resource: PathBuf) -> JsResult { let (issue_tx, mut issue_rx) = unbounded_channel(); let issue_tx = TransientInstance::new(issue_tx); - let result; - - { - let tt = TurboTasks::new(MemoryBackend::default()); - let server = NextDevServerBuilder::new( - tt.clone(), - project_dir.to_string_lossy().to_string(), - workspace_root.to_string_lossy().to_string(), - ) - .entry_request(EntryRequest::Module( - "@turbo/pack-test-harness".to_string(), - "/harness".to_string(), - )) - .entry_request(EntryRequest::Relative("index.js".to_owned())) - .eager_compile(false) - .hostname(requested_addr.ip()) - .port(requested_addr.port()) - .log_level(turbopack_binding::turbopack::core::issue::IssueSeverity::Warning) - .log_detail(true) - .issue_reporter(Box::new(move || { - TestIssueReporterVc::new(issue_tx.clone()).into() - })) - .show_all(true) - .build() - .await - .unwrap(); - - let local_addr = - SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), server.addr.port()); + let tt = TurboTasks::new(MemoryBackend::default()); + let server = NextDevServerBuilder::new( + tt.clone(), + project_dir.to_string_lossy().to_string(), + workspace_root.to_string_lossy().to_string(), + ) + .entry_request(EntryRequest::Module( + "@turbo/pack-test-harness".to_string(), + "/harness".to_string(), + )) + .entry_request(EntryRequest::Relative("index.js".to_owned())) + .eager_compile(false) + .hostname(requested_addr.ip()) + .port(requested_addr.port()) + .log_level(turbopack_binding::turbopack::core::issue::IssueSeverity::Warning) + .log_detail(true) + .issue_reporter(Box::new(move || { + TestIssueReporterVc::new(issue_tx.clone()).into() + })) + .show_all(true) + .build() + .await + .unwrap(); - println!( - "{event_type} - server started at http://{address}", - event_type = "ready".green(), - address = server.addr - ); + let local_addr = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), server.addr.port()); - if *DEBUG_START { - if *DEBUG_OPEN { - webbrowser::open(&format!("http://{}", local_addr)).unwrap(); - } - tokio::select! { - _ = mock_server_future => {}, - _ = pending() => {}, - _ = server.future => {}, - }; - panic!("Never resolves") - } + println!( + "{event_type} - server started at http://{address}", + event_type = "ready".green(), + address = server.addr + ); - result = tokio::select! { - // Poll the mock_server first to add the env var - _ = mock_server_future => panic!("Never resolves"), - r = run_browser(local_addr, &project_dir) => r.expect("error while running browser"), - _ = server.future => panic!("Never resolves"), + if *DEBUG_START { + webbrowser::open(&local_addr.to_string()).unwrap(); + tokio::select! { + _ = mock_server_future => {}, + _ = pending() => {}, + _ = server.future => {}, }; + panic!("Never resolves") + } + + let result = tokio::select! { + // Poll the mock_server first to add the env var + _ = mock_server_future => panic!("Never resolves"), + r = run_browser(local_addr, &project_dir) => r.expect("error while running browser"), + _ = server.future => panic!("Never resolves"), + }; - env::remove_var("TURBOPACK_TEST_ONLY_MOCK_SERVER"); + env::remove_var("TURBOPACK_TEST_ONLY_MOCK_SERVER"); - let task = tt.spawn_once_task(async move { - let issues_fs = DiskFileSystemVc::new( - "issues".to_string(), - resource.join("issues").to_string_lossy().to_string(), - ) - .as_file_system(); + let task = tt.spawn_once_task(async move { + let issues_fs = DiskFileSystemVc::new( + "issues".to_string(), + resource.join("issues").to_string_lossy().to_string(), + ) + .as_file_system(); - let mut issues = vec![]; - while let Ok(issue) = issue_rx.try_recv() { - issues.push(issue); - } + let mut issues = vec![]; + while let Ok(issue) = issue_rx.try_recv() { + issues.push(issue); + } - snapshot_issues( - issues.iter().cloned(), - issues_fs.root(), - &cargo_workspace_root.to_string_lossy(), - ) - .await?; + snapshot_issues( + issues.iter().cloned(), + issues_fs.root(), + &cargo_workspace_root.to_string_lossy(), + ) + .await?; - Ok(NothingVc::new().into()) - }); - tt.wait_task_completion(task, true).await.unwrap(); - } + Ok(NothingVc::new().into()) + }); + tt.wait_task_completion(task, true).await.unwrap(); - if let Err(err) = retry( + // This sometimes fails for the following test: + // test_tests__integration__next__webpack_loaders__no_options__input + retry( (), |()| std::fs::remove_dir_all(&resource_temp), 3, Duration::from_millis(100), - ) { - eprintln!("Failed to remove temporary directory: {}", err); - } + ) + .expect("failed to remove temporary directory"); result } diff --git a/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/input/app/test.js b/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/input/app/test.js index 85fd7d706124c5a..8c388ccc8f51aa5 100644 --- a/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/input/app/test.js +++ b/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/input/app/test.js @@ -10,11 +10,7 @@ async function getJson(url) { const res = await fetch(url) const text = await res.text() const jsonText = /(\{[^}]*\})/.exec(text) - try { - return JSON.parse(jsonText[0].replace(/"/g, '"')) - } catch (err) { - throw new Error(`Expected JSON but got:\n${text}`) - } + return JSON.parse(jsonText[0].replace(/"/g, '"')) } function runTests() { @@ -67,10 +63,17 @@ function runTests() { it('app with edge runtime should import edge conditions', async () => { const json = await getJson('/app-edge') - expect(json).toMatchObject({ + // TODO We don't currently support edge config in app rendering. + // When we do, this needs to be updated. + expect(json).not.toMatchObject({ edgeThenNode: 'edge', nodeThenEdge: 'edge', }) + // TODO: delete this. + expect(json).toMatchObject({ + edgeThenNode: 'node', + nodeThenEdge: 'node', + }) }) it('app route with nodejs runtime should import node conditions', async () => { diff --git a/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-b2593b.txt b/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-b2593b.txt deleted file mode 100644 index 9ca2af924a62ddd..000000000000000 --- a/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-b2593b.txt +++ /dev/null @@ -1,35 +0,0 @@ -PlainIssue { - severity: Error, - context: "[project]/packages/next/dist/compiled/nanoid/index.cjs", - category: "resolve", - title: "Error resolving commonjs request", - description: "unable to resolve module \"crypto\"", - detail: "It was not possible to find the requested file.\nParsed request as written in source code: module \"crypto\"\nPath where resolving has started: [project]/packages/next/dist/compiled/nanoid/index.cjs\nType of request: commonjs request\nImport map: No import map entry\n", - documentation_link: "", - source: Some( - PlainIssueSource { - asset: PlainAsset { - ident: "[project]/packages/next/dist/compiled/nanoid/index.cjs", - }, - start: SourcePos { - line: 0, - column: 45, - }, - end: SourcePos { - line: 0, - column: 62, - }, - }, - ), - sub_issues: [], - processing_path: Some( - [ - PlainIssueProcessingPathItem { - context: Some( - "[project]/packages/next-swc/crates/next-dev-tests/tests/temp/next/import/conditions/input/app", - ), - description: "Next.js App Page Route /app-edge", - }, - ], - ), -} \ No newline at end of file diff --git a/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-dd84e7.txt b/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-dd84e7.txt deleted file mode 100644 index b0da1fb03259ffc..000000000000000 --- a/packages/next-swc/crates/next-dev-tests/tests/integration/next/import/conditions/issues/Error resolving commonjs request-dd84e7.txt +++ /dev/null @@ -1,41 +0,0 @@ -PlainIssue { - severity: Error, - context: "[project]/packages/next/dist/compiled/nanoid/index.cjs", - category: "resolve", - title: "Error resolving commonjs request", - description: "unable to resolve module \"crypto\"", - detail: "It was not possible to find the requested file.\nParsed request as written in source code: module \"crypto\"\nPath where resolving has started: [project]/packages/next/dist/compiled/nanoid/index.cjs\nType of request: commonjs request\nImport map: No import map entry\n", - documentation_link: "", - source: Some( - PlainIssueSource { - asset: PlainAsset { - ident: "[project]/packages/next/dist/compiled/nanoid/index.cjs", - }, - start: SourcePos { - line: 0, - column: 45, - }, - end: SourcePos { - line: 0, - column: 62, - }, - }, - ), - sub_issues: [], - processing_path: Some( - [ - PlainIssueProcessingPathItem { - context: Some( - "[project]/packages/next-swc/crates/next-dev-tests/tests/temp/next/import/conditions/input/app", - ), - description: "Next.js App Page Route /app-edge", - }, - PlainIssueProcessingPathItem { - context: Some( - "[next]/entry/app-edge-renderer.tsx", - ), - description: "server-side rendering /app-edge", - }, - ], - ), -} \ No newline at end of file diff --git a/packages/next/src/build/webpack/loaders/next-app-loader.ts b/packages/next/src/build/webpack/loaders/next-app-loader.ts index b3c7ae8293db790..65b1e2f7dee7965 100644 --- a/packages/next/src/build/webpack/loaders/next-app-loader.ts +++ b/packages/next/src/build/webpack/loaders/next-app-loader.ts @@ -623,22 +623,33 @@ const nextAppLoader: AppLoader = async function nextAppLoader() { } } - // Prefer to modify next/src/server/app-render/entry-base.ts since this is shared with Turbopack. - // Any changes to this code should be reflected in Turbopack's app_source.rs and/or app-renderer.tsx as well. const result = ` export ${treeCodeResult.treeCode} export ${treeCodeResult.pages} + + export { default as AppRouter } from 'next/dist/client/components/app-router' + export { default as LayoutRouter } from 'next/dist/client/components/layout-router' + export { default as RenderFromTemplateContext } from 'next/dist/client/components/render-from-template-context' export { default as GlobalError } from ${JSON.stringify( treeCodeResult.globalError || 'next/dist/client/components/error-boundary' )} - export const originalPathname = ${JSON.stringify(page)} - export const __next_app__ = { - require: __webpack_require__, - // all modules are in the entry chunk, so we never actually need to load chunks in webpack - loadChunk: () => Promise.resolve() - } - export * from 'next/dist/server/app-render/entry-base' + export { staticGenerationAsyncStorage } from 'next/dist/client/components/static-generation-async-storage' + + export { requestAsyncStorage } from 'next/dist/client/components/request-async-storage' + export { actionAsyncStorage } from 'next/dist/client/components/action-async-storage' + + export { staticGenerationBailout } from 'next/dist/client/components/static-generation-bailout' + export { default as StaticGenerationSearchParamsBailoutProvider } from 'next/dist/client/components/static-generation-searchparams-bailout-provider' + export { createSearchParamsBailoutProxy } from 'next/dist/client/components/searchparams-bailout-proxy' + + export * as serverHooks from 'next/dist/client/components/hooks-server-context' + + export { renderToReadableStream, decodeReply, decodeAction } from 'react-server-dom-webpack/server.edge' + export const __next_app_webpack_require__ = __webpack_require__ + export { preloadStyle, preloadFont, preconnect } from 'next/dist/server/app-render/rsc/preloads' + + export const originalPathname = "${page}" ` return result diff --git a/packages/next/src/build/webpack/loaders/next-edge-ssr-loader/render.ts b/packages/next/src/build/webpack/loaders/next-edge-ssr-loader/render.ts index 4b5f8fcd4e2fc4d..a120b6502247126 100644 --- a/packages/next/src/build/webpack/loaders/next-edge-ssr-loader/render.ts +++ b/packages/next/src/build/webpack/loaders/next-edge-ssr-loader/render.ts @@ -101,7 +101,7 @@ export function getRender({ getServerSideProps: pageMod.getServerSideProps, getStaticPaths: pageMod.getStaticPaths, ComponentMod: pageMod, - isAppPath: !!pageMod.__next_app__, + isAppPath: !!pageMod.__next_app_webpack_require__, pathname, } } diff --git a/packages/next/src/server/app-render/action-handler.ts b/packages/next/src/server/app-render/action-handler.ts index 74001c964bba89b..dfa43ba60095245 100644 --- a/packages/next/src/server/app-render/action-handler.ts +++ b/packages/next/src/server/app-render/action-handler.ts @@ -400,7 +400,7 @@ export async function handleAction({ process.env.NEXT_RUNTIME === 'edge' ? 'edge' : 'node' ][actionId].workers[workerName] const actionHandler = - ComponentMod.__next_app__.require(actionModId)[actionId] + ComponentMod.__next_app_webpack_require__(actionModId)[actionId] const returnVal = await actionHandler.apply(null, bound) diff --git a/packages/next/src/server/app-render/create-server-components-renderer.tsx b/packages/next/src/server/app-render/create-server-components-renderer.tsx index 0d11231ed110d79..6275f7cd7610785 100644 --- a/packages/next/src/server/app-render/create-server-components-renderer.tsx +++ b/packages/next/src/server/app-render/create-server-components-renderer.tsx @@ -13,10 +13,7 @@ export function createServerComponentRenderer( ComponentToRender: (props: Props) => any, ComponentMod: { renderToReadableStream: any - __next_app__?: { - require: any - loadChunk: any - } + __next_app_webpack_require__?: any }, { transformStream, @@ -34,14 +31,14 @@ export function createServerComponentRenderer( serverComponentsErrorHandler: ReturnType, nonce?: string ): (props: Props) => JSX.Element { - // We need to expose the bundled `require` API globally for + // We need to expose the `__webpack_require__` API globally for // react-server-dom-webpack. This is a hack until we find a better way. - if (ComponentMod.__next_app__) { + if (ComponentMod.__next_app_webpack_require__) { // @ts-ignore - globalThis.__next_require__ = ComponentMod.__next_app__.require + globalThis.__next_require__ = ComponentMod.__next_app_webpack_require__ // @ts-ignore - globalThis.__next_chunk_load__ = ComponentMod.__next_app__.loadChunk + globalThis.__next_chunk_load__ = () => Promise.resolve() } let RSCStream: ReadableStream diff --git a/packages/next/src/server/app-render/entry-base.ts b/packages/next/src/server/app-render/entry-base.ts deleted file mode 100644 index c35c8cb20279c0b..000000000000000 --- a/packages/next/src/server/app-render/entry-base.ts +++ /dev/null @@ -1,52 +0,0 @@ -const { default: AppRouter } = - require('next/dist/client/components/app-router') as typeof import('../../client/components/app-router') -const { default: LayoutRouter } = - require('next/dist/client/components/layout-router') as typeof import('../../client/components/layout-router') -const { default: RenderFromTemplateContext } = - require('next/dist/client/components/render-from-template-context') as typeof import('../../client/components/render-from-template-context') - -const { staticGenerationAsyncStorage } = - require('next/dist/client/components/static-generation-async-storage') as typeof import('../../client/components/static-generation-async-storage') - -const { requestAsyncStorage } = - require('next/dist/client/components/request-async-storage') as typeof import('../../client/components/request-async-storage') -const { actionAsyncStorage } = - require('next/dist/client/components/action-async-storage') as typeof import('../../client/components/action-async-storage') - -const { staticGenerationBailout } = - require('next/dist/client/components/static-generation-bailout') as typeof import('../../client/components/static-generation-bailout') -const { default: StaticGenerationSearchParamsBailoutProvider } = - require('next/dist/client/components/static-generation-searchparams-bailout-provider') as typeof import('../../client/components/static-generation-searchparams-bailout-provider') -const { createSearchParamsBailoutProxy } = - require('next/dist/client/components/searchparams-bailout-proxy') as typeof import('../../client/components/searchparams-bailout-proxy') - -const serverHooks = - require('next/dist/client/components/hooks-server-context') as typeof import('../../client/components/hooks-server-context') - -const { - renderToReadableStream, - decodeReply, - decodeAction, - // eslint-disable-next-line import/no-extraneous-dependencies -} = require('react-server-dom-webpack/server.edge') -const { preloadStyle, preloadFont, preconnect } = - require('next/dist/server/app-render/rsc/preloads') as typeof import('../../server/app-render/rsc/preloads') - -export { - AppRouter, - LayoutRouter, - RenderFromTemplateContext, - staticGenerationAsyncStorage, - requestAsyncStorage, - actionAsyncStorage, - staticGenerationBailout, - createSearchParamsBailoutProxy, - serverHooks, - renderToReadableStream, - decodeReply, - decodeAction, - preloadStyle, - preloadFont, - preconnect, - StaticGenerationSearchParamsBailoutProvider, -} diff --git a/packages/next/src/server/render-result.ts b/packages/next/src/server/render-result.ts index a142bbe2cc6fb87..5cfb48070ef4457 100644 --- a/packages/next/src/server/render-result.ts +++ b/packages/next/src/server/render-result.ts @@ -1,3 +1,6 @@ +import type { ServerResponse } from 'http' +import { Writable } from 'stream' + type ContentTypeOption = string | undefined export type RenderResultMetadata = { @@ -9,13 +12,6 @@ export type RenderResultMetadata = { isRedirect?: boolean } -export interface PipeTarget { - write: (chunk: Uint8Array) => unknown - end: () => unknown - flush?: () => unknown - destroy: (err?: Error) => unknown -} - export default class RenderResult { private readonly _response: string | ReadableStream | null private readonly _contentType: ContentTypeOption @@ -56,7 +52,7 @@ export default class RenderResult { return this._response } - pipe(res: PipeTarget): Promise { + pipe(res: ServerResponse | Writable): Promise { if (this._response === null) { throw new Error('invariant: response is null. This is a bug in Next.js') } diff --git a/packages/next/src/server/web/globals.ts b/packages/next/src/server/web/globals.ts index 6edb228f25b1032..6a40e73a7733f14 100644 --- a/packages/next/src/server/web/globals.ts +++ b/packages/next/src/server/web/globals.ts @@ -60,14 +60,11 @@ function enhanceGlobals() { // to allow building code that import but does not use node.js modules, // webpack will expect this function to exist in global scope - // Object.hasOwn protects against enhancing multiple times - if (!Object.hasOwn(globalThis, '__import_unsupported')) { - Object.defineProperty(globalThis, '__import_unsupported', { - value: __import_unsupported, - enumerable: false, - configurable: false, - }) - } + Object.defineProperty(globalThis, '__import_unsupported', { + value: __import_unsupported, + enumerable: false, + configurable: false, + }) // Eagerly fire instrumentation hook to make the startup faster. void ensureInstrumentationRegistered() From 4a5074346cc756bc720fdb0e2a53780c66641ea5 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Wed, 21 Jun 2023 14:22:57 -0400 Subject: [PATCH 05/10] Update flakey build output test (#51625) x-ref: https://github.com/vercel/next.js/actions/runs/5328413826/jobs/9653007927 --- test/integration/build-output/test/index.test.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/integration/build-output/test/index.test.js b/test/integration/build-output/test/index.test.js index 3724ddb725d1120..9c9742d943b6a4b 100644 --- a/test/integration/build-output/test/index.test.js +++ b/test/integration/build-output/test/index.test.js @@ -59,7 +59,8 @@ describe('Build Output', () => { expect(stdout).toContain('○ /') }) - it('should not deviate from snapshot', async () => { + // TODO: change format of this test to be more reliable + it.skip('should not deviate from snapshot', async () => { console.log(stdout) if (process.env.NEXT_PRIVATE_SKIP_SIZE_TESTS) { From 9d043f6e359eb7f0bc94982c200aacc6e1fae3ba Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Wed, 21 Jun 2023 14:52:12 -0400 Subject: [PATCH 06/10] Ensure upgrade request has request meta (#51590) x-ref: [slack thread](https://vercel.slack.com/archives/C03S8ED1DKM/p1686906407341689) --- packages/next/src/server/next-server.ts | 26 +++++++++++++-- test/integration/custom-routes/next.config.js | 4 +++ .../custom-routes/test/index.test.js | 32 +++++++++++++++++++ 3 files changed, 59 insertions(+), 3 deletions(-) diff --git a/packages/next/src/server/next-server.ts b/packages/next/src/server/next-server.ts index 9a4d8d2d166465a..d71d3c6bf30be13 100644 --- a/packages/next/src/server/next-server.ts +++ b/packages/next/src/server/next-server.ts @@ -808,7 +808,14 @@ export default class NextNodeServer extends BaseServer { } protected async handleUpgrade(req: NodeNextRequest, socket: any, head: any) { - await this.router.execute(req, socket, nodeParseUrl(req.url, true), head) + try { + const parsedUrl = nodeParseUrl(req.url, true) + this.attachRequestMeta(req, parsedUrl, true) + await this.router.execute(req, socket, parsedUrl, head) + } catch (err) { + console.error(err) + socket.end('Internal Server Error') + } } protected async proxyRequest( @@ -1486,6 +1493,15 @@ export default class NextNodeServer extends BaseServer { }, getRequestMeta(req, '__NEXT_CLONABLE_BODY')?.cloneBodyStream() ) + + // if this is an upgrade request just pipe body back + if (!res.setHeader) { + invokeRes.pipe(res as any as ServerResponse) + return { + finished: true, + } + } + const noFallback = invokeRes.headers['x-no-fallback'] if (noFallback) { @@ -2748,7 +2764,8 @@ export default class NextNodeServer extends BaseServer { protected attachRequestMeta( req: BaseNextRequest, - parsedUrl: NextUrlWithParsedQuery + parsedUrl: NextUrlWithParsedQuery, + isUpgradeReq?: boolean ) { const protocol = ( (req as NodeNextRequest).originalRequest?.socket as TLSSocket @@ -2767,7 +2784,10 @@ export default class NextNodeServer extends BaseServer { addRequestMeta(req, '__NEXT_INIT_URL', initUrl) addRequestMeta(req, '__NEXT_INIT_QUERY', { ...parsedUrl.query }) addRequestMeta(req, '_protocol', protocol) - addRequestMeta(req, '__NEXT_CLONABLE_BODY', getCloneableBody(req.body)) + + if (!isUpgradeReq) { + addRequestMeta(req, '__NEXT_CLONABLE_BODY', getCloneableBody(req.body)) + } } protected async runEdgeFunction(params: { diff --git a/test/integration/custom-routes/next.config.js b/test/integration/custom-routes/next.config.js index 58a057f9983be52..c90d3b17e816430 100644 --- a/test/integration/custom-routes/next.config.js +++ b/test/integration/custom-routes/next.config.js @@ -19,6 +19,10 @@ module.exports = { destination: 'http://localhost:__EXTERNAL_PORT__/_next/webpack-hmr?page=/about', }, + { + source: '/websocket-to-page', + destination: '/hello', + }, { source: '/to-nowhere', destination: 'http://localhost:12233', diff --git a/test/integration/custom-routes/test/index.test.js b/test/integration/custom-routes/test/index.test.js index e80e08ef55cdc86..eda2ebfc65d668c 100644 --- a/test/integration/custom-routes/test/index.test.js +++ b/test/integration/custom-routes/test/index.test.js @@ -103,6 +103,33 @@ const runTests = (isDev = false, isTurbo = false) => { expect([...externalServerHits]).toEqual(['/_next/webpack-hmr?page=/about']) }) + it('should successfully rewrite a WebSocket request to a page', async () => { + // TODO: remove once test failure has been fixed + if (isTurbo) return + + const messages = [] + try { + const ws = await new Promise((resolve, reject) => { + let socket = new WebSocket( + `ws://localhost:${appPort}/websocket-to-page` + ) + socket.on('message', (data) => { + messages.push(data.toString()) + }) + socket.on('open', () => resolve(socket)) + socket.on('error', (err) => { + console.error(err) + socket.close() + reject() + }) + }) + ws.close() + } catch (err) { + messages.push(err) + } + expect(stderr).not.toContain('unhandledRejection') + }) + it('should not rewrite for _next/data route when a match is found', async () => { const initial = await fetchViaHTTP(appPort, '/overridden/first') expect(initial.status).toBe(200) @@ -2210,6 +2237,11 @@ const runTests = (isDev = false, isTurbo = false) => { regex: normalizeRegEx('^\\/to-websocket(?:\\/)?$'), source: '/to-websocket', }, + { + destination: '/hello', + regex: normalizeRegEx('^\\/websocket-to-page(?:\\/)?$'), + source: '/websocket-to-page', + }, { destination: 'http://localhost:12233', regex: normalizeRegEx('^\\/to-nowhere(?:\\/)?$'), From c30f21fa7713015057d06067ee5c7f5270c98fff Mon Sep 17 00:00:00 2001 From: vercel-release-bot Date: Wed, 21 Jun 2023 18:59:34 +0000 Subject: [PATCH 07/10] v13.4.7-canary.3 --- lerna.json | 2 +- packages/create-next-app/package.json | 2 +- packages/eslint-config-next/package.json | 4 ++-- packages/eslint-plugin-next/package.json | 2 +- packages/font/package.json | 2 +- packages/next-bundle-analyzer/package.json | 2 +- packages/next-codemod/package.json | 2 +- packages/next-env/package.json | 2 +- packages/next-mdx/package.json | 2 +- packages/next-plugin-storybook/package.json | 2 +- packages/next-polyfill-module/package.json | 2 +- packages/next-polyfill-nomodule/package.json | 2 +- packages/next-swc/package.json | 2 +- packages/next/package.json | 14 +++++++------- packages/react-dev-overlay/package.json | 2 +- packages/react-refresh-utils/package.json | 2 +- pnpm-lock.yaml | 14 +++++++------- 17 files changed, 30 insertions(+), 30 deletions(-) diff --git a/lerna.json b/lerna.json index 08f43bd01fd4e3c..0d1b546e8ef6740 100644 --- a/lerna.json +++ b/lerna.json @@ -16,5 +16,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "13.4.7-canary.2" + "version": "13.4.7-canary.3" } diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index 93e6d8cc64db1c4..e4849716dbbcc51 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "keywords": [ "react", "next", diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json index 9908f09fa960aad..5b669b937cb643c 100644 --- a/packages/eslint-config-next/package.json +++ b/packages/eslint-config-next/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-next", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "description": "ESLint configuration used by NextJS.", "main": "index.js", "license": "MIT", @@ -10,7 +10,7 @@ }, "homepage": "https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config", "dependencies": { - "@next/eslint-plugin-next": "13.4.7-canary.2", + "@next/eslint-plugin-next": "13.4.7-canary.3", "@rushstack/eslint-patch": "^1.1.3", "@typescript-eslint/parser": "^5.42.0", "eslint-import-resolver-node": "^0.3.6", diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index ae37d65145c9a17..ddafcea84239faa 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "description": "ESLint plugin for NextJS.", "main": "dist/index.js", "license": "MIT", diff --git a/packages/font/package.json b/packages/font/package.json index 5a0577e48574211..910f16aebdea263 100644 --- a/packages/font/package.json +++ b/packages/font/package.json @@ -1,6 +1,6 @@ { "name": "@next/font", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "repository": { "url": "vercel/next.js", "directory": "packages/font" diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index d5b9af46fbaa120..f0a2e8893fd0549 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "main": "index.js", "types": "index.d.ts", "license": "MIT", diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index 3d1a6a798107ac5..89094b6c6992e1e 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "license": "MIT", "repository": { "type": "git", diff --git a/packages/next-env/package.json b/packages/next-env/package.json index 5422eb1e5e8c91e..d4fd1db180c1d98 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index 86e36bb3d560779..4c63341ccdcf999 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index f533f7f6f8a4bd0..db13d85789d893f 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index b0c31b3026bc0be..776443eb4eb2904 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index f72f6dab90e6b41..f2443a9b6a1f50c 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index aebf99ed71778e0..a1e5f29bda30dac 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -1,6 +1,6 @@ { "name": "@next/swc", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "private": true, "scripts": { "clean": "node ../../scripts/rm.mjs native", diff --git a/packages/next/package.json b/packages/next/package.json index 074d8103b3e4c10..2f1deef2dcfdffd 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -83,7 +83,7 @@ ] }, "dependencies": { - "@next/env": "13.4.7-canary.2", + "@next/env": "13.4.7-canary.3", "@swc/helpers": "0.5.1", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", @@ -141,11 +141,11 @@ "@jest/types": "29.5.0", "@napi-rs/cli": "2.14.7", "@napi-rs/triples": "1.1.0", - "@next/polyfill-module": "13.4.7-canary.2", - "@next/polyfill-nomodule": "13.4.7-canary.2", - "@next/react-dev-overlay": "13.4.7-canary.2", - "@next/react-refresh-utils": "13.4.7-canary.2", - "@next/swc": "13.4.7-canary.2", + "@next/polyfill-module": "13.4.7-canary.3", + "@next/polyfill-nomodule": "13.4.7-canary.3", + "@next/react-dev-overlay": "13.4.7-canary.3", + "@next/react-refresh-utils": "13.4.7-canary.3", + "@next/swc": "13.4.7-canary.3", "@opentelemetry/api": "1.4.1", "@segment/ajv-human-errors": "2.1.2", "@taskr/clear": "1.1.0", diff --git a/packages/react-dev-overlay/package.json b/packages/react-dev-overlay/package.json index 41775762ab18b0e..16d74e86dfbcea4 100644 --- a/packages/react-dev-overlay/package.json +++ b/packages/react-dev-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-dev-overlay", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "description": "A development-only overlay for developing React applications.", "repository": { "url": "vercel/next.js", diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json index 34938f9d0c5e860..fd4f16353449b7f 100644 --- a/packages/react-refresh-utils/package.json +++ b/packages/react-refresh-utils/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-refresh-utils", - "version": "13.4.7-canary.2", + "version": "13.4.7-canary.3", "description": "An experimental package providing utilities for React Refresh.", "repository": { "url": "vercel/next.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f7dce7299e94998..a1723a51cd1801d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -426,7 +426,7 @@ importers: packages/eslint-config-next: specifiers: - '@next/eslint-plugin-next': 13.4.7-canary.2 + '@next/eslint-plugin-next': 13.4.7-canary.3 '@rushstack/eslint-patch': ^1.1.3 '@typescript-eslint/parser': ^5.42.0 eslint: ^7.23.0 || ^8.0.0 @@ -503,12 +503,12 @@ importers: '@jest/types': 29.5.0 '@napi-rs/cli': 2.14.7 '@napi-rs/triples': 1.1.0 - '@next/env': 13.4.7-canary.2 - '@next/polyfill-module': 13.4.7-canary.2 - '@next/polyfill-nomodule': 13.4.7-canary.2 - '@next/react-dev-overlay': 13.4.7-canary.2 - '@next/react-refresh-utils': 13.4.7-canary.2 - '@next/swc': 13.4.7-canary.2 + '@next/env': 13.4.7-canary.3 + '@next/polyfill-module': 13.4.7-canary.3 + '@next/polyfill-nomodule': 13.4.7-canary.3 + '@next/react-dev-overlay': 13.4.7-canary.3 + '@next/react-refresh-utils': 13.4.7-canary.3 + '@next/swc': 13.4.7-canary.3 '@opentelemetry/api': 1.4.1 '@segment/ajv-human-errors': 2.1.2 '@swc/helpers': 0.5.1 From c1c3675fc4f62ba61484b29b4e0106b1706264c4 Mon Sep 17 00:00:00 2001 From: Leah Date: Wed, 21 Jun 2023 21:47:21 +0200 Subject: [PATCH 08/10] refactor tests for readability (#51051) You'll probably want to disable whitespace in the diff ## Description This allows for better editor support by using `describe` or functions called `describe` with the same syntax instead of custom names. Changes: - `nextTestSetup` can be used instead of `createNextDescribe` keeping the same behaviour but being called inside a `describe` "block" (not applied everywhere) - `getSnapshotTestDescribe` replaced with a custom `describe.each` - `sandbox` helper function for `acceptance`/`acceptance-app` merged into a single shared one - `outdent` to remove the indent from inline files in tests which helps with consistent snapshots --- package.json | 1 + pnpm-lock.yaml | 6 + .../acceptance-app/ReactRefresh.test.ts | 47 +- .../ReactRefreshLogBox-builtins.test.ts | 283 ++-- .../ReactRefreshLogBox-scss.test.ts | 29 +- .../acceptance-app/ReactRefreshLogBox.test.ts | 1170 ++++++++--------- .../ReactRefreshLogBoxMisc.test.ts | 44 +- .../acceptance-app/ReactRefreshModule.test.ts | 37 +- .../ReactRefreshRegression.test.ts | 75 +- .../ReactRefreshRequire.test.ts | 85 +- .../ReactRefreshLogBox-builtins.test.ts.snap | 30 +- .../ReactRefreshLogBox.test.ts.snap | 67 +- .../acceptance-app/app-hmr-changes.test.ts | 76 +- .../acceptance-app/component-stack.test.ts | 91 +- .../acceptance-app/dynamic-error.test.ts | 53 +- .../acceptance-app/editor-links.test.ts | 231 ++-- .../acceptance-app/error-message-url.test.ts | 104 +- .../acceptance-app/error-recovery.test.ts | 677 +++++----- .../acceptance-app/hydration-error.test.ts | 344 ++--- .../acceptance-app/invalid-imports.test.ts | 267 ++-- .../acceptance-app/rsc-build-errors.test.ts | 730 +++++----- .../acceptance-app/server-components.test.ts | 902 ++++++------- .../acceptance-app/version-staleness.test.ts | 217 ++- .../acceptance/ReactRefresh.test.ts | 40 +- .../ReactRefreshLogBox-app-doc.test.ts | 245 ++-- .../ReactRefreshLogBox-builtins.test.ts | 290 ++-- .../ReactRefreshLogBox-scss.test.ts | 23 +- .../acceptance/ReactRefreshLogBox.test.ts | 857 ++++++------ .../acceptance/ReactRefreshLogBoxMisc.test.ts | 36 +- .../acceptance/ReactRefreshModule.test.ts | 19 +- .../acceptance/ReactRefreshRegression.test.ts | 128 +- .../acceptance/ReactRefreshRequire.test.ts | 17 +- .../ReactRefreshLogBox-builtins.test.ts.snap | 26 +- .../ReactRefreshLogBox.test.ts.snap | 49 +- .../__snapshots__/error-recovery.test.ts.snap | 16 +- .../acceptance/component-stack.test.ts | 92 +- .../acceptance/error-recovery.test.ts | 494 ++++--- .../fixtures/default-template/index.js | 1 + .../fixtures/default-template/next.config.js | 1 + .../fixtures/default-template/pages/index.js | 1 + test/development/acceptance/helpers.ts | 141 -- .../acceptance/hydration-error.test.ts | 66 +- ...component-compiler-errors-in-pages.test.ts | 151 +-- .../middleware-warnings/index.test.ts | 95 +- .../helpers.ts => lib/development-sandbox.ts} | 53 +- test/lib/e2e-utils.ts | 115 +- test/lib/next-test-utils.js | 26 +- tsconfig.json | 1 + 48 files changed, 4189 insertions(+), 4360 deletions(-) create mode 100644 test/development/acceptance/fixtures/default-template/index.js create mode 100644 test/development/acceptance/fixtures/default-template/next.config.js create mode 100644 test/development/acceptance/fixtures/default-template/pages/index.js delete mode 100644 test/development/acceptance/helpers.ts rename test/{development/acceptance-app/helpers.ts => lib/development-sandbox.ts} (78%) diff --git a/package.json b/package.json index 62d7fdd69afbaf0..974d2c2c4e70bfa 100644 --- a/package.json +++ b/package.json @@ -169,6 +169,7 @@ "npm-run-all": "4.1.5", "nprogress": "0.2.0", "open": "9.0.0", + "outdent": "0.8.0", "pixrem": "5.0.0", "playwright-chromium": "1.28.1", "plop": "3.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a1723a51cd1801d..d538c857cf38101 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -128,6 +128,7 @@ importers: npm-run-all: 4.1.5 nprogress: 0.2.0 open: 9.0.0 + outdent: 0.8.0 pixrem: 5.0.0 playwright-chromium: 1.28.1 plop: 3.0.5 @@ -295,6 +296,7 @@ importers: npm-run-all: 4.1.5 nprogress: 0.2.0 open: 9.0.0 + outdent: 0.8.0 pixrem: 5.0.0 playwright-chromium: 1.28.1 plop: 3.0.5 @@ -18878,6 +18880,10 @@ packages: os-tmpdir: 1.0.2 dev: true + /outdent/0.8.0: + resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} + dev: true + /p-cancelable/0.3.0: resolution: {integrity: sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==} engines: {node: '>=4'} diff --git a/test/development/acceptance-app/ReactRefresh.test.ts b/test/development/acceptance-app/ReactRefresh.test.ts index fafd38c09b6bb1e..cad69548c4f6439 100644 --- a/test/development/acceptance-app/ReactRefresh.test.ts +++ b/test/development/acceptance-app/ReactRefresh.test.ts @@ -1,29 +1,24 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext, FileRef } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' describe('ReactRefresh app', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, }) - afterAll(() => next.destroy()) test('can edit a component without losing state', async () => { const { session, cleanup } = await sandbox(next) await session.patch( 'index.js', - ` + outdent` import { useCallback, useState } from 'react' export default function Index() { const [count, setCount] = useState(0) @@ -43,7 +38,7 @@ describe('ReactRefresh app', () => { ).toBe('1') await session.patch( 'index.js', - ` + outdent` import { useCallback, useState } from 'react' export default function Index() { const [count, setCount] = useState(0) @@ -72,7 +67,7 @@ describe('ReactRefresh app', () => { await session.write( 'NudgeOverview.js', - ` + outdent` import * as React from 'react'; import { foo } from './routes'; @@ -88,7 +83,7 @@ describe('ReactRefresh app', () => { await session.write( 'SurveyOverview.js', - ` + outdent` const SurveyOverview = () => { return 100; }; @@ -99,7 +94,7 @@ describe('ReactRefresh app', () => { await session.write( 'Milestones.js', - ` + outdent` import React from 'react'; import { fragment } from './DashboardPage'; @@ -115,7 +110,7 @@ describe('ReactRefresh app', () => { await session.write( 'DashboardPage.js', - ` + outdent` import React from 'react'; import Milestones from './Milestones'; @@ -140,7 +135,7 @@ describe('ReactRefresh app', () => { await session.write( 'routes.js', - ` + outdent` import DashboardPage from './DashboardPage'; export const foo = {}; @@ -154,7 +149,7 @@ describe('ReactRefresh app', () => { await session.patch( 'index.js', - ` + outdent` import * as React from 'react'; import DashboardPage from './routes'; @@ -173,7 +168,7 @@ describe('ReactRefresh app', () => { let didFullRefresh = !(await session.patch( 'SurveyOverview.js', - ` + outdent` const SurveyOverview = () => { return 200; }; @@ -189,7 +184,7 @@ describe('ReactRefresh app', () => { didFullRefresh = !(await session.patch( 'index.js', - ` + outdent` import * as React from 'react'; import DashboardPage from './routes'; @@ -209,7 +204,7 @@ describe('ReactRefresh app', () => { didFullRefresh = !(await session.patch( 'SurveyOverview.js', - ` + outdent` const SurveyOverview = () => { return 300; }; diff --git a/test/development/acceptance-app/ReactRefreshLogBox-builtins.test.ts b/test/development/acceptance-app/ReactRefreshLogBox-builtins.test.ts index f2f952c6825600b..2bfdd40e93c3e42 100644 --- a/test/development/acceptance-app/ReactRefreshLogBox-builtins.test.ts +++ b/test/development/acceptance-app/ReactRefreshLogBox-builtins.test.ts @@ -1,151 +1,146 @@ -import { sandbox } from './helpers' -import { createNext, FileRef } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' -import { getSnapshotTestDescribe } from 'next-test-utils' +import { describeVariants as describe } from 'next-test-utils' +import { outdent } from 'outdent' // TODO-APP: Investigate snapshot mismatch -for (const variant of ['default', 'turbo']) { - getSnapshotTestDescribe(variant)(`ReactRefreshLogBox app ${variant}`, () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef( - path.join(__dirname, 'fixtures', 'default-template') - ), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, - }) - }) - afterAll(() => next.destroy()) - - // Module trace is only available with webpack 5 - test('Node.js builtins', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const dns = require('dns') - module.exports = dns - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - ]) - ) - - await session.patch( - 'index.js', - ` - import pkg from 'my-package' - - export default function Hello() { - return (pkg ?

Package loaded

:

Package did not load

) - } - ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() - - await cleanup() - }) - - test('Module not found', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - `import Comp from 'b' - export default function Oops() { - return ( -
- lol -
- ) - } - ` - ) - - expect(await session.hasRedbox(true)).toBe(true) - - const source = await session.getRedboxSource() - expect(source).toMatchSnapshot() - - await cleanup() - }) - - test('Module not found empty import trace', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'app/page.js', - `'use client' - import Comp from 'b' - export default function Oops() { - return ( -
- lol -
- ) - } - ` - ) - - expect(await session.hasRedbox(true)).toBe(true) - - const source = await session.getRedboxSource() - expect(source).toMatchSnapshot() - - await cleanup() - }) - - test('Module not found missing global CSS', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - `'use client' - import './non-existent.css' +describe.each(['default', 'turbo'])('ReactRefreshLogBox app %s', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, + }) + + // Module trace is only available with webpack 5 + test('Node.js builtins', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const dns = require('dns') + module.exports = dns + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + ]) + ) + + await session.patch( + 'index.js', + outdent` + import pkg from 'my-package' + + export default function Hello() { + return (pkg ?

Package loaded

:

Package did not load

) + } + ` + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() + + await cleanup() + }) + + test('Module not found', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'index.js', + outdent` + import Comp from 'b' + export default function Oops() { + return ( +
+ lol +
+ ) + } + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + + const source = await session.getRedboxSource() + expect(source).toMatchSnapshot() + + await cleanup() + }) + + test('Module not found empty import trace', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'app/page.js', + outdent` + 'use client' + import Comp from 'b' + export default function Oops() { + return ( +
+ lol +
+ ) + } + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + + const source = await session.getRedboxSource() + expect(source).toMatchSnapshot() + + await cleanup() + }) + + test('Module not found missing global CSS', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' + import './non-existent.css' + export default function Page(props) { + return

index page

+ } + `, + ], + ]) + ) + expect(await session.hasRedbox(true)).toBe(true) + + const source = await session.getRedboxSource() + expect(source).toMatchSnapshot() + + await session.patch( + 'app/page.js', + outdent` + 'use client' export default function Page(props) { return

index page

} - `, - ], - ]) - ) - expect(await session.hasRedbox(true)).toBe(true) - - const source = await session.getRedboxSource() - expect(source).toMatchSnapshot() - - await session.patch( - 'app/page.js', - `'use client' - export default function Page(props) { - return

index page

- } - ` - ) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.documentElement.innerHTML) - ).toContain('index page') - - await cleanup() - }) + ` + ) + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.documentElement.innerHTML) + ).toContain('index page') + + await cleanup() }) -} +}) diff --git a/test/development/acceptance-app/ReactRefreshLogBox-scss.test.ts b/test/development/acceptance-app/ReactRefreshLogBox-scss.test.ts index 2524348db8e8270..b2ce9f861b7da31 100644 --- a/test/development/acceptance-app/ReactRefreshLogBox-scss.test.ts +++ b/test/development/acceptance-app/ReactRefreshLogBox-scss.test.ts @@ -1,24 +1,19 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext, FileRef } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' describe('ReactRefreshLogBox app', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), - skipStart: true, - dependencies: { - sass: 'latest', - react: 'latest', - 'react-dom': 'latest', - }, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + sass: 'latest', + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, }) - afterAll(() => next.destroy()) test('scss syntax errors', async () => { const { session, cleanup } = await sandbox(next) @@ -26,7 +21,7 @@ describe('ReactRefreshLogBox app', () => { await session.write('index.module.scss', `.button { font-size: 5px; }`) await session.patch( 'index.js', - ` + outdent` import './index.module.scss'; export default () => { return ( diff --git a/test/development/acceptance-app/ReactRefreshLogBox.test.ts b/test/development/acceptance-app/ReactRefreshLogBox.test.ts index f6f7e6b51d02b0d..ba71baa42f42fd8 100644 --- a/test/development/acceptance-app/ReactRefreshLogBox.test.ts +++ b/test/development/acceptance-app/ReactRefreshLogBox.test.ts @@ -1,34 +1,26 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext, FileRef } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' -import { check, getSnapshotTestDescribe } from 'next-test-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { check, describeVariants as describe } from 'next-test-utils' import path from 'path' +import { outdent } from 'outdent' + +describe.each(['default', 'turbo'])('ReactRefreshLogBox app %s', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, + }) -for (const variant of ['default', 'turbo']) { - getSnapshotTestDescribe(variant)(`ReactRefreshLogBox app ${variant}`, () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef( - path.join(__dirname, 'fixtures', 'default-template') - ), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, - }) - }) - afterAll(() => next.destroy()) - - test('should strip whitespace correctly with newline', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - ` + test('should strip whitespace correctly with newline', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'index.js', + outdent` export default function Page() { return ( <> @@ -44,24 +36,24 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - await session.evaluate(() => document.querySelector('a').click()) + ) + await session.evaluate(() => document.querySelector('a').click()) - await session.waitForAndOpenRuntimeError() - expect(await session.getRedboxSource()).toMatchSnapshot() + await session.waitForAndOpenRuntimeError() + expect(await session.getRedboxSource()).toMatchSnapshot() - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137807 - test('module init error not shown', async () => { - // Start here: - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137807 + test('module init error not shown', async () => { + // Start here: + const { session, cleanup } = await sandbox(next) - // We start here. - await session.patch( - 'index.js', - ` + // We start here. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { render() { @@ -70,16 +62,16 @@ for (const variant of ['default', 'turbo']) { } export default ClassDefault; ` - ) + ) - expect( - await session.evaluate(() => document.querySelector('h1').textContent) - ).toBe('Default Export') + expect( + await session.evaluate(() => document.querySelector('h1').textContent) + ).toBe('Default Export') - // Add a throw in module init phase: - await session.patch( - 'index.js', - ` + // Add a throw in module init phase: + await session.patch( + 'index.js', + outdent` // top offset for snapshot import * as React from 'react'; throw new Error('no') @@ -90,33 +82,33 @@ for (const variant of ['default', 'turbo']) { } export default ClassDefault; ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - if (process.platform === 'win32') { - expect(await session.getRedboxSource()).toMatchSnapshot() - } else { - expect(await session.getRedboxSource()).toMatchSnapshot() - } + expect(await session.hasRedbox(true)).toBe(true) + if (process.platform === 'win32') { + expect(await session.getRedboxSource()).toMatchSnapshot() + } else { + expect(await session.getRedboxSource()).toMatchSnapshot() + } - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554152127 - test('boundaries', async () => { - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554152127 + test('boundaries', async () => { + const { session, cleanup } = await sandbox(next) - await session.write( - 'FunctionDefault.js', - ` + await session.write( + 'FunctionDefault.js', + outdent` export default function FunctionDefault() { return

hello

} ` - ) - await session.patch( - 'index.js', - ` + ) + await session.patch( + 'index.js', + outdent` import FunctionDefault from './FunctionDefault.js' import * as React from 'react' class ErrorBoundary extends React.Component { @@ -146,58 +138,59 @@ for (const variant of ['default', 'turbo']) { } export default App; ` - ) + ) - expect( - await session.evaluate(() => document.querySelector('h2').textContent) - ).toBe('hello') + expect( + await session.evaluate(() => document.querySelector('h2').textContent) + ).toBe('hello') - await session.write( - 'FunctionDefault.js', - `export default function FunctionDefault() { throw new Error('no'); }` - ) + await session.write( + 'FunctionDefault.js', + `export default function FunctionDefault() { throw new Error('no'); }` + ) - await session.waitForAndOpenRuntimeError() - expect(await session.getRedboxSource()).toMatchSnapshot() - expect( - await session.evaluate(() => document.querySelector('h2').textContent) - ).toBe('error') + await session.waitForAndOpenRuntimeError() + expect(await session.getRedboxSource()).toMatchSnapshot() + expect( + await session.evaluate(() => document.querySelector('h2').textContent) + ).toBe('error') - await cleanup() - }) + await cleanup() + }) - // TODO: investigate why this fails when running outside of the Next.js - // monorepo e.g. fails when using yarn create next-app - // https://github.com/vercel/next.js/pull/23203 - test.skip('internal package errors', async () => { - const { session, cleanup } = await sandbox(next) + // TODO: investigate why this fails when running outside of the Next.js + // monorepo e.g. fails when using yarn create next-app + // https://github.com/vercel/next.js/pull/23203 + test.skip('internal package errors', async () => { + const { session, cleanup } = await sandbox(next) - // Make a react build-time error. - await session.patch( - 'index.js', - ` + // Make a react build-time error. + await session.patch( + 'index.js', + outdent` export default function FunctionNamed() { return
{{}}
- }` - ) + } + ` + ) - expect(await session.hasRedbox(true)).toBe(true) - // We internally only check the script path, not including the line number - // and error message because the error comes from an external library. - // This test ensures that the errored script path is correctly resolved. - expect(await session.getRedboxSource()).toContain( - `../../../../packages/next/dist/pages/_document.js` - ) + expect(await session.hasRedbox(true)).toBe(true) + // We internally only check the script path, not including the line number + // and error message because the error comes from an external library. + // This test ensures that the errored script path is correctly resolved. + expect(await session.getRedboxSource()).toContain( + `../../../../packages/next/dist/pages/_document.js` + ) - await cleanup() - }) + await cleanup() + }) - test('unterminated JSX', async () => { - const { session, cleanup } = await sandbox(next) + test('unterminated JSX', async () => { + const { session, cleanup } = await sandbox(next) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` export default () => { return (
@@ -206,13 +199,13 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(false)).toBe(false) + expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` export default () => { return (
@@ -221,31 +214,30 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) + expect(await session.hasRedbox(true)).toBe(true) - const source = await session.getRedboxSource() - expect(next.normalizeTestDirContent(source)).toMatchInlineSnapshot( - next.normalizeSnapshot(` + const source = await session.getRedboxSource() + expect(next.normalizeTestDirContent(source)).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./index.js Error: x Unexpected token. Did you mean \`{'}'}\` or \`}\`? - ,-[TEST_DIR/index.js:5:1] - 5 |

lol

- 6 | div - 7 | ) - 8 | } - : ^ - 9 | + ,-[TEST_DIR/index.js:4:1] + 4 |

lol

+ 5 | div + 6 | ) + 7 | } + : ^ \`---- x Unexpected eof - ,-[TEST_DIR/index.js:6:1] - 6 | div - 7 | ) - 8 | } - 9 | + ,-[TEST_DIR/index.js:4:1] + 4 |

lol

+ 5 | div + 6 | ) + 7 | } \`---- Caused by: @@ -255,27 +247,27 @@ for (const variant of ['default', 'turbo']) { ./index.js ./app/page.js" `) - ) + ) - await cleanup() - }) + await cleanup() + }) - // Module trace is only available with webpack 5 - test('conversion to class component (1)', async () => { - const { session, cleanup } = await sandbox(next) + // Module trace is only available with webpack 5 + test('conversion to class component (1)', async () => { + const { session, cleanup } = await sandbox(next) - await session.write( - 'Child.js', - ` + await session.write( + 'Child.js', + outdent` export default function ClickCount() { return

hello

} ` - ) + ) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import Child from './Child'; export default function Home() { @@ -286,16 +278,16 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('hello') + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('hello') - await session.patch( - 'Child.js', - ` + await session.patch( + 'Child.js', + outdent` import { Component } from 'react'; export default class ClickCount extends Component { render() { @@ -303,38 +295,38 @@ for (const variant of ['default', 'turbo']) { } } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() - await session.patch( - 'Child.js', - ` - import { Component } from 'react'; + await session.patch( + 'Child.js', + outdent` + import { Component } from 'react'; export default class ClickCount extends Component { render() { return

hello new

} } ` - ) + ) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('hello new') + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('hello new') - await cleanup() - }) + await cleanup() + }) - test('css syntax errors', async () => { - const { session, cleanup } = await sandbox(next) + test('css syntax errors', async () => { + const { session, cleanup } = await sandbox(next) - await session.write('index.module.css', `.button {}`) - await session.patch( - 'index.js', - ` + await session.write('index.module.css', `.button {}`) + await session.patch( + 'index.js', + outdent` import './index.module.css'; export default () => { return ( @@ -344,35 +336,35 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - expect(await session.hasRedbox(false)).toBe(false) - - // Syntax error - await session.patch('index.module.css', `.button {`) - expect(await session.hasRedbox(true)).toBe(true) - const source = await session.getRedboxSource() - expect(source).toMatch('./index.module.css (1:1)') - expect(source).toMatch('Syntax error: ') - expect(source).toMatch('Unclosed block') - expect(source).toMatch('> 1 | .button {') - expect(source).toMatch(' | ^') - - // Not local error - await session.patch('index.module.css', `button {}`) - expect(await session.hasRedbox(true)).toBe(true) - const source2 = await session.getRedboxSource() - expect(source2).toMatchSnapshot() + ) - await cleanup() - }) + expect(await session.hasRedbox(false)).toBe(false) + + // Syntax error + await session.patch('index.module.css', `.button {`) + expect(await session.hasRedbox(true)).toBe(true) + const source = await session.getRedboxSource() + expect(source).toMatch('./index.module.css (1:1)') + expect(source).toMatch('Syntax error: ') + expect(source).toMatch('Unclosed block') + expect(source).toMatch('> 1 | .button {') + expect(source).toMatch(' | ^') + + // Not local error + await session.patch('index.module.css', `button {}`) + expect(await session.hasRedbox(true)).toBe(true) + const source2 = await session.getRedboxSource() + expect(source2).toMatchSnapshot() + + await cleanup() + }) - test('logbox: anchors links in error messages', async () => { - const { session, cleanup } = await sandbox(next) + test('logbox: anchors links in error messages', async () => { + const { session, cleanup } = await sandbox(next) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -386,38 +378,38 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - await session.evaluate(() => document.querySelector('button').click()) - await session.waitForAndOpenRuntimeError() + ) - const header = await session.getRedboxDescription() - expect(header).toMatchSnapshot() - expect( - await session.evaluate( - () => + await session.evaluate(() => document.querySelector('button').click()) + await session.waitForAndOpenRuntimeError() + + const header = await session.getRedboxDescription() + expect(header).toMatchSnapshot() + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(1) + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(1) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -431,38 +423,38 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - await session.evaluate(() => document.querySelector('button').click()) - await session.waitForAndOpenRuntimeError() + ) - const header2 = await session.getRedboxDescription() - expect(header2).toMatchSnapshot() - expect( - await session.evaluate( - () => + await session.evaluate(() => document.querySelector('button').click()) + await session.waitForAndOpenRuntimeError() + + const header2 = await session.getRedboxDescription() + expect(header2).toMatchSnapshot() + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(1) + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(1) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -476,38 +468,38 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - await session.evaluate(() => document.querySelector('button').click()) - await session.waitForAndOpenRuntimeError() + ) - const header3 = await session.getRedboxDescription() - expect(header3).toMatchSnapshot() - expect( - await session.evaluate( - () => + await session.evaluate(() => document.querySelector('button').click()) + await session.waitForAndOpenRuntimeError() + + const header3 = await session.getRedboxDescription() + expect(header3).toMatchSnapshot() + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(1) + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(1) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -521,59 +513,59 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - await session.evaluate(() => document.querySelector('button').click()) - await session.waitForAndOpenRuntimeError() + await session.evaluate(() => document.querySelector('button').click()) + await session.waitForAndOpenRuntimeError() - const header4 = await session.getRedboxDescription() - expect(header4).toMatchInlineSnapshot( - `"Error: multiple http://nextjs.org links http://example.com"` - ) - expect( - await session.evaluate( - () => + const header4 = await session.getRedboxDescription() + expect(header4).toMatchInlineSnapshot( + `"Error: multiple http://nextjs.org links http://example.com"` + ) + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(2) + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(2) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(2)' - ) as any - ).href - ) - ).toMatchSnapshot() + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() + expect( + await session.evaluate( + () => + ( + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(2)' + ) as any + ).href + ) + ).toMatchSnapshot() - await cleanup() - }) + await cleanup() + }) - // TODO-APP: Catch errors that happen before useEffect - test.skip('non-Error errors are handled properly', async () => { - const { session, cleanup } = await sandbox(next) + // TODO-APP: Catch errors that happen before useEffect + test.skip('non-Error errors are handled properly', async () => { + const { session, cleanup } = await sandbox(next) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` export default () => { throw {'a': 1, 'b': 'x'}; return ( @@ -581,28 +573,28 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toMatchInlineSnapshot( - `"Error: {\\"a\\":1,\\"b\\":\\"x\\"}"` - ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toMatchInlineSnapshot( + `"Error: {\\"a\\":1,\\"b\\":\\"x\\"}"` + ) - // fix previous error - await session.patch( - 'index.js', - ` + // fix previous error + await session.patch( + 'index.js', + outdent` export default () => { return (
hello
) } ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await session.patch( + 'index.js', + outdent` class Hello {} export default () => { @@ -612,27 +604,27 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toContain( - `Error: class Hello {` - ) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toContain( + `Error: class Hello {` + ) - // fix previous error - await session.patch( - 'index.js', - ` + // fix previous error + await session.patch( + 'index.js', + outdent` export default () => { return (
hello
) } ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await session.patch( + 'index.js', + outdent` export default () => { throw "string error" return ( @@ -640,27 +632,27 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toMatchInlineSnapshot( - `"Error: string error"` - ) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toMatchInlineSnapshot( + `"Error: string error"` + ) - // fix previous error - await session.patch( - 'index.js', - ` + // fix previous error + await session.patch( + 'index.js', + outdent` export default () => { return (
hello
) } ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await session.patch( + 'index.js', + outdent` export default () => { throw null return ( @@ -668,218 +660,217 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toContain( - `Error: A null error was thrown` - ) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toContain( + `Error: A null error was thrown` + ) - await cleanup() - }) + await cleanup() + }) - test('Should not show __webpack_exports__ when exporting anonymous arrow function', async () => { - const { session, cleanup } = await sandbox(next) + test('Should not show __webpack_exports__ when exporting anonymous arrow function', async () => { + const { session, cleanup } = await sandbox(next) - await session.patch( - 'index.js', - ` - export default () => { - if (typeof window !== 'undefined') { - throw new Error('test') - } - - return null - } + await session.patch( + 'index.js', + outdent` + export default () => { + if (typeof window !== 'undefined') { + throw new Error('test') + } + return null + } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() - await cleanup() - }) - - test('Unhandled errors and rejections opens up in the minimized state', async () => { - const { session, browser, cleanup } = await sandbox(next) - - const file = ` - export default function Index() { - // - setTimeout(() => { - throw new Error('Unhandled error') - }, 0) - setTimeout(() => { - Promise.reject(new Error('Undhandled rejection')) - }, 0) - return ( - <> - - - - ) - } + await cleanup() + }) + + test('Unhandled errors and rejections opens up in the minimized state', async () => { + const { session, browser, cleanup } = await sandbox(next) + + const file = outdent` + export default function Index() { + // + setTimeout(() => { + throw new Error('Unhandled error') + }, 0) + setTimeout(() => { + Promise.reject(new Error('Undhandled rejection')) + }, 0) + return ( + <> + + + + ) + } ` - await session.patch('index.js', file) + await session.patch('index.js', file) - // Unhandled error and rejection in setTimeout - expect( - await browser.waitForElementByCss('.nextjs-toast-errors').text() - ).toBe('2 errors') + // Unhandled error and rejection in setTimeout + expect( + await browser.waitForElementByCss('.nextjs-toast-errors').text() + ).toBe('2 errors') - // Unhandled error in event handler - await browser.elementById('unhandled-error').click() - await check( - () => browser.elementByCss('.nextjs-toast-errors').text(), - /3 errors/ - ) + // Unhandled error in event handler + await browser.elementById('unhandled-error').click() + await check( + () => browser.elementByCss('.nextjs-toast-errors').text(), + /3 errors/ + ) - // Unhandled rejection in event handler - await browser.elementById('unhandled-rejection').click() - await check( - () => browser.elementByCss('.nextjs-toast-errors').text(), - /4 errors/ - ) - expect(await session.hasRedbox(false)).toBe(false) + // Unhandled rejection in event handler + await browser.elementById('unhandled-rejection').click() + await check( + () => browser.elementByCss('.nextjs-toast-errors').text(), + /4 errors/ + ) + expect(await session.hasRedbox(false)).toBe(false) - // Add Component error - await session.patch( - 'index.js', - file.replace( - '//', - "if (typeof window !== 'undefined') throw new Error('Component error')" - ) + // Add Component error + await session.patch( + 'index.js', + file.replace( + '//', + "if (typeof window !== 'undefined') throw new Error('Component error')" ) + ) - // Render error should "win" and show up in fullscreen - expect(await session.hasRedbox(true)).toBe(true) + // Render error should "win" and show up in fullscreen + expect(await session.hasRedbox(true)).toBe(true) - await cleanup() - }) - - test.each([['server'], ['client']])( - 'Call stack count is correct for %s error', - async (pageType: string) => { - const fixture = - pageType === 'server' - ? new Map([ - [ - 'app/page.js', - ` - export default function Page() { - throw new Error('Server error') - } -`, - ], - ]) - : new Map([ - [ - 'app/page.js', - ` - 'use client' - export default function Page() { - if (typeof window !== 'undefined') { - throw new Error('Client error') - } - return null - } -`, - ], - ]) - - const { session, browser, cleanup } = await sandbox(next, fixture) + await cleanup() + }) - const getCallStackCount = async () => - (await browser.elementsByCss('[data-nextjs-call-stack-frame]')).length + test.each(['server', 'client'])( + 'Call stack count is correct for %s error', + async (pageType) => { + const fixture = + pageType === 'server' + ? new Map([ + [ + 'app/page.js', + outdent` + export default function Page() { + throw new Error('Server error') + } + `, + ], + ]) + : new Map([ + [ + 'app/page.js', + outdent` + 'use client' + export default function Page() { + if (typeof window !== 'undefined') { + throw new Error('Client error') + } + return null + } + `, + ], + ]) + + const { session, browser, cleanup } = await sandbox(next, fixture) + + const getCallStackCount = async () => + (await browser.elementsByCss('[data-nextjs-call-stack-frame]')).length - expect(await session.hasRedbox(true)).toBe(true) + expect(await session.hasRedbox(true)).toBe(true) - // Open full Call Stack - await browser - .elementByCss('[data-nextjs-data-runtime-error-collapsed-action]') - .click() + // Open full Call Stack + await browser + .elementByCss('[data-nextjs-data-runtime-error-collapsed-action]') + .click() - // Expect more than the default amount of frames - // The default stackTraceLimit results in max 9 [data-nextjs-call-stack-frame] elements - expect(await getCallStackCount()).toBeGreaterThan(9) + // Expect more than the default amount of frames + // The default stackTraceLimit results in max 9 [data-nextjs-call-stack-frame] elements + expect(await getCallStackCount()).toBeGreaterThan(9) - await cleanup() - } + await cleanup() + } + ) + + test('Server component errors should open up in fullscreen', async () => { + const { session, browser, cleanup } = await sandbox( + next, + new Map([ + // Start with error + [ + 'app/page.js', + outdent` + export default function Page() { + throw new Error('Server component error') + return

Hello world

+ } + `, + ], + ]) ) + expect(await session.hasRedbox(true)).toBe(true) - test('Server component errors should open up in fullscreen', async () => { - const { session, browser, cleanup } = await sandbox( - next, - new Map([ - // Start with error - [ - 'app/page.js', - ` + // Remove error + await session.patch( + 'app/page.js', + outdent` export default function Page() { - throw new Error('Server component error') return

Hello world

} - `, - ], - ]) - ) - expect(await session.hasRedbox(true)).toBe(true) - - // Remove error - await session.patch( - 'app/page.js', - ` - export default function Page() { - return

Hello world

- } ` - ) - expect(await browser.waitForElementByCss('#text').text()).toBe( - 'Hello world' - ) - expect(await session.hasRedbox(false)).toBe(false) + ) + expect(await browser.waitForElementByCss('#text').text()).toBe( + 'Hello world' + ) + expect(await session.hasRedbox(false)).toBe(false) - // Re-add error - await session.patch( - 'app/page.js', - ` - export default function Page() { - throw new Error('Server component error!') - return

Hello world

- } + // Re-add error + await session.patch( + 'app/page.js', + outdent` + export default function Page() { + throw new Error('Server component error!') + return

Hello world

+ } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) + expect(await session.hasRedbox(true)).toBe(true) - await cleanup() - }) + await cleanup() + }) - test('Import trace when module not found in layout', async () => { - const { session, cleanup } = await sandbox( - next, + test('Import trace when module not found in layout', async () => { + const { session, cleanup } = await sandbox( + next, - new Map([['app/module.js', `import "non-existing-module"`]]) - ) + new Map([['app/module.js', `import "non-existing-module"`]]) + ) - await session.patch( - 'app/layout.js', - ` + await session.patch( + 'app/layout.js', + outdent` import "./module" export default function RootLayout({ children }) { @@ -890,28 +881,27 @@ for (const variant of ['default', 'turbo']) { ) } - - ` - ) + ` + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() - await cleanup() - }) - - test("Can't resolve @import in CSS file", async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - ['app/styles1.css', '@import "./styles2.css"'], - ['app/styles2.css', '@import "./boom.css"'], - ]) - ) + await cleanup() + }) + + test("Can't resolve @import in CSS file", async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + ['app/styles1.css', '@import "./styles2.css"'], + ['app/styles2.css', '@import "./boom.css"'], + ]) + ) - await session.patch( - 'app/layout.js', - ` + await session.patch( + 'app/layout.js', + outdent` import "./styles1.css" export default function RootLayout({ children }) { @@ -922,31 +912,29 @@ for (const variant of ['default', 'turbo']) { ) } - - ` - ) + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() + + await cleanup() + }) + test.each([['server'], ['client']])( + '%s component can recover from error thrown in the module', + async (type: string) => { + const { session, cleanup } = await sandbox(next, undefined, '/' + type) + + await next.patchFile('index.js', "throw new Error('module error')") expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() + await next.patchFile( + 'index.js', + 'export default function Page() {return

hello world

}' + ) + expect(await session.hasRedbox(false)).toBe(false) await cleanup() - }) - - test.each([['server'], ['client']])( - '%s component can recover from error thrown in the module', - async (type: string) => { - const { session, cleanup } = await sandbox(next, undefined, '/' + type) - - await next.patchFile('index.js', "throw new Error('module error')") - expect(await session.hasRedbox(true)).toBe(true) - await next.patchFile( - 'index.js', - 'export default function Page() {return

hello world

}' - ) - expect(await session.hasRedbox(false)).toBe(false) - - await cleanup() - } - ) - }) -} + } + ) +}) diff --git a/test/development/acceptance-app/ReactRefreshLogBoxMisc.test.ts b/test/development/acceptance-app/ReactRefreshLogBoxMisc.test.ts index 6e8b1deb48ff42e..144b487e6239074 100644 --- a/test/development/acceptance-app/ReactRefreshLogBoxMisc.test.ts +++ b/test/development/acceptance-app/ReactRefreshLogBoxMisc.test.ts @@ -1,31 +1,26 @@ -import { sandbox } from './helpers' -import { createNext, FileRef } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' // TODO: re-enable these tests after figuring out what is causing // them to be so unreliable in CI describe.skip('ReactRefreshLogBox app', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, }) - afterAll(() => next.destroy()) test(' with multiple children', async () => { const { session, cleanup } = await sandbox(next) await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Index() { @@ -64,7 +59,7 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -80,7 +75,7 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -92,7 +87,7 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -116,7 +111,7 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -140,7 +135,7 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -164,7 +159,7 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -189,7 +184,7 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -220,7 +215,8 @@ describe.skip('ReactRefreshLogBox app', () => { await session.patch( 'app/page.js', - `'use client' + outdent` + 'use client' import myLibrary from 'my-non-existent-library' export async function getStaticProps() { return { diff --git a/test/development/acceptance-app/ReactRefreshModule.test.ts b/test/development/acceptance-app/ReactRefreshModule.test.ts index ba562fe1908eed5..59f629e2a924af7 100644 --- a/test/development/acceptance-app/ReactRefreshModule.test.ts +++ b/test/development/acceptance-app/ReactRefreshModule.test.ts @@ -1,22 +1,17 @@ -import { createNext, FileRef } from 'e2e-utils' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' -import { NextInstance } from 'test/lib/next-modes/base' -import { sandbox } from './helpers' +import { sandbox } from 'development-sandbox' +import { outdent } from 'outdent' describe('ReactRefreshModule app', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, }) - afterAll(() => next.destroy()) it('should allow any variable names', async () => { const { session, cleanup } = await sandbox(next, new Map([])) @@ -33,11 +28,13 @@ describe('ReactRefreshModule app', () => { for await (const variable of variables) { await session.patch( 'app/page.js', - `'use client' - import { default as ${variable} } from 'next/link' - export default function Page() { - return null - }` + outdent` + 'use client' + import { default as ${variable} } from 'next/link' + export default function Page() { + return null + } + ` ) expect(await session.hasRedbox(false)).toBe(false) expect(next.cliOutput).not.toContain( diff --git a/test/development/acceptance-app/ReactRefreshRegression.test.ts b/test/development/acceptance-app/ReactRefreshRegression.test.ts index 6c51fc3c442b92f..947ef8cd8bd3c52 100644 --- a/test/development/acceptance-app/ReactRefreshRegression.test.ts +++ b/test/development/acceptance-app/ReactRefreshRegression.test.ts @@ -1,27 +1,22 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext, FileRef } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' import { check } from 'next-test-utils' +import { outdent } from 'outdent' describe('ReactRefreshRegression app', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), - skipStart: true, - dependencies: { - 'styled-components': '5.1.0', - '@next/mdx': 'canary', - '@mdx-js/loader': '0.18.0', - react: 'latest', - 'react-dom': 'latest', - }, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + 'styled-components': '5.1.0', + '@next/mdx': 'canary', + '@mdx-js/loader': '0.18.0', + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, }) - afterAll(() => next.destroy()) // https://github.com/vercel/next.js/issues/12422 // TODO-APP: port to app directory @@ -29,7 +24,7 @@ describe('ReactRefreshRegression app', () => { const files = new Map() files.set( 'pages/_document.js', - ` + outdent` import Document from 'next/document' import { ServerStyleSheet } from 'styled-components' @@ -67,7 +62,7 @@ describe('ReactRefreshRegression app', () => { // We start here. await session.patch( 'index.js', - ` + outdent` import React from 'react' import styled from 'styled-components' @@ -92,7 +87,8 @@ describe('ReactRefreshRegression app', () => { await session.patch( 'app/page.js', - `'use client' + outdent` + 'use client' import { useCallback, useState } from 'react' export default function Index() { @@ -118,7 +114,8 @@ describe('ReactRefreshRegression app', () => { await session.patch( 'app/page.js', - `'use client' + outdent` + 'use client' import { useCallback, useState } from 'react' export default function Index() { @@ -151,7 +148,7 @@ describe('ReactRefreshRegression app', () => { await session.patch( 'app/page.js', - ` + outdent` export const revalidate = 0 import Component from '../index' @@ -162,7 +159,8 @@ describe('ReactRefreshRegression app', () => { ) await session.patch( 'index.js', - `'use client' + outdent` + 'use client' import { useCallback, useState } from 'react' export default function Index() { @@ -192,7 +190,8 @@ describe('ReactRefreshRegression app', () => { await session.patch( 'index.js', - `'use client' + outdent` + 'use client' import { useCallback, useState } from 'react' export default function Index() { @@ -229,7 +228,7 @@ describe('ReactRefreshRegression app', () => { await session.patch( 'app/page.js', - ` + outdent` export const config = {} import Component from '../index' @@ -241,7 +240,8 @@ describe('ReactRefreshRegression app', () => { await session.patch( 'index.js', - `'use client' + outdent` + 'use client' import { useCallback, useState } from 'react' export const config = {} @@ -316,8 +316,10 @@ describe('ReactRefreshRegression app', () => { await session.patch( 'app/page.js', - `'use client' - export default function Page() { throw new Error('boom'); }` + outdent` + 'use client' + export default function Page() { throw new Error('boom'); } + ` ) expect(await session.hasRedbox(true)).toBe(true) @@ -337,7 +339,7 @@ describe('ReactRefreshRegression app', () => { const files = new Map() files.set( 'next.config.js', - ` + outdent` const withMDX = require("@next/mdx")({ extension: /\\.mdx?$/, }); @@ -350,12 +352,13 @@ describe('ReactRefreshRegression app', () => { files.set('app/content.mdx', `Hello World!`) files.set( 'app/page.js', - `'use client' - import MDX from './content.mdx' - export default function Page() { - return
- } - ` + outdent` + 'use client' + import MDX from './content.mdx' + export default function Page() { + return
+ } + ` ) const { session, cleanup } = await sandbox(next, files) diff --git a/test/development/acceptance-app/ReactRefreshRequire.test.ts b/test/development/acceptance-app/ReactRefreshRequire.test.ts index b09fb9ac25a70e9..adc38b72d156c7b 100644 --- a/test/development/acceptance-app/ReactRefreshRequire.test.ts +++ b/test/development/acceptance-app/ReactRefreshRequire.test.ts @@ -1,23 +1,18 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext, FileRef } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' describe('ReactRefreshRequire app', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, }) - afterAll(() => next.destroy()) // https://github.com/facebook/metro/blob/b651e535cd0fc5df6c0803b9aa647d664cb9a6c3/packages/metro/src/lib/polyfills/__tests__/require-test.js#L989-L1048 test('re-runs accepted modules', async () => { @@ -87,12 +82,12 @@ describe('ReactRefreshRequire app', () => { await session.write( './foo.js', - ` - window.log.push('init FooV1'); - require('./bar'); + outdent` + window.log.push('init FooV1'); + require('./bar'); - // Exporting a component marks it as auto-accepting. - export default function Foo() {}; + // Exporting a component marks it as auto-accepting. + export default function Foo() {}; ` ) @@ -144,10 +139,10 @@ describe('ReactRefreshRequire app', () => { await session.evaluate(() => ((window as any).log = [])) await session.patch( './bar.js', - ` - window.log.push('init BarV3'); - // Exporting a component marks it as auto-accepting. - export default function Bar() {}; + outdent` + window.log.push('init BarV3'); + // Exporting a component marks it as auto-accepting. + export default function Bar() {}; ` ) expect(await session.evaluate(() => (window as any).log)).toEqual([ @@ -165,9 +160,9 @@ describe('ReactRefreshRequire app', () => { await session.evaluate(() => ((window as any).log = [])) await session.patch( './bar.js', - ` - window.log.push('init BarV4'); - export default function Bar() {}; + outdent` + window.log.push('init BarV4'); + export default function Bar() {}; ` ) expect(await session.evaluate(() => (window as any).log)).toEqual([ @@ -203,34 +198,34 @@ describe('ReactRefreshRequire app', () => { await session.write( 'root.js', - ` - window.log.push('init RootV1'); + outdent` + window.log.push('init RootV1'); - import './middleA'; - import './middleB'; - import './middleC'; + import './middleA'; + import './middleB'; + import './middleC'; - export default function Root() {}; + export default function Root() {}; ` ) await session.write( 'middleA.js', - ` - log.push('init MiddleAV1'); + outdent` + log.push('init MiddleAV1'); - import './leaf'; + import './leaf'; - export default function MiddleA() {}; + export default function MiddleA() {}; ` ) await session.write( 'middleB.js', - ` - log.push('init MiddleBV1'); + outdent` + log.push('init MiddleBV1'); - import './leaf'; + import './leaf'; - export default function MiddleB() {}; + export default function MiddleB() {}; ` ) // This one doesn't import leaf and also doesn't export a component (so it @@ -290,12 +285,12 @@ describe('ReactRefreshRequire app', () => { await session.evaluate(() => ((window as any).log = [])) await session.patch( 'middleB.js', - ` - log.push('init MiddleBV2'); + outdent` + log.push('init MiddleBV2'); - import './leaf'; + import './leaf'; - export default function MiddleB() {}; + export default function MiddleB() {}; ` ) expect(await session.evaluate(() => (window as any).log)).toEqual([ diff --git a/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap b/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap index 5cf9d246fb05701..ce10b2ebf4a8b70 100644 --- a/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap +++ b/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap @@ -4,9 +4,9 @@ exports[`ReactRefreshLogBox app default Module not found 1`] = ` "./index.js (1:0) Module not found: Can't resolve 'b' > 1 | import Comp from 'b' - 2 | export default function Oops() { - 3 | return ( - 4 |
+ 2 | export default function Oops() { + 3 | return ( + 4 |
https://nextjs.org/docs/messages/module-not-found @@ -15,33 +15,31 @@ Import trace for requested module: `; exports[`ReactRefreshLogBox app default Module not found empty import trace 1`] = ` -"./app/page.js (2:6) +"./app/page.js (2:0) Module not found: Can't resolve 'b' 1 | 'use client' -> 2 | import Comp from 'b' - | ^ - 3 | export default function Oops() { - 4 | return ( - 5 |
+> 2 | import Comp from 'b' + 3 | export default function Oops() { + 4 | return ( + 5 |
https://nextjs.org/docs/messages/module-not-found" `; exports[`ReactRefreshLogBox app default Module not found missing global CSS 1`] = ` -"./app/page.js:2:10 +"./app/page.js:2:0 Module not found: Can't resolve './non-existent.css' 1 | 'use client' -> 2 | import './non-existent.css' - | ^ - 3 | export default function Page(props) { - 4 | return

index page

- 5 | } +> 2 | import './non-existent.css' + 3 | export default function Page(props) { + 4 | return

index page

+ 5 | } https://nextjs.org/docs/messages/module-not-found" `; exports[`ReactRefreshLogBox app default Node.js builtins 1`] = ` -"./node_modules/my-package/index.js (2:0) +"./node_modules/my-package/index.js (1:0) Module not found: Can't resolve 'dns' https://nextjs.org/docs/messages/module-not-found diff --git a/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox.test.ts.snap b/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox.test.ts.snap index 7734151a090b51a..48b1e8f6b495d2f 100644 --- a/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox.test.ts.snap +++ b/test/development/acceptance-app/__snapshots__/ReactRefreshLogBox.test.ts.snap @@ -22,15 +22,15 @@ Import trace for requested module: `; exports[`ReactRefreshLogBox app default Should not show __webpack_exports__ when exporting anonymous arrow function 1`] = ` -"index.js (4:16) @ default - - 2 | export default () => { - 3 | if (typeof window !== 'undefined') { -> 4 | throw new Error('test') - | ^ - 5 | } - 6 | - 7 | return null" +"index.js (3:10) @ default + + 1 | export default () => { + 2 | if (typeof window !== 'undefined') { +> 3 | throw new Error('test') + | ^ + 4 | } + 5 | + 6 | return null" `; exports[`ReactRefreshLogBox app default boundaries 1`] = ` @@ -41,15 +41,14 @@ exports[`ReactRefreshLogBox app default boundaries 1`] = ` `; exports[`ReactRefreshLogBox app default conversion to class component (1) 1`] = ` -"Child.js (5:18) @ ClickCount.render - - 3 | export default class ClickCount extends Component { - 4 | render() { -> 5 | throw new Error() - | ^ - 6 | } - 7 | } - 8 | " +"Child.js (4:10) @ ClickCount.render + + 2 | export default class ClickCount extends Component { + 3 | render() { +> 4 | throw new Error() + | ^ + 5 | } + 6 | }" `; exports[`ReactRefreshLogBox app default css syntax errors 1`] = ` @@ -77,25 +76,25 @@ exports[`ReactRefreshLogBox app default logbox: anchors links in error messages exports[`ReactRefreshLogBox app default logbox: anchors links in error messages 9`] = `"http://example.com/"`; exports[`ReactRefreshLogBox app default module init error not shown 1`] = ` -"index.js (4:14) @ eval - - 2 | // top offset for snapshot - 3 | import * as React from 'react'; -> 4 | throw new Error('no') - | ^ - 5 | class ClassDefault extends React.Component { - 6 | render() { - 7 | return

Default Export

;" +"index.js (3:6) @ eval + + 1 | // top offset for snapshot + 2 | import * as React from 'react'; +> 3 | throw new Error('no') + | ^ + 4 | class ClassDefault extends React.Component { + 5 | render() { + 6 | return

Default Export

;" `; exports[`ReactRefreshLogBox app default should strip whitespace correctly with newline 1`] = ` -"index.js (9:34) @ onClick +"index.js (8:26) @ onClick - 7 | - 8 |
{ -> 9 | throw new Error('idk') + 6 | + 7 | { +> 8 | throw new Error('idk') | ^ - 10 | }}> - 11 | click me - 12 | " + 9 | }}> + 10 | click me + 11 | " `; diff --git a/test/development/acceptance-app/app-hmr-changes.test.ts b/test/development/acceptance-app/app-hmr-changes.test.ts index a4a2ade3c45f8ab..a146838ef2a0e1d 100644 --- a/test/development/acceptance-app/app-hmr-changes.test.ts +++ b/test/development/acceptance-app/app-hmr-changes.test.ts @@ -1,10 +1,9 @@ -import { createNextDescribe, FileRef } from 'e2e-utils' +import { FileRef, nextTestSetup } from 'e2e-utils' import { check, hasRedbox, waitFor, retry } from 'next-test-utils' import path from 'path' -createNextDescribe( - 'Error overlay - RSC build errors', - { +describe('Error overlay - RSC build errors', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'app-hmr-changes')), dependencies: { '@next/mdx': 'canary', @@ -18,48 +17,47 @@ createNextDescribe( 'image-size': '^1.0.2', autoprefixer: '^10.4.13', }, - }, - ({ next }) => { - it('should handle successive HMR changes with errors correctly', async () => { - const browser = await retry( - () => next.browser('/2020/develop-preview-test'), - 1000, - 500 - ) + }) - await check( - () => browser.eval('document.documentElement.innerHTML'), - /A few years ago I tweeted/ - ) + it('should handle successive HMR changes with errors correctly', async () => { + const browser = await retry( + () => next.browser('/2020/develop-preview-test'), + 1000, + 500 + ) - const pagePath = 'app/(post)/2020/develop-preview-test/page.mdx' - const originalPage = await next.readFile(pagePath) + await check( + () => browser.eval('document.documentElement.innerHTML'), + /A few years ago I tweeted/ + ) - const break1 = originalPage.replace('break 1', '
') + const pagePath = 'app/(post)/2020/develop-preview-test/page.mdx' + const originalPage = await next.readFile(pagePath) - await next.patchFile(pagePath, break1) - - const break2 = break1.replace('{/* break point 2 */}', '
') + const break1 = originalPage.replace('break 1', '
') - await next.patchFile(pagePath, break2) + await next.patchFile(pagePath, break1) - for (let i = 0; i < 5; i++) { - await next.patchFile(pagePath, break2.replace('break 3', '')) + const break2 = break1.replace('{/* break point 2 */}', '
') - await next.patchFile(pagePath, break2) - expect(await hasRedbox(browser, true)).toBe(true) + await next.patchFile(pagePath, break2) - await next.patchFile(pagePath, break1) - await waitFor(100) + for (let i = 0; i < 5; i++) { + await next.patchFile(pagePath, break2.replace('break 3', '')) - await next.patchFile(pagePath, originalPage) - expect(await hasRedbox(browser, false)).toBe(false) - } + await next.patchFile(pagePath, break2) + expect(await hasRedbox(browser, true)).toBe(true) - await check( - () => browser.eval('document.documentElement.innerHTML'), - /A few years ago I tweeted/ - ) - }) - } -) + await next.patchFile(pagePath, break1) + await waitFor(100) + + await next.patchFile(pagePath, originalPage) + expect(await hasRedbox(browser, false)).toBe(false) + } + + await check( + () => browser.eval('document.documentElement.innerHTML'), + /A few years ago I tweeted/ + ) + }) +}) diff --git a/test/development/acceptance-app/component-stack.test.ts b/test/development/acceptance-app/component-stack.test.ts index 70a6f42a30527f7..94e93e37fec271b 100644 --- a/test/development/acceptance-app/component-stack.test.ts +++ b/test/development/acceptance-app/component-stack.test.ts @@ -1,63 +1,62 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe, FileRef } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' -createNextDescribe( - 'Component Stack in error overlay', - { +describe('Component Stack in error overlay', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should show a component stack on hydration error', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'app/component.js', - ` - 'use client' - const isClient = typeof window !== 'undefined' - export default function Component() { - return ( -
-

{isClient ? "client" : "server"}

-
- ); - } -`, - ], - [ - 'app/page.js', - ` - import Component from './component' - export default function Mismatch() { - return ( -
- -
- ); - } -`, - ], - ]) - ) + }) - await session.waitForAndOpenRuntimeError() + it('should show a component stack on hydration error', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'app/component.js', + outdent` + 'use client' + const isClient = typeof window !== 'undefined' + export default function Component() { + return ( +
+

{isClient ? "client" : "server"}

+
+ ); + } + `, + ], + [ + 'app/page.js', + outdent` + import Component from './component' + export default function Mismatch() { + return ( +
+ +
+ ); + } + `, + ], + ]) + ) - expect(await session.getRedboxComponentStack()).toMatchInlineSnapshot(` + await session.waitForAndOpenRuntimeError() + + expect(await session.getRedboxComponentStack()).toMatchInlineSnapshot(` "p div Component main" `) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance-app/dynamic-error.test.ts b/test/development/acceptance-app/dynamic-error.test.ts index 21c38dafa228fd5..4cf03fceeab6252 100644 --- a/test/development/acceptance-app/dynamic-error.test.ts +++ b/test/development/acceptance-app/dynamic-error.test.ts @@ -1,22 +1,22 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' -createNextDescribe( - 'dynamic = "error" in devmode', - { - files: path.join(__dirname, 'fixtures', 'default-template'), +describe('dynamic = "error" in devmode', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), skipStart: true, - }, - ({ next }) => { - it('should show error overlay when dynamic is forced', async () => { - const { session, cleanup } = await sandbox(next, undefined, '/server') - - // dynamic = "error" and force dynamic - await session.patch( - 'app/server/page.js', - ` + }) + + it('should show error overlay when dynamic is forced', async () => { + const { session, cleanup } = await sandbox(next, undefined, '/server') + + // dynamic = "error" and force dynamic + await session.patch( + 'app/server/page.js', + outdent` import { cookies } from 'next/headers'; import Component from '../../index' @@ -28,15 +28,14 @@ createNextDescribe( export const dynamic = "error" ` - ) - - await session.hasRedbox(true) - console.log(await session.getRedboxDescription()) - expect(await session.getRedboxDescription()).toBe( - `Error: Page with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies\`.` - ) - - await cleanup() - }) - } -) + ) + + await session.hasRedbox(true) + console.log(await session.getRedboxDescription()) + expect(await session.getRedboxDescription()).toBe( + `Error: Page with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies\`.` + ) + + await cleanup() + }) +}) diff --git a/test/development/acceptance-app/editor-links.test.ts b/test/development/acceptance-app/editor-links.test.ts index 0827881b3fe178e..448684208e2de7c 100644 --- a/test/development/acceptance-app/editor-links.test.ts +++ b/test/development/acceptance-app/editor-links.test.ts @@ -1,7 +1,8 @@ import { check } from 'next-test-utils' -import { createNextDescribe, FileRef } from 'e2e-utils' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' -import { sandbox } from './helpers' +import { sandbox } from 'development-sandbox' +import { outdent } from 'outdent' async function clickSourceFile(browser: any) { await browser.waitForElementByCss( @@ -24,136 +25,140 @@ async function clickImportTraceFiles(browser: any) { } } -createNextDescribe( - 'Error overlay - editor links', - { +describe('Error overlay - editor links', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should be possible to open source file on build error', async () => { - let editorRequestsCount = 0 - const { session, browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` + }) + + it('should be possible to open source file on build error', async () => { + let editorRequestsCount = 0 + const { session, browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` import Component from '../index' export default function Page() { return } `, - ], - ]), - undefined, - { - beforePageLoad(page) { - page.route('**/__nextjs_launch-editor**', (route) => { - editorRequestsCount += 1 - route.fulfill() - }) - }, - } - ) + ], + ]), + undefined, + { + beforePageLoad(page) { + page.route('**/__nextjs_launch-editor**', (route) => { + editorRequestsCount += 1 + route.fulfill() + }) + }, + } + ) - await session.patch( - 'index.js', - `import { useState } from 'react' - export default () => 'hello world'` - ) + await session.patch( + 'index.js', + outdent` + import { useState } from 'react' + export default () => 'hello world' + ` + ) - expect(await session.hasRedbox(true)).toBe(true) - await clickSourceFile(browser) - await check(() => editorRequestsCount, /1/) + expect(await session.hasRedbox(true)).toBe(true) + await clickSourceFile(browser) + await check(() => editorRequestsCount, /1/) - await cleanup() - }) + await cleanup() + }) - it('should be possible to open import trace files on RSC parse error', async () => { - let editorRequestsCount = 0 - const { session, browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - import Component from '../index' - export default function Page() { - return - } - `, - ], - ['mod1.js', "import './mod2.js'"], - ['mod2.js', '{{{{{'], - ]), - undefined, - { - beforePageLoad(page) { - page.route('**/__nextjs_launch-editor**', (route) => { - editorRequestsCount += 1 - route.fulfill() - }) - }, - } - ) + it('should be possible to open import trace files on RSC parse error', async () => { + let editorRequestsCount = 0 + const { session, browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + import Component from '../index' + export default function Page() { + return + } + `, + ], + ['mod1.js', "import './mod2.js'"], + ['mod2.js', '{{{{{'], + ]), + undefined, + { + beforePageLoad(page) { + page.route('**/__nextjs_launch-editor**', (route) => { + editorRequestsCount += 1 + route.fulfill() + }) + }, + } + ) - await session.patch( - 'index.js', - `import './mod1' - export default () => 'hello world'` - ) + await session.patch( + 'index.js', + outdent` + import './mod1' + export default () => 'hello world' + ` + ) - expect(await session.hasRedbox(true)).toBe(true) - await clickImportTraceFiles(browser) - await check(() => editorRequestsCount, /4/) + expect(await session.hasRedbox(true)).toBe(true) + await clickImportTraceFiles(browser) + await check(() => editorRequestsCount, /4/) - await cleanup() - }) + await cleanup() + }) - it('should be possible to open import trace files on module not found error', async () => { - let editorRequestsCount = 0 - const { session, browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - import Component from '../index' - export default function Page() { - return - } - `, - ], - ['mod1.js', "import './mod2.js'"], - ['mod2.js', 'import "boom"'], - ]), - undefined, - { - beforePageLoad(page) { - page.route('**/__nextjs_launch-editor**', (route) => { - editorRequestsCount += 1 - route.fulfill() - }) - }, - } - ) + it('should be possible to open import trace files on module not found error', async () => { + let editorRequestsCount = 0 + const { session, browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + import Component from '../index' + export default function Page() { + return + } + `, + ], + ['mod1.js', "import './mod2.js'"], + ['mod2.js', 'import "boom"'], + ]), + undefined, + { + beforePageLoad(page) { + page.route('**/__nextjs_launch-editor**', (route) => { + editorRequestsCount += 1 + route.fulfill() + }) + }, + } + ) - await session.patch( - 'index.js', - `import './mod1' - export default () => 'hello world'` - ) + await session.patch( + 'index.js', + outdent` + import './mod1' + export default () => 'hello world' + ` + ) - expect(await session.hasRedbox(true)).toBe(true) - await clickImportTraceFiles(browser) - await check(() => editorRequestsCount, /3/) + expect(await session.hasRedbox(true)).toBe(true) + await clickImportTraceFiles(browser) + await check(() => editorRequestsCount, /3/) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance-app/error-message-url.test.ts b/test/development/acceptance-app/error-message-url.test.ts index b18a96a4039956e..e27010f86343a8d 100644 --- a/test/development/acceptance-app/error-message-url.test.ts +++ b/test/development/acceptance-app/error-message-url.test.ts @@ -1,73 +1,71 @@ -import { createNextDescribe, FileRef } from 'e2e-utils' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' -import { sandbox } from './helpers' +import { sandbox } from 'development-sandbox' +import { outdent } from 'outdent' -createNextDescribe( - 'Error overlay - error message urls', - { +describe('Error overlay - error message urls', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should be possible to click url in build error', async () => { - const { session, browser, cleanup } = await sandbox(next) + }) - const content = await next.readFile('app/page.js') + it('should be possible to click url in build error', async () => { + const { session, browser, cleanup } = await sandbox(next) - await session.patch( - 'app/page.js', - content + '\nexport function getServerSideProps() {}' - ) + const content = await next.readFile('app/page.js') - expect(await session.hasRedbox(true)).toBe(true) + await session.patch( + 'app/page.js', + content + '\nexport function getServerSideProps() {}' + ) - const link = await browser.elementByCss('[data-nextjs-terminal] a') - const text = await link.text() - const href = await link.getAttribute('href') - expect(text).toEqual( - 'https://nextjs.org/docs/app/building-your-application/data-fetching' - ) - expect(href).toEqual( - 'https://nextjs.org/docs/app/building-your-application/data-fetching' - ) + expect(await session.hasRedbox(true)).toBe(true) - await cleanup() - }) + const link = await browser.elementByCss('[data-nextjs-terminal] a') + const text = await link.text() + const href = await link.getAttribute('href') + expect(text).toEqual( + 'https://nextjs.org/docs/app/building-your-application/data-fetching' + ) + expect(href).toEqual( + 'https://nextjs.org/docs/app/building-your-application/data-fetching' + ) - it('should be possible to click url in runtime error', async () => { - const { session, browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - `'use client' + await cleanup() + }) + + it('should be possible to click url in runtime error', async () => { + const { session, browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' export default function Page() { return typeof window === 'undefined' ? 'HELLO' : 'WORLD' } - `, - ], - ]) - ) + `, + ], + ]) + ) - await session.waitForAndOpenRuntimeError() + await session.waitForAndOpenRuntimeError() - const link = await browser.elementByCss( - '#nextjs__container_errors_desc a' - ) - const text = await link.text() - const href = await link.getAttribute('href') - expect(text).toEqual( - 'https://nextjs.org/docs/messages/react-hydration-error' - ) - expect(href).toEqual( - 'https://nextjs.org/docs/messages/react-hydration-error' - ) + const link = await browser.elementByCss('#nextjs__container_errors_desc a') + const text = await link.text() + const href = await link.getAttribute('href') + expect(text).toEqual( + 'https://nextjs.org/docs/messages/react-hydration-error' + ) + expect(href).toEqual( + 'https://nextjs.org/docs/messages/react-hydration-error' + ) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance-app/error-recovery.test.ts b/test/development/acceptance-app/error-recovery.test.ts index 20ffdf440a1fbd8..5315ae453c2bfb9 100644 --- a/test/development/acceptance-app/error-recovery.test.ts +++ b/test/development/acceptance-app/error-recovery.test.ts @@ -1,30 +1,26 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe, FileRef } from 'e2e-utils' -import { check, getSnapshotTestDescribe } from 'next-test-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { check, describeVariants as describe } from 'next-test-utils' import path from 'path' +import { outdent } from 'outdent' + +describe.each(['default', 'turbo'])('Error recovery app %s', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', + }, + skipStart: true, + }) + + test('can recover from a syntax error without losing state', async () => { + const { session, cleanup } = await sandbox(next) -for (const variant of ['default', 'turbo']) { - getSnapshotTestDescribe(variant)(`Error recovery app ${variant}`, () => { - createNextDescribe( - 'Error recovery with overlay', - { - files: new FileRef( - path.join(__dirname, 'fixtures', 'default-template') - ), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, - }, - ({ next }) => { - test('can recover from a syntax error without losing state', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import { useCallback, useState } from 'react' export default function Index() { @@ -38,25 +34,23 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - await session.evaluate(() => document.querySelector('button').click()) - expect( - await session.evaluate( - () => document.querySelector('p').textContent - ) - ).toBe('1') + await session.evaluate(() => document.querySelector('button').click()) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('1') - await session.patch('index.js', `export default () =>
- session.evaluate(() => document.querySelector('p').textContent), - /Count: 1/ - ) + ) - await cleanup() - }) + expect(await session.hasRedbox(false)).toBe(false) - test.each([['client'], ['server']])( - '%s component can recover from syntax error', - async (type: string) => { - const { session, browser, cleanup } = await sandbox( - next, - undefined, - '/' + type - ) + await check( + () => session.evaluate(() => document.querySelector('p').textContent), + /Count: 1/ + ) - // Add syntax error - await session.patch( - `app/${type}/page.js`, - ` - export default function Page() { - return

Hello world

-` - ) - expect(await session.hasRedbox(true)).toBe(true) - - // Fix syntax error - await session.patch( - `app/${type}/page.js`, - ` - export default function Page() { - return

Hello world 2

- } -` - ) + await cleanup() + }) - await check(() => browser.elementByCss('p').text(), 'Hello world 2') - await cleanup() + test.each([['client'], ['server']])( + '%s component can recover from syntax error', + async (type: string) => { + const { session, browser, cleanup } = await sandbox( + next, + undefined, + '/' + type + ) + + // Add syntax error + await session.patch( + `app/${type}/page.js`, + outdent` + export default function Page() { + return

Hello world

+ ` + ) + expect(await session.hasRedbox(true)).toBe(true) + + // Fix syntax error + await session.patch( + `app/${type}/page.js`, + outdent` + export default function Page() { + return

Hello world 2

} - ) - - test('can recover from a event handler error', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - ` - import { useCallback, useState } from 'react' - - export default function Index() { - const [count, setCount] = useState(0) - const increment = useCallback(() => { - setCount(c => c + 1) - throw new Error('oops') - }, [setCount]) - return ( -
-

{count}

- -
- ) - } - ` - ) + ` + ) - expect( - await session.evaluate( - () => document.querySelector('p').textContent - ) - ).toBe('0') - await session.evaluate(() => document.querySelector('button').click()) - expect( - await session.evaluate( - () => document.querySelector('p').textContent - ) - ).toBe('1') - - await session.waitForAndOpenRuntimeError() - expect(await session.getRedboxSource()).toMatchInlineSnapshot(` - "index.js (8:22) @ eval - - 6 | const increment = useCallback(() => { - 7 | setCount(c => c + 1) - > 8 | throw new Error('oops') - | ^ - 9 | }, [setCount]) - 10 | return ( - 11 |
" - `) - - await session.patch( - 'index.js', - ` - import { useCallback, useState } from 'react' - - export default function Index() { - const [count, setCount] = useState(0) - const increment = useCallback(() => setCount(c => c + 1), [setCount]) - return ( -
-

Count: {count}

- -
- ) - } - ` - ) + await check(() => browser.elementByCss('p').text(), 'Hello world 2') + await cleanup() + } + ) - expect(await session.hasRedbox(false)).toBe(false) - expect(await session.hasErrorToast()).toBe(false) + test('can recover from a event handler error', async () => { + const { session, cleanup } = await sandbox(next) - expect( - await session.evaluate( - () => document.querySelector('p').textContent - ) - ).toBe('Count: 1') - await session.evaluate(() => document.querySelector('button').click()) - expect( - await session.evaluate( - () => document.querySelector('p').textContent - ) - ).toBe('Count: 2') + await session.patch( + 'index.js', + outdent` + import { useCallback, useState } from 'react' - expect(await session.hasRedbox(false)).toBe(false) - expect(await session.hasErrorToast()).toBe(false) + export default function Index() { + const [count, setCount] = useState(0) + const increment = useCallback(() => { + setCount(c => c + 1) + throw new Error('oops') + }, [setCount]) + return ( +
+

{count}

+ +
+ ) + } + ` + ) - await cleanup() - }) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('0') + await session.evaluate(() => document.querySelector('button').click()) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('1') + + await session.waitForAndOpenRuntimeError() + expect(await session.getRedboxSource()).toMatchInlineSnapshot(` + "index.js (7:10) @ eval + + 5 | const increment = useCallback(() => { + 6 | setCount(c => c + 1) + > 7 | throw new Error('oops') + | ^ + 8 | }, [setCount]) + 9 | return ( + 10 |
" + `) + + await session.patch( + 'index.js', + outdent` + import { useCallback, useState } from 'react' - test.each([['client'], ['server']])( - '%s component can recover from a component error', - async (type: string) => { - const { session, cleanup, browser } = await sandbox( - next, - undefined, - '/' + type - ) + export default function Index() { + const [count, setCount] = useState(0) + const increment = useCallback(() => setCount(c => c + 1), [setCount]) + return ( +
+

Count: {count}

+ +
+ ) + } + ` + ) - await session.write( - 'child.js', - ` - export default function Child() { - return

Hello

; - } - ` - ) + expect(await session.hasRedbox(false)).toBe(false) + expect(await session.hasErrorToast()).toBe(false) - await session.patch( - 'index.js', - ` - import Child from './child' - - export default function Index() { - return ( -
- -
- ) - } - ` - ) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('Count: 1') + await session.evaluate(() => document.querySelector('button').click()) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('Count: 2') - expect(await browser.elementByCss('p').text()).toBe('Hello') + expect(await session.hasRedbox(false)).toBe(false) + expect(await session.hasErrorToast()).toBe(false) - await session.patch( - 'child.js', - ` - // hello - export default function Child() { - throw new Error('oops') - } - ` - ) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - 'export default function Child()' - ) + await cleanup() + }) - // TODO-APP: re-enable when error recovery doesn't reload the page. - /* const didNotReload = */ await session.patch( - 'child.js', - ` - export default function Child() { - return

Hello

; - } - ` + test.each([['client'], ['server']])( + '%s component can recover from a component error', + async (type: string) => { + const { session, cleanup, browser } = await sandbox( + next, + undefined, + '/' + type + ) + + await session.write( + 'child.js', + outdent` + export default function Child() { + return

Hello

; + } + ` + ) + + await session.patch( + 'index.js', + outdent` + import Child from './child' + + export default function Index() { + return ( +
+ +
) - - // TODO-APP: re-enable when error recovery doesn't reload the page. - // expect(didNotReload).toBe(true) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate( - () => document.querySelector('p').textContent - ) - ).toBe('Hello') - - await cleanup() } - ) + ` + ) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554150098 - test('syntax > runtime error', async () => { - const { session, cleanup } = await sandbox(next) + expect(await browser.elementByCss('p').text()).toBe('Hello') - // Start here. - await session.patch( - 'index.js', - ` + await session.patch( + 'child.js', + outdent` + // hello + export default function Child() { + throw new Error('oops') + } + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + 'export default function Child()' + ) + + // TODO-APP: re-enable when error recovery doesn't reload the page. + /* const didNotReload = */ await session.patch( + 'child.js', + outdent` + export default function Child() { + return

Hello

; + } + ` + ) + + // TODO-APP: re-enable when error recovery doesn't reload the page. + // expect(didNotReload).toBe(true) + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('Hello') + + await cleanup() + } + ) + + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554150098 + test('syntax > runtime error', async () => { + const { session, cleanup } = await sandbox(next) + + // Start here. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; export default function FunctionNamed() { return
} ` - ) - // TODO: this acts weird without above step - await session.patch( - 'index.js', - ` + ) + // TODO: this acts weird without above step + await session.patch( + 'index.js', + outdent` import * as React from 'react'; let i = 0 setInterval(() => { @@ -307,51 +290,52 @@ for (const variant of ['default', 'turbo']) { return
} ` - ) + ) - await new Promise((resolve) => setTimeout(resolve, 1000)) - await session.waitForAndOpenRuntimeError() - expect(await session.getRedboxSource()).not.toInclude( - "Expected '}', got ''" - ) + await new Promise((resolve) => setTimeout(resolve, 1000)) + await session.waitForAndOpenRuntimeError() + expect(await session.getRedboxSource()).not.toInclude( + "Expected '}', got ''" + ) - // Make a syntax error. - await session.patch( - 'index.js', - ` + // Make a syntax error. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; let i = 0 setInterval(() => { i++ throw Error('no ' + i) }, 1000) - export default function FunctionNamed() {` - ) + export default function FunctionNamed() { + ` + ) - await new Promise((resolve) => setTimeout(resolve, 1000)) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - "Expected '}', got ''" - ) + await new Promise((resolve) => setTimeout(resolve, 1000)) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + "Expected '}', got ''" + ) - // Test that runtime error does not take over: - await new Promise((resolve) => setTimeout(resolve, 2000)) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - "Expected '}', got ''" - ) + // Test that runtime error does not take over: + await new Promise((resolve) => setTimeout(resolve, 2000)) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + "Expected '}', got ''" + ) - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554144016 - test('stuck error', async () => { - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554144016 + test('stuck error', async () => { + const { session, cleanup } = await sandbox(next) - // We start here. - await session.patch( - 'index.js', - ` + // We start here. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; function FunctionDefault() { @@ -360,23 +344,23 @@ for (const variant of ['default', 'turbo']) { export default FunctionDefault; ` - ) + ) - // We add a new file. Let's call it Foo.js. - await session.write( - 'Foo.js', - ` + // We add a new file. Let's call it Foo.js. + await session.write( + 'Foo.js', + outdent` // intentionally skips export export default function Foo() { return React.createElement('h1', null, 'Foo'); } ` - ) + ) - // We edit our first file to use it. - await session.patch( - 'index.js', - ` + // We edit our first file to use it. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; import Foo from './Foo'; function FunctionDefault() { @@ -384,39 +368,39 @@ for (const variant of ['default', 'turbo']) { } export default FunctionDefault; ` - ) + ) - // We get an error because Foo didn't import React. Fair. - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - "return React.createElement('h1', null, 'Foo');" - ) + // We get an error because Foo didn't import React. Fair. + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + "return React.createElement('h1', null, 'Foo');" + ) - // Let's add that to Foo. - await session.patch( - 'Foo.js', - ` + // Let's add that to Foo. + await session.patch( + 'Foo.js', + outdent` import * as React from 'react'; export default function Foo() { return React.createElement('h1', null, 'Foo'); } ` - ) + ) - // Expected: this fixes the problem - expect(await session.hasRedbox(false)).toBe(false) + // Expected: this fixes the problem + expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137262 - test('render error not shown right after syntax error', async () => { - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137262 + test('render error not shown right after syntax error', async () => { + const { session, cleanup } = await sandbox(next) - // Starting here: - await session.patch( - 'index.js', - ` + // Starting here: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { render() { @@ -426,18 +410,16 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) + ) - expect( - await session.evaluate( - () => document.querySelector('h1').textContent - ) - ).toBe('Default Export') + expect( + await session.evaluate(() => document.querySelector('h1').textContent) + ).toBe('Default Export') - // Break it with a syntax error: - await session.patch( - 'index.js', - ` + // Break it with a syntax error: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { @@ -448,13 +430,13 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) - expect(await session.hasRedbox(true)).toBe(true) + ) + expect(await session.hasRedbox(true)).toBe(true) - // Now change the code to introduce a runtime error without fixing the syntax error: - await session.patch( - 'index.js', - ` + // Now change the code to introduce a runtime error without fixing the syntax error: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { @@ -466,13 +448,13 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) - expect(await session.hasRedbox(true)).toBe(true) + ) + expect(await session.hasRedbox(true)).toBe(true) - // Now fix the syntax error: - await session.patch( - 'index.js', - ` + // Now fix the syntax error: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { @@ -484,33 +466,30 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) - expect(await session.hasRedbox(true)).toBe(true) + ) + expect(await session.hasRedbox(true)).toBe(true) - await check(async () => { - const source = await session.getRedboxSource() - return source?.includes('render() {') ? 'success' : source - }, 'success') + await check(async () => { + const source = await session.getRedboxSource() + return source?.includes('render() {') ? 'success' : source + }, 'success') - expect(await session.getRedboxSource()).toInclude( - "throw new Error('nooo');" - ) + expect(await session.getRedboxSource()).toInclude( + "throw new Error('nooo');" + ) - await cleanup() - }) + await cleanup() + }) - test('displays build error on initial page load', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([['app/page.js', '{{{']]) - ) + test('displays build error on initial page load', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([['app/page.js', '{{{']]) + ) - expect(await session.hasRedbox(true)).toBe(true) - await check(() => session.getRedboxSource(true), /Failed to compile/) + expect(await session.hasRedbox(true)).toBe(true) + await check(() => session.getRedboxSource(true), /Failed to compile/) - await cleanup() - }) - } - ) + await cleanup() }) -} +}) diff --git a/test/development/acceptance-app/hydration-error.test.ts b/test/development/acceptance-app/hydration-error.test.ts index 35f88fd10c7ddc0..213c8e1e667eeae 100644 --- a/test/development/acceptance-app/hydration-error.test.ts +++ b/test/development/acceptance-app/hydration-error.test.ts @@ -1,44 +1,45 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe, FileRef } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' // https://github.com/facebook/react/blob/main/packages/react-dom/src/__tests__/ReactDOMHydrationDiff-test.js used as a reference -createNextDescribe( - 'Error overlay for hydration errors', - { + +describe('Error overlay for hydration errors', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should show correct hydration error when client and server render different text', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - 'use client' - const isClient = typeof window !== 'undefined' - export default function Mismatch() { - return ( -
-
{isClient ? "client" : "server"}
-
- ); - } -`, - ], - ]) - ) - - await session.waitForAndOpenRuntimeError() - - expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` + }) + + it('should show correct hydration error when client and server render different text', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' + const isClient = typeof window !== 'undefined' + export default function Mismatch() { + return ( +
+
{isClient ? "client" : "server"}
+
+ ); + } + `, + ], + ]) + ) + + await session.waitForAndOpenRuntimeError() + + expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` "Error: Text content does not match server-rendered HTML. Warning: Text content did not match. Server: \\"server\\" Client: \\"client\\" @@ -46,33 +47,33 @@ createNextDescribe( See more info here: https://nextjs.org/docs/messages/react-hydration-error" `) - await cleanup() - }) - - it('should show correct hydration error when client renders an extra element', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - 'use client' - const isClient = typeof window !== 'undefined' - export default function Mismatch() { - return ( -
- {isClient &&
} -
- ); - } -`, - ], - ]) - ) - - await session.waitForAndOpenRuntimeError() - - expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` + await cleanup() + }) + + it('should show correct hydration error when client renders an extra element', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' + const isClient = typeof window !== 'undefined' + export default function Mismatch() { + return ( +
+ {isClient &&
} +
+ ); + } + `, + ], + ]) + ) + + await session.waitForAndOpenRuntimeError() + + expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` "Error: Hydration failed because the initial UI does not match what was rendered on the server. Warning: Expected server HTML to contain a matching
in
. @@ -80,34 +81,34 @@ createNextDescribe( See more info here: https://nextjs.org/docs/messages/react-hydration-error" `) - await cleanup() - }) - it('should show correct hydration error when client renders an extra text node', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - 'use client' - const isClient = typeof window !== 'undefined' - export default function Mismatch() { - return ( -
-
- {isClient && "second"} -
-
- ); - } -`, - ], - ]) - ) - - await session.waitForAndOpenRuntimeError() - - expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` + await cleanup() + }) + it('should show correct hydration error when client renders an extra text node', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' + const isClient = typeof window !== 'undefined' + export default function Mismatch() { + return ( +
+
+ {isClient && "second"} +
+
+ ); + } + `, + ], + ]) + ) + + await session.waitForAndOpenRuntimeError() + + expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` "Error: Hydration failed because the initial UI does not match what was rendered on the server. Warning: Expected server HTML to contain a matching text node for \\"second\\" in
. @@ -115,33 +116,33 @@ createNextDescribe( See more info here: https://nextjs.org/docs/messages/react-hydration-error" `) - await cleanup() - }) - - it('should show correct hydration error when server renders an extra element', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - 'use client' - const isClient = typeof window !== 'undefined' - export default function Mismatch() { - return ( -
- {!isClient &&
} -
- ); - } -`, - ], - ]) - ) - - await session.waitForAndOpenRuntimeError() - - expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` + await cleanup() + }) + + it('should show correct hydration error when server renders an extra element', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' + const isClient = typeof window !== 'undefined' + export default function Mismatch() { + return ( +
+ {!isClient &&
} +
+ ); + } + `, + ], + ]) + ) + + await session.waitForAndOpenRuntimeError() + + expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` "Error: Hydration failed because the initial UI does not match what was rendered on the server. Warning: Did not expect server HTML to contain a
in
. @@ -149,29 +150,29 @@ createNextDescribe( See more info here: https://nextjs.org/docs/messages/react-hydration-error" `) - await cleanup() - }) - - it('should show correct hydration error when server renders an extra text node', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - 'use client' - const isClient = typeof window !== 'undefined' - export default function Mismatch() { - return
{!isClient && "only"}
; - } -`, - ], - ]) - ) - - await session.waitForAndOpenRuntimeError() - - expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` + await cleanup() + }) + + it('should show correct hydration error when server renders an extra text node', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' + const isClient = typeof window !== 'undefined' + export default function Mismatch() { + return
{!isClient && "only"}
; + } + `, + ], + ]) + ) + + await session.waitForAndOpenRuntimeError() + + expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` "Error: Hydration failed because the initial UI does not match what was rendered on the server. Warning: Did not expect server HTML to contain the text node \\"only\\" in
. @@ -179,38 +180,38 @@ createNextDescribe( See more info here: https://nextjs.org/docs/messages/react-hydration-error" `) - await cleanup() - }) - - it('should show correct hydration error when client renders an extra node inside Suspense content', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - 'use client' - import React from "react" - const isClient = typeof window !== 'undefined' - export default function Mismatch() { - return ( -
- Loading...

}> -
- {isClient &&
} -
- -
- ); - } -`, - ], - ]) - ) - - await session.waitForAndOpenRuntimeError() - - expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` + await cleanup() + }) + + it('should show correct hydration error when client renders an extra node inside Suspense content', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + 'use client' + import React from "react" + const isClient = typeof window !== 'undefined' + export default function Mismatch() { + return ( +
+ Loading...

}> +
+ {isClient &&
} +
+ +
+ ); + } + `, + ], + ]) + ) + + await session.waitForAndOpenRuntimeError() + + expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` "Error: Hydration failed because the initial UI does not match what was rendered on the server. Warning: Expected server HTML to contain a matching
in
. @@ -218,7 +219,6 @@ createNextDescribe( See more info here: https://nextjs.org/docs/messages/react-hydration-error" `) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance-app/invalid-imports.test.ts b/test/development/acceptance-app/invalid-imports.test.ts index ca6cf8f19b8a040..278216e2ef8c4f4 100644 --- a/test/development/acceptance-app/invalid-imports.test.ts +++ b/test/development/acceptance-app/invalid-imports.test.ts @@ -1,11 +1,11 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe, FileRef } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' -createNextDescribe( - 'Error Overlay invalid imports', - { +describe('Error Overlay invalid imports', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', @@ -14,25 +14,25 @@ createNextDescribe( 'client-only': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should show error when using styled-jsx in server component', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/comp1.js', - ` - import { Comp2 } from './comp2' - - export function Comp1() { - return - } + }) + + it('should show error when using styled-jsx in server component', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/comp1.js', + outdent` + import { Comp2 } from './comp2' + + export function Comp1() { + return + } `, - ], - [ - 'app/comp2.js', - ` + ], + [ + 'app/comp2.js', + outdent` export function Comp2() { return (
@@ -44,29 +44,29 @@ createNextDescribe(
) } - `, - ], - [ - 'app/page.js', - `'use client' - import { Comp1 } from './comp1' - - export default function Page() { - return - } + ], + [ + 'app/page.js', + outdent` + 'use client' + import { Comp1 } from './comp1' + + export default function Page() { + return + } `, - ], - ]) - ) + ], + ]) + ) - const pageFile = 'app/page.js' - const content = await next.readFile(pageFile) - const withoutUseClient = content.replace("'use client'", '') - await session.patch(pageFile, withoutUseClient) + const pageFile = 'app/page.js' + const content = await next.readFile(pageFile) + const withoutUseClient = content.replace("'use client'", '') + await session.patch(pageFile, withoutUseClient) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchInlineSnapshot(` + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchInlineSnapshot(` "./app/comp2.js 'client-only' cannot be imported from a Server Component module. It should only be used from a Client Component. @@ -78,70 +78,70 @@ createNextDescribe( ./app/page.js" `) - await cleanup() - }) + await cleanup() + }) - it('should show error when external package imports client-only in server component', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/client-only-package/index.js', - ` + it('should show error when external package imports client-only in server component', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/client-only-package/index.js', + outdent` require("client-only") `, - ], - [ - 'node_modules/client-only-package/package.json', - ` + ], + [ + 'node_modules/client-only-package/package.json', + outdent` { "name": "client-only-package", "main": "index.js" } `, - ], - [ - 'app/comp1.js', - ` - import { Comp2 } from './comp2' - - export function Comp1() { - return - } + ], + [ + 'app/comp1.js', + outdent` + import { Comp2 } from './comp2' + + export function Comp1() { + return + } `, - ], - [ - 'app/comp2.js', - ` + ], + [ + 'app/comp2.js', + outdent` import "client-only-package" export function Comp2() { return (
Hello world
) } - `, - ], - [ - 'app/page.js', - `'use client' - import { Comp1 } from './comp1' - - export default function Page() { - return - } + ], + [ + 'app/page.js', + outdent` + 'use client' + import { Comp1 } from './comp1' + + export default function Page() { + return + } `, - ], - ]) - ) + ], + ]) + ) - const pageFile = 'app/page.js' - const content = await next.readFile(pageFile) - const withoutUseClient = content.replace("'use client'", '') - await session.patch(pageFile, withoutUseClient) + const pageFile = 'app/page.js' + const content = await next.readFile(pageFile) + const withoutUseClient = content.replace("'use client'", '') + await session.patch(pageFile, withoutUseClient) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchInlineSnapshot(` + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchInlineSnapshot(` "./app/comp2.js 'client-only' cannot be imported from a Server Component module. It should only be used from a Client Component. @@ -153,68 +153,68 @@ createNextDescribe( ./app/page.js" `) - await cleanup() - }) + await cleanup() + }) - it('should show error when external package imports server-only in client component', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/server-only-package/index.js', - ` + it('should show error when external package imports server-only in client component', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/server-only-package/index.js', + outdent` require("server-only") `, - ], - [ - 'node_modules/server-only-package/package.json', - ` + ], + [ + 'node_modules/server-only-package/package.json', + outdent` { "name": "server-only-package", "main": "index.js" } `, - ], - [ - 'app/comp1.js', - ` - import { Comp2 } from './comp2' - - export function Comp1() { - return - } + ], + [ + 'app/comp1.js', + outdent` + import { Comp2 } from './comp2' + + export function Comp1() { + return + } `, - ], - [ - 'app/comp2.js', - ` + ], + [ + 'app/comp2.js', + outdent` import 'server-only-package' export function Comp2() { return (
Hello world
) } - `, - ], - [ - 'app/page.js', - `import { Comp1 } from './comp1' - - export default function Page() { - return - } + ], + [ + 'app/page.js', + outdent` + import { Comp1 } from './comp1' + + export default function Page() { + return + } `, - ], - ]) - ) + ], + ]) + ) - const file = 'app/page.js' - const content = await next.readFile(file) - await session.patch(file, "'use client'\n" + content) + const file = 'app/page.js' + const content = await next.readFile(file) + await session.patch(file, "'use client'\n" + content) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchInlineSnapshot(` + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchInlineSnapshot(` "./app/comp2.js 'server-only' cannot be imported from a Client Component module. It should only be used from a Server Component. @@ -226,7 +226,6 @@ createNextDescribe( ./app/page.js" `) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance-app/rsc-build-errors.test.ts b/test/development/acceptance-app/rsc-build-errors.test.ts index becbd0863e0738e..8b620be64351c4f 100644 --- a/test/development/acceptance-app/rsc-build-errors.test.ts +++ b/test/development/acceptance-app/rsc-build-errors.test.ts @@ -1,282 +1,282 @@ -import { createNextDescribe, FileRef } from 'e2e-utils' +import { FileRef, nextTestSetup } from 'e2e-utils' import { check } from 'next-test-utils' import path from 'path' -import { sandbox } from './helpers' +import { sandbox } from 'development-sandbox' +import { outdent } from 'outdent' -createNextDescribe( - 'Error overlay - RSC build errors', - { +describe('Error overlay - RSC build errors', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'rsc-build-errors')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should throw an error when getServerSideProps is used', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/client-with-errors/get-server-side-props' - ) - - const pageFile = 'app/client-with-errors/get-server-side-props/page.js' - const content = await next.readFile(pageFile) - const uncomment = content.replace( - '// export function getServerSideProps', - 'export function getServerSideProps' - ) - await session.patch(pageFile, uncomment) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - '"getServerSideProps" is not supported in app/' - ) - - await cleanup() - }) - - it('should throw an error when metadata export is used in client components', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/client-with-errors/metadata-export' - ) - - const pageFile = 'app/client-with-errors/metadata-export/page.js' - const content = await next.readFile(pageFile) - - // Add `metadata` error - let uncomment = content.replace( - '// export const metadata', - 'export const metadata' - ) - await session.patch(pageFile, uncomment) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - 'You are attempting to export "metadata" from a component marked with "use client", which is disallowed.' - ) - - // Restore file - await session.patch(pageFile, content) - expect(await session.hasRedbox(false)).toBe(false) - - // Add `generateMetadata` error - uncomment = content.replace( - '// export async function generateMetadata', - 'export async function generateMetadata' - ) - await session.patch(pageFile, uncomment) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - 'You are attempting to export "generateMetadata" from a component marked with "use client", which is disallowed.' - ) - - await cleanup() - }) - - it('should throw an error when metadata exports are used together in server components', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/server-with-errors/metadata-export' - ) - - const pageFile = 'app/server-with-errors/metadata-export/page.js' - const content = await next.readFile(pageFile) - const uncomment = content.replace( - '// export async function generateMetadata', - 'export async function generateMetadata' - ) - - await session.patch(pageFile, uncomment) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - '"metadata" and "generateMetadata" cannot be exported at the same time, please keep one of them.' - ) - - await cleanup() - }) - - // TODO: investigate flakey test case - it.skip('should throw an error when getStaticProps is used', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/client-with-errors/get-static-props' - ) - - const pageFile = 'app/client-with-errors/get-static-props/page.js' - const content = await next.readFile(pageFile) - const uncomment = content.replace( - '// export function getStaticProps', - 'export function getStaticProps' - ) - await session.patch(pageFile, uncomment) - await next.patchFile(pageFile, content) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - '"getStaticProps" is not supported in app/' - ) - - await cleanup() - }) - - it('should error when page component export is not valid', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/server-with-errors/page-export' - ) - - await next.patchFile( - 'app/server-with-errors/page-export/page.js', - 'export const a = 123' - ) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toInclude( - 'The default export is not a React Component in page:' - ) - - await cleanup() - }) - - it('should throw an error when "use client" is on the top level but after other expressions', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/swc/use-client' - ) - - const pageFile = 'app/swc/use-client/page.js' - const content = await next.readFile(pageFile) - const uncomment = content.replace("// 'use client'", "'use client'") - await next.patchFile(pageFile, uncomment) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - 'directive must be placed before other expressions' - ) - - await cleanup() - }) - - it('should throw an error when "Component" is imported in server components', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/server-with-errors/class-component' - ) - - const pageFile = 'app/server-with-errors/class-component/page.js' - const content = await next.readFile(pageFile) - const uncomment = content.replace( - "// import { Component } from 'react'", - "import { Component } from 'react'" - ) - await session.patch(pageFile, uncomment) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - `You’re importing a class component. It only works in a Client Component` - ) - - await cleanup() - }) - - it('should allow to use and handle rsc poisoning client-only', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/server-with-errors/client-only-in-server' - ) - - const file = - 'app/server-with-errors/client-only-in-server/client-only-lib.js' - const content = await next.readFile(file) - const uncomment = content.replace( - "// import 'client-only'", - "import 'client-only'" - ) - await next.patchFile(file, uncomment) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - `You're importing a component that imports client-only. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.` - ) - - await cleanup() - }) - - it('should allow to use and handle rsc poisoning server-only', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/client-with-errors/server-only-in-client' - ) - - const file = - 'app/client-with-errors/server-only-in-client/server-only-lib.js' - const content = await next.readFile(file) - const uncomment = content.replace( - "// import 'server-only'", - "import 'server-only'" - ) - - await session.patch(file, uncomment) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - `You're importing a component that needs server-only. That only works in a Server Component but one of its parents is marked with "use client", so it's a Client Component.` - ) - - await cleanup() - }) - - it('should error for invalid undefined module retuning from next dynamic', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/client-with-errors/dynamic' - ) - - const file = 'app/client-with-errors/dynamic/page.js' - const content = await next.readFile(file) - await session.patch( - file, - content.replace('() =>

hello dynamic world

', 'undefined') - ) - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toInclude( - `Element type is invalid. Received a promise that resolves to: undefined. Lazy element type must resolve to a class or function.` - ) - - await cleanup() - }) - - it('should throw an error when error file is a server component', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/server-with-errors/error-file' - ) - - // Remove "use client" - await session.patch( - 'app/server-with-errors/error-file/error.js', - 'export default function Error() {}' - ) - - expect(await session.hasRedbox(true)).toBe(true) - await check(() => session.getRedboxSource(), /must be a Client Component/) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + }) + + it('should throw an error when getServerSideProps is used', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/client-with-errors/get-server-side-props' + ) + + const pageFile = 'app/client-with-errors/get-server-side-props/page.js' + const content = await next.readFile(pageFile) + const uncomment = content.replace( + '// export function getServerSideProps', + 'export function getServerSideProps' + ) + await session.patch(pageFile, uncomment) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + '"getServerSideProps" is not supported in app/' + ) + + await cleanup() + }) + + it('should throw an error when metadata export is used in client components', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/client-with-errors/metadata-export' + ) + + const pageFile = 'app/client-with-errors/metadata-export/page.js' + const content = await next.readFile(pageFile) + + // Add `metadata` error + let uncomment = content.replace( + '// export const metadata', + 'export const metadata' + ) + await session.patch(pageFile, uncomment) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + 'You are attempting to export "metadata" from a component marked with "use client", which is disallowed.' + ) + + // Restore file + await session.patch(pageFile, content) + expect(await session.hasRedbox(false)).toBe(false) + + // Add `generateMetadata` error + uncomment = content.replace( + '// export async function generateMetadata', + 'export async function generateMetadata' + ) + await session.patch(pageFile, uncomment) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + 'You are attempting to export "generateMetadata" from a component marked with "use client", which is disallowed.' + ) + + await cleanup() + }) + + it('should throw an error when metadata exports are used together in server components', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/server-with-errors/metadata-export' + ) + + const pageFile = 'app/server-with-errors/metadata-export/page.js' + const content = await next.readFile(pageFile) + const uncomment = content.replace( + '// export async function generateMetadata', + 'export async function generateMetadata' + ) + + await session.patch(pageFile, uncomment) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + '"metadata" and "generateMetadata" cannot be exported at the same time, please keep one of them.' + ) + + await cleanup() + }) + + // TODO: investigate flakey test case + it.skip('should throw an error when getStaticProps is used', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/client-with-errors/get-static-props' + ) + + const pageFile = 'app/client-with-errors/get-static-props/page.js' + const content = await next.readFile(pageFile) + const uncomment = content.replace( + '// export function getStaticProps', + 'export function getStaticProps' + ) + await session.patch(pageFile, uncomment) + await next.patchFile(pageFile, content) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + '"getStaticProps" is not supported in app/' + ) + + await cleanup() + }) + + it('should error when page component export is not valid', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/server-with-errors/page-export' + ) + + await next.patchFile( + 'app/server-with-errors/page-export/page.js', + 'export const a = 123' + ) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toInclude( + 'The default export is not a React Component in page:' + ) + + await cleanup() + }) + + it('should throw an error when "use client" is on the top level but after other expressions', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/swc/use-client' + ) + + const pageFile = 'app/swc/use-client/page.js' + const content = await next.readFile(pageFile) + const uncomment = content.replace("// 'use client'", "'use client'") + await next.patchFile(pageFile, uncomment) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + 'directive must be placed before other expressions' + ) + + await cleanup() + }) + + it('should throw an error when "Component" is imported in server components', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/server-with-errors/class-component' + ) + + const pageFile = 'app/server-with-errors/class-component/page.js' + const content = await next.readFile(pageFile) + const uncomment = content.replace( + "// import { Component } from 'react'", + "import { Component } from 'react'" + ) + await session.patch(pageFile, uncomment) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + `You’re importing a class component. It only works in a Client Component` + ) + + await cleanup() + }) + + it('should allow to use and handle rsc poisoning client-only', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/server-with-errors/client-only-in-server' + ) + + const file = + 'app/server-with-errors/client-only-in-server/client-only-lib.js' + const content = await next.readFile(file) + const uncomment = content.replace( + "// import 'client-only'", + "import 'client-only'" + ) + await next.patchFile(file, uncomment) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + `You're importing a component that imports client-only. It only works in a Client Component but none of its parents are marked with "use client", so they're Server Components by default.` + ) + + await cleanup() + }) + + it('should allow to use and handle rsc poisoning server-only', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/client-with-errors/server-only-in-client' + ) + + const file = + 'app/client-with-errors/server-only-in-client/server-only-lib.js' + const content = await next.readFile(file) + const uncomment = content.replace( + "// import 'server-only'", + "import 'server-only'" + ) + + await session.patch(file, uncomment) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + `You're importing a component that needs server-only. That only works in a Server Component but one of its parents is marked with "use client", so it's a Client Component.` + ) + + await cleanup() + }) + + it('should error for invalid undefined module retuning from next dynamic', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/client-with-errors/dynamic' + ) + + const file = 'app/client-with-errors/dynamic/page.js' + const content = await next.readFile(file) + await session.patch( + file, + content.replace('() =>

hello dynamic world

', 'undefined') + ) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toInclude( + `Element type is invalid. Received a promise that resolves to: undefined. Lazy element type must resolve to a class or function.` + ) + + await cleanup() + }) + + it('should throw an error when error file is a server component', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/server-with-errors/error-file' + ) + + // Remove "use client" + await session.patch( + 'app/server-with-errors/error-file/error.js', + 'export default function Error() {}' + ) + + expect(await session.hasRedbox(true)).toBe(true) + await check(() => session.getRedboxSource(), /must be a Client Component/) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./app/server-with-errors/error-file/error.js ReactServerComponentsError: @@ -291,47 +291,48 @@ createNextDescribe( Import path: ./app/server-with-errors/error-file/error.js" `) - ) + ) - await cleanup() - }) + await cleanup() + }) - it('should throw an error when error file is a server component with empty error file', async () => { - const { session, cleanup } = await sandbox( - next, - undefined, - '/server-with-errors/error-file' - ) + it('should throw an error when error file is a server component with empty error file', async () => { + const { session, cleanup } = await sandbox( + next, + undefined, + '/server-with-errors/error-file' + ) - // Empty file - await session.patch('app/server-with-errors/error-file/error.js', '') + // Empty file + await session.patch('app/server-with-errors/error-file/error.js', '') - expect(await session.hasRedbox(true)).toBe(true) - await check(() => session.getRedboxSource(), /must be a Client Component/) + expect(await session.hasRedbox(true)).toBe(true) + await check(() => session.getRedboxSource(), /must be a Client Component/) - // TODO: investigate flakey snapshot due to spacing below - // expect(next.normalizeTestDirContent(await session.getRedboxSource())) - // .toMatchInlineSnapshot(next.normalizeSnapshot(` - // "./app/server-with-errors/error-file/error.js - // ReactServerComponentsError: + // TODO: investigate flakey snapshot due to spacing below + // expect(next.normalizeTestDirContent(await session.getRedboxSource())) + // .toMatchInlineSnapshot(next.normalizeSnapshot(` + // "./app/server-with-errors/error-file/error.js + // ReactServerComponentsError: - // ./app/server-with-errors/error-file/error.js must be a Client Component. Add the \\"use client\\" directive the top of the file to resolve this issue. + // ./app/server-with-errors/error-file/error.js must be a Client Component. Add the \\"use client\\" directive the top of the file to resolve this issue. - // ,-[TEST_DIR/app/server-with-errors/error-file/error.js:1:1] - // 1 | - // : ^ - // \`---- + // ,-[TEST_DIR/app/server-with-errors/error-file/error.js:1:1] + // 1 | + // : ^ + // \`---- - // Import path: - // ./app/server-with-errors/error-file/error.js" - // `)) + // Import path: + // ./app/server-with-errors/error-file/error.js" + // `)) - await cleanup() - }) + await cleanup() + }) - it('should freeze parent resolved metadata to avoid mutating in generateMetadata', async () => { - const pagePath = 'app/metadata/mutate/page.js' - const content = `export default function page(props) { + it('should freeze parent resolved metadata to avoid mutating in generateMetadata', async () => { + const pagePath = 'app/metadata/mutate/page.js' + const content = outdent` + export default function page(props) { return

mutate

} @@ -341,64 +342,66 @@ createNextDescribe( return { ...parentMetadata, } - }` - - const { session, cleanup } = await sandbox( - next, - undefined, - '/metadata/mutate' - ) - - await session.patch(pagePath, content) - - await check( - async () => ((await session.hasRedbox(true)) ? 'success' : 'fail'), - /success/ - ) - - expect(await session.getRedboxDescription()).toContain( - 'Cannot add property x, object is not extensible' - ) - - await cleanup() - }) - - it('should show which import caused an error in node_modules', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/client-package/module2.js', - "import { useState } from 'react'", - ], - ['node_modules/client-package/module1.js', "import './module2.js'"], - ['node_modules/client-package/index.js', "import './module1.js'"], - [ - 'node_modules/client-package/package.json', - ` - { - "name": "client-package", - "version": "0.0.1" - } - `, - ], - ['app/Component.js', "import 'client-package'"], - [ - 'app/page.js', - ` - import './Component.js' - export default function Page() { - return

Hello world

- }`, - ], - ]) - ) - - expect(await session.hasRedbox(true)).toBe(true) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + } + ` + + const { session, cleanup } = await sandbox( + next, + undefined, + '/metadata/mutate' + ) + + await session.patch(pagePath, content) + + await check( + async () => ((await session.hasRedbox(true)) ? 'success' : 'fail'), + /success/ + ) + + expect(await session.getRedboxDescription()).toContain( + 'Cannot add property x, object is not extensible' + ) + + await cleanup() + }) + + it('should show which import caused an error in node_modules', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/client-package/module2.js', + "import { useState } from 'react'", + ], + ['node_modules/client-package/module1.js', "import './module2.js'"], + ['node_modules/client-package/index.js', "import './module1.js'"], + [ + 'node_modules/client-package/package.json', + outdent` + { + "name": "client-package", + "version": "0.0.1" + } + `, + ], + ['app/Component.js', "import 'client-package'"], + [ + 'app/page.js', + outdent` + import './Component.js' + export default function Page() { + return

Hello world

+ } + `, + ], + ]) + ) + + expect(await session.hasRedbox(true)).toBe(true) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./app/Component.js ReactServerComponentsError: @@ -416,9 +419,8 @@ createNextDescribe( ./app/Component.js ./app/page.js" `) - ) + ) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance-app/server-components.test.ts b/test/development/acceptance-app/server-components.test.ts index ef71837e6527168..9016043e91370df 100644 --- a/test/development/acceptance-app/server-components.test.ts +++ b/test/development/acceptance-app/server-components.test.ts @@ -1,497 +1,505 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe, FileRef } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' import { check } from 'next-test-utils' +import { outdent } from 'outdent' -createNextDescribe( - 'Error Overlay for server components', - { +describe('Error Overlay for server components', () => { + const { next } = nextTestSetup({ files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - describe('createContext called in Server Component', () => { - it('should show error when React.createContext is called', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - import React from 'react' - const Context = React.createContext() - export default function Page() { - return ( - <> - -

Page

-
- - ) - }`, - ], - ]) - ) - - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( + }) + + describe('createContext called in Server Component', () => { + it('should show error when React.createContext is called', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + import React from 'react' + const Context = React.createContext() + export default function Page() { + return ( + <> + +

Page

+
+ + ) + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' ) + return 'success' + }, 'success') - await cleanup() - }) - - it('should show error when React.createContext is called in external package', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const React = require('react') - module.exports = React.createContext() - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - [ - 'app/page.js', - ` - import Context from 'my-package' - export default function Page() { - return ( - <> - -

Page

-
- - ) - }`, - ], - ]) - ) + expect(next.cliOutput).toContain( + 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' + ) - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( - 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' - ) + await cleanup() + }) - await cleanup() - }) - - it('should show error when createContext is called in external package', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const { createContext } = require('react') - module.exports = createContext() - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - [ - 'app/page.js', - ` - import Context from 'my-package' - export default function Page() { - return ( - <> - -

Page

-
- - ) - }`, - ], - ]) - ) - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( + it('should show error when React.createContext is called in external package', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const React = require('react') + module.exports = React.createContext() + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + [ + 'app/page.js', + outdent` + import Context from 'my-package' + export default function Page() { + return ( + <> + +

Page

+
+ + ) + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' ) + return 'success' + }, 'success') + + expect(next.cliOutput).toContain( + 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' + ) - await cleanup() - }) + await cleanup() }) - describe('React component hooks called in Server Component', () => { - it('should show error when React. is called', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - import React from 'react' - export default function Page() { - const ref = React.useRef() - return "Hello world" - }`, - ], - ]) + it('should show error when createContext is called in external package', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const { createContext } = require('react') + module.exports = createContext() + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + [ + 'app/page.js', + outdent` + import Context from 'my-package' + export default function Page() { + return ( + <> + +

Page

+
+ + ) + } + `, + ], + ]) + ) + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( + 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' ) + return 'success' + }, 'success') + + expect(next.cliOutput).toContain( + 'createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component' + ) - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'useRef only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( + await cleanup() + }) + }) + + describe('React component hooks called in Server Component', () => { + it('should show error when React. is called', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + import React from 'react' + export default function Page() { + const ref = React.useRef() + return "Hello world" + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( 'useRef only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' ) + return 'success' + }, 'success') - await cleanup() - }) - - it('should show error when React. is called in external package', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const React = require('react') - module.exports = function Component() { - const [state, useState] = React.useState() - return "Hello world" - } - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - [ - 'app/page.js', - ` - import Component from 'my-package' - export default function Page() { - return - }`, - ], - ]) - ) + expect(next.cliOutput).toContain( + 'useRef only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' + ) - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'useState only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( - 'useState only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' - ) + await cleanup() + }) - await cleanup() - }) - - it('should show error when React client hook is called in external package', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const { useEffect } = require('react') - module.exports = function Component() { - useEffect(() => {}, []) - return "Hello world" - } - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - [ - 'app/page.js', - ` - import Component from 'my-package' - export default function Page() { - return - }`, - ], - ]) + it('should show error when React. is called in external package', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const React = require('react') + module.exports = function Component() { + const [state, useState] = React.useState() + return "Hello world" + } + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + [ + 'app/page.js', + outdent` + import Component from 'my-package' + export default function Page() { + return + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( + 'useState only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' ) + return 'success' + }, 'success') - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'useEffect only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( - 'useEffect only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' - ) + expect(next.cliOutput).toContain( + 'useState only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' + ) - await cleanup() - }) + await cleanup() }) - describe('Class component used in Server Component', () => { - it('should show error when Class Component is used', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - import React from 'react' - export default class Page extends React.Component { - render() { - return

Hello world

- } - } - `, - ], - ]) - ) - - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'This might be caused by a React Class Component being rendered in a Server Component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( - 'This might be caused by a React Class Component being rendered in a Server Component' + it('should show error when React client hook is called in external package', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const { useEffect } = require('react') + module.exports = function Component() { + useEffect(() => {}, []) + return "Hello world" + } + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + [ + 'app/page.js', + outdent` + import Component from 'my-package' + export default function Page() { + return + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( + 'useEffect only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' ) + return 'success' + }, 'success') - await cleanup() - }) - - it('should show error when React.PureComponent is rendered in external package', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const React = require('react') - module.exports = class extends React.PureComponent { - render() { - return "Hello world" - } - } - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - [ - 'app/page.js', - ` - import Component from 'my-package' - export default function Page() { - return - }`, - ], - ]) - ) + expect(next.cliOutput).toContain( + 'useEffect only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component' + ) - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'This might be caused by a React Class Component being rendered in a Server Component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( + await cleanup() + }) + }) + + describe('Class component used in Server Component', () => { + it('should show error when Class Component is used', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + import React from 'react' + export default class Page extends React.Component { + render() { + return

Hello world

+ } + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( 'This might be caused by a React Class Component being rendered in a Server Component' ) + return 'success' + }, 'success') - await cleanup() - }) - - it('should show error when Component is rendered in external package', async () => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const { Component } = require('react') - module.exports = class extends Component { - render() { - return "Hello world" - } - } - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - [ - 'app/page.js', - ` - import Component from 'my-package' - export default function Page() { - return - }`, - ], - ]) - ) + expect(next.cliOutput).toContain( + 'This might be caused by a React Class Component being rendered in a Server Component' + ) + + await cleanup() + }) - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - 'This might be caused by a React Class Component being rendered in a Server Component' - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( + it('should show error when React.PureComponent is rendered in external package', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const React = require('react') + module.exports = class extends React.PureComponent { + render() { + return "Hello world" + } + } + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + [ + 'app/page.js', + outdent` + import Component from 'my-package' + export default function Page() { + return + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( 'This might be caused by a React Class Component being rendered in a Server Component' ) + return 'success' + }, 'success') + + expect(next.cliOutput).toContain( + 'This might be caused by a React Class Component being rendered in a Server Component' + ) - await cleanup() - }) + await cleanup() }) - describe('Next.js component hooks called in Server Component', () => { - it.each([ - // TODO-APP: add test for useParams - // ["useParams"], - ['useRouter'], - ['useSearchParams'], - ['useSelectedLayoutSegment'], - ['useSelectedLayoutSegments'], - ['usePathname'], - ])('should show error when %s is called', async (hook: string) => { - const { browser, cleanup } = await sandbox( - next, - new Map([ - [ - 'app/page.js', - ` - import { ${hook} } from 'next/navigation' - export default function Page() { - ${hook}() - return "Hello world" - }`, - ], - ]) + it('should show error when Component is rendered in external package', async () => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const { Component } = require('react') + module.exports = class extends Component { + render() { + return "Hello world" + } + } + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + [ + 'app/page.js', + outdent` + import Component from 'my-package' + export default function Page() { + return + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( + 'This might be caused by a React Class Component being rendered in a Server Component' ) + return 'success' + }, 'success') + + expect(next.cliOutput).toContain( + 'This might be caused by a React Class Component being rendered in a Server Component' + ) - await check(async () => { - expect( - await browser - .waitForElementByCss('#nextjs__container_errors_desc') - .text() - ).toContain( - `Error: ${hook} only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component` - ) - return 'success' - }, 'success') - - expect(next.cliOutput).toContain( + await cleanup() + }) + }) + + describe('Next.js component hooks called in Server Component', () => { + it.each([ + // TODO-APP: add test for useParams + // ["useParams"], + ['useRouter'], + ['useSearchParams'], + ['useSelectedLayoutSegment'], + ['useSelectedLayoutSegments'], + ['usePathname'], + ])('should show error when %s is called', async (hook: string) => { + const { browser, cleanup } = await sandbox( + next, + new Map([ + [ + 'app/page.js', + outdent` + import { ${hook} } from 'next/navigation' + export default function Page() { + ${hook}() + return "Hello world" + } + `, + ], + ]) + ) + + await check(async () => { + expect( + await browser + .waitForElementByCss('#nextjs__container_errors_desc') + .text() + ).toContain( `Error: ${hook} only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component` ) + return 'success' + }, 'success') + + expect(next.cliOutput).toContain( + `Error: ${hook} only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component` + ) - await cleanup() - }) + await cleanup() }) - } -) + }) +}) diff --git a/test/development/acceptance-app/version-staleness.test.ts b/test/development/acceptance-app/version-staleness.test.ts index bdb5eee310980b9..581529167271b21 100644 --- a/test/development/acceptance-app/version-staleness.test.ts +++ b/test/development/acceptance-app/version-staleness.test.ts @@ -1,120 +1,117 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe, FileRef } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import path from 'path' +import { outdent } from 'outdent' -describe.skip('should skip for now', () => { - createNextDescribe( - 'Error Overlay version staleness', - { - files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), - dependencies: { - react: 'latest', - 'react-dom': 'latest', - }, - skipStart: true, +describe.skip('Error Overlay version staleness', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + dependencies: { + react: 'latest', + 'react-dom': 'latest', }, - ({ next }) => { - it('should show version staleness in runtime error', async () => { - // Set next to outdated version - const nextPackageJson = JSON.parse( - await next.readFile('node_modules/next/package.json') - ) - nextPackageJson.version = '1.0.0' - - const { browser, session, cleanup } = await sandbox( - next, - new Map([ - ['node_modules/next/package.json', JSON.stringify(nextPackageJson)], - ]) - ) - - await session.patch( - 'app/page.js', - ` + skipStart: true, + }) + + it('should show version staleness in runtime error', async () => { + // Set next to outdated version + const nextPackageJson = JSON.parse( + await next.readFile('node_modules/next/package.json') + ) + nextPackageJson.version = '1.0.0' + + const { browser, session, cleanup } = await sandbox( + next, + new Map([ + ['node_modules/next/package.json', JSON.stringify(nextPackageJson)], + ]) + ) + + await session.patch( + 'app/page.js', + outdent` "use client" - import Component from '../index' - export default function Page() { - setTimeout(() => { - throw new Error("runtime error") - }, 0) - return null - } + import Component from '../index' + export default function Page() { + setTimeout(() => { + throw new Error("runtime error") + }, 0) + return null + } ` - ) - - await session.waitForAndOpenRuntimeError() - expect( - await browser - .waitForElementByCss('.nextjs-container-build-error-version-status') - .text() - ).toMatchInlineSnapshot(`"Next.js (1.0.0) is outdated (learn more)"`) - - await cleanup() - }) - - it('should show version staleness in render error', async () => { - // Set next to outdated version - const nextPackageJson = JSON.parse( - await next.readFile('node_modules/next/package.json') - ) - nextPackageJson.version = '2.0.0' - - const { browser, session, cleanup } = await sandbox( - next, - new Map([ - ['node_modules/next/package.json', JSON.stringify(nextPackageJson)], - ]) - ) - - await session.patch( - 'app/page.js', - ` - export default function Page() { - throw new Error("render error") - return null - } + ) + + await session.waitForAndOpenRuntimeError() + expect( + await browser + .waitForElementByCss('.nextjs-container-build-error-version-status') + .text() + ).toMatchInlineSnapshot(`"Next.js (1.0.0) is outdated (learn more)"`) + + await cleanup() + }) + + it('should show version staleness in render error', async () => { + // Set next to outdated version + const nextPackageJson = JSON.parse( + await next.readFile('node_modules/next/package.json') + ) + nextPackageJson.version = '2.0.0' + + const { browser, session, cleanup } = await sandbox( + next, + new Map([ + ['node_modules/next/package.json', JSON.stringify(nextPackageJson)], + ]) + ) + + await session.patch( + 'app/page.js', + outdent` + export default function Page() { + throw new Error("render error") + return null + } ` - ) - - expect( - await browser - .waitForElementByCss('.nextjs-container-build-error-version-status') - .text() - ).toMatchInlineSnapshot(`"Next.js (2.0.0) is outdated (learn more)"`) - - await cleanup() - }) - - it('should show version staleness in build error', async () => { - // Set next to outdated version - const nextPackageJson = JSON.parse( - await next.readFile('node_modules/next/package.json') - ) - nextPackageJson.version = '3.0.0' - - const { browser, session, cleanup } = await sandbox( - next, - new Map([ - ['node_modules/next/package.json', JSON.stringify(nextPackageJson)], - ]) - ) - - await session.patch( - 'app/page.js', - ` + ) + + expect( + await browser + .waitForElementByCss('.nextjs-container-build-error-version-status') + .text() + ).toMatchInlineSnapshot(`"Next.js (2.0.0) is outdated (learn more)"`) + + await cleanup() + }) + + it('should show version staleness in build error', async () => { + // Set next to outdated version + const nextPackageJson = JSON.parse( + await next.readFile('node_modules/next/package.json') + ) + nextPackageJson.version = '3.0.0' + + const { browser, session, cleanup } = await sandbox( + next, + new Map([ + ['node_modules/next/package.json', JSON.stringify(nextPackageJson)], + ]) + ) + + await session.patch( + 'app/page.js', + outdent` {{{ ` - ) - - expect( - await browser - .waitForElementByCss('.nextjs-container-build-error-version-status') - .text() - ).toMatchInlineSnapshot(`"Next.js (3.0.0) is outdated (learn more)"`) - - await cleanup() - }) - } - ) + ) + + expect( + await browser + .waitForElementByCss('.nextjs-container-build-error-version-status') + .text() + ).toMatchInlineSnapshot(`"Next.js (3.0.0) is outdated (learn more)"`) + + await cleanup() + }) }) diff --git a/test/development/acceptance/ReactRefresh.test.ts b/test/development/acceptance/ReactRefresh.test.ts index 851d2aee86ca2ce..b485edcdaa1f79c 100644 --- a/test/development/acceptance/ReactRefresh.test.ts +++ b/test/development/acceptance/ReactRefresh.test.ts @@ -1,25 +1,21 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import path from 'path' +import { outdent } from 'outdent' describe('ReactRefresh', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, }) - afterAll(() => next.destroy()) test('can edit a component without losing state', async () => { const { session, cleanup } = await sandbox(next) await session.patch( 'index.js', - ` + outdent` import { useCallback, useState } from 'react' export default function Index() { @@ -42,7 +38,7 @@ describe('ReactRefresh', () => { await session.patch( 'index.js', - ` + outdent` import { useCallback, useState } from 'react' export default function Index() { @@ -74,7 +70,7 @@ describe('ReactRefresh', () => { await session.write( 'NudgeOverview.js', - ` + outdent` import * as React from 'react'; import { foo } from './routes'; @@ -90,7 +86,7 @@ describe('ReactRefresh', () => { await session.write( 'SurveyOverview.js', - ` + outdent` const SurveyOverview = () => { return 100; }; @@ -101,7 +97,7 @@ describe('ReactRefresh', () => { await session.write( 'Milestones.js', - ` + outdent` import React from 'react'; import { fragment } from './DashboardPage'; @@ -117,7 +113,7 @@ describe('ReactRefresh', () => { await session.write( 'DashboardPage.js', - ` + outdent` import React from 'react'; import Milestones from './Milestones'; @@ -142,7 +138,7 @@ describe('ReactRefresh', () => { await session.write( 'routes.js', - ` + outdent` import DashboardPage from './DashboardPage'; export const foo = {}; @@ -156,7 +152,7 @@ describe('ReactRefresh', () => { await session.patch( 'index.js', - ` + outdent` import * as React from 'react'; import DashboardPage from './routes'; @@ -175,7 +171,7 @@ describe('ReactRefresh', () => { let didFullRefresh = !(await session.patch( 'SurveyOverview.js', - ` + outdent` const SurveyOverview = () => { return 200; }; @@ -191,7 +187,7 @@ describe('ReactRefresh', () => { didFullRefresh = !(await session.patch( 'index.js', - ` + outdent` import * as React from 'react'; import DashboardPage from './routes'; @@ -211,7 +207,7 @@ describe('ReactRefresh', () => { didFullRefresh = !(await session.patch( 'SurveyOverview.js', - ` + outdent` const SurveyOverview = () => { return 300; }; diff --git a/test/development/acceptance/ReactRefreshLogBox-app-doc.test.ts b/test/development/acceptance/ReactRefreshLogBox-app-doc.test.ts index 8421689ecfb50e5..163bdf84ebf4151 100644 --- a/test/development/acceptance/ReactRefreshLogBox-app-doc.test.ts +++ b/test/development/acceptance/ReactRefreshLogBox-app-doc.test.ts @@ -1,70 +1,51 @@ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' -import { getSnapshotTestDescribe } from 'next-test-utils' - -for (const variant of ['default', 'turbo']) { - getSnapshotTestDescribe(variant)(`ReactRefreshLogBox ${variant}`, () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) - }) - afterAll(() => next.destroy()) - - test('empty _app shows logbox', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'pages/_app.js', - ` +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { describeVariants as describe } from 'next-test-utils' +import { outdent } from 'outdent' +import path from 'path' + +describe.each(['default', 'turbo'])('ReactRefreshLogBox %s', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, + }) - `, - ], - ]) - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toMatchInlineSnapshot( - `"Error: The default export is not a React Component in page: \\"/_app\\""` - ) - - await session.patch( - 'pages/_app.js', - ` + test('empty _app shows logbox', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([['pages/_app.js', ``]]) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toMatchInlineSnapshot( + `"Error: The default export is not a React Component in page: \\"/_app\\""` + ) + + await session.patch( + 'pages/_app.js', + outdent` function MyApp({ Component, pageProps }) { return ; } export default MyApp ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) - - test('empty _document shows logbox', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'pages/_document.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await cleanup() + }) - `, - ], - ]) - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toMatchInlineSnapshot( - `"Error: The default export is not a React Component in page: \\"/_document\\""` - ) - - await session.patch( - 'pages/_document.js', - ` + test('empty _document shows logbox', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([['pages/_document.js', ``]]) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toMatchInlineSnapshot( + `"Error: The default export is not a React Component in page: \\"/_document\\""` + ) + + await session.patch( + 'pages/_document.js', + outdent` import Document, { Html, Head, Main, NextScript } from 'next/document' class MyDocument extends Document { @@ -88,80 +69,76 @@ for (const variant of ['default', 'turbo']) { export default MyDocument ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) - - test('_app syntax error shows logbox', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'pages/_app.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await cleanup() + }) + + test('_app syntax error shows logbox', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'pages/_app.js', + outdent` function MyApp({ Component, pageProps }) { return <; } export default MyApp `, - ], - ]) - ) - expect(await session.hasRedbox(true)).toBe(true) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + ], + ]) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./pages/_app.js Error: x Expression expected ,-[TEST_DIR/pages/_app.js:1:1] - 1 | - 2 | function MyApp({ Component, pageProps }) { - 3 | return <; - : ^ - 4 | } - 5 | export default MyApp - 6 | + 1 | function MyApp({ Component, pageProps }) { + 2 | return <; + : ^ + 3 | } + 4 | export default MyApp \`---- x Expression expected ,-[TEST_DIR/pages/_app.js:1:1] - 1 | - 2 | function MyApp({ Component, pageProps }) { - 3 | return <; - : ^^^^^^^^^ - 4 | } - 5 | export default MyApp - 6 | + 1 | function MyApp({ Component, pageProps }) { + 2 | return <; + : ^^^^^^^^^ + 3 | } + 4 | export default MyApp \`---- Caused by: Syntax Error" `) - ) + ) - await session.patch( - 'pages/_app.js', - ` + await session.patch( + 'pages/_app.js', + outdent` function MyApp({ Component, pageProps }) { return ; } export default MyApp ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) - - test('_document syntax error shows logbox', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'pages/_document.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await cleanup() + }) + + test('_document syntax error shows logbox', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'pages/_document.js', + outdent` import Document, { Html, Head, Main, NextScript } from 'next/document' class MyDocument extends Document {{ @@ -185,36 +162,35 @@ for (const variant of ['default', 'turbo']) { export default MyDocument `, - ], - ]) - ) - expect(await session.hasRedbox(true)).toBe(true) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + ], + ]) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./pages/_document.js Error: x Unexpected token \`{\`. Expected identifier, string literal, numeric literal or [ for the computed key ,-[TEST_DIR/pages/_document.js:1:1] - 1 | - 2 | import Document, { Html, Head, Main, NextScript } from 'next/document' - 3 | - 4 | class MyDocument extends Document {{ - : ^ - 5 | static async getInitialProps(ctx) { - 6 | const initialProps = await Document.getInitialProps(ctx) - 7 | return { ...initialProps } + 1 | import Document, { Html, Head, Main, NextScript } from 'next/document' + 2 | + 3 | class MyDocument extends Document {{ + : ^ + 4 | static async getInitialProps(ctx) { + 5 | const initialProps = await Document.getInitialProps(ctx) + 6 | return { ...initialProps } \`---- Caused by: Syntax Error" `) - ) + ) - await session.patch( - 'pages/_document.js', - ` + await session.patch( + 'pages/_document.js', + outdent` import Document, { Html, Head, Main, NextScript } from 'next/document' class MyDocument extends Document { @@ -238,9 +214,8 @@ for (const variant of ['default', 'turbo']) { export default MyDocument ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) + ) + expect(await session.hasRedbox(false)).toBe(false) + await cleanup() }) -} +}) diff --git a/test/development/acceptance/ReactRefreshLogBox-builtins.test.ts b/test/development/acceptance/ReactRefreshLogBox-builtins.test.ts index f3df273fae0f3d1..36d51f018f87926 100644 --- a/test/development/acceptance/ReactRefreshLogBox-builtins.test.ts +++ b/test/development/acceptance/ReactRefreshLogBox-builtins.test.ts @@ -1,151 +1,149 @@ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' -import { getSnapshotTestDescribe } from 'next-test-utils' - -for (const variant of ['default', 'turbo']) { - getSnapshotTestDescribe(variant)(`ReactRefreshLogBox ${variant}`, () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) - }) - afterAll(() => next.destroy()) - - // Module trace is only available with webpack 5 - test('Node.js builtins', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'node_modules/my-package/index.js', - ` - const dns = require('dns') - module.exports = dns - `, - ], - [ - 'node_modules/my-package/package.json', - ` - { - "name": "my-package", - "version": "0.0.1" - } - `, - ], - ]) - ) - - await session.patch( - 'index.js', - ` - import pkg from 'my-package' - - export default function Hello() { - return (pkg ?

Package loaded

:

Package did not load

) - } - ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() - - await cleanup() - }) - - test('Module not found', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - `import Comp from 'b' - export default function Oops() { - return ( -
- lol -
- ) - } - ` - ) - - expect(await session.hasRedbox(true)).toBe(true) - - const source = await session.getRedboxSource() - expect(source).toMatchSnapshot() - - await cleanup() - }) - - test('Module not found (empty import trace)', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'pages/index.js', - `import Comp from 'b' - export default function Oops() { - return ( -
- lol -
- ) - } - ` - ) - - expect(await session.hasRedbox(true)).toBe(true) - - const source = await session.getRedboxSource() - expect(source).toMatchSnapshot() - - await cleanup() - }) - - test('Module not found (missing global CSS)', async () => { - const { session, cleanup } = await sandbox( - next, - new Map([ - [ - 'pages/_app.js', - ` - import './non-existent.css' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { describeVariants as describe } from 'next-test-utils' +import { outdent } from 'outdent' +import path from 'path' + +describe.each(['default', 'turbo'])('ReactRefreshLogBox %s', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, + }) + + // Module trace is only available with webpack 5 + test('Node.js builtins', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'node_modules/my-package/index.js', + outdent` + const dns = require('dns') + module.exports = dns + `, + ], + [ + 'node_modules/my-package/package.json', + outdent` + { + "name": "my-package", + "version": "0.0.1" + } + `, + ], + ]) + ) + + await session.patch( + 'index.js', + outdent` + import pkg from 'my-package' + + export default function Hello() { + return (pkg ?

Package loaded

:

Package did not load

) + } + ` + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() + + await cleanup() + }) + + test('Module not found', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'index.js', + outdent` + import Comp from 'b' + + export default function Oops() { + return ( +
+ lol +
+ ) + } + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + + const source = await session.getRedboxSource() + expect(source).toMatchSnapshot() + await cleanup() + }) + + test('Module not found (empty import trace)', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'pages/index.js', + outdent` + import Comp from 'b' + + export default function Oops() { + return ( +
+ lol +
+ ) + } + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + + const source = await session.getRedboxSource() + expect(source).toMatchSnapshot() + + await cleanup() + }) + + test('Module not found (missing global CSS)', async () => { + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'pages/_app.js', + outdent` + import './non-existent.css' + + export default function App({ Component, pageProps }) { + return + } + `, + ], + [ + 'pages/index.js', + outdent` + export default function Page(props) { + return

index page

+ } + `, + ], + ]) + ) + expect(await session.hasRedbox(true)).toBe(true) + + const source = await session.getRedboxSource() + expect(source).toMatchSnapshot() + + await session.patch( + 'pages/_app.js', + outdent` export default function App({ Component, pageProps }) { return } - `, - ], - [ - 'pages/index.js', - ` - export default function Page(props) { - return

index page

- } - `, - ], - ]) - ) - expect(await session.hasRedbox(true)).toBe(true) - - const source = await session.getRedboxSource() - expect(source).toMatchSnapshot() - - await session.patch( - 'pages/_app.js', - ` - export default function App({ Component, pageProps }) { - return - } - ` - ) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.documentElement.innerHTML) - ).toContain('index page') - - await cleanup() - }) + ` + ) + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.documentElement.innerHTML) + ).toContain('index page') + + await cleanup() }) -} +}) diff --git a/test/development/acceptance/ReactRefreshLogBox-scss.test.ts b/test/development/acceptance/ReactRefreshLogBox-scss.test.ts index 2c83053ea5cab4d..33a51c6bbf270b3 100644 --- a/test/development/acceptance/ReactRefreshLogBox-scss.test.ts +++ b/test/development/acceptance/ReactRefreshLogBox-scss.test.ts @@ -1,23 +1,18 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import path from 'path' // TODO: figure out why snapshots mismatch on GitHub actions // specifically but work in docker and locally describe.skip('ReactRefreshLogBox', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - dependencies: { - sass: 'latest', - }, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, + dependencies: { + sass: 'latest', + }, }) - afterAll(() => next.destroy()) test('scss syntax errors', async () => { const { session, cleanup } = await sandbox(next) diff --git a/test/development/acceptance/ReactRefreshLogBox.test.ts b/test/development/acceptance/ReactRefreshLogBox.test.ts index 444824c258b93ba..2b1290edaed066e 100644 --- a/test/development/acceptance/ReactRefreshLogBox.test.ts +++ b/test/development/acceptance/ReactRefreshLogBox.test.ts @@ -1,27 +1,22 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' -import { getSnapshotTestDescribe } from 'next-test-utils' - -for (const variant of ['default', 'turbo']) { - getSnapshotTestDescribe(variant)(`ReactRefreshLogBox ${variant}`, () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) - }) - afterAll(() => next.destroy()) - - test('should strip whitespace correctly with newline', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - ` +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { describeVariants as describe } from 'next-test-utils' +import path from 'path' +import { outdent } from 'outdent' + +describe.each(['default', 'turbo'])('ReactRefreshLogBox %s', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, + }) + + test('should strip whitespace correctly with newline', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'index.js', + outdent` export default function Page() { return ( <> @@ -37,24 +32,24 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - await session.evaluate(() => document.querySelector('a').click()) + ) + await session.evaluate(() => document.querySelector('a').click()) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137807 - test('module init error not shown', async () => { - // Start here: - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137807 + test('module init error not shown', async () => { + // Start here: + const { session, cleanup } = await sandbox(next) - // We start here. - await session.patch( - 'index.js', - ` + // We start here. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { render() { @@ -63,16 +58,16 @@ for (const variant of ['default', 'turbo']) { } export default ClassDefault; ` - ) + ) - expect( - await session.evaluate(() => document.querySelector('h1').textContent) - ).toBe('Default Export') + expect( + await session.evaluate(() => document.querySelector('h1').textContent) + ).toBe('Default Export') - // Add a throw in module init phase: - await session.patch( - 'index.js', - ` + // Add a throw in module init phase: + await session.patch( + 'index.js', + outdent` // top offset for snapshot import * as React from 'react'; throw new Error('no') @@ -83,29 +78,29 @@ for (const variant of ['default', 'turbo']) { } export default ClassDefault; ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554152127 - test('boundaries', async () => { - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554152127 + test('boundaries', async () => { + const { session, cleanup } = await sandbox(next) - await session.write( - 'FunctionDefault.js', - ` + await session.write( + 'FunctionDefault.js', + outdent` export default function FunctionDefault() { return

hello

} ` - ) - await session.patch( - 'index.js', - ` + ) + await session.patch( + 'index.js', + outdent` import FunctionDefault from './FunctionDefault.js' import * as React from 'react' class ErrorBoundary extends React.Component { @@ -135,58 +130,58 @@ for (const variant of ['default', 'turbo']) { } export default App; ` - ) + ) - expect( - await session.evaluate(() => document.querySelector('h2').textContent) - ).toBe('hello') + expect( + await session.evaluate(() => document.querySelector('h2').textContent) + ).toBe('hello') - await session.write( - 'FunctionDefault.js', - `export default function FunctionDefault() { throw new Error('no'); }` - ) + await session.write( + 'FunctionDefault.js', + `export default function FunctionDefault() { throw new Error('no'); }` + ) + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() + expect( + await session.evaluate(() => document.querySelector('h2').textContent) + ).toBe('error') + + await cleanup() + }) + + // TODO: investigate why this fails when running outside of the Next.js + // monorepo e.g. fails when using yarn create next-app + // https://github.com/vercel/next.js/pull/23203 + test.skip('internal package errors', async () => { + const { session, cleanup } = await sandbox(next) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() - expect( - await session.evaluate(() => document.querySelector('h2').textContent) - ).toBe('error') - - await cleanup() - }) - - // TODO: investigate why this fails when running outside of the Next.js - // monorepo e.g. fails when using yarn create next-app - // https://github.com/vercel/next.js/pull/23203 - test.skip('internal package errors', async () => { - const { session, cleanup } = await sandbox(next) - - // Make a react build-time error. - await session.patch( - 'index.js', - ` + // Make a react build-time error. + await session.patch( + 'index.js', + outdent` export default function FunctionNamed() { return
{{}}
}` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - // We internally only check the script path, not including the line number - // and error message because the error comes from an external library. - // This test ensures that the errored script path is correctly resolved. - expect(await session.getRedboxSource()).toContain( - `../../../../packages/next/dist/pages/_document.js` - ) + expect(await session.hasRedbox(true)).toBe(true) + // We internally only check the script path, not including the line number + // and error message because the error comes from an external library. + // This test ensures that the errored script path is correctly resolved. + expect(await session.getRedboxSource()).toContain( + `../../../../packages/next/dist/pages/_document.js` + ) - await cleanup() - }) + await cleanup() + }) - test('unterminated JSX', async () => { - const { session, cleanup } = await sandbox(next) + test('unterminated JSX', async () => { + const { session, cleanup } = await sandbox(next) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` export default () => { return (
@@ -195,13 +190,13 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(false)).toBe(false) + expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` export default () => { return (
@@ -210,31 +205,30 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) + expect(await session.hasRedbox(true)).toBe(true) - const source = await session.getRedboxSource() - expect(next.normalizeTestDirContent(source)).toMatchInlineSnapshot( - next.normalizeSnapshot(` + const source = await session.getRedboxSource() + expect(next.normalizeTestDirContent(source)).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./index.js Error: x Unexpected token. Did you mean \`{'}'}\` or \`}\`? - ,-[TEST_DIR/index.js:5:1] - 5 |

lol

- 6 | div - 7 | ) - 8 | } - : ^ - 9 | + ,-[TEST_DIR/index.js:4:1] + 4 |

lol

+ 5 | div + 6 | ) + 7 | } + : ^ \`---- x Unexpected eof - ,-[TEST_DIR/index.js:6:1] - 6 | div - 7 | ) - 8 | } - 9 | + ,-[TEST_DIR/index.js:4:1] + 4 |

lol

+ 5 | div + 6 | ) + 7 | } \`---- Caused by: @@ -244,27 +238,27 @@ for (const variant of ['default', 'turbo']) { ./index.js ./pages/index.js" `) - ) + ) - await cleanup() - }) + await cleanup() + }) - // Module trace is only available with webpack 5 - test('conversion to class component (1)', async () => { - const { session, cleanup } = await sandbox(next) + // Module trace is only available with webpack 5 + test('conversion to class component (1)', async () => { + const { session, cleanup } = await sandbox(next) - await session.write( - 'Child.js', - ` + await session.write( + 'Child.js', + outdent` export default function ClickCount() { return

hello

} ` - ) + ) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import Child from './Child'; export default function Home() { @@ -275,16 +269,16 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('hello') + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('hello') - await session.patch( - 'Child.js', - ` + await session.patch( + 'Child.js', + outdent` import { Component } from 'react'; export default class ClickCount extends Component { render() { @@ -292,14 +286,14 @@ for (const variant of ['default', 'turbo']) { } } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchSnapshot() + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchSnapshot() - await session.patch( - 'Child.js', - ` + await session.patch( + 'Child.js', + outdent` import { Component } from 'react'; export default class ClickCount extends Component { render() { @@ -307,23 +301,23 @@ for (const variant of ['default', 'turbo']) { } } ` - ) + ) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('hello new') + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('hello new') - await cleanup() - }) + await cleanup() + }) - test('css syntax errors', async () => { - const { session, cleanup } = await sandbox(next) + test('css syntax errors', async () => { + const { session, cleanup } = await sandbox(next) - await session.write('index.module.css', `.button {}`) - await session.patch( - 'index.js', - ` + await session.write('index.module.css', `.button {}`) + await session.patch( + 'index.js', + outdent` import './index.module.css'; export default () => { return ( @@ -333,35 +327,35 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) + + expect(await session.hasRedbox(false)).toBe(false) + + // Syntax error + await session.patch('index.module.css', `.button {`) + expect(await session.hasRedbox(true)).toBe(true) + const source = await session.getRedboxSource() + expect(source).toMatch('./index.module.css:1:1') + expect(source).toMatch('Syntax error: ') + expect(source).toMatch('Unclosed block') + expect(source).toMatch('> 1 | .button {') + expect(source).toMatch(' | ^') + + // Not local error + await session.patch('index.module.css', `button {}`) + expect(await session.hasRedbox(true)).toBe(true) + const source2 = await session.getRedboxSource() + expect(source2).toMatchSnapshot() + + await cleanup() + }) - expect(await session.hasRedbox(false)).toBe(false) - - // Syntax error - await session.patch('index.module.css', `.button {`) - expect(await session.hasRedbox(true)).toBe(true) - const source = await session.getRedboxSource() - expect(source).toMatch('./index.module.css:1:1') - expect(source).toMatch('Syntax error: ') - expect(source).toMatch('Unclosed block') - expect(source).toMatch('> 1 | .button {') - expect(source).toMatch(' | ^') - - // Not local error - await session.patch('index.module.css', `button {}`) - expect(await session.hasRedbox(true)).toBe(true) - const source2 = await session.getRedboxSource() - expect(source2).toMatchSnapshot() - - await cleanup() - }) - - test('logbox: anchors links in error messages', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - ` + test('logbox: anchors links in error messages', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -375,39 +369,39 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - expect(await session.hasRedbox(false)).toBe(false) - await session.evaluate(() => document.querySelector('button').click()) - expect(await session.hasRedbox(true)).toBe(true) - - const header = await session.getRedboxDescription() - expect(header).toMatchSnapshot() - expect( - await session.evaluate( - () => + ) + + expect(await session.hasRedbox(false)).toBe(false) + await session.evaluate(() => document.querySelector('button').click()) + expect(await session.hasRedbox(true)).toBe(true) + + const header = await session.getRedboxDescription() + expect(header).toMatchSnapshot() + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(1) + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(1) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() - - await session.patch( - 'index.js', - ` + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() + + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -421,39 +415,39 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - expect(await session.hasRedbox(false)).toBe(false) - await session.evaluate(() => document.querySelector('button').click()) - expect(await session.hasRedbox(true)).toBe(true) - - const header2 = await session.getRedboxDescription() - expect(header2).toMatchSnapshot() - expect( - await session.evaluate( - () => + ) + + expect(await session.hasRedbox(false)).toBe(false) + await session.evaluate(() => document.querySelector('button').click()) + expect(await session.hasRedbox(true)).toBe(true) + + const header2 = await session.getRedboxDescription() + expect(header2).toMatchSnapshot() + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(1) + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(1) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() - - await session.patch( - 'index.js', - ` + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() + + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -467,39 +461,39 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - expect(await session.hasRedbox(false)).toBe(false) - await session.evaluate(() => document.querySelector('button').click()) - expect(await session.hasRedbox(true)).toBe(true) - - const header3 = await session.getRedboxDescription() - expect(header3).toMatchSnapshot() - expect( - await session.evaluate( - () => + ) + + expect(await session.hasRedbox(false)).toBe(false) + await session.evaluate(() => document.querySelector('button').click()) + expect(await session.hasRedbox(true)).toBe(true) + + const header3 = await session.getRedboxDescription() + expect(header3).toMatchSnapshot() + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(1) + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(1) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() - - await session.patch( - 'index.js', - ` + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() + + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -513,53 +507,53 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - expect(await session.hasRedbox(false)).toBe(false) - await session.evaluate(() => document.querySelector('button').click()) - expect(await session.hasRedbox(true)).toBe(true) - - const header4 = await session.getRedboxDescription() - expect(header4).toMatchInlineSnapshot( - `"Error: multiple http://nextjs.org links http://example.com"` - ) - expect( - await session.evaluate( - () => + ) + + expect(await session.hasRedbox(false)).toBe(false) + await session.evaluate(() => document.querySelector('button').click()) + expect(await session.hasRedbox(true)).toBe(true) + + const header4 = await session.getRedboxDescription() + expect(header4).toMatchInlineSnapshot( + `"Error: multiple http://nextjs.org links http://example.com"` + ) + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(2) + expect( + await session.evaluate( + () => + ( + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() + expect( + await session.evaluate( + () => + ( document .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(2) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(2)' - ) as any - ).href - ) - ).toMatchSnapshot() - - await session.patch( - 'index.js', - ` + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(2)' + ) as any + ).href + ) + ).toMatchSnapshot() + + await session.patch( + 'index.js', + outdent` import { useCallback } from 'react' export default function Index() { @@ -573,59 +567,59 @@ for (const variant of ['default', 'turbo']) { ) } ` + ) + + expect(await session.hasRedbox(false)).toBe(false) + await session.evaluate(() => document.querySelector('button').click()) + expect(await session.hasRedbox(true)).toBe(true) + + const header5 = await session.getRedboxDescription() + expect(header5).toMatchInlineSnapshot( + `"Error: multiple http://nextjs.org links (http://example.com)"` + ) + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') + .length + ) + ).toBe(2) + expect( + await session.evaluate( + () => + ( + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ) as any + ).href + ) + ).toMatchSnapshot() + expect( + await session.evaluate( + () => + ( + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(2)' + ) as any + ).href ) + ).toMatchSnapshot() - expect(await session.hasRedbox(false)).toBe(false) - await session.evaluate(() => document.querySelector('button').click()) - expect(await session.hasRedbox(true)).toBe(true) + await cleanup() + }) - const header5 = await session.getRedboxDescription() - expect(header5).toMatchInlineSnapshot( - `"Error: multiple http://nextjs.org links (http://example.com)"` - ) - expect( - await session.evaluate( - () => - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelectorAll('#nextjs__container_errors_desc a') - .length - ) - ).toBe(2) - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(1)' - ) as any - ).href - ) - ).toMatchSnapshot() - expect( - await session.evaluate( - () => - ( - document - .querySelector('body > nextjs-portal') - .shadowRoot.querySelector( - '#nextjs__container_errors_desc a:nth-of-type(2)' - ) as any - ).href - ) - ).toMatchSnapshot() - - await cleanup() - }) - - test('non-Error errors are handled properly', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - ` + test('non-Error errors are handled properly', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'index.js', + outdent` export default () => { throw {'a': 1, 'b': 'x'}; return ( @@ -633,28 +627,28 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toMatchInlineSnapshot( - `"Error: {\\"a\\":1,\\"b\\":\\"x\\"}"` - ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toMatchInlineSnapshot( + `"Error: {\\"a\\":1,\\"b\\":\\"x\\"}"` + ) - // fix previous error - await session.patch( - 'index.js', - ` + // fix previous error + await session.patch( + 'index.js', + outdent` export default () => { return (
hello
) } ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await session.patch( + 'index.js', + outdent` class Hello {} export default () => { @@ -664,27 +658,27 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toContain( - `Error: class Hello {` - ) - - // fix previous error - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toContain( + `Error: class Hello {` + ) + + // fix previous error + await session.patch( + 'index.js', + outdent` export default () => { return (
hello
) } ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await session.patch( + 'index.js', + outdent` export default () => { throw "string error" return ( @@ -692,27 +686,27 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toMatchInlineSnapshot( - `"Error: string error"` - ) - - // fix previous error - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toMatchInlineSnapshot( + `"Error: string error"` + ) + + // fix previous error + await session.patch( + 'index.js', + outdent` export default () => { return (
hello
) } ` - ) - expect(await session.hasRedbox(false)).toBe(false) - await session.patch( - 'index.js', - ` + ) + expect(await session.hasRedbox(false)).toBe(false) + await session.patch( + 'index.js', + outdent` export default () => { throw null return ( @@ -720,13 +714,12 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxDescription()).toContain( - `Error: A null error was thrown` - ) + ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxDescription()).toContain( + `Error: A null error was thrown` + ) - await cleanup() - }) + await cleanup() }) -} +}) diff --git a/test/development/acceptance/ReactRefreshLogBoxMisc.test.ts b/test/development/acceptance/ReactRefreshLogBoxMisc.test.ts index 486fd88498525af..557c2a221dc3ad9 100644 --- a/test/development/acceptance/ReactRefreshLogBoxMisc.test.ts +++ b/test/development/acceptance/ReactRefreshLogBoxMisc.test.ts @@ -1,26 +1,22 @@ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import path from 'path' +import { outdent } from 'outdent' // TODO: re-enable these tests after figuring out what is causing // them to be so unreliable in CI describe.skip('ReactRefreshLogBox', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, }) - afterAll(() => next.destroy()) test(' with multiple children', async () => { const { session, cleanup } = await sandbox(next) await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Index() { @@ -59,7 +55,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -75,7 +71,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -87,7 +83,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -111,7 +107,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -135,7 +131,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -159,7 +155,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -184,7 +180,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'index.js', - ` + outdent` import Link from 'next/link' export default function Hello() { @@ -215,7 +211,7 @@ describe.skip('ReactRefreshLogBox', () => { await session.patch( 'pages/index.js', - ` + outdent` import myLibrary from 'my-non-existent-library' export async function getStaticProps() { return { diff --git a/test/development/acceptance/ReactRefreshModule.test.ts b/test/development/acceptance/ReactRefreshModule.test.ts index 58321126cb6ff49..6ef5a2d506c752e 100644 --- a/test/development/acceptance/ReactRefreshModule.test.ts +++ b/test/development/acceptance/ReactRefreshModule.test.ts @@ -1,20 +1,15 @@ -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' -import { sandbox } from './helpers' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import path from 'path' describe('ReactRefreshModule', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, }) - afterAll(() => next.destroy()) it('should allow any variable names', async () => { - const { session, cleanup } = await sandbox(next, new Map([])) + const { session, cleanup } = await sandbox(next) expect(await session.hasRedbox(false)).toBe(false) const variables = [ diff --git a/test/development/acceptance/ReactRefreshRegression.test.ts b/test/development/acceptance/ReactRefreshRegression.test.ts index 35def651e0b6113..9f295a0c320fa79 100644 --- a/test/development/acceptance/ReactRefreshRegression.test.ts +++ b/test/development/acceptance/ReactRefreshRegression.test.ts @@ -1,62 +1,59 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' import { check } from 'next-test-utils' +import { outdent } from 'outdent' +import path from 'path' describe('ReactRefreshRegression', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - dependencies: { - 'styled-components': '5.1.0', - '@next/mdx': 'canary', - '@mdx-js/loader': '0.18.0', - }, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, + dependencies: { + 'styled-components': '5.1.0', + '@next/mdx': 'canary', + '@mdx-js/loader': '0.18.0', + }, }) - afterAll(() => next.destroy()) // https://github.com/vercel/next.js/issues/12422 test('styled-components hydration mismatch', async () => { - const files = new Map() - files.set( - 'pages/_document.js', - ` - import Document from 'next/document' - import { ServerStyleSheet } from 'styled-components' - - export default class MyDocument extends Document { - static async getInitialProps(ctx) { - const sheet = new ServerStyleSheet() - const originalRenderPage = ctx.renderPage - - try { - ctx.renderPage = () => - originalRenderPage({ - enhanceApp: App => props => sheet.collectStyles(), - }) - - const initialProps = await Document.getInitialProps(ctx) - return { - ...initialProps, - styles: ( - <> - {initialProps.styles} - {sheet.getStyleElement()} - - ), + const files = new Map([ + [ + 'pages/_document.js', + outdent` + import Document from 'next/document' + import { ServerStyleSheet } from 'styled-components' + + export default class MyDocument extends Document { + static async getInitialProps(ctx) { + const sheet = new ServerStyleSheet() + const originalRenderPage = ctx.renderPage + + try { + ctx.renderPage = () => + originalRenderPage({ + enhanceApp: App => props => sheet.collectStyles(), + }) + + const initialProps = await Document.getInitialProps(ctx) + return { + ...initialProps, + styles: ( + <> + {initialProps.styles} + {sheet.getStyleElement()} + + ), + } + } finally { + sheet.seal() } - } finally { - sheet.seal() } } - } - ` - ) + `, + ], + ]) const { session, cleanup } = await sandbox(next, files) @@ -299,28 +296,31 @@ describe('ReactRefreshRegression', () => { // https://github.com/vercel/next.js/issues/13574 test('custom loader (mdx) should have Fast Refresh enabled', async () => { - const files = new Map() - files.set( - 'next.config.js', - ` - const withMDX = require("@next/mdx")({ - extension: /\\.mdx?$/, - }); - module.exports = withMDX({ - pageExtensions: ["js", "mdx"], - }); - ` + const { session, cleanup } = await sandbox( + next, + new Map([ + [ + 'next.config.js', + outdent` + const withMDX = require("@next/mdx")({ + extension: /\\.mdx?$/, + }); + module.exports = withMDX({ + pageExtensions: ["js", "mdx"], + }); + `, + ], + ['pages/mdx.mdx', `Hello World!`], + ]), + '/mdx' ) - files.set('pages/index.mdx', `Hello World!`) - - const { session, cleanup } = await sandbox(next, files, false) expect( await session.evaluate( () => document.querySelector('#__next').textContent ) ).toBe('Hello World!') - let didNotReload = await session.patch('pages/index.mdx', `Hello Foo!`) + let didNotReload = await session.patch('pages/mdx.mdx', `Hello Foo!`) expect(didNotReload).toBe(true) expect(await session.hasRedbox(false)).toBe(false) expect( @@ -329,7 +329,7 @@ describe('ReactRefreshRegression', () => { ) ).toBe('Hello Foo!') - didNotReload = await session.patch('pages/index.mdx', `Hello Bar!`) + didNotReload = await session.patch('pages/mdx.mdx', `Hello Bar!`) expect(didNotReload).toBe(true) expect(await session.hasRedbox(false)).toBe(false) expect( diff --git a/test/development/acceptance/ReactRefreshRequire.test.ts b/test/development/acceptance/ReactRefreshRequire.test.ts index 284ea91dfd35be4..71daf614841b005 100644 --- a/test/development/acceptance/ReactRefreshRequire.test.ts +++ b/test/development/acceptance/ReactRefreshRequire.test.ts @@ -1,18 +1,13 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import path from 'path' describe('ReactRefreshRequire', () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, }) - afterAll(() => next.destroy()) // https://github.com/facebook/metro/blob/b651e535cd0fc5df6c0803b9aa647d664cb9a6c3/packages/metro/src/lib/polyfills/__tests__/require-test.js#L989-L1048 test('re-runs accepted modules', async () => { diff --git a/test/development/acceptance/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap b/test/development/acceptance/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap index 61b51fea3087714..d22b4a1d2f676fb 100644 --- a/test/development/acceptance/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap +++ b/test/development/acceptance/__snapshots__/ReactRefreshLogBox-builtins.test.ts.snap @@ -4,22 +4,20 @@ exports[`ReactRefreshLogBox default Module not found (empty import trace) 1`] = "./pages/index.js:1:0 Module not found: Can't resolve 'b' > 1 | import Comp from 'b' - 2 | export default function Oops() { - 3 | return ( - 4 |
+ 2 | + 3 | export default function Oops() { + 4 | return ( https://nextjs.org/docs/messages/module-not-found" `; exports[`ReactRefreshLogBox default Module not found (missing global CSS) 1`] = ` -"./pages/_app.js:2:8 +"./pages/_app.js:1:0 Module not found: Can't resolve './non-existent.css' - 1 | -> 2 | import './non-existent.css' - | ^ - 3 | - 4 | export default function App({ Component, pageProps }) { - 5 | return +> 1 | import './non-existent.css' + 2 | + 3 | export default function App({ Component, pageProps }) { + 4 | return https://nextjs.org/docs/messages/module-not-found" `; @@ -28,9 +26,9 @@ exports[`ReactRefreshLogBox default Module not found 1`] = ` "./index.js:1:0 Module not found: Can't resolve 'b' > 1 | import Comp from 'b' - 2 | export default function Oops() { - 3 | return ( - 4 |
+ 2 | + 3 | export default function Oops() { + 4 | return ( https://nextjs.org/docs/messages/module-not-found @@ -39,7 +37,7 @@ Import trace for requested module: `; exports[`ReactRefreshLogBox default Node.js builtins 1`] = ` -"./node_modules/my-package/index.js:2:0 +"./node_modules/my-package/index.js:1:0 Module not found: Can't resolve 'dns' https://nextjs.org/docs/messages/module-not-found diff --git a/test/development/acceptance/__snapshots__/ReactRefreshLogBox.test.ts.snap b/test/development/acceptance/__snapshots__/ReactRefreshLogBox.test.ts.snap index 8a0214330075c75..f603c7365380329 100644 --- a/test/development/acceptance/__snapshots__/ReactRefreshLogBox.test.ts.snap +++ b/test/development/acceptance/__snapshots__/ReactRefreshLogBox.test.ts.snap @@ -8,15 +8,14 @@ exports[`ReactRefreshLogBox default boundaries 1`] = ` `; exports[`ReactRefreshLogBox default conversion to class component (1) 1`] = ` -"Child.js (5:18) @ ClickCount.render - - 3 | export default class ClickCount extends Component { - 4 | render() { -> 5 | throw new Error() - | ^ - 6 | } - 7 | } - 8 | " +"Child.js (4:10) @ ClickCount.render + + 2 | export default class ClickCount extends Component { + 3 | render() { +> 4 | throw new Error() + | ^ + 5 | } + 6 | }" `; exports[`ReactRefreshLogBox default css syntax errors 1`] = ` @@ -48,25 +47,25 @@ exports[`ReactRefreshLogBox default logbox: anchors links in error messages 11`] exports[`ReactRefreshLogBox default logbox: anchors links in error messages 12`] = `"http://example.com/"`; exports[`ReactRefreshLogBox default module init error not shown 1`] = ` -"index.js (4:14) @ eval - - 2 | // top offset for snapshot - 3 | import * as React from 'react'; -> 4 | throw new Error('no') - | ^ - 5 | class ClassDefault extends React.Component { - 6 | render() { - 7 | return

Default Export

;" +"index.js (3:6) @ eval + + 1 | // top offset for snapshot + 2 | import * as React from 'react'; +> 3 | throw new Error('no') + | ^ + 4 | class ClassDefault extends React.Component { + 5 | render() { + 6 | return

Default Export

;" `; exports[`ReactRefreshLogBox default should strip whitespace correctly with newline 1`] = ` -"index.js (9:34) @ onClick +"index.js (8:26) @ onClick - 7 | - 8 | { -> 9 | throw new Error('idk') + 6 | + 7 | { +> 8 | throw new Error('idk') | ^ - 10 | }}> - 11 | click me - 12 | " + 9 | }}> + 10 | click me + 11 | " `; diff --git a/test/development/acceptance/__snapshots__/error-recovery.test.ts.snap b/test/development/acceptance/__snapshots__/error-recovery.test.ts.snap index 69a69c4eb82fa69..373d7f774d7a3e6 100644 --- a/test/development/acceptance/__snapshots__/error-recovery.test.ts.snap +++ b/test/development/acceptance/__snapshots__/error-recovery.test.ts.snap @@ -1,13 +1,13 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`ReactRefreshLogBox default syntax > runtime error 1`] = ` -"index.js (6:16) @ Error +"index.js (5:8) @ Error - 4 | setInterval(() => { - 5 | i++ -> 6 | throw Error('no ' + i) - | ^ - 7 | }, 1000) - 8 | export default function FunctionNamed() { - 9 | return
" + 3 | setInterval(() => { + 4 | i++ +> 5 | throw Error('no ' + i) + | ^ + 6 | }, 1000) + 7 | export default function FunctionNamed() { + 8 | return
" `; diff --git a/test/development/acceptance/component-stack.test.ts b/test/development/acceptance/component-stack.test.ts index 8120ab08709edd0..ac229c08610e569 100644 --- a/test/development/acceptance/component-stack.test.ts +++ b/test/development/acceptance/component-stack.test.ts @@ -1,54 +1,55 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { outdent } from 'outdent' +import path from 'path' -createNextDescribe( - 'Component Stack in error overlay', - { - files: {}, +describe('Component Stack in error overlay', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should show a component stack on hydration error', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'component.js', - ` - const isClient = typeof window !== 'undefined' - export default function Component() { - return ( -
-

{isClient ? "client" : "server"}

-
- ); - } -`, - ], - [ - 'index.js', - ` - import Component from './component' - export default function Mismatch() { - return ( -
- -
- ); - } -`, - ], - ]) - ) + }) - expect(await session.hasRedbox(true)).toBe(true) + it('should show a component stack on hydration error', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'component.js', + outdent` + const isClient = typeof window !== 'undefined' + export default function Component() { + return ( +
+

{isClient ? "client" : "server"}

+
+ ); + } + `, + ], + [ + 'index.js', + outdent` + import Component from './component' + export default function Mismatch() { + return ( +
+ +
+ ); + } + `, + ], + ]) + ) - expect(await session.getRedboxComponentStack()).toMatchInlineSnapshot(` + expect(await session.hasRedbox(true)).toBe(true) + + expect(await session.getRedboxComponentStack()).toMatchInlineSnapshot(` "p div Component @@ -56,7 +57,6 @@ createNextDescribe( Mismatch" `) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance/error-recovery.test.ts b/test/development/acceptance/error-recovery.test.ts index afda139c6bbc02a..b1f7f78b03bc27f 100644 --- a/test/development/acceptance/error-recovery.test.ts +++ b/test/development/acceptance/error-recovery.test.ts @@ -1,27 +1,22 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' -import { check, getSnapshotTestDescribe } from 'next-test-utils' - -for (const variant of ['default', 'turbo']) { - getSnapshotTestDescribe(variant)(`ReactRefreshLogBox ${variant}`, () => { - let next: NextInstance - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) - }) - afterAll(() => next.destroy()) - - test('logbox: can recover from a syntax error without losing state', async () => { - const { session, cleanup } = await sandbox(next) - - await session.patch( - 'index.js', - ` +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { check, describeVariants as describe } from 'next-test-utils' +import { outdent } from 'outdent' +import path from 'path' + +describe.each(['default', 'turbo'])('ReactRefreshLogBox %s', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), + skipStart: true, + }) + + test('logbox: can recover from a syntax error without losing state', async () => { + const { session, cleanup } = await sandbox(next) + + await session.patch( + 'index.js', + outdent` import { useCallback, useState } from 'react' export default function Index() { @@ -35,23 +30,23 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - await session.evaluate(() => document.querySelector('button').click()) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('1') + await session.evaluate(() => document.querySelector('button').click()) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('1') - await session.patch('index.js', `export default () =>
session.evaluate(() => document.querySelector('p').textContent), - /Count: 1/ - ) + await check( + () => session.evaluate(() => document.querySelector('p').textContent), + /Count: 1/ + ) - expect(await session.hasRedbox(false)).toBe(false) + expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) + await cleanup() + }) - test('logbox: can recover from a event handler error', async () => { - const { session, cleanup } = await sandbox(next) + test('logbox: can recover from a event handler error', async () => { + const { session, cleanup } = await sandbox(next) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import { useCallback, useState } from 'react' export default function Index() { @@ -99,32 +94,32 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) - - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('0') - await session.evaluate(() => document.querySelector('button').click()) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('1') - - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toMatchInlineSnapshot(` - "index.js (8:18) @ eval - - 6 | const increment = useCallback(() => { - 7 | setCount(c => c + 1) - > 8 | throw new Error('oops') - | ^ - 9 | }, [setCount]) - 10 | return ( - 11 |
" - `) - - await session.patch( - 'index.js', - ` + ) + + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('0') + await session.evaluate(() => document.querySelector('button').click()) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('1') + + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toMatchInlineSnapshot(` + "index.js (7:10) @ eval + + 5 | const increment = useCallback(() => { + 6 | setCount(c => c + 1) + > 7 | throw new Error('oops') + | ^ + 8 | }, [setCount]) + 9 | return ( + 10 |
" + `) + + await session.patch( + 'index.js', + outdent` import { useCallback, useState } from 'react' export default function Index() { @@ -138,38 +133,38 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect(await session.hasRedbox(false)).toBe(false) + expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('Count: 1') - await session.evaluate(() => document.querySelector('button').click()) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('Count: 2') + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('Count: 1') + await session.evaluate(() => document.querySelector('button').click()) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('Count: 2') - expect(await session.hasRedbox(false)).toBe(false) + expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) + await cleanup() + }) - test('logbox: can recover from a component error', async () => { - const { session, cleanup } = await sandbox(next) + test('logbox: can recover from a component error', async () => { + const { session, cleanup } = await sandbox(next) - await session.write( - 'child.js', - ` + await session.write( + 'child.js', + outdent` export default function Child() { return

Hello

; } ` - ) + ) - await session.patch( - 'index.js', - ` + await session.patch( + 'index.js', + outdent` import Child from './child' export default function Index() { @@ -180,53 +175,53 @@ for (const variant of ['default', 'turbo']) { ) } ` - ) + ) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('Hello') + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('Hello') - await session.patch( - 'child.js', - ` + await session.patch( + 'child.js', + outdent` // hello export default function Child() { throw new Error('oops') } ` - ) + ) - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - 'export default function Child()' - ) + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + 'export default function Child()' + ) - const didNotReload = await session.patch( - 'child.js', - ` + const didNotReload = await session.patch( + 'child.js', + outdent` export default function Child() { return

Hello

; } ` - ) + ) - expect(didNotReload).toBe(true) - expect(await session.hasRedbox(false)).toBe(false) - expect( - await session.evaluate(() => document.querySelector('p').textContent) - ).toBe('Hello') + expect(didNotReload).toBe(true) + expect(await session.hasRedbox(false)).toBe(false) + expect( + await session.evaluate(() => document.querySelector('p').textContent) + ).toBe('Hello') - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137262 - test('render error not shown right after syntax error', async () => { - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554137262 + test('render error not shown right after syntax error', async () => { + const { session, cleanup } = await sandbox(next) - // Starting here: - await session.patch( - 'index.js', - ` + // Starting here: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { render() { @@ -236,16 +231,16 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) + ) - expect( - await session.evaluate(() => document.querySelector('h1').textContent) - ).toBe('Default Export') + expect( + await session.evaluate(() => document.querySelector('h1').textContent) + ).toBe('Default Export') - // Break it with a syntax error: - await session.patch( - 'index.js', - ` + // Break it with a syntax error: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { @@ -256,13 +251,13 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) - expect(await session.hasRedbox(true)).toBe(true) + ) + expect(await session.hasRedbox(true)).toBe(true) - // Now change the code to introduce a runtime error without fixing the syntax error: - await session.patch( - 'index.js', - ` + // Now change the code to introduce a runtime error without fixing the syntax error: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { @@ -274,13 +269,13 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) - expect(await session.hasRedbox(true)).toBe(true) + ) + expect(await session.hasRedbox(true)).toBe(true) - // Now fix the syntax error: - await session.patch( - 'index.js', - ` + // Now fix the syntax error: + await session.patch( + 'index.js', + outdent` import * as React from 'react'; class ClassDefault extends React.Component { @@ -292,29 +287,29 @@ for (const variant of ['default', 'turbo']) { export default ClassDefault; ` - ) - expect(await session.hasRedbox(true)).toBe(true) + ) + expect(await session.hasRedbox(true)).toBe(true) - await check(async () => { - const source = await session.getRedboxSource() - return source?.includes('render() {') ? 'success' : source - }, 'success') + await check(async () => { + const source = await session.getRedboxSource() + return source?.includes('render() {') ? 'success' : source + }, 'success') - expect(await session.getRedboxSource()).toInclude( - "throw new Error('nooo');" - ) + expect(await session.getRedboxSource()).toInclude( + "throw new Error('nooo');" + ) - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554144016 - test('stuck error', async () => { - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554144016 + test('stuck error', async () => { + const { session, cleanup } = await sandbox(next) - // We start here. - await session.patch( - 'index.js', - ` + // We start here. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; function FunctionDefault() { @@ -323,23 +318,23 @@ for (const variant of ['default', 'turbo']) { export default FunctionDefault; ` - ) + ) - // We add a new file. Let's call it Foo.js. - await session.write( - 'Foo.js', - ` + // We add a new file. Let's call it Foo.js. + await session.write( + 'Foo.js', + outdent` // intentionally skips export export default function Foo() { return React.createElement('h1', null, 'Foo'); } ` - ) + ) - // We edit our first file to use it. - await session.patch( - 'index.js', - ` + // We edit our first file to use it. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; import Foo from './Foo'; function FunctionDefault() { @@ -347,50 +342,50 @@ for (const variant of ['default', 'turbo']) { } export default FunctionDefault; ` - ) - - // We get an error because Foo didn't import React. Fair. - expect(await session.hasRedbox(true)).toBe(true) - expect(await session.getRedboxSource()).toInclude( - "return React.createElement('h1', null, 'Foo');" - ) - - // Let's add that to Foo. - await session.patch( - 'Foo.js', - ` + ) + + // We get an error because Foo didn't import React. Fair. + expect(await session.hasRedbox(true)).toBe(true) + expect(await session.getRedboxSource()).toInclude( + "return React.createElement('h1', null, 'Foo');" + ) + + // Let's add that to Foo. + await session.patch( + 'Foo.js', + outdent` import * as React from 'react'; export default function Foo() { return React.createElement('h1', null, 'Foo'); } ` - ) + ) - // Expected: this fixes the problem - expect(await session.hasRedbox(false)).toBe(false) + // Expected: this fixes the problem + expect(await session.hasRedbox(false)).toBe(false) - await cleanup() - }) + await cleanup() + }) - // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554150098 - test('syntax > runtime error', async () => { - const { session, cleanup } = await sandbox(next) + // https://github.com/pmmmwh/react-refresh-webpack-plugin/pull/3#issuecomment-554150098 + test('syntax > runtime error', async () => { + const { session, cleanup } = await sandbox(next) - // Start here. - await session.patch( - 'index.js', - ` + // Start here. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; export default function FunctionNamed() { return
} ` - ) - // TODO: this acts weird without above step - await session.patch( - 'index.js', - ` + ) + // TODO: this acts weird without above step + await session.patch( + 'index.js', + outdent` import * as React from 'react'; let i = 0 setInterval(() => { @@ -401,20 +396,20 @@ for (const variant of ['default', 'turbo']) { return
} ` - ) - - await new Promise((resolve) => setTimeout(resolve, 1000)) - expect(await session.hasRedbox(true)).toBe(true) - if (process.platform === 'win32') { - expect(await session.getRedboxSource()).toMatchSnapshot() - } else { - expect(await session.getRedboxSource()).toMatchSnapshot() - } - - // Make a syntax error. - await session.patch( - 'index.js', - ` + ) + + await new Promise((resolve) => setTimeout(resolve, 1000)) + expect(await session.hasRedbox(true)).toBe(true) + if (process.platform === 'win32') { + expect(await session.getRedboxSource()).toMatchSnapshot() + } else { + expect(await session.getRedboxSource()).toMatchSnapshot() + } + + // Make a syntax error. + await session.patch( + 'index.js', + outdent` import * as React from 'react'; let i = 0 setInterval(() => { @@ -422,23 +417,23 @@ for (const variant of ['default', 'turbo']) { throw Error('no ' + i) }, 1000) export default function FunctionNamed() {` - ) - - await new Promise((resolve) => setTimeout(resolve, 1000)) - expect(await session.hasRedbox(true)).toBe(true) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + ) + + await new Promise((resolve) => setTimeout(resolve, 1000)) + expect(await session.hasRedbox(true)).toBe(true) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./index.js Error: x Expected '}', got '' - ,-[TEST_DIR/index.js:5:1] - 5 | i++ - 6 | throw Error('no ' + i) - 7 | }, 1000) - 8 | export default function FunctionNamed() { - : ^ + ,-[TEST_DIR/index.js:4:1] + 4 | i++ + 5 | throw Error('no ' + i) + 6 | }, 1000) + 7 | export default function FunctionNamed() { + : ^ \`---- Caused by: @@ -448,24 +443,24 @@ for (const variant of ['default', 'turbo']) { ./index.js ./pages/index.js" `) - ) - - // Test that runtime error does not take over: - await new Promise((resolve) => setTimeout(resolve, 2000)) - expect(await session.hasRedbox(true)).toBe(true) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + ) + + // Test that runtime error does not take over: + await new Promise((resolve) => setTimeout(resolve, 2000)) + expect(await session.hasRedbox(true)).toBe(true) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./index.js Error: x Expected '}', got '' - ,-[TEST_DIR/index.js:5:1] - 5 | i++ - 6 | throw Error('no ' + i) - 7 | }, 1000) - 8 | export default function FunctionNamed() { - : ^ + ,-[TEST_DIR/index.js:4:1] + 4 | i++ + 5 | throw Error('no ' + i) + 6 | }, 1000) + 7 | export default function FunctionNamed() { + : ^ \`---- Caused by: @@ -475,9 +470,8 @@ for (const variant of ['default', 'turbo']) { ./index.js ./pages/index.js" `) - ) + ) - await cleanup() - }) + await cleanup() }) -} +}) diff --git a/test/development/acceptance/fixtures/default-template/index.js b/test/development/acceptance/fixtures/default-template/index.js new file mode 100644 index 000000000000000..31fd86d55937d47 --- /dev/null +++ b/test/development/acceptance/fixtures/default-template/index.js @@ -0,0 +1 @@ +export default () => 'new sandbox' diff --git a/test/development/acceptance/fixtures/default-template/next.config.js b/test/development/acceptance/fixtures/default-template/next.config.js new file mode 100644 index 000000000000000..4ba52ba2c8df675 --- /dev/null +++ b/test/development/acceptance/fixtures/default-template/next.config.js @@ -0,0 +1 @@ +module.exports = {} diff --git a/test/development/acceptance/fixtures/default-template/pages/index.js b/test/development/acceptance/fixtures/default-template/pages/index.js new file mode 100644 index 000000000000000..88aa8f478820c1c --- /dev/null +++ b/test/development/acceptance/fixtures/default-template/pages/index.js @@ -0,0 +1 @@ +export { default } from '../index' diff --git a/test/development/acceptance/helpers.ts b/test/development/acceptance/helpers.ts deleted file mode 100644 index c76a506c12014a1..000000000000000 --- a/test/development/acceptance/helpers.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { - getRedboxDescription, - getRedboxHeader, - getRedboxSource, - hasRedbox, -} from 'next-test-utils' -import webdriver from 'next-webdriver' -import { NextInstance } from 'test/lib/next-modes/base' - -export async function sandbox( - next: NextInstance, - initialFiles?: Map, - defaultFiles = true -) { - await next.stop() - await next.clean() - - if (defaultFiles) { - await next.patchFile( - 'pages/index.js', - `export { default } from '../index';` - ) - await next.patchFile('index.js', `export default () => 'new sandbox';`) - } - - if (initialFiles) { - for (const [k, v] of initialFiles.entries()) { - await next.patchFile(k, v) - } - } - await next.start() - const browser = await webdriver(next.url, '/') - return { - session: { - async write(filename, content) { - // Update the file on filesystem - await next.patchFile(filename, content) - }, - async patch(filename, content) { - // Register an event for HMR completion - await browser.eval(function () { - ;(window as any).__HMR_STATE = 'pending' - - var timeout = setTimeout(() => { - ;(window as any).__HMR_STATE = 'timeout' - }, 30 * 1000) - ;(window as any).__NEXT_HMR_CB = function () { - clearTimeout(timeout) - ;(window as any).__HMR_STATE = 'success' - } - }) - - await this.write(filename, content) - - for (;;) { - const status = await browser.eval(() => (window as any).__HMR_STATE) - if (!status) { - await new Promise((resolve) => setTimeout(resolve, 750)) - - // Wait for application to re-hydrate: - await browser.evalAsync(function () { - var callback = arguments[arguments.length - 1] - if ((window as any).__NEXT_HYDRATED) { - callback() - } else { - var timeout = setTimeout(callback, 30 * 1000) - ;(window as any).__NEXT_HYDRATED_CB = function () { - clearTimeout(timeout) - callback() - } - } - }) - - console.log('Application re-loaded.') - // Slow down tests a bit: - await new Promise((resolve) => setTimeout(resolve, 750)) - return false - } - if (status === 'success') { - console.log('Hot update complete.') - break - } - if (status !== 'pending') { - throw new Error(`Application is in inconsistent state: ${status}.`) - } - - await new Promise((resolve) => setTimeout(resolve, 30)) - } - - // Slow down tests a bit (we don't know how long re-rendering takes): - await new Promise((resolve) => setTimeout(resolve, 750)) - return true - }, - async remove(filename) { - await next.deleteFile(filename) - }, - async evaluate(snippet: () => any) { - if (typeof snippet === 'function') { - const result = await browser.eval(snippet) - await new Promise((resolve) => setTimeout(resolve, 30)) - return result - } else { - throw new Error( - `You must pass a function to be evaluated in the browser.` - ) - } - }, - async hasRedbox(expected = false) { - return hasRedbox(browser, expected) - }, - async getRedboxDescription() { - return getRedboxDescription(browser) - }, - async getRedboxSource(includeHeader = false) { - const header = includeHeader ? await getRedboxHeader(browser) : '' - const source = await getRedboxSource(browser) - - if (includeHeader) { - return `${header}\n\n${source}` - } - return source - }, - async getRedboxComponentStack() { - await browser.waitForElementByCss('[data-nextjs-component-stack-frame]') - const componentStackFrameElements = await browser.elementsByCss( - '[data-nextjs-component-stack-frame]' - ) - const componentStackFrameTexts = await Promise.all( - componentStackFrameElements.map((f) => f.innerText()) - ) - - return componentStackFrameTexts.join('\n') - }, - }, - async cleanup() { - await browser.close() - await next.stop() - await next.clean() - }, - } -} diff --git a/test/development/acceptance/hydration-error.test.ts b/test/development/acceptance/hydration-error.test.ts index 3f67fa0bd3b8eac..449ecef630645fa 100644 --- a/test/development/acceptance/hydration-error.test.ts +++ b/test/development/acceptance/hydration-error.test.ts @@ -1,41 +1,42 @@ /* eslint-env jest */ -import { sandbox } from './helpers' -import { createNextDescribe } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { outdent } from 'outdent' +import path from 'path' -createNextDescribe( - 'Error overlay for hydration errors', - { - files: {}, +describe('Error overlay for hydration errors', () => { + const { next } = nextTestSetup({ + files: new FileRef(path.join(__dirname, 'fixtures', 'default-template')), dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - it('should show correct hydration error when client and server render different text', async () => { - const { cleanup, session } = await sandbox( - next, - new Map([ - [ - 'index.js', - ` - const isClient = typeof window !== 'undefined' - export default function Mismatch() { - return ( -
-
{isClient ? "client" : "server"}
-
- ); - } -`, - ], - ]) - ) + }) - expect(await session.hasRedbox(true)).toBe(true) + it('should show correct hydration error when client and server render different text', async () => { + const { cleanup, session } = await sandbox( + next, + new Map([ + [ + 'index.js', + outdent` + const isClient = typeof window !== 'undefined' + export default function Mismatch() { + return ( +
+
{isClient ? "client" : "server"}
+
+ ); + } + `, + ], + ]) + ) - expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` + expect(await session.hasRedbox(true)).toBe(true) + + expect(await session.getRedboxDescription()).toMatchInlineSnapshot(` "Error: Text content does not match server-rendered HTML. Warning: Text content did not match. Server: \\"server\\" Client: \\"client\\" @@ -43,7 +44,6 @@ createNextDescribe( See more info here: https://nextjs.org/docs/messages/react-hydration-error" `) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/acceptance/server-component-compiler-errors-in-pages.test.ts b/test/development/acceptance/server-component-compiler-errors-in-pages.test.ts index c0c1373a1c8b600..2f3f3b34d5f395d 100644 --- a/test/development/acceptance/server-component-compiler-errors-in-pages.test.ts +++ b/test/development/acceptance/server-component-compiler-errors-in-pages.test.ts @@ -1,124 +1,127 @@ /* eslint-env jest */ -import { createNextDescribe } from 'e2e-utils' +import { nextTestSetup } from 'e2e-utils' import { check } from 'next-test-utils' -import { sandbox } from './helpers' +import { sandbox } from 'development-sandbox' +import { outdent } from 'outdent' const initialFiles = new Map([ ['next.config.js', 'module.exports = { experimental: { appDir: true } }'], ['app/_.js', ''], // app dir need to exists, otherwise the SWC RSC checks will not run [ 'pages/index.js', - `import Comp from '../components/Comp' + outdent` + import Comp from '../components/Comp' - export default function Page() { return }`, + export default function Page() { return } + `, ], [ 'components/Comp.js', - `export default function Comp() { return

Hello world

}`, + outdent` + export default function Comp() { + return

Hello world

+ } + `, ], ]) -createNextDescribe( - 'Error Overlay for server components compiler errors in pages', - { +describe('Error Overlay for server components compiler errors in pages', () => { + const { next } = nextTestSetup({ files: {}, dependencies: { react: 'latest', 'react-dom': 'latest', }, skipStart: true, - }, - ({ next }) => { - test("importing 'next/headers' in pages", async () => { - const { session, cleanup } = await sandbox(next, initialFiles, false) - - await session.patch( - 'components/Comp.js', - ` + }) + + test("importing 'next/headers' in pages", async () => { + const { session, cleanup } = await sandbox(next, initialFiles) + + await session.patch( + 'components/Comp.js', + outdent` import { cookies } from 'next/headers' - + export default function Page() { return

hello world

} - ` - ) - - expect(await session.hasRedbox(true)).toBe(true) - await check( - () => session.getRedboxSource(), - /That only works in a Server Component/ - ) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + await check( + () => session.getRedboxSource(), + /That only works in a Server Component/ + ) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./components/Comp.js ReactServerComponentsError: You're importing a component that needs next/headers. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/react-essentials#server-components ,-[TEST_DIR/components/Comp.js:1:1] - 1 | - 2 | import { cookies } from 'next/headers' - : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 3 | - 4 | export default function Page() { - 5 | return

hello world

+ 1 | import { cookies } from 'next/headers' + : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 2 | + 3 | export default function Page() { + 4 | return

hello world

\`---- Import trace for requested module: ./components/Comp.js ./pages/index.js" `) - ) - - await cleanup() - }) - - test("importing 'server-only' in pages", async () => { - const { session, cleanup } = await sandbox(next, initialFiles, false) - - await next.patchFile( - 'components/Comp.js', - ` - import 'server-only' - - export default function Page() { - return 'hello world' - } - ` - ) - - expect(await session.hasRedbox(true)).toBe(true) - await check( - () => session.getRedboxSource(), - /That only works in a Server Component/ - ) - expect( - next.normalizeTestDirContent(await session.getRedboxSource()) - ).toMatchInlineSnapshot( - next.normalizeSnapshot(` + ) + + await cleanup() + }) + + test("importing 'server-only' in pages", async () => { + const { session, cleanup } = await sandbox(next, initialFiles) + + await next.patchFile( + 'components/Comp.js', + outdent` + import 'server-only' + + export default function Page() { + return 'hello world' + } + ` + ) + + expect(await session.hasRedbox(true)).toBe(true) + await check( + () => session.getRedboxSource(), + /That only works in a Server Component/ + ) + expect( + next.normalizeTestDirContent(await session.getRedboxSource()) + ).toMatchInlineSnapshot( + next.normalizeSnapshot(` "./components/Comp.js ReactServerComponentsError: You're importing a component that needs server-only. That only works in a Server Component which is not supported in the pages/ directory. Read more: https://nextjs.org/docs/getting-started/react-essentials#server-components ,-[TEST_DIR/components/Comp.js:1:1] - 1 | - 2 | import 'server-only' - : ^^^^^^^^^^^^^^^^^^^^ - 3 | - 4 | export default function Page() { - 5 | return 'hello world' + 1 | import 'server-only' + : ^^^^^^^^^^^^^^^^^^^^ + 2 | + 3 | export default function Page() { + 4 | return 'hello world' \`---- Import trace for requested module: ./components/Comp.js ./pages/index.js" `) - ) + ) - await cleanup() - }) - } -) + await cleanup() + }) +}) diff --git a/test/development/middleware-warnings/index.test.ts b/test/development/middleware-warnings/index.test.ts index fb72050354c3eaf..a6121306c9dc494 100644 --- a/test/development/middleware-warnings/index.test.ts +++ b/test/development/middleware-warnings/index.test.ts @@ -1,65 +1,74 @@ -import { createNext } from 'e2e-utils' -import { NextInstance } from 'test/lib/next-modes/base' -import { sandbox } from '../acceptance/helpers' +import { FileRef, nextTestSetup } from 'e2e-utils' +import { sandbox } from 'development-sandbox' +import path from 'path' +import { outdent } from 'outdent' const middlewarePath = 'middleware.js' const middlewareWarning = `A middleware can not alter response's body` describe('middlewares', () => { - let next: NextInstance - let cleanup - - beforeAll(async () => { - next = await createNext({ - files: {}, - skipStart: true, - }) + const { next } = nextTestSetup({ + files: new FileRef( + path.join(__dirname, '..', 'acceptance', 'fixtures', 'default-template') + ), + skipStart: true, }) - afterAll(() => next.destroy()) - + let cleanup afterEach(() => cleanup?.()) it.each([ { title: 'returning response with literal string', - code: `export default function middleware() { - return new Response('this is not allowed'); - }`, + code: outdent` + export default function middleware() { + return new Response('this is not allowed'); + } + `, }, { title: 'returning response with literal number', - code: `export default function middleware() { - return new Response(10); - }`, + code: outdent` + export default function middleware() { + return new Response(10); + } + `, }, { title: 'returning response with JSON.stringify', - code: `export default function middleware() { - return new Response(JSON.stringify({ foo: 'this is not allowed' })); - }`, + code: outdent` + export default function middleware() { + return new Response(JSON.stringify({ foo: 'this is not allowed' })); + } + `, }, { title: 'populating response with a value', - code: `export default function middleware(request) { - const body = JSON.stringify({ foo: 'this should not be allowed, but hard to detect with AST' }) - return new Response(body); - }`, + code: outdent` + export default function middleware(request) { + const body = JSON.stringify({ foo: 'this should not be allowed, but hard to detect with AST' }) + return new Response(body); + } + `, }, { title: 'populating response with a function call', - code: `function buildBody() { - return 'this should not be allowed, but hard to detect with AST' - } - export default function middleware(request) { - return new Response(buildBody()); - }`, + code: outdent` + function buildBody() { + return 'this should not be allowed, but hard to detect with AST' + } + export default function middleware(request) { + return new Response(buildBody()); + } + `, }, { title: 'populating response with an async function call', - code: `export default async function middleware(request) { - return new Response(await fetch('https://example.vercel.sh')); - }`, + code: outdent` + export default async function middleware(request) { + return new Response(await fetch('https://example.vercel.sh')); + } + `, }, ])('does not warn when $title', async ({ code }) => { ;({ cleanup } = await sandbox(next, new Map([[middlewarePath, code]]))) @@ -69,15 +78,19 @@ describe('middlewares', () => { it.each([ { title: 'returning null reponse body', - code: `export default function middleware() { - return new Response(null); - }`, + code: outdent` + export default function middleware() { + return new Response(null); + } + `, }, { title: 'returning undefined response body', - code: `export default function middleware() { - return new Response(undefined); - }`, + code: outdent` + export default function middleware() { + return new Response(undefined); + } + `, }, ])('does not warn when $title', async ({ code }) => { ;({ cleanup } = await sandbox(next, new Map([[middlewarePath, code]]))) diff --git a/test/development/acceptance-app/helpers.ts b/test/lib/development-sandbox.ts similarity index 78% rename from test/development/acceptance-app/helpers.ts rename to test/lib/development-sandbox.ts index 1d2df4ea9db0c34..f1dde37b38d4fe6 100644 --- a/test/development/acceptance-app/helpers.ts +++ b/test/lib/development-sandbox.ts @@ -3,9 +3,26 @@ import { getRedboxHeader, getRedboxSource, hasRedbox, -} from 'next-test-utils' -import webdriver from 'next-webdriver' -import { NextInstance } from 'test/lib/next-modes/base' + waitFor, +} from './next-test-utils' +import webdriver from './next-webdriver' +import { NextInstance } from './next-modes/base' +import { BrowserInterface } from './browsers/base' + +export function waitForHydration(browser: BrowserInterface): Promise { + return browser.evalAsync(function () { + var callback = arguments[arguments.length - 1] + if ((window as any).__NEXT_HYDRATED) { + callback() + } else { + var timeout = setTimeout(callback, 30 * 1000) + ;(window as any).__NEXT_HYDRATED_CB = function () { + clearTimeout(timeout) + callback() + } + } + }) +} export async function sandbox( next: NextInstance, @@ -21,8 +38,10 @@ export async function sandbox( await next.patchFile(k, v) } } + await next.start() const browser = await webdriver(next.url, initialUrl, webDriverOptions) + // await waitForHydration(browser) return { browser, session: { @@ -49,25 +68,14 @@ export async function sandbox( for (;;) { const status = await browser.eval(() => (window as any).__HMR_STATE) if (!status) { - await new Promise((resolve) => setTimeout(resolve, 750)) + await waitFor(750) // Wait for application to re-hydrate: - await browser.evalAsync(function () { - var callback = arguments[arguments.length - 1] - if ((window as any).__NEXT_HYDRATED) { - callback() - } else { - var timeout = setTimeout(callback, 30 * 1000) - ;(window as any).__NEXT_HYDRATED_CB = function () { - clearTimeout(timeout) - callback() - } - } - }) + await waitForHydration(browser) console.log('Application re-loaded.') // Slow down tests a bit: - await new Promise((resolve) => setTimeout(resolve, 750)) + await waitFor(750) return false } if (status === 'success') { @@ -78,11 +86,11 @@ export async function sandbox( throw new Error(`Application is in inconsistent state: ${status}.`) } - await new Promise((resolve) => setTimeout(resolve, 30)) + await waitFor(30) } // Slow down tests a bit (we don't know how long re-rendering takes): - await new Promise((resolve) => setTimeout(resolve, 750)) + await waitFor(750) return true }, async remove(filename) { @@ -91,7 +99,7 @@ export async function sandbox( async evaluate(snippet: () => any) { if (typeof snippet === 'function') { const result = await browser.eval(snippet) - await new Promise((resolve) => setTimeout(resolve, 30)) + await waitFor(30) return result } else { throw new Error( @@ -124,7 +132,10 @@ export async function sandbox( return source }, async getRedboxComponentStack() { - await browser.waitForElementByCss('[data-nextjs-component-stack-frame]') + await browser.waitForElementByCss( + '[data-nextjs-component-stack-frame]', + 30000 + ) const componentStackFrameElements = await browser.elementsByCss( '[data-nextjs-component-stack-frame]' ) diff --git a/test/lib/e2e-utils.ts b/test/lib/e2e-utils.ts index 0dd22afb0c62740..1d739f6de28c499 100644 --- a/test/lib/e2e-utils.ts +++ b/test/lib/e2e-utils.ts @@ -202,6 +202,73 @@ export async function createNext( } } +export function nextTestSetup( + options: Parameters[0] & { + skipDeployment?: boolean + dir?: string + } +): { + isNextDev: boolean + isNextDeploy: boolean + isNextStart: boolean + isTurbopack: boolean + next: NextInstance + skipped: boolean +} { + let skipped = false + + if (options.skipDeployment) { + // When the environment is running for deployment tests. + if ((global as any).isNextDeploy) { + // eslint-disable-next-line jest/no-focused-tests + it.only('should skip next deploy', () => {}) + // No tests are run. + skipped = true + } + } + + let next: NextInstance + if (!skipped) { + beforeAll(async () => { + next = await createNext(options) + }) + afterAll(async () => { + await next.destroy() + }) + } + + const nextProxy = new Proxy({} as NextInstance, { + get: function (_target, property) { + const prop = next[property] + return typeof prop === 'function' ? prop.bind(next) : prop + }, + }) + + return { + get isNextDev(): boolean { + return Boolean((global as any).isNextDev) + }, + get isTurbopack(): boolean { + return Boolean( + (global as any).isNextDev && + !process.env.TEST_WASM && + (options.turbo ?? shouldRunTurboDevTest()) + ) + }, + + get isNextDeploy(): boolean { + return Boolean((global as any).isNextDeploy) + }, + get isNextStart(): boolean { + return Boolean((global as any).isNextStart) + }, + get next() { + return nextProxy + }, + skipped, + } +} + export function createNextDescribe( name: string, options: Parameters[0] & { @@ -217,50 +284,12 @@ export function createNextDescribe( }) => void ): void { describe(name, () => { - if (options.skipDeployment) { - // When the environment is running for deployment tests. - if ((global as any).isNextDeploy) { - it('should skip next deploy', () => {}) - // No tests are run. - return - } - } + const context = nextTestSetup(options) - let next: NextInstance - beforeAll(async () => { - next = await createNext(options) - }) - afterAll(async () => { - await next.destroy() - }) + if (context.skipped) { + return + } - const nextProxy = new Proxy({} as NextInstance, { - get: function (_target, property) { - const prop = next[property] - return typeof prop === 'function' ? prop.bind(next) : prop - }, - }) - fn({ - get isNextDev(): boolean { - return Boolean((global as any).isNextDev) - }, - get isTurbopack(): boolean { - return Boolean( - (global as any).isNextDev && - !process.env.TEST_WASM && - (options.turbo ?? shouldRunTurboDevTest()) - ) - }, - - get isNextDeploy(): boolean { - return Boolean((global as any).isNextDeploy) - }, - get isNextStart(): boolean { - return Boolean((global as any).isNextStart) - }, - get next() { - return nextProxy - }, - }) + fn(context) }) } diff --git a/test/lib/next-test-utils.js b/test/lib/next-test-utils.js index 4bc8c11a8db1669..e9d6cba0131272d 100644 --- a/test/lib/next-test-utils.js +++ b/test/lib/next-test-utils.js @@ -937,7 +937,9 @@ export function shouldRunTurboDevTest() { export function getSnapshotTestDescribe(variant) { const runningEnv = variant ?? 'default' if (runningEnv !== 'default' && runningEnv !== 'turbo') { - throw new Error(`Check if test env passed correctly ${variant}`) + throw new Error( + `An invalid test env was passed: ${variant} (only "default" and "turbo" are valid options)` + ) } const shouldRunTurboDev = shouldRunTurboDevTest() @@ -947,3 +949,25 @@ export function getSnapshotTestDescribe(variant) { return shouldSkip ? describe.skip : describe } + +/** + * For better editor support, pass in the variants this should run on (`default` and/or `turbo`) as cases. + * + * This is necessary if separate snapshots are needed for next.js with webpack vs turbopack. + * + * @type {Pick} + */ +export const describeVariants = { + each: (variants) => (name, fn) => { + if ( + !Array.isArray(variants) || + !variants.every((val) => typeof val === 'string') + ) { + throw new Error('variants need to be an array of strings') + } + + for (const variant of variants) { + getSnapshotTestDescribe(variant).each([variant])(name, fn) + } + }, +} diff --git a/tsconfig.json b/tsconfig.json index 5bf06b43dc3f0d8..911b5d84d7cb8da 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,7 @@ "baseUrl": ".", "types": ["react", "jest", "node", "trusted-types"], "paths": { + "development-sandbox": ["test/lib/development-sandbox"], "next-test-utils": ["test/lib/next-test-utils"], "amp-test-utils": ["test/lib/amp-test-utils"], "next-webdriver": ["test/lib/next-webdriver"], From a0cc4aa65e177fdd52e3224d2630ac8395bf7726 Mon Sep 17 00:00:00 2001 From: Shu Ding Date: Wed, 21 Jun 2023 22:15:05 +0200 Subject: [PATCH 09/10] Revert "Fix standalone not found" (#51506) Reverts vercel/next.js#51172 Fixes #51482. --- packages/next/src/build/utils.ts | 10 ++++------ .../next/src/server/lib/render-server-standalone.ts | 11 +++-------- test/e2e/app-dir/app/app/dashboard/not-found.js | 3 --- .../required-server-files/app/not-found.js | 3 --- .../required-server-files/next.config.js | 3 --- .../required-server-files-app.test.ts | 8 -------- 6 files changed, 7 insertions(+), 31 deletions(-) delete mode 100644 test/e2e/app-dir/app/app/dashboard/not-found.js delete mode 100644 test/production/standalone-mode/required-server-files/app/not-found.js delete mode 100644 test/production/standalone-mode/required-server-files/next.config.js diff --git a/packages/next/src/build/utils.ts b/packages/next/src/build/utils.ts index 83ae9c6f8e22287..8ae4d277d9277fe 100644 --- a/packages/next/src/build/utils.ts +++ b/packages/next/src/build/utils.ts @@ -1928,21 +1928,20 @@ export async function copyTracedFiles( serverOutputPath, `${ moduleType - ? `\ -import http from 'http' + ? `import http from 'http' import path from 'path' import { fileURLToPath } from 'url' -import { createServerHandler } from 'next/dist/server/lib/render-server-standalone.js' - const __dirname = fileURLToPath(new URL('.', import.meta.url)) +import { createServerHandler } from 'next/dist/server/lib/render-server-standalone.js' ` - : `\ + : ` const http = require('http') const path = require('path') const { createServerHandler } = require('next/dist/server/lib/render-server-standalone')` } const dir = path.join(__dirname) + process.env.NODE_ENV = 'production' process.chdir(__dirname) @@ -1963,7 +1962,6 @@ const nextConfig = ${JSON.stringify({ process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig) - createServerHandler({ port: currentPort, hostname, diff --git a/packages/next/src/server/lib/render-server-standalone.ts b/packages/next/src/server/lib/render-server-standalone.ts index 32b66022dd2d914..bbfb406772186f0 100644 --- a/packages/next/src/server/lib/render-server-standalone.ts +++ b/packages/next/src/server/lib/render-server-standalone.ts @@ -5,6 +5,8 @@ import httpProxy from 'next/dist/compiled/http-proxy' import { Worker } from 'next/dist/compiled/jest-worker' import { normalizeRepeatedSlashes } from '../../shared/lib/utils' +const renderServerPath = require.resolve('./render-server') + export const createServerHandler = async ({ port, hostname, @@ -18,20 +20,13 @@ export const createServerHandler = async ({ dev?: boolean minimalMode: boolean }) => { - const nextConfig = JSON.parse( - process.env.__NEXT_PRIVATE_STANDALONE_CONFIG || '{}' - ) - const routerWorker = new Worker(require.resolve('./render-server'), { + const routerWorker = new Worker(renderServerPath, { numWorkers: 1, maxRetries: 10, forkOptions: { env: { FORCE_COLOR: '1', ...process.env, - __NEXT_PRIVATE_PREBUNDLED_REACT: nextConfig?.experimental - ?.useServerActions - ? 'experimental' - : 'next', }, }, exposedMethods: ['initialize'], diff --git a/test/e2e/app-dir/app/app/dashboard/not-found.js b/test/e2e/app-dir/app/app/dashboard/not-found.js deleted file mode 100644 index bab4962f9071601..000000000000000 --- a/test/e2e/app-dir/app/app/dashboard/not-found.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function NotFound() { - return 'dashboard not found' -} diff --git a/test/production/standalone-mode/required-server-files/app/not-found.js b/test/production/standalone-mode/required-server-files/app/not-found.js deleted file mode 100644 index 134cec4f3360be6..000000000000000 --- a/test/production/standalone-mode/required-server-files/app/not-found.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function page() { - return 'not-found-page-404' -} diff --git a/test/production/standalone-mode/required-server-files/next.config.js b/test/production/standalone-mode/required-server-files/next.config.js deleted file mode 100644 index e97173b4b379922..000000000000000 --- a/test/production/standalone-mode/required-server-files/next.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - output: 'standalone', -} diff --git a/test/production/standalone-mode/required-server-files/required-server-files-app.test.ts b/test/production/standalone-mode/required-server-files/required-server-files-app.test.ts index 2e2e31eb06fd1b4..9cfd3a69a552473 100644 --- a/test/production/standalone-mode/required-server-files/required-server-files-app.test.ts +++ b/test/production/standalone-mode/required-server-files/required-server-files-app.test.ts @@ -127,12 +127,4 @@ describe('should set-up next', () => { expect(res.headers.get('x-next-cache-tags')).toBeFalsy() } }) - - it('should handle correctly not-found.js', async () => { - const res = await fetchViaHTTP(appPort, '/not-found/does-not-exist') - expect(res.status).toBe(404) - const html = await res.text() - expect(html).toContain('not-found-page-404') - expect(html).not.toContain('not-found-page-200') - }) }) From 6dd06dbe4dafdc4679d940b5b5d004acdbf113a6 Mon Sep 17 00:00:00 2001 From: vercel-release-bot Date: Wed, 21 Jun 2023 20:38:43 +0000 Subject: [PATCH 10/10] v13.4.7-canary.4 --- lerna.json | 2 +- packages/create-next-app/package.json | 2 +- packages/eslint-config-next/package.json | 4 ++-- packages/eslint-plugin-next/package.json | 2 +- packages/font/package.json | 2 +- packages/next-bundle-analyzer/package.json | 2 +- packages/next-codemod/package.json | 2 +- packages/next-env/package.json | 2 +- packages/next-mdx/package.json | 2 +- packages/next-plugin-storybook/package.json | 2 +- packages/next-polyfill-module/package.json | 2 +- packages/next-polyfill-nomodule/package.json | 2 +- packages/next-swc/package.json | 2 +- packages/next/package.json | 14 +++++++------- packages/react-dev-overlay/package.json | 2 +- packages/react-refresh-utils/package.json | 2 +- pnpm-lock.yaml | 14 +++++++------- 17 files changed, 30 insertions(+), 30 deletions(-) diff --git a/lerna.json b/lerna.json index 0d1b546e8ef6740..794ea5eab588a25 100644 --- a/lerna.json +++ b/lerna.json @@ -16,5 +16,5 @@ "registry": "https://registry.npmjs.org/" } }, - "version": "13.4.7-canary.3" + "version": "13.4.7-canary.4" } diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json index e4849716dbbcc51..ab36fd138676f7e 100644 --- a/packages/create-next-app/package.json +++ b/packages/create-next-app/package.json @@ -1,6 +1,6 @@ { "name": "create-next-app", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "keywords": [ "react", "next", diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json index 5b669b937cb643c..673b0d966c02b9f 100644 --- a/packages/eslint-config-next/package.json +++ b/packages/eslint-config-next/package.json @@ -1,6 +1,6 @@ { "name": "eslint-config-next", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "description": "ESLint configuration used by NextJS.", "main": "index.js", "license": "MIT", @@ -10,7 +10,7 @@ }, "homepage": "https://nextjs.org/docs/app/building-your-application/configuring/eslint#eslint-config", "dependencies": { - "@next/eslint-plugin-next": "13.4.7-canary.3", + "@next/eslint-plugin-next": "13.4.7-canary.4", "@rushstack/eslint-patch": "^1.1.3", "@typescript-eslint/parser": "^5.42.0", "eslint-import-resolver-node": "^0.3.6", diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json index ddafcea84239faa..536c204046da519 100644 --- a/packages/eslint-plugin-next/package.json +++ b/packages/eslint-plugin-next/package.json @@ -1,6 +1,6 @@ { "name": "@next/eslint-plugin-next", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "description": "ESLint plugin for NextJS.", "main": "dist/index.js", "license": "MIT", diff --git a/packages/font/package.json b/packages/font/package.json index 910f16aebdea263..319868776dba4a5 100644 --- a/packages/font/package.json +++ b/packages/font/package.json @@ -1,6 +1,6 @@ { "name": "@next/font", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "repository": { "url": "vercel/next.js", "directory": "packages/font" diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json index f0a2e8893fd0549..e9c135310e596ae 100644 --- a/packages/next-bundle-analyzer/package.json +++ b/packages/next-bundle-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@next/bundle-analyzer", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "main": "index.js", "types": "index.d.ts", "license": "MIT", diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json index 89094b6c6992e1e..9da665bd166117f 100644 --- a/packages/next-codemod/package.json +++ b/packages/next-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@next/codemod", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "license": "MIT", "repository": { "type": "git", diff --git a/packages/next-env/package.json b/packages/next-env/package.json index d4fd1db180c1d98..88efac849e6014f 100644 --- a/packages/next-env/package.json +++ b/packages/next-env/package.json @@ -1,6 +1,6 @@ { "name": "@next/env", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "keywords": [ "react", "next", diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json index 4c63341ccdcf999..0b53258ef56391c 100644 --- a/packages/next-mdx/package.json +++ b/packages/next-mdx/package.json @@ -1,6 +1,6 @@ { "name": "@next/mdx", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "main": "index.js", "license": "MIT", "repository": { diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json index db13d85789d893f..7ef2a350f97537e 100644 --- a/packages/next-plugin-storybook/package.json +++ b/packages/next-plugin-storybook/package.json @@ -1,6 +1,6 @@ { "name": "@next/plugin-storybook", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "repository": { "url": "vercel/next.js", "directory": "packages/next-plugin-storybook" diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json index 776443eb4eb2904..4ddb03182d314f0 100644 --- a/packages/next-polyfill-module/package.json +++ b/packages/next-polyfill-module/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-module", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)", "main": "dist/polyfill-module.js", "license": "MIT", diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json index f2443a9b6a1f50c..22ef4fd35f1ee62 100644 --- a/packages/next-polyfill-nomodule/package.json +++ b/packages/next-polyfill-nomodule/package.json @@ -1,6 +1,6 @@ { "name": "@next/polyfill-nomodule", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "description": "A polyfill for non-dead, nomodule browsers.", "main": "dist/polyfill-nomodule.js", "license": "MIT", diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json index a1e5f29bda30dac..06f3c7b3acdf15c 100644 --- a/packages/next-swc/package.json +++ b/packages/next-swc/package.json @@ -1,6 +1,6 @@ { "name": "@next/swc", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "private": true, "scripts": { "clean": "node ../../scripts/rm.mjs native", diff --git a/packages/next/package.json b/packages/next/package.json index 2f1deef2dcfdffd..11d06f7eb0c79a1 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -1,6 +1,6 @@ { "name": "next", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "description": "The React Framework", "main": "./dist/server/next.js", "license": "MIT", @@ -83,7 +83,7 @@ ] }, "dependencies": { - "@next/env": "13.4.7-canary.3", + "@next/env": "13.4.7-canary.4", "@swc/helpers": "0.5.1", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", @@ -141,11 +141,11 @@ "@jest/types": "29.5.0", "@napi-rs/cli": "2.14.7", "@napi-rs/triples": "1.1.0", - "@next/polyfill-module": "13.4.7-canary.3", - "@next/polyfill-nomodule": "13.4.7-canary.3", - "@next/react-dev-overlay": "13.4.7-canary.3", - "@next/react-refresh-utils": "13.4.7-canary.3", - "@next/swc": "13.4.7-canary.3", + "@next/polyfill-module": "13.4.7-canary.4", + "@next/polyfill-nomodule": "13.4.7-canary.4", + "@next/react-dev-overlay": "13.4.7-canary.4", + "@next/react-refresh-utils": "13.4.7-canary.4", + "@next/swc": "13.4.7-canary.4", "@opentelemetry/api": "1.4.1", "@segment/ajv-human-errors": "2.1.2", "@taskr/clear": "1.1.0", diff --git a/packages/react-dev-overlay/package.json b/packages/react-dev-overlay/package.json index 16d74e86dfbcea4..ecdc9c0836b12fb 100644 --- a/packages/react-dev-overlay/package.json +++ b/packages/react-dev-overlay/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-dev-overlay", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "description": "A development-only overlay for developing React applications.", "repository": { "url": "vercel/next.js", diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json index fd4f16353449b7f..eb78203b07cb077 100644 --- a/packages/react-refresh-utils/package.json +++ b/packages/react-refresh-utils/package.json @@ -1,6 +1,6 @@ { "name": "@next/react-refresh-utils", - "version": "13.4.7-canary.3", + "version": "13.4.7-canary.4", "description": "An experimental package providing utilities for React Refresh.", "repository": { "url": "vercel/next.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d538c857cf38101..d4d21450eae93c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -428,7 +428,7 @@ importers: packages/eslint-config-next: specifiers: - '@next/eslint-plugin-next': 13.4.7-canary.3 + '@next/eslint-plugin-next': 13.4.7-canary.4 '@rushstack/eslint-patch': ^1.1.3 '@typescript-eslint/parser': ^5.42.0 eslint: ^7.23.0 || ^8.0.0 @@ -505,12 +505,12 @@ importers: '@jest/types': 29.5.0 '@napi-rs/cli': 2.14.7 '@napi-rs/triples': 1.1.0 - '@next/env': 13.4.7-canary.3 - '@next/polyfill-module': 13.4.7-canary.3 - '@next/polyfill-nomodule': 13.4.7-canary.3 - '@next/react-dev-overlay': 13.4.7-canary.3 - '@next/react-refresh-utils': 13.4.7-canary.3 - '@next/swc': 13.4.7-canary.3 + '@next/env': 13.4.7-canary.4 + '@next/polyfill-module': 13.4.7-canary.4 + '@next/polyfill-nomodule': 13.4.7-canary.4 + '@next/react-dev-overlay': 13.4.7-canary.4 + '@next/react-refresh-utils': 13.4.7-canary.4 + '@next/swc': 13.4.7-canary.4 '@opentelemetry/api': 1.4.1 '@segment/ajv-human-errors': 2.1.2 '@swc/helpers': 0.5.1