From bee99b8947b913c2e9813f662063a2e639f7beff Mon Sep 17 00:00:00 2001 From: Ivan Garcia Sainz-Aja Date: Fri, 4 Oct 2024 09:48:52 +0200 Subject: [PATCH] Updates --- 404.html | 2 +- 404/index.html | 2 +- API-First/AsyncAPI/index.html | 2 +- API-First/OpenAPI/index.html | 2 +- app-406129d1921e7b710a5d.js.map | 1 - ...7b710a5d.js => app-d9ab9c44c5fe2ea75a4e.js | 6 +- ...=> app-d9ab9c44c5fe2ea75a4e.js.LICENSE.txt | 0 app-d9ab9c44c5fe2ea75a4e.js.map | 1 + blog/index.html | 4 +- chunk-map.json | 2 +- ...testing-karate-mdx-21b2045dd9265ccd6f3c.js | 2 - ...ing-karate-mdx-21b2045dd9265ccd6f3c.js.map | 1 - ...testing-karate-mdx-3827602ba58e50eedc02.js | 2 + ...ing-karate-mdx-3827602ba58e50eedc02.js.map | 1 + ...context-canvas-mdx-9bc708fdfec483add1b7.js | 2 - ...ext-canvas-mdx-9bc708fdfec483add1b7.js.map | 1 - ...context-canvas-mdx-f7ff6c24371ac379093d.js | 2 + ...ext-canvas-mdx-f7ff6c24371ac379093d.js.map | 1 + ...n-modeling-mdx-4d99b8c883418132ee79.js.map | 1 - ...omain-modeling-mdx-fdea056af048cc28a09c.js | 4 +- ...n-modeling-mdx-fdea056af048cc28a09c.js.map | 1 + ...event-storming-mdx-464984decae049fead2d.js | 4 +- ...t-storming-mdx-464984decae049fead2d.js.map | 1 + ...t-storming-mdx-4b082355caa99c2b85fa.js.map | 1 - ...omain-language-mdx-25be2730854d84c6bb41.js | 4 +- ...n-language-mdx-25be2730854d84c6bb41.js.map | 1 + ...n-language-mdx-e8a6e4a6b211283a5c18.js.map | 1 - ...examples-index-mdx-2836874328ba27fc0b3e.js | 2 + ...ples-index-mdx-2836874328ba27fc0b3e.js.map | 1 + ...examples-index-mdx-968fbdefe46e2479867d.js | 2 - ...ples-index-mdx-968fbdefe46e2479867d.js.map | 1 - ...aggregates-mdx-5dfea7aa350e3c4afd04.js.map | 1 - ...sdk-aggregates-mdx-a0d0c99878019ebf66e6.js | 4 +- ...aggregates-mdx-a0d0c99878019ebf66e6.js.map | 1 + ...nd-application-mdx-1b9fc05a6e9976671d27.js | 4 +- ...pplication-mdx-1b9fc05a6e9976671d27.js.map | 1 + ...pplication-mdx-73dea327fe27ecff2730.js.map | 1 - ...async-commands-mdx-3e0247df1eb5749958f1.js | 4 +- ...c-commands-mdx-3e0247df1eb5749958f1.js.map | 1 + ...c-commands-mdx-bdd281a7488454d08f0e.js.map | 1 - ...osing-rest-api-mdx-e04373b436cbc0e4911a.js | 4 +- ...g-rest-api-mdx-e04373b436cbc0e4911a.js.map | 1 + ...g-rest-api-mdx-ed66d15e91c452bbffd4.js.map | 1 - ...cs-sdk-jpa-mdx-7c1598de38ab04ef390c.js.map | 1 - ...s-docs-sdk-jpa-mdx-b599555b0868fb91066c.js | 4 +- ...cs-sdk-jpa-mdx-b599555b0868fb91066c.js.map | 1 + ...oducing-events-mdx-888fca796e60313af3ff.js | 4 +- ...ing-events-mdx-888fca796e60313af3ff.js.map | 1 + ...ing-events-mdx-feebdfb4856197c2d53a.js.map | 1 - ...n-wave-sdk-mdx-3f9a322a85003f0b3c2c.js.map | 1 - ...k-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js | 4 +- ...n-wave-sdk-mdx-e07a32c6e8bca500cdc2.js.map | 1 + ...ng-started-mdx-3a30d098aca25a16d4f6.js.map | 1 - ...etting-started-mdx-ffb1ae8eb218e70e6e9a.js | 4 +- ...ng-started-mdx-ffb1ae8eb218e70e6e9a.js.map | 1 + ...n-wave-360-mdx-3ed83e9247dbc2c15ab0.js.map | 1 - ...0-zen-wave-360-mdx-61ec906e458bc8d38d5f.js | 4 +- ...n-wave-360-mdx-61ec906e458bc8d38d5f.js.map | 1 + ...-doc-pages-404-mdx-ee3d00ad136162ab61fd.js | 2 - ...-pages-404-mdx-ee3d00ad136162ab61fd.js.map | 1 - ...-doc-pages-404-mdx-f52a470792e8f01974f2.js | 2 + ...-pages-404-mdx-f52a470792e8f01974f2.js.map | 1 + ...te-pages-index-mdx-19a290fe199802416e0c.js | 4 +- ...ages-index-mdx-19a290fe199802416e0c.js.map | 1 + ...ages-index-mdx-ae36b694942129a5586f.js.map | 1 - ...e-pages-plugin-mdx-0e3ad3292a03d9a22129.js | 2 - ...ges-plugin-mdx-0e3ad3292a03d9a22129.js.map | 1 - ...e-pages-plugin-mdx-3bb60b3bb0051b090c85.js | 2 + ...ges-plugin-mdx-3bb60b3bb0051b090c85.js.map | 1 + ...rate-dsl-tests-mdx-e62e033f87dd2f794ff1.js | 2 + ...-dsl-tests-mdx-e62e033f87dd2f794ff1.js.map | 1 + ...l-for-open-api-mdx-d5466363cf6ae7fe5c0a.js | 4 +- ...r-open-api-mdx-d5466363cf6ae7fe5c0a.js.map | 1 + ...r-open-api-mdx-e683ee7cdc9531942c0f.js.map | 1 - .../business-domain-modeling/index.html | 2 +- .../bounded-context-canvas/index.html | 2 +- .../event-storming/index.html | 2 +- .../zenwave-domain-language/index.html | 2 +- docs/examples/index/index.html | 2 +- docs/getting-started/index.html | 2 +- .../zenwave-sdk/api-testing/karate/index.html | 2 +- .../spring-webtestclient/index.html | 2 +- .../backend-application/index.html | 2 +- .../consuming-async-commands/index.html | 2 +- .../exposing-a-rest-api/index.html | 2 +- docs/zenwave-sdk/index.html | 2 +- docs/zenwave-sdk/jpa/index.html | 2 +- .../modeling-aggregates/index.html | 2 +- docs/zenwave-sdk/mongodb/index.html | 2 +- .../producing-domain-events/index.html | 2 +- docs/zenwave360/index.html | 2 +- index.html | 2 +- page-data/app-data.json | 2 +- page-data/blog/page-data.json | 2 +- .../page-data.json | 1 + page-data/sq/d/1339625561.json | 2 +- page-data/sq/d/148928582.json | 2 +- page/API-First-with-AsyncAPI/index.html | 2 +- plugin-eula/index.html | 2 +- plugin/index.html | 2 +- .../index.html | 2 +- .../CustomerOpenAPI-UI.png | Bin 0 -> 52822 bytes .../KarateIDE-MarketPlace.png | Bin 0 -> 16286 bytes .../OpenAPI2Karate.excalidraw.svg | 21 ++ .../OpenAPI2Karate.png | Bin 0 -> 115872 bytes .../index.html | 263 ++++++++++++++++++ .../JHipster-As-IDL-for-AsyncAPIv2/index.html | 2 +- .../JHipster-As-IDL-for-OpenAPIv3/index.html | 2 +- .../index.html | 2 +- .../ZenWave_ZDL_As_IDL_for_OpenAPI/index.html | 2 +- sitemap/sitemap-0.xml | 2 +- webpack-runtime-b637ae79bd9a61e573cc.js | 2 + webpack-runtime-b637ae79bd9a61e573cc.js.map | 1 + webpack-runtime-f05823ddcda14387e807.js | 2 - webpack-runtime-f05823ddcda14387e807.js.map | 1 - webpack.stats.json | 2 +- 116 files changed, 391 insertions(+), 103 deletions(-) delete mode 100644 app-406129d1921e7b710a5d.js.map rename app-406129d1921e7b710a5d.js => app-d9ab9c44c5fe2ea75a4e.js (94%) rename app-406129d1921e7b710a5d.js.LICENSE.txt => app-d9ab9c44c5fe2ea75a4e.js.LICENSE.txt (100%) create mode 100644 app-d9ab9c44c5fe2ea75a4e.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-21b2045dd9265ccd6f3c.js delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-21b2045dd9265ccd6f3c.js.map create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-3827602ba58e50eedc02.js create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-3827602ba58e50eedc02.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-9bc708fdfec483add1b7.js delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-9bc708fdfec483add1b7.js.map create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-f7ff6c24371ac379093d.js create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-f7ff6c24371ac379093d.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-4d99b8c883418132ee79.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-4d99b8c883418132ee79.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-fdea056af048cc28a09c.js (60%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-fdea056af048cc28a09c.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-4b082355caa99c2b85fa.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-464984decae049fead2d.js (74%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-464984decae049fead2d.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-4b082355caa99c2b85fa.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-e8a6e4a6b211283a5c18.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-25be2730854d84c6bb41.js (84%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-25be2730854d84c6bb41.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-e8a6e4a6b211283a5c18.js.map create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-2836874328ba27fc0b3e.js create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-2836874328ba27fc0b3e.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-968fbdefe46e2479867d.js delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-968fbdefe46e2479867d.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-5dfea7aa350e3c4afd04.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-5dfea7aa350e3c4afd04.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-a0d0c99878019ebf66e6.js (70%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-a0d0c99878019ebf66e6.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-73dea327fe27ecff2730.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-1b9fc05a6e9976671d27.js (84%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-1b9fc05a6e9976671d27.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-73dea327fe27ecff2730.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-bdd281a7488454d08f0e.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-3e0247df1eb5749958f1.js (68%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-3e0247df1eb5749958f1.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-bdd281a7488454d08f0e.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-ed66d15e91c452bbffd4.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-e04373b436cbc0e4911a.js (74%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-e04373b436cbc0e4911a.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-ed66d15e91c452bbffd4.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-7c1598de38ab04ef390c.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-7c1598de38ab04ef390c.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-b599555b0868fb91066c.js (69%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-b599555b0868fb91066c.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js (71%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js (79%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js (88%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js.map delete mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js.map rename component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js => component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js (62%) create mode 100644 component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js.map delete mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js delete mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js.map create mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js create mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js.map rename component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js => component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js (87%) create mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js.map delete mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js.map delete mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js delete mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js.map create mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js create mode 100644 component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js.map create mode 100644 component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js create mode 100644 component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js.map rename component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js => component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js (67%) create mode 100644 component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js.map delete mode 100644 component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js.map create mode 100644 page-data/posts/From-OpenAPI-to-KarateDSL-Tests/page-data.json create mode 100644 posts/From-OpenAPI-to-KarateDSL-Tests/CustomerOpenAPI-UI.png create mode 100644 posts/From-OpenAPI-to-KarateDSL-Tests/KarateIDE-MarketPlace.png create mode 100644 posts/From-OpenAPI-to-KarateDSL-Tests/OpenAPI2Karate.excalidraw.svg create mode 100644 posts/From-OpenAPI-to-KarateDSL-Tests/OpenAPI2Karate.png create mode 100644 posts/From-OpenAPI-to-KarateDSL-Tests/index.html create mode 100644 webpack-runtime-b637ae79bd9a61e573cc.js create mode 100644 webpack-runtime-b637ae79bd9a61e573cc.js.map delete mode 100644 webpack-runtime-f05823ddcda14387e807.js delete mode 100644 webpack-runtime-f05823ddcda14387e807.js.map diff --git a/404.html b/404.html index 685b2df..b69bfda 100644 --- a/404.html +++ b/404.html @@ -233,4 +233,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/404/index.html b/404/index.html index a0fc493..8132efa 100644 --- a/404/index.html +++ b/404/index.html @@ -233,4 +233,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/API-First/AsyncAPI/index.html b/API-First/AsyncAPI/index.html index 90810d5..66096f7 100644 --- a/API-First/AsyncAPI/index.html +++ b/API-First/AsyncAPI/index.html @@ -315,4 +315,4 @@

\ No newline at end of file + } \ No newline at end of file diff --git a/API-First/OpenAPI/index.html b/API-First/OpenAPI/index.html index 625c919..22e283b 100644 --- a/API-First/OpenAPI/index.html +++ b/API-First/OpenAPI/index.html @@ -256,4 +256,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/app-406129d1921e7b710a5d.js.map b/app-406129d1921e7b710a5d.js.map deleted file mode 100644 index 676c29b..0000000 --- a/app-406129d1921e7b710a5d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"app-406129d1921e7b710a5d.js","mappings":"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AOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACzoC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjuC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAChwC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS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,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvqC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,KAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC11C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,SAASA,SAAS,QAAU,SACnjBC,EAAOn6B,QAAUmH,yBCfjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,MAElCA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvEC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,QAE9TA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACjvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAC7mBC,EAAOn6B,QAAUmH,yBCJjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,GAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,QAE7xCA,EAAI+yB,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAChpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjuC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACl1C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OA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KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAEhgIA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvqC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAC/yBC,EAAOn6B,QAAUmH,yBCJjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,OAEpPA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,GAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC1qC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAEtxCC,EAAOn6B,QAAUmH,yBCLjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAA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AO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAEnmJA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACtoC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACrvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,M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AAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,M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IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAE3mIA,EAAI+yB,SAAS,GAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,IAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACnrC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QACrjBC,EAAOn6B,QAAUmH,yBCJjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,GAAM,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAEtLA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvEC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,IAAO,KAAO,MAAQ,MAAQ,OAEtEA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACpRC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAO,KAAO,KAAO,KAAO,QAE9DA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvEC,EAAOn6B,QAAUmH,wBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,GAAM,GAAM,IAAM,IAAM,IAAM,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,QAEtnBA,EAAI+yB,SAAS,IAAM,KAAMA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvrC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC5yC/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC/TC,EAAOn6B,QAAUmH,yBCLjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,GAAM,GAAM,IAAM,IAAM,KAAQ,KAAQ,KAAQ,KAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAEllBA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC9wC/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC31BC,EAAOn6B,QAAUmH,yBCJjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,GAAM,GAAM,KAAQ,KAAQ,OAE9DA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC5HC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,GAEZA,EAAI+yB,SAAS,OAAS,QACtBC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,KAAQ,KAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAEzLA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC3kBC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAErSA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAEl0CC,EAAOn6B,QAAUmH,wBCJjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,IAAM,KAAQ,KAAQ,KAAQ,KAAQ,IAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OAAS,OAAS,OAAS,QAEjTA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC9lCC,EAAOn6B,QAAUmH,wBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,OAErMA,EAAI+yB,SAAS,IAAO,KAAOA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACxRC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAEvpCA,EAAI+yB,SAAS,GAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAC7oC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,KAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACpzC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,S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,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC9xC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC7kBC,EAAOn6B,QAAUmH,yBCPjB,MAAMA,EAAM,EAAQ,MAAR,GAEZA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,KAAMA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACtIC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,GAEZA,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAC9CC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,GAEZA,EAAI+yB,SAAS,MAAQ,OACrBC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,GAAM,IAAM,IAAM,IAAM,IAAM,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAEv4BA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,GAAM,IAAMA,SAAS,GAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,KAAOA,SAAS,IAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACvoC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC3tC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACt1C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,O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,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC7tC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACxwC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAClIC,EAAOn6B,QAAUmH,yBCbjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,OAElCA,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACndC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,GAEZA,EAAI+yB,SAAS,KAAQ,MACrBC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,KAAQ,OAE1CA,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACrHC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,IAAM,IAAM,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MA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AO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KA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AO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC3tC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACp1C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA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,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MACzoC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjuC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC1wC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAA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S,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC7tC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACtwC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACvGC,EAAOn6B,QAAUmH,yBCbjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,MAAQ,MAAS,OAEnDA,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAClOC,EAAOn6B,QAAUmH,yBCHjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,MAElCgzB,EAAOn6B,QAAUmH,yBCFjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ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A,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACtwC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SA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AAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjuC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAClyC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QACjeC,EAAOn6B,QAAUmH,yBCPjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,KAAQ,MAAQ,MAAQ,MAAS,OAEzEA,EAAI+yB,SAAS,GAAM,IAAMA,SAAS,IAAM,KAAMA,SAAS,IAAM,KAAMA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACnsC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,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AAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAC7oC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAC3qC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACx0C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,MAAS,SAE51CC,EAAOn6B,QAAUmH,yBCZjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAM,IAAM,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,QAE72BA,EAAI+yB,SAAS,IAAO,KAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACzpC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,KAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACvvC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAClyC/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAA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S,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAClpC/yB,EAAI+yB,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAO,MAAOA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MACjrC/yB,EAAI+yB,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,KAAQ,MAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OACvvC/yB,EAAI+yB,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAQ,OAAQA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OACp1C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAC51C/yB,EAAI+yB,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,MAAS,OAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAC51C/yB,EAAI+yB,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,OAAS,QAASA,SAAS,MAAS,QAASA,SAAS,QAAS,SAASA,SAAS,QAAU,SACvyCC,EAAOn6B,QAAUmH,yBCXjB,MAAMA,EAAM,EAAQ,MAAR,CAAsB,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,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S,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,CAAC,IAAO,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,MAAS,CAAC,KAAQ,CAAC,IAAO,MAAS,CAAC,KAAQ,IAAO,CAAC,KAAQ,CAAC,IAAM,MAAQ,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,MAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAQ,OAAS,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,MAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,KAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,MAAS,OAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAAU,CAAC,OAAS,QAA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AAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,MAAmB,SAAqC,SAAqC,MAAmB,SAAqC,SAAqC,MAAmB,SAAqC,SAAqC,MAAmB,SAAqC,SAAqC,MAAmB,SAAqC,SAAqC,KAAgB,QAAkC,QAAkC,KAAgB,KAAgB,KAAgB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,KAAgB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,QAA+B,QAA+B,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,KAAgB,MAAmB,MAAmB,MAAmB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,MAAmB,SAAqC,SAAqC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,MAAmB,SAAqC,SAAqC,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,SAAqC,SAAkC,QAA+B,iBAAmE,iBAAmE,iBAAmE,MAAmB,MAAmB,OAAyB,QAA4B,OAAyB,QAA+B,MAAmB,MAAmB,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAs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AAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,UAAwC,UAAwC,UAAwC,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,UAAwC,UAAwC,UAAwC,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,UAAwC,UAAwC,UAAwC,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,MAAmB,SAAqC,SAAqC,MAAmB,MAAmB,MAAmB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,QAA4B,QAA4B,SAAkC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,MAAmB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,QAA+B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,WAA2C,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,OAAsB,UAAwC,UAAwC,UAAwC,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,UAAwC,UAAwC,UAAwC,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,UAAwC,UAAwC,UAAwC,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,UAAwC,UAAwC,UAAwC,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,UAAwC,UAAwC,UAAwC,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,OAAsB,UAAwC,UAAwC,QAA+B,QAA+B,QAA+B,QAA+B,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB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B,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,OAAsB,+BCH7+b,MAAMrH,EAAM,EAAQ,MAAR,GAEZnH,EAAQwmC,WAAar/B,EACrBnH,EAAQwO,QAAU,CAAC,iBAAmE,iBAAmE,yCCHzJ,MAAMrH,EAAM,EAAQ,MAAR,GAEZnH,EAAQwmC,WAAar/B,EACrBnH,EAAQwO,QAAU,CAAC,WAA8C,cAA6D,QAA4B,WAA2C,QAA4B,WAA2C,WAA2C,WAA2C,cAA0D,WAA2C,cAA0D,cAA0D,WAA2C,cAA0D,WAA2C,cAA0D,cAA0D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,WAA8C,WAA8C,cAA6D,cAA6D,QAA4B,WAA2C,QAA4B,WAA2C,WAA2C,WAA2C,cAA0D,WAA2C,cAA0D,cAA0D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,eAAgE,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,WAA2C,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,kBAA+E,kBAA+E,kBAA+E,kBAA+E,eAAgE,eAAgE,eAAgE,eAAgE,UAAqC,eAA6D,eAA6D,eAA6D,eAA6D,eAA6D,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,YAA8C,QAA+B,QAA+B,QAA+B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,QAA+B,QAA+B,QAA+B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,QAA+B,QAA+B,QAA+B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,QAA4B,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAwC,UAAwC,UAAwC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,SAAqC,SAAqC,SAAqC,SAAqC,SAAqC,SAAqC,SAAqC,SAAqC,SAAqC,SAAqC,QAAkC,QAAkC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,SAAqC,SAAqC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,SAAqC,SAAqC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,SAAqC,SAAqC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,UAAwC,QAA+B,QAA+B,QAA+B,QAA+B,QAA4B,QAA4B,QAA4B,QAA4B,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,QAA4B,QAA4B,QAA4B,QAA4B,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,QAA4B,QAA4B,QAA4B,QAA4B,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,UAAqC,QAA+B,QAA+B,SAAqC,SAAkC,QAA+B,OAAyB,QAA4B,OAAyB,QAA+B,UAAw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","sources":["webpack://website/../node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://website/../node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://website/../node_modules/@mdx-js/react/lib/index.js","webpack://website/../node_modules/@xstyled/core/dist/index.mjs","webpack://website/../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack://website/../node_modules/@xstyled/styled-components/dist/index.mjs","webpack://website/../node_modules/@xstyled/system/dist/index.mjs","webpack://website/../node_modules/@xstyled/util/dist/index.mjs","webpack://website/../node_modules/ariakit-utils/esm/dom.js","webpack://website/../node_modules/ariakit-utils/esm/events.js","webpack://website/../node_modules/ariakit-utils/esm/focus.js","webpack://website/../node_modules/ariakit-utils/esm/hooks.js","webpack://website/../node_modules/ariakit-utils/esm/misc.js","webpack://website/../node_modules/ariakit-utils/esm/platform.js","webpack://website/../node_modules/ariakit-utils/esm/system.js","webpack://website/../node_modules/ariakit/esm/command/command.js","webpack://website/../node_modules/ariakit/esm/button/button.js","webpack://website/../node_modules/ariakit/esm/focusable/focusable.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/ASCII.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/ASCII_Hex_Digit.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Alphabetic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Any.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Assigned.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Control.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Bidi_Mirrored.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Case_Ignorable.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Cased.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casefolded.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Casemapped.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Lowercased.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_NFKC_Casefolded.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Titlecased.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Changes_When_Uppercased.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Dash.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Default_Ignorable_Code_Point.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Deprecated.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Diacritic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Emoji.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Component.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Modifier_Base.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Emoji_Presentation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Extended_Pictographic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Extender.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Base.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Grapheme_Extend.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Hex_Digit.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/IDS_Binary_Operator.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/IDS_Trinary_Operator.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/ID_Continue.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/ID_Start.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Ideographic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Join_Control.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Logical_Order_Exception.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Lowercase.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Math.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Noncharacter_Code_Point.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Pattern_Syntax.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Pattern_White_Space.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Quotation_Mark.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Radical.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Regional_Indicator.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Sentence_Terminal.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Soft_Dotted.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Terminal_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Unified_Ideograph.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Uppercase.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/Variation_Selector.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/White_Space.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/XID_Continue.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Binary_Property/XID_Start.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Cased_Letter.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Close_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Connector_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Control.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Currency_Symbol.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Dash_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Decimal_Number.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Enclosing_Mark.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Final_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Format.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Initial_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Letter.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Letter_Number.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Line_Separator.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Lowercase_Letter.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Mark.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Math_Symbol.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Modifier_Letter.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Modifier_Symbol.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Nonspacing_Mark.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Number.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Open_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Other.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Other_Letter.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Other_Number.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Other_Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Other_Symbol.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Paragraph_Separator.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Private_Use.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Punctuation.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Separator.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Space_Separator.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Spacing_Mark.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Surrogate.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Symbol.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Titlecase_Letter.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Unassigned.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/General_Category/Uppercase_Letter.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Adlam.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Ahom.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Anatolian_Hieroglyphs.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Arabic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Armenian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Avestan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Balinese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Bamum.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Bassa_Vah.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Batak.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Bengali.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Bhaiksuki.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Bopomofo.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Brahmi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Braille.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Buginese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Buhid.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Canadian_Aboriginal.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Carian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Caucasian_Albanian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Chakma.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Cham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Cherokee.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Chorasmian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Common.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Coptic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Cuneiform.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Cypriot.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Cypro_Minoan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Cyrillic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Deseret.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Devanagari.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Dives_Akuru.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Dogra.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Duployan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Egyptian_Hieroglyphs.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Elbasan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Elymaic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Ethiopic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Georgian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Glagolitic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Gothic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Grantha.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Greek.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Gujarati.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Gunjala_Gondi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Gurmukhi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Han.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Hangul.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Hanifi_Rohingya.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Hanunoo.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Hatran.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Hebrew.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Hiragana.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Imperial_Aramaic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Inherited.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Inscriptional_Pahlavi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Inscriptional_Parthian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Javanese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Kaithi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Kannada.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Katakana.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Kayah_Li.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Kharoshthi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Khitan_Small_Script.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Khmer.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Khojki.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Khudawadi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Lao.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Latin.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Lepcha.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Limbu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Linear_A.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Linear_B.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Lisu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Lycian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Lydian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Mahajani.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Makasar.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Malayalam.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Mandaic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Manichaean.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Marchen.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Masaram_Gondi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Medefaidrin.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Meetei_Mayek.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Mende_Kikakui.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Meroitic_Cursive.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Meroitic_Hieroglyphs.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Miao.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Modi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Mongolian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Mro.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Multani.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Myanmar.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Nabataean.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Nandinagari.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/New_Tai_Lue.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Newa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Nko.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Nushu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Nyiakeng_Puachue_Hmong.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Ogham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Ol_Chiki.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_Hungarian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_Italic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_North_Arabian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_Permic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_Persian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_Sogdian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_South_Arabian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_Turkic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Old_Uyghur.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Oriya.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Osage.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Osmanya.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Pahawh_Hmong.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Palmyrene.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Pau_Cin_Hau.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Phags_Pa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Phoenician.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Psalter_Pahlavi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Rejang.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Runic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Samaritan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Saurashtra.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Sharada.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Shavian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Siddham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/SignWriting.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Sinhala.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Sogdian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Sora_Sompeng.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Soyombo.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Sundanese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Syloti_Nagri.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Syriac.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tagalog.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tagbanwa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tai_Le.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tai_Tham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tai_Viet.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Takri.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tamil.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tangsa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tangut.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Telugu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Thaana.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Thai.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tibetan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tifinagh.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Tirhuta.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Toto.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Ugaritic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Vai.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Vithkuqi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Wancho.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Warang_Citi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Yezidi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Yi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script/Zanabazar_Square.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Adlam.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Ahom.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Anatolian_Hieroglyphs.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Arabic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Armenian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Avestan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Balinese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Bamum.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Bassa_Vah.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Batak.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Bengali.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Bhaiksuki.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Bopomofo.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Brahmi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Braille.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Buginese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Buhid.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Canadian_Aboriginal.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Carian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Caucasian_Albanian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Chakma.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Cham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Cherokee.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Chorasmian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Common.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Coptic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Cuneiform.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Cypriot.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Cypro_Minoan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Cyrillic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Deseret.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Devanagari.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Dives_Akuru.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Dogra.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Duployan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Egyptian_Hieroglyphs.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Elbasan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Elymaic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Ethiopic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Georgian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Glagolitic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Gothic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Grantha.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Greek.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Gujarati.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Gunjala_Gondi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Gurmukhi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Han.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Hangul.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Hanifi_Rohingya.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Hanunoo.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Hatran.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Hebrew.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Hiragana.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Imperial_Aramaic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Inherited.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Pahlavi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Inscriptional_Parthian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Javanese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Kaithi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Kannada.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Katakana.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Kayah_Li.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Kharoshthi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Khitan_Small_Script.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Khmer.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Khojki.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Khudawadi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Lao.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Latin.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Lepcha.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Limbu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Linear_A.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Linear_B.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Lisu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Lycian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Lydian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Mahajani.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Makasar.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Malayalam.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Mandaic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Manichaean.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Marchen.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Masaram_Gondi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Medefaidrin.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Meetei_Mayek.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Mende_Kikakui.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Cursive.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Meroitic_Hieroglyphs.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Miao.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Modi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Mongolian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Mro.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Multani.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Myanmar.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Nabataean.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Nandinagari.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/New_Tai_Lue.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Newa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Nko.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Nushu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Nyiakeng_Puachue_Hmong.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Ogham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Ol_Chiki.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Hungarian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Italic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_North_Arabian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Permic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Persian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Sogdian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_South_Arabian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Turkic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Old_Uyghur.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Oriya.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Osage.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Osmanya.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Pahawh_Hmong.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Palmyrene.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Pau_Cin_Hau.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Phags_Pa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Phoenician.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Psalter_Pahlavi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Rejang.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Runic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Samaritan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Saurashtra.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Sharada.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Shavian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Siddham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/SignWriting.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Sinhala.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Sogdian.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Sora_Sompeng.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Soyombo.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Sundanese.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Syloti_Nagri.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Syriac.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tagalog.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tagbanwa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Le.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Tham.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tai_Viet.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Takri.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tamil.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tangsa.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tangut.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Telugu.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Thaana.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Thai.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tibetan.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tifinagh.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Tirhuta.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Toto.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Ugaritic.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Vai.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Vithkuqi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Wancho.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Warang_Citi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Yezidi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Yi.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/Script_Extensions/Zanabazar_Square.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/index.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/unicode-version.js","webpack://website/../node_modules/buble/node_modules/regexpu-core/data/character-class-escape-sets.js","webpack://website/../node_modules/buble/node_modules/regexpu-core/data/iu-mappings.js","webpack://website/../node_modules/buble/node_modules/regexpu-core/rewrite-pattern.js","webpack://website/../node_modules/buble/node_modules/regjsgen/regjsgen.js","webpack://website/../node_modules/buble/node_modules/regjsparser/parser.js","webpack://website/../node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://website/../node_modules/gatsby-plugin-catch-links/catch-links.js","webpack://website/../node_modules/gatsby-plugin-catch-links/gatsby-browser.js","webpack://website/../node_modules/gatsby-plugin-catch-links/node_modules/escape-string-regexp/index.js","webpack://website/../node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://website/../node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://website/../node_modules/gatsby-plugin-react-helmet-canonical-urls/gatsby-browser.js","webpack://website/../node_modules/gatsby-plugin-react-helmet-canonical-urls/wrap-page.js","webpack://website/../node_modules/gatsby-plugin-styled-components/gatsby-browser.js","webpack://website/../node_modules/gatsby-remark-autolink-headers/gatsby-browser.js","webpack://website/../node_modules/gatsby-remark-images/constants.js","webpack://website/../node_modules/gatsby-remark-images/gatsby-browser.js","webpack://website/../node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://website/../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://website/../node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://website/../node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://website/../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://website/../node_modules/sourcemap-codec/dist/sourcemap-codec.es.js","webpack://website/../node_modules/magic-string/dist/magic-string.es.js","webpack://website/../node_modules/react-fast-compare/index.js","webpack://website/../node_modules/react-helmet/es/Helmet.js","webpack://website/../node_modules/react-icons/lib/esm/iconsManifest.js","webpack://website/../node_modules/react-icons/lib/esm/iconContext.js","webpack://website/../node_modules/react-icons/lib/esm/iconBase.js","webpack://website/../node_modules/react-is/cjs/react-is.production.min.js","webpack://website/../node_modules/react-is/index.js","webpack://website/../node_modules/react-side-effect/lib/index.js","webpack://website/../node_modules/react-simple-code-editor/lib/index.js","webpack://website/../node_modules/regenerate-unicode-properties/Property_of_Strings/Basic_Emoji.js","webpack://website/../node_modules/regenerate-unicode-properties/Property_of_Strings/Emoji_Keycap_Sequence.js","webpack://website/../node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji.js","webpack://website/../node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Flag_Sequence.js","webpack://website/../node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Modifier_Sequence.js","webpack://website/../node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_Tag_Sequence.js","webpack://website/../node_modules/regenerate-unicode-properties/Property_of_Strings/RGI_Emoji_ZWJ_Sequence.js","webpack://website/../node_modules/regenerate-unicode-properties/Script/Kawi.js","webpack://website/../node_modules/regenerate-unicode-properties/Script/Nag_Mundari.js","webpack://website/../node_modules/regenerate-unicode-properties/Script_Extensions/Kawi.js","webpack://website/../node_modules/regenerate-unicode-properties/Script_Extensions/Nag_Mundari.js","webpack://website/../node_modules/regenerate/regenerate.js","webpack://website/../node_modules/shallowequal/index.js","webpack://website/../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://website/../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://website/../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://website/../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://website/../node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://website/../node_modules/unicode-canonical-property-names-ecmascript/index.js","webpack://website/../node_modules/unicode-match-property-ecmascript/index.js","webpack://website/../node_modules/unicode-match-property-value-ecmascript/data/mappings.js","webpack://website/../node_modules/unicode-match-property-value-ecmascript/index.js","webpack://website/../node_modules/unicode-property-aliases-ecmascript/index.js","webpack://website/../node_modules/buble/node_modules/regenerate-unicode-properties/ ../node_modules/regenerate-unicode-properties/ sync ^\\.\\/.*\\.js$","webpack://website/../node_modules/core-js/actual/object/assign.js","webpack://website/../node_modules/core-js/es/object/assign.js","webpack://website/../node_modules/core-js/features/object/assign.js","webpack://website/../node_modules/core-js/full/object/assign.js","webpack://website/../node_modules/core-js/internals/a-callable.js","webpack://website/../node_modules/core-js/internals/a-constructor.js","webpack://website/../node_modules/core-js/internals/add-to-unscopables.js","webpack://website/../node_modules/core-js/internals/an-object.js","webpack://website/../node_modules/core-js/internals/array-includes.js","webpack://website/../node_modules/core-js/internals/classof-raw.js","webpack://website/../node_modules/core-js/internals/classof.js","webpack://website/../node_modules/core-js/internals/copy-constructor-properties.js","webpack://website/../node_modules/core-js/internals/create-non-enumerable-property.js","webpack://website/../node_modules/core-js/internals/create-property-descriptor.js","webpack://website/../node_modules/core-js/internals/define-built-in.js","webpack://website/../node_modules/core-js/internals/define-global-property.js","webpack://website/../node_modules/core-js/internals/descriptors.js","webpack://website/../node_modules/core-js/internals/document-all.js","webpack://website/../node_modules/core-js/internals/document-create-element.js","webpack://website/../node_modules/core-js/internals/engine-user-agent.js","webpack://website/../node_modules/core-js/internals/engine-v8-version.js","webpack://website/../node_modules/core-js/internals/enum-bug-keys.js","webpack://website/../node_modules/core-js/internals/export.js","webpack://website/../node_modules/core-js/internals/fails.js","webpack://website/../node_modules/core-js/internals/function-bind-native.js","webpack://website/../node_modules/core-js/internals/function-call.js","webpack://website/../node_modules/core-js/internals/function-name.js","webpack://website/../node_modules/core-js/internals/function-uncurry-this-raw.js","webpack://website/../node_modules/core-js/internals/function-uncurry-this.js","webpack://website/../node_modules/core-js/internals/get-built-in.js","webpack://website/../node_modules/core-js/internals/get-method.js","webpack://website/../node_modules/core-js/internals/get-substitution.js","webpack://website/../node_modules/core-js/internals/global.js","webpack://website/../node_modules/core-js/internals/has-own-property.js","webpack://website/../node_modules/core-js/internals/hidden-keys.js","webpack://website/../node_modules/core-js/internals/html.js","webpack://website/../node_modules/core-js/internals/ie8-dom-define.js","webpack://website/../node_modules/core-js/internals/indexed-object.js","webpack://website/../node_modules/core-js/internals/inspect-source.js","webpack://website/../node_modules/core-js/internals/internal-state.js","webpack://website/../node_modules/core-js/internals/is-callable.js","webpack://website/../node_modules/core-js/internals/is-constructor.js","webpack://website/../node_modules/core-js/internals/is-forced.js","webpack://website/../node_modules/core-js/internals/is-null-or-undefined.js","webpack://website/../node_modules/core-js/internals/is-object.js","webpack://website/../node_modules/core-js/internals/is-pure.js","webpack://website/../node_modules/core-js/internals/is-regexp.js","webpack://website/../node_modules/core-js/internals/is-symbol.js","webpack://website/../node_modules/core-js/internals/length-of-array-like.js","webpack://website/../node_modules/core-js/internals/make-built-in.js","webpack://website/../node_modules/core-js/internals/math-trunc.js","webpack://website/../node_modules/core-js/internals/new-promise-capability.js","webpack://website/../node_modules/core-js/internals/object-assign.js","webpack://website/../node_modules/core-js/internals/object-create.js","webpack://website/../node_modules/core-js/internals/object-define-properties.js","webpack://website/../node_modules/core-js/internals/object-define-property.js","webpack://website/../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://website/../node_modules/core-js/internals/object-get-own-property-names.js","webpack://website/../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://website/../node_modules/core-js/internals/object-is-prototype-of.js","webpack://website/../node_modules/core-js/internals/object-keys-internal.js","webpack://website/../node_modules/core-js/internals/object-keys.js","webpack://website/../node_modules/core-js/internals/object-property-is-enumerable.js","webpack://website/../node_modules/core-js/internals/ordinary-to-primitive.js","webpack://website/../node_modules/core-js/internals/own-keys.js","webpack://website/../node_modules/core-js/internals/path.js","webpack://website/../node_modules/core-js/internals/promise-native-constructor.js","webpack://website/../node_modules/core-js/internals/promise-resolve.js","webpack://website/../node_modules/core-js/internals/regexp-flags.js","webpack://website/../node_modules/core-js/internals/regexp-get-flags.js","webpack://website/../node_modules/core-js/internals/require-object-coercible.js","webpack://website/../node_modules/core-js/internals/shared-key.js","webpack://website/../node_modules/core-js/internals/shared-store.js","webpack://website/../node_modules/core-js/internals/shared.js","webpack://website/../node_modules/core-js/internals/species-constructor.js","webpack://website/../node_modules/core-js/internals/symbol-constructor-detection.js","webpack://website/../node_modules/core-js/internals/to-absolute-index.js","webpack://website/../node_modules/core-js/internals/to-indexed-object.js","webpack://website/../node_modules/core-js/internals/to-integer-or-infinity.js","webpack://website/../node_modules/core-js/internals/to-length.js","webpack://website/../node_modules/core-js/internals/to-object.js","webpack://website/../node_modules/core-js/internals/to-primitive.js","webpack://website/../node_modules/core-js/internals/to-property-key.js","webpack://website/../node_modules/core-js/internals/to-string-tag-support.js","webpack://website/../node_modules/core-js/internals/to-string.js","webpack://website/../node_modules/core-js/internals/try-to-string.js","webpack://website/../node_modules/core-js/internals/uid.js","webpack://website/../node_modules/core-js/internals/use-symbol-as-uid.js","webpack://website/../node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://website/../node_modules/core-js/internals/weak-map-basic-detection.js","webpack://website/../node_modules/core-js/internals/well-known-symbol.js","webpack://website/../node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://website/../node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://website/../node_modules/core-js/modules/es.object.assign.js","webpack://website/../node_modules/core-js/modules/es.promise.finally.js","webpack://website/../node_modules/core-js/modules/es.string.replace-all.js","webpack://website/../node_modules/core-js/modules/esnext.string.replace-all.js","webpack://website/../node_modules/core-js/stable/object/assign.js","webpack://website/../node_modules/gatsby-react-router-scroll/index.js","webpack://website/../node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://website/../node_modules/gatsby-react-router-scroll/session-storage.js","webpack://website/../node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://website/../node_modules/gatsby-plugin-google-analytics/gatsby-browser.js","webpack://website/../smooth-doc/src/components/CarbonAd.js","webpack://website/../smooth-doc/src/components/Table.js","webpack://website/../smooth-doc/src/components/MDX.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/extends.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/construct.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://website/../node_modules/polished/dist/polished.esm.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://website/../smooth-doc/src/theme.js","webpack://website/../smooth-doc/src/components/Theme.js","webpack://website/../smooth-doc/src/components/RootWrapper.js","webpack://website/../node_modules/ariakit/esm/dialog/dialog-state.js","webpack://website/../node_modules/ariakit/esm/disclosure/disclosure-state.js","webpack://website/../node_modules/ariakit/esm/disclosure/disclosure-content.js","webpack://website/../node_modules/ariakit/esm/visually-hidden/visually-hidden.js","webpack://website/../node_modules/ariakit/esm/focus-trap/focus-trap.js","webpack://website/../node_modules/ariakit/esm/focus-trap/focus-trap-region.js","webpack://website/../node_modules/ariakit/esm/__utils-5a52896b.js","webpack://website/../node_modules/ariakit/esm/heading/heading-level.js","webpack://website/../node_modules/ariakit/esm/portal/portal-context.js","webpack://website/../node_modules/ariakit/esm/portal/portal.js","webpack://website/../node_modules/ariakit/esm/dialog-context-f963dd70.js","webpack://website/../node_modules/ariakit/esm/dialog/dialog.js","webpack://website/../node_modules/ariakit/esm/disclosure/disclosure.js","webpack://website/../node_modules/ariakit/esm/dialog/dialog-disclosure.js","webpack://website/../smooth-doc/src/components/SideNav.js","webpack://website/../smooth-doc/src/components/TableOfContents.js","webpack://website/../smooth-doc/src/components/layouts/DocLayout.js","webpack://website/../smooth-doc/src/components/layouts/PostLayout.js","webpack://website/../smooth-doc/src/components/layouts/PageLayout.js","webpack://website/../smooth-doc/src/components/layouts/HomeLayout.js","webpack://website/../smooth-doc/src/components/PageWrapper.js","webpack://website/../smooth-doc/gatsby-browser.js","webpack://website/../smooth-doc/src/components/Article.js","webpack://website/../node_modules/prism-react-renderer/prism/index.js","webpack://website/../node_modules/prism-react-renderer/dist/index.js","webpack://website/../node_modules/prism-react-renderer/themes/duotoneDark/index.js","webpack://website/../node_modules/react-live/dist/react-live.es.js","webpack://website/../smooth-doc/src/components/Code.js","webpack://website/../smooth-doc/src/components/ColorModeSwitcher.js","webpack://website/../smooth-doc/src/components/Nav.js","webpack://website/../smooth-doc/src/components/ScreenContainer.js","webpack://website/../smooth-doc/src/components/SiblingNav.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/createStore.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js","webpack://website/../node_modules/@algolia/autocomplete-shared/dist/esm/flatten.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js","webpack://website/../node_modules/@algolia/autocomplete-shared/dist/esm/getItemsCount.js","webpack://website/../node_modules/@algolia/autocomplete-shared/dist/esm/generateAutocompleteId.js","webpack://website/../node_modules/@algolia/autocomplete-shared/dist/esm/noop.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/reshape.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/resolve.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/onInput.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/isSamsung.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js","webpack://website/../node_modules/@algolia/autocomplete-shared/dist/esm/version.js","webpack://website/../node_modules/@algolia/autocomplete-shared/dist/esm/userAgents.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/metadata.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js","webpack://website/../node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js","webpack://website/../node_modules/@docsearch/react/dist/esm/AlgoliaLogo.js","webpack://website/../node_modules/@docsearch/react/dist/esm/Footer.js","webpack://website/../node_modules/@docsearch/react/dist/esm/Hit.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/ErrorIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/ErrorScreen.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/NoResultsIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/NoResultsScreen.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/SourceIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/SelectIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/Snippet.js","webpack://website/../node_modules/@docsearch/react/dist/esm/Results.js","webpack://website/../node_modules/@docsearch/react/dist/esm/utils/removeHighlightTags.js","webpack://website/../node_modules/@docsearch/react/dist/esm/ResultsScreen.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/RecentIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/StarIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/ResetIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/StartScreen.js","webpack://website/../node_modules/@docsearch/react/dist/esm/ScreenState.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/LoadingIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/icons/SearchIcon.js","webpack://website/../node_modules/@docsearch/react/dist/esm/SearchBox.js","webpack://website/../node_modules/@docsearch/react/dist/esm/constants.js","webpack://website/../node_modules/@docsearch/react/dist/esm/stored-searches.js","webpack://website/../node_modules/algoliasearch/dist/algoliasearch-lite.esm.browser.js","webpack://website/../node_modules/@docsearch/react/dist/esm/version.js","webpack://website/../node_modules/@docsearch/react/dist/esm/utils/noop.js","webpack://website/../node_modules/@docsearch/react/dist/esm/utils/identity.js","webpack://website/../node_modules/@docsearch/react/dist/esm/utils/groupBy.js","webpack://website/../node_modules/@docsearch/react/dist/esm/DocSearchModal.js","webpack://website/../node_modules/@docsearch/react/dist/esm/useSearchClient.js","webpack://website/../node_modules/@docsearch/react/dist/esm/useTouchEvents.js","webpack://website/../node_modules/@docsearch/react/dist/esm/useTrapFocus.js","webpack://website/../smooth-doc/src/components/Input.js","webpack://website/../smooth-doc/src/components/DocSearch.js","webpack://website/../node_modules/@docsearch/react/dist/esm/useDocSearchKeyboardEvents.js","webpack://website/../smooth-doc/src/components/AppNav.js","webpack://website/../smooth-doc/src/components/AppHeader.js","webpack://website/../smooth-doc/src/components/SEO.js","webpack://website/../smooth-doc/src/components/Head.js","webpack://website/../smooth-doc/src/components/layouts/WebSiteLayout.js","webpack://website/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://website/./.cache/api-runner-browser-plugins.js","webpack://website/./.cache/api-runner-browser.js","webpack://website/./.cache/emitter.js","webpack://website/../node_modules/mitt/dist/mitt.es.js","webpack://website/./.cache/normalize-page-path.js","webpack://website/./.cache/find-path.js","webpack://website/./.cache/static-query.js","webpack://website/./.cache/gatsby-browser-entry.js","webpack://website/./.cache/prefetch.js","webpack://website/./.cache/loader.js","webpack://website/./.cache/head/components/fire-callback-in-effect.js","webpack://website/./.cache/head/constants.js","webpack://website/./.cache/head/utils.js","webpack://website/./.cache/head/head-export-handler-for-browser.js","webpack://website/./.cache/page-renderer.js","webpack://website/./.cache/route-announcer-props.js","webpack://website/./.cache/navigation.js","webpack://website/../node_modules/shallow-compare/es/index.js","webpack://website/./.cache/ensure-resources.js","webpack://website/./.cache/production-app.js","webpack://website/./.cache/public-page-renderer-prod.js","webpack://website/./.cache/public-page-renderer.js","webpack://website/./.cache/react-dom-utils.js","webpack://website/./.cache/react-lifecycles-compat.js","webpack://website/./.cache/redirect-utils.js","webpack://website/./.cache/register-service-worker.js","webpack://website/./.cache/strip-prefix.js","webpack://website/../node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://website/../node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://website/../node_modules/@gatsbyjs/reach-router/es/index.js","webpack://website/../node_modules/invariant/browser.js","webpack://website/../node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://website/../node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://website/../node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://website/../node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://website/../node_modules/@builder.io/partytown/integration/index.cjs","webpack://website/../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://website/../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://website/../node_modules/gatsby-link/dist/index.modern.mjs","webpack://website/../node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = require(\"invariant\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('mdx/types').MDXComponents} Components\n *\n * @typedef Props\n * Configuration.\n * @property {Components} [components]\n * Mapping of names for JSX components to React components.\n * @property {boolean} [disableParentContext=false]\n * Turn off outer component context.\n * @property {ReactNode} [children]\n * Children.\n *\n * @callback MergeComponents\n * @param {Components} currentComponents\n * Current components from the context.\n * @returns {Components}\n * Merged components.\n */\nimport React from 'react';\n/**\n * @type {import('react').Context}\n * @deprecated\n * This export is marked as a legacy feature.\n * That means it’s no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components and\n * `MDXProvider` to set context based components instead.\n */\n\nexport const MDXContext = React.createContext({});\n/**\n * @param {import('react').ComponentType} Component\n * @deprecated\n * This export is marked as a legacy feature.\n * That means it’s no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components instead.\n */\n\nexport function withMDXComponents(Component) {\n return boundMDXComponent;\n /**\n * @param {Record & {components?: Components}} props\n * @returns {JSX.Element}\n */\n\n function boundMDXComponent(props) {\n const allComponents = useMDXComponents(props.components);\n return React.createElement(Component, { ...props,\n allComponents\n });\n }\n}\n/**\n * Get current components from the MDX Context.\n *\n * @param {Components|MergeComponents} [components]\n * Additional components to use or a function that takes the current\n * components and filters/merges/changes them.\n * @returns {Components}\n * Current components.\n */\n\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext); // Memoize to avoid unnecessary top-level context changes\n\n return React.useMemo(() => {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents);\n }\n\n return { ...contextComponents,\n ...components\n };\n }, [contextComponents, components]);\n}\n/** @type {Components} */\n\nconst emptyObject = {};\n/**\n * Provider for MDX context\n *\n * @param {Props} props\n * @returns {JSX.Element}\n */\n\nexport function MDXProvider(_ref) {\n let {\n components,\n children,\n disableParentContext\n } = _ref;\n let allComponents = useMDXComponents(components);\n\n if (disableParentContext) {\n allComponents = components || emptyObject;\n }\n\n return React.createElement(MDXContext.Provider, {\n value: allComponents\n }, children);\n}","import * as React from 'react';\nimport { useMemo } from 'react';\nimport { getScreens, system, getBreakpointMax, getBreakpointMin } from '@xstyled/system';\nimport { obj, string, func, cascade } from '@xstyled/util';\n\nfunction useThemeScreens(theme) {\n return getScreens({\n theme\n });\n}\n\nfunction useThemeMinValue(theme, key) {\n const screens = useThemeScreens(theme);\n const value = screens[key];\n return value === 0 ? null : value;\n}\n\nfunction useThemeMaxValue(theme, key) {\n const screens = useThemeScreens(theme);\n const breakPoint = screens[key];\n return breakPoint === 0 ? null : breakPoint - 0.02;\n}\n\nfunction useViewportWidth() {\n const [width, setWidth] = React.useState(typeof window === \"undefined\" ? null : window.innerWidth);\n React.useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n\n window.addEventListener(\"resize\", handleResize);\n setWidth(window.innerWidth);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n return width;\n}\n\nfunction useThemeBreakpoint(theme) {\n const screns = useThemeScreens(theme);\n const width = useViewportWidth();\n return React.useMemo(() => {\n return Object.keys(screns).reverse().find(screen => width !== null && width > screns[screen]) || null;\n }, [screns, width]);\n}\n\nfunction useThemeUp(theme, key) {\n const value = useThemeMinValue(theme, key);\n const width = useViewportWidth();\n return width !== null && value !== null && width >= value;\n}\n\nfunction useThemeDown(theme, key) {\n const value = useThemeMaxValue(theme, key);\n const width = useViewportWidth();\n return width !== null && value !== null && width < value;\n}\n\nconst join = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(Boolean).join(\".\");\n};\n\nconst toVarName = key => \"--\".concat(key.replace(/\\./g, \"-\"));\n\nconst toVarValue = (key, value) => \"var(\".concat(toVarName(key), \", \").concat(value, \")\");\n\nconst toProp = (key, value) => \"\".concat(key, \": \").concat(value, \";\");\n\nfunction toCustomPropertiesReferences(values, theme) {\n let keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Object.keys(values);\n let parent = arguments.length > 3 ? arguments[3] : undefined;\n const next = Array.isArray(values) ? [] : {};\n\n for (const i in keys) {\n const key = keys[i];\n const value = values[key];\n const name = join(parent, key);\n\n if (obj(value)) {\n next[key] = toCustomPropertiesReferences(value, theme, Object.keys(value), name);\n continue;\n }\n\n if (string(value)) {\n next[key] = toVarValue(name, value);\n continue;\n }\n\n if (func(value)) {\n next[key] = toVarValue(name, cascade(value, {\n theme\n }));\n continue;\n }\n }\n\n return next;\n}\n\nfunction toCustomPropertiesDeclarations(values, theme) {\n let keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Object.keys(values);\n let parent = arguments.length > 3 ? arguments[3] : undefined;\n let state = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n value: \"\"\n };\n\n for (const i in keys) {\n const key = keys[i];\n const value = values[key];\n const name = join(parent, key);\n\n if (obj(value)) {\n toCustomPropertiesDeclarations(value, theme, Object.keys(value), name, state);\n continue;\n }\n\n if (string(value)) {\n state.value += toProp(toVarName(name), value);\n continue;\n }\n\n if (func(value)) {\n state.value += toProp(toVarName(name), cascade(value, {\n theme\n }));\n continue;\n }\n }\n\n return state.value;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n\n if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\n\nvar __objRest = (source, exclude) => {\n var target = {};\n\n for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop];\n\n if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop];\n }\n return target;\n};\n\nconst STORAGE_KEY = \"xstyled-color-mode\";\n\nconst isLocalStorageAvailable = typeof window !== \"undefined\" && (() => {\n try {\n const key = \"xstyled-test-key\";\n window.localStorage.setItem(key, key);\n window.localStorage.removeItem(key);\n return true;\n } catch (err) {\n return false;\n }\n})();\n\nconst storage = isLocalStorageAvailable ? {\n get: () => window.localStorage.getItem(STORAGE_KEY),\n set: value => {\n window.localStorage.setItem(STORAGE_KEY, value);\n },\n clear: () => window.localStorage.removeItem(STORAGE_KEY)\n} : {\n get: () => null,\n set: () => {},\n clear: () => {}\n};\nconst COLOR_MODE_CLASS_PREFIX = \"xstyled-color-mode-\";\n\nconst getColorModeClassName = mode => \"\".concat(COLOR_MODE_CLASS_PREFIX).concat(mode);\n\nconst XSTYLED_COLORS_PREFIX = \"xstyled-colors\";\nconst SYSTEM_MODES = [\"light\", \"dark\"];\n\nfunction getModeTheme(theme, mode) {\n return __spreadProps(__spreadValues({}, theme), {\n colors: __spreadValues(__spreadValues({}, theme.colors), theme.colors.modes[mode])\n });\n}\n\nconst getMediaQuery = query => \"@media \".concat(query);\n\nconst getColorModeQuery = mode => \"(prefers-color-scheme: \".concat(mode, \")\");\n\nfunction checkHasColorModes(theme) {\n return Boolean(theme && theme.colors && theme.colors.modes);\n}\n\nfunction checkHasCustomPropertiesEnabled(theme) {\n return Boolean(theme && (theme.useCustomProperties === void 0 || theme.useCustomProperties));\n}\n\nfunction checkHasMediaQueryEnabled(theme) {\n return Boolean(theme && (theme.useColorSchemeMediaQuery === void 0 || theme.useColorSchemeMediaQuery));\n}\n\nfunction getInitialColorModeName(theme) {\n return theme.initialColorModeName || \"default\";\n}\n\nfunction getDefaultColorModeName(theme) {\n return theme.defaultColorModeName || getInitialColorModeName(theme);\n}\n\nfunction getUsedColorKeys(modes) {\n let keys = [];\n\n for (const key in modes) {\n keys = [...keys, ...Object.keys(modes[key])];\n }\n\n return keys;\n}\n\nfunction createColorStyles(theme) {\n let {\n targetSelector = \"body\"\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!checkHasColorModes(theme)) return null;\n\n const _a = theme.colors,\n {\n modes\n } = _a,\n colors = __objRest(_a, [\"modes\"]);\n\n const colorKeys = getUsedColorKeys(modes);\n let styles = toCustomPropertiesDeclarations(colors, theme, colorKeys, XSTYLED_COLORS_PREFIX);\n\n function getModePropertiesDeclarations(mode) {\n const modeTheme = getModeTheme(theme, mode);\n\n const _a2 = modeTheme.colors,\n {\n modes: modes2\n } = _a2,\n colors2 = __objRest(_a2, [\"modes\"]);\n\n return toCustomPropertiesDeclarations(__spreadValues(__spreadValues({}, colors2), modes2[mode]), modeTheme, colorKeys, XSTYLED_COLORS_PREFIX);\n }\n\n if (theme.useColorSchemeMediaQuery !== false) {\n SYSTEM_MODES.forEach(mode => {\n if (modes[mode]) {\n const mediaQuery = getMediaQuery(getColorModeQuery(mode));\n styles += \"\".concat(mediaQuery, \"{\").concat(getModePropertiesDeclarations(mode), \"}\");\n }\n });\n }\n\n const initialModeName = getInitialColorModeName(theme);\n [initialModeName, ...Object.keys(modes)].forEach(mode => {\n const key = \"&.\".concat(getColorModeClassName(mode));\n styles += \"\".concat(key, \"{\").concat(getModePropertiesDeclarations(mode), \"}\");\n });\n return \"\".concat(targetSelector, \"{\").concat(styles, \"}\");\n}\n\nfunction getSystemModeMql(mode) {\n if (typeof window === \"undefined\" || window.matchMedia === void 0) {\n return null;\n }\n\n const query = getColorModeQuery(mode);\n return window.matchMedia(query);\n}\n\nfunction useSystemMode(theme) {\n const configs = React.useMemo(() => {\n if (!checkHasMediaQueryEnabled(theme)) return [];\n return SYSTEM_MODES.map(mode => {\n if (!checkHasColorModes(theme)) return null;\n if (!theme.colors.modes[mode]) return null;\n const mql = getSystemModeMql(mode);\n return mql ? {\n mode,\n mql\n } : null;\n }).filter(Boolean);\n }, [theme]);\n const [systemMode, setSystemMode] = React.useState(() => {\n const config = configs.find(config2 => config2.mql.matches);\n return config ? config.mode : null;\n });\n React.useEffect(() => {\n const cleans = configs.map(_ref => {\n let {\n mode,\n mql\n } = _ref;\n\n const handler = _ref2 => {\n let {\n matches\n } = _ref2;\n\n if (matches) {\n setSystemMode(mode);\n } else {\n setSystemMode(previousMode => previousMode === mode ? null : mode);\n }\n };\n\n mql.addEventListener(\"change\", handler);\n return () => mql.removeEventListener(\"change\", handler);\n });\n return () => cleans.forEach(clean => clean());\n });\n return systemMode;\n}\n\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\n\nfunction useColorModeState(theme) {\n let {\n target\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const systemMode = useSystemMode(theme);\n const defaultColorMode = getDefaultColorModeName(theme);\n const initialColorMode = getInitialColorModeName(theme);\n const [mode, setMode] = React.useState(() => {\n if (!checkHasColorModes(theme)) return null;\n return defaultColorMode;\n });\n const customPropertiesEnabled = checkHasCustomPropertiesEnabled(theme);\n const manualSetRef = React.useRef(false);\n const manuallySetMode = React.useCallback(value => {\n manualSetRef.current = true;\n setMode(value);\n }, []);\n useIsomorphicLayoutEffect(() => {\n if (!checkHasColorModes(theme)) return;\n const storedMode = storage.get();\n const initialMode = storedMode || systemMode || defaultColorMode;\n\n if (mode !== initialMode) {\n setMode(storedMode || systemMode || defaultColorMode);\n }\n }, []);\n useIsomorphicLayoutEffect(() => {\n if (manualSetRef.current) {\n if (mode) {\n storage.set(mode);\n } else {\n storage.clear();\n }\n }\n }, [mode]);\n useIsomorphicLayoutEffect(() => {\n const storedMode = storage.get();\n if (storedMode) return;\n const targetMode = systemMode || defaultColorMode;\n if (targetMode === mode) return;\n setMode(targetMode);\n }, [mode, systemMode, defaultColorMode]);\n useIsomorphicLayoutEffect(() => {\n if (!mode) return void 0;\n if (!customPropertiesEnabled) return void 0;\n const stored = storage.get();\n const initial = initialColorMode !== mode;\n if (!stored && !initial) return void 0;\n const className = getColorModeClassName(mode);\n const usedTarget = target || document.body;\n usedTarget.classList.add(className);\n return () => {\n usedTarget.classList.remove(className);\n };\n }, [customPropertiesEnabled, target, mode, initialColorMode]);\n return [mode, manuallySetMode];\n}\n\nfunction useColorModeTheme(theme, mode) {\n const [initialMode] = React.useState(mode);\n const customPropertiesTheme = React.useMemo(() => {\n if (!initialMode) return null;\n if (!checkHasCustomPropertiesEnabled(theme)) return null;\n if (!checkHasColorModes(theme)) return theme;\n\n const _a = theme.colors,\n {\n modes\n } = _a,\n colors = __objRest(_a, [\"modes\"]);\n\n const colorKeys = getUsedColorKeys(modes);\n return __spreadProps(__spreadValues({}, theme), {\n colors: __spreadProps(__spreadValues(__spreadValues({}, colors), toCustomPropertiesReferences(colors, theme, colorKeys, XSTYLED_COLORS_PREFIX)), {\n modes\n }),\n __rawColors: theme.colors\n });\n }, [initialMode, theme]);\n const swapModeTheme = React.useMemo(() => {\n if (!mode) return null;\n if (checkHasCustomPropertiesEnabled(theme)) return null;\n if (!checkHasColorModes(theme)) return theme;\n\n if (mode === getInitialColorModeName(theme)) {\n return __spreadProps(__spreadValues({}, theme), {\n __colorMode: mode\n });\n }\n\n return __spreadProps(__spreadValues({}, theme), {\n colors: __spreadValues(__spreadValues({}, theme.colors), theme.colors.modes[mode]),\n __colorMode: mode,\n __rawColors: theme.colors\n });\n }, [theme, mode]);\n return customPropertiesTheme || swapModeTheme;\n}\n\nconst ColorModeContext = React.createContext(null);\n\nfunction useColorMode() {\n const colorModeState = React.useContext(ColorModeContext);\n\n if (!colorModeState) {\n throw new Error(\"[useColorMode] requires the ColorModeProvider component\");\n }\n\n return colorModeState;\n}\n\nfunction createColorModeProvider(_ref3) {\n let {\n ThemeContext,\n ThemeProvider,\n ColorModeStyle\n } = _ref3;\n\n function ColorModeProvider(_ref4) {\n let {\n children,\n target,\n targetSelector\n } = _ref4;\n const theme = React.useContext(ThemeContext);\n\n if (!theme) {\n throw new Error(\"[ColorModeProvider] requires ThemeProvider upper in the tree\");\n }\n\n const colorState = useColorModeState(theme, {\n target\n });\n const colorModeTheme = useColorModeTheme(theme, colorState[0]);\n return /* @__PURE__ */React.createElement(React.Fragment, null, /* @__PURE__ */React.createElement(ColorModeStyle, {\n targetSelector\n }), /* @__PURE__ */React.createElement(ThemeProvider, {\n theme: colorModeTheme\n }, /* @__PURE__ */React.createElement(ColorModeContext.Provider, {\n value: colorState\n }, children)));\n }\n\n return ColorModeProvider;\n}\n\nfunction getInitScript() {\n let {\n target = \"document.body\"\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return \"(function() { try {\\n var mode = localStorage.getItem('\".concat(STORAGE_KEY, \"');\\n if (mode) \").concat(target, \".classList.add('\").concat(COLOR_MODE_CLASS_PREFIX, \"' + mode);\\n } catch (e) {} })();\");\n}\n\nfunction getColorModeInitScriptElement(options) {\n return /* @__PURE__ */React.createElement(\"script\", {\n key: \"xstyled-color-mode-init\",\n dangerouslySetInnerHTML: {\n __html: getInitScript(options)\n }\n });\n}\n\nfunction getColorModeInitScriptTag(options) {\n return \"\");\n}\n\nfunction createBox() {\n return [\"&&{\", system, \"}\"];\n}\n\ncreateBox.meta = system.meta;\n\nconst getMediaWidth = getBreakpointBound => value => props => {\n const v = getBreakpointBound(getScreens(props), value);\n return v === null ? \"0\" : v || value;\n};\n\nconst mediaGetters = {\n \"min-width\": getMediaWidth(getBreakpointMin),\n \"max-width\": getMediaWidth(getBreakpointMax)\n};\nconst PROP_CHAR = \"[-\\\\w]\";\nconst VALUE_CHAR = \"(?:\\\\\\\\[\\\\s\\\\S]|[^\\\\\\\\;{}])\";\nconst PROP_PATT = \"(\".concat(PROP_CHAR, \"+)(\\\\s*:\\\\s*)(?=\\\\S)(\").concat(VALUE_CHAR, \"*?)(\\\\s*!important)?(\\\\s*;)\");\nconst MEDIA_CHAR = \"[^{]\";\nconst MEDIA_PATT = \"(@media\\\\b\\\\s*)(?=\\\\S)(\".concat(MEDIA_CHAR, \"+?)(\\\\s*\\\\{)\");\nconst MATCH_REGEXP = new RegExp(\"(?:\".concat(PROP_PATT, \"|\").concat(MEDIA_PATT, \")\"), \"g\");\nconst QUERY_REGEXP = new RegExp(\"(\\\\(\\\\s*)(\".concat(PROP_CHAR, \"+)(\\\\s*:\\\\s*)([^\\\\)]*?)(\\\\s*\\\\))\"), \"g\");\n\nconst mediaTransform = rawValue => {\n let matches;\n let lastIndex = 0;\n const values = [];\n\n while (matches = QUERY_REGEXP.exec(rawValue)) {\n const [, open, prop, colon, value, close] = matches;\n const getter = mediaGetters[prop];\n\n if (getter) {\n values.push(rawValue.slice(lastIndex, matches.index));\n values.push(p => \"\".concat(open).concat(prop).concat(colon).concat(getter(value)(p)).concat(close));\n lastIndex = matches.index + matches[0].length;\n }\n }\n\n values.push(rawValue.slice(lastIndex, rawValue.length));\n return values;\n};\n\nconst createTransform = generator => rawValue => {\n if (typeof rawValue !== \"string\") return rawValue;\n let matches;\n let lastIndex = 0;\n const values = [];\n\n while (matches = MATCH_REGEXP.exec(rawValue)) {\n const [, prop, colon, value, imp, semi, media, query, brace] = matches;\n\n if (media) {\n values.push(rawValue.slice(lastIndex, matches.index));\n values.push(media);\n mediaTransform(query).forEach(v => values.push(v));\n values.push(brace);\n lastIndex = matches.index + matches[0].length;\n } else {\n const getter = generator.meta.cssGetters[prop];\n\n if (getter) {\n values.push(rawValue.slice(lastIndex, matches.index));\n values.push(p => \"\".concat(prop).concat(colon).concat(getter(value)(p)).concat(imp || \"\").concat(semi));\n lastIndex = matches.index + matches[0].length;\n }\n }\n }\n\n values.push(rawValue.slice(lastIndex, rawValue.length));\n return values;\n};\n\nconst createUseGetter = (getter, useTheme) => (value, defaultValue) => {\n const theme = useTheme();\n return useMemo(() => getter(value, defaultValue)({\n theme\n }), [value, defaultValue, theme]);\n};\n\nexport { ColorModeContext, createBox, createColorModeProvider, createColorStyles, createTransform, createUseGetter, getColorModeInitScriptElement, getColorModeInitScriptTag, useColorMode, useColorModeState, useColorModeTheme, useThemeBreakpoint, useThemeDown, useThemeScreens, useThemeUp, useViewportWidth };","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import _taggedTemplateLiteral from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js\";\n\nvar _templateObject, _templateObject2, _templateObject3;\n\nimport styled$1, { createGlobalStyle as createGlobalStyle$1, ThemeContext, ThemeProvider, css as css$1 } from 'styled-components';\nexport { ServerStyleSheet, StyleSheetManager, ThemeConsumer, ThemeContext, ThemeProvider, isStyledComponent, keyframes, withTheme } from 'styled-components';\nimport { createColorStyles, createColorModeProvider, createUseGetter, useThemeScreens, useThemeBreakpoint, useThemeUp, useThemeDown, createTransform } from '@xstyled/core';\nexport { getColorModeInitScriptElement, getColorModeInitScriptTag, useColorMode, useViewportWidth } from '@xstyled/core';\nimport { useContext } from 'react';\nimport { th, getPreflightStyles, system as system$1 } from '@xstyled/system';\nexport * from '@xstyled/system';\nimport { flattenStrings, string } from '@xstyled/util';\nconst ColorModeStyle = createGlobalStyle$1(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\", \"\"])), p => createColorStyles(p.theme, {\n targetSelector: p.targetSelector\n}));\nconst ColorModeProvider = createColorModeProvider({\n ThemeContext,\n ThemeProvider,\n ColorModeStyle\n});\n\nconst useTheme = () => {\n return useContext(ThemeContext);\n};\n\nconst useTh = createUseGetter(th, useTheme);\nconst useAngle = createUseGetter(th.angle, useTheme);\nconst useAnimation = createUseGetter(th.animation, useTheme);\nconst useBorder = createUseGetter(th.border, useTheme);\nconst useBorderColor = createUseGetter(th.borderColor, useTheme);\nconst useBorderStyle = createUseGetter(th.borderStyle, useTheme);\nconst useBorderWidth = createUseGetter(th.borderWidth, useTheme);\nconst useColor = createUseGetter(th.color, useTheme);\nconst useDuration = createUseGetter(th.duration, useTheme);\nconst useFont = createUseGetter(th.font, useTheme);\nconst useFontSize = createUseGetter(th.fontSize, useTheme);\nconst useFontWeight = createUseGetter(th.fontWeight, useTheme);\nconst useInset = createUseGetter(th.inset, useTheme);\nconst useLetterSpacing = createUseGetter(th.letterSpacing, useTheme);\nconst useLineHeight = createUseGetter(th.lineHeight, useTheme);\nconst usePercent = createUseGetter(th.percent, useTheme);\nconst usePx = createUseGetter(th.px, useTheme);\nconst useRadius = createUseGetter(th.radius, useTheme);\nconst useRingWidth = createUseGetter(th.ringWidth, useTheme);\nconst useShadow = createUseGetter(th.shadow, useTheme);\nconst useSize = createUseGetter(th.size, useTheme);\nconst useSpace = createUseGetter(th.space, useTheme);\nconst useTimingFunction = createUseGetter(th.timingFunction, useTheme);\nconst useTransform = createUseGetter(th.transform, useTheme);\nconst useTransition = createUseGetter(th.transition, useTheme);\nconst useTransitionProperty = createUseGetter(th.transitionProperty, useTheme);\nconst useZIndex = createUseGetter(th.zIndex, useTheme);\n\nconst useScreens = () => {\n return useThemeScreens(useTheme());\n};\n\nconst useBreakpoint = () => {\n return useThemeBreakpoint(useTheme());\n};\n\nconst useUp = key => {\n return useThemeUp(useTheme(), key);\n};\n\nconst useDown = key => {\n return useThemeDown(useTheme(), key);\n};\n\nconst Preflight = createGlobalStyle$1(_ref => {\n let {\n theme\n } = _ref;\n return getPreflightStyles(theme);\n});\n\nconst createCssFunction = generator => {\n const transform = createTransform(generator);\n return function () {\n const scCssArgs = css$1(...arguments);\n const flattenedArgs = flattenStrings(scCssArgs);\n return flattenedArgs.map(transform);\n };\n};\n\nconst scStyled = typeof styled$1 === \"function\" ? styled$1 : styled$1.default;\n\nconst getCreateStyle = (baseCreateStyle, css, generator) => {\n const createStyle = function () {\n return baseCreateStyle(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\", \"\", \"\"])), css(...arguments), generator);\n };\n\n createStyle.attrs = attrs => getCreateStyle(baseCreateStyle.attrs(attrs), css, generator);\n\n createStyle.withConfig = config => getCreateStyle(baseCreateStyle.withConfig(config), css, generator);\n\n return createStyle;\n};\n\nconst createShouldForwardProp = generator => {\n const propSet = new Set(generator.meta.props);\n return (prop, defaultValidatorFn, elementToBeCreated) => {\n if (string(prop) && propSet.has(prop)) {\n return false;\n }\n\n if (typeof elementToBeCreated === \"string\") {\n return defaultValidatorFn(prop);\n }\n\n return true;\n };\n};\n\nconst createBaseStyled = (css, generator) => {\n const config = generator ? {\n shouldForwardProp: createShouldForwardProp(generator)\n } : {};\n return component => {\n const baseStyled = scStyled(component);\n return getCreateStyle(config ? baseStyled.withConfig(config) : baseStyled, css, generator);\n };\n};\n\nconst createStyled = generator => {\n const css = createCssFunction(generator);\n const styled = createBaseStyled(css);\n const xstyled = createBaseStyled(css, generator);\n styled.box = xstyled(\"div\");\n Object.keys(scStyled).forEach(key => {\n styled[key] = styled(key);\n styled[\"\".concat(key, \"Box\")] = xstyled(key);\n });\n return styled;\n};\n\nconst createX = generator => {\n const xstyled = createBaseStyled(createCssFunction(generator), generator);\n const x = {};\n Object.keys(scStyled).forEach(tag => {\n x[tag] = xstyled(tag)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\"])));\n });\n return x;\n};\n\nconst createCreateGlobalStyle = generator => {\n const css = createCssFunction(generator);\n return function () {\n return createGlobalStyle$1([css(...arguments)]);\n };\n};\n\nconst createCss = generator => {\n return {\n css: createCssFunction(generator),\n x: createX(generator),\n styled: createStyled(generator),\n createGlobalStyle: createCreateGlobalStyle(generator)\n };\n};\n\nconst {\n css,\n styled,\n x,\n createGlobalStyle\n} = createCss(system$1);\nexport { ColorModeProvider, Preflight, createCss, createGlobalStyle, css, styled as default, styled, useAngle, useAnimation, useBorder, useBorderColor, useBorderStyle, useBorderWidth, useBreakpoint, useColor, useDown, useDuration, useFont, useFontSize, useFontWeight, useInset, useLetterSpacing, useLineHeight, usePercent, usePx, useRadius, useRingWidth, useScreens, useShadow, useSize, useSpace, useTh, useTheme, useTimingFunction, useTransform, useTransition, useTransitionProperty, useUp, useZIndex, x };","import { num, string, getThemeValue, negative, warn, merge, assign, func, is, obj, cascade } from '@xstyled/util';\nvar __pow = Math.pow;\n\nconst round = value => Math.round(value * __pow(10, 4)) / __pow(10, 4);\n\nconst unit = unit2 => value => num(value) && value !== 0 ? \"\".concat(value).concat(unit2) : value;\n\nconst ms = unit(\"ms\");\nconst px$1 = unit(\"px\");\nconst deg = unit(\"deg\");\n\nconst pxToRem = function (value) {\n let {\n rootFontSize = 16\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return round(value / rootFontSize);\n};\n\nconst remPx = (value, options) => {\n const num2 = Number(value);\n if (Number.isNaN(num2) || num2 === 0) return value;\n return \"\".concat(pxToRem(num2, options), \"rem\");\n};\n\nconst rpx = (value, options) => {\n if (!string(value) || value.length < 4) return value;\n const unit2 = value.slice(-3);\n if (unit2 !== \"rpx\") return value;\n const n = Number(value.slice(0, value.length - 3));\n if (n === 0) return 0;\n return \"\".concat(pxToRem(n, options), \"rem\");\n};\n\nconst percent = n => num(n) && n !== 0 && n >= -1 && n <= 1 ? \"\".concat(round(n * 100), \"%\") : n;\n\nconst transformNegative = (_, _ref) => {\n let {\n rawValue,\n variants,\n props\n } = _ref;\n\n if (string(rawValue)) {\n const neg = rawValue.startsWith(\"-\");\n const abs = neg ? rawValue.substr(1) : rawValue;\n const varVal = getThemeValue(props, abs, variants);\n const value = string(varVal) || num(varVal) ? varVal : abs;\n return neg ? \"-\".concat(value) : value;\n }\n\n if (num(rawValue)) {\n const neg = negative(rawValue);\n const abs = Math.abs(rawValue);\n const varVal = variants ? variants[abs] : void 0;\n if (string(varVal)) return neg ? \"-\".concat(varVal) : varVal;\n const value = num(varVal) ? varVal : abs;\n return neg ? value * -1 : value;\n }\n\n return void 0;\n};\n\nconst mediaMinWidth = value => value ? \"@media (min-width: \".concat(value, \")\") : null;\n\nconst mediaMaxWidth = value => value ? \"@media (max-width: \".concat(value, \")\") : null;\n\nconst mediaBetweenWidth = (min, max) => min && max ? \"@media (min-width: \".concat(min, \") and (max-width: \").concat(max, \")\") : null;\n\nconst getBreakpointMin = (screens, key) => {\n const value = screens[key];\n return value === 0 ? null : px$1(value);\n};\n\nconst getBreakpointMax = (screens, key) => {\n const value = screens[key];\n return value === 0 ? null : px$1(value - 0.02);\n};\n\nvar __defProp$6 = Object.defineProperty;\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$6.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$6) for (var prop of __getOwnPropSymbols$6(b)) {\n if (__propIsEnum$6.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\n\nconst getScreens = props => {\n return props.theme && props.theme.screens ? props.theme.screens : {};\n};\n\nconst getStates = props => {\n return props.theme && props.theme.states ? props.theme.states : {};\n};\n\nconst getVariants = props => {\n const screens = getScreens(props);\n const states = getStates(props);\n const medias = {};\n\n for (const value in screens) {\n medias[value] = mediaMinWidth(getBreakpointMin(screens, value));\n }\n\n const variants = __spreadValues$6(__spreadValues$6({}, medias), states);\n\n for (const [value, selector] of Object.entries(variants)) {\n if (selector && selector.startsWith(\"@\")) {\n delete variants[value];\n variants[value] = selector;\n }\n }\n\n return variants;\n};\n\nconst getCachedVariants = (props, cache) => {\n if (cache.has(\"_variants\")) return cache.get(\"_variants\");\n const states = getVariants(props);\n cache.set(\"_variants\", states);\n return states;\n};\n\nconst cacheSupported = typeof Map !== \"undefined\" && typeof WeakMap !== \"undefined\";\nconst caches = cacheSupported ? new WeakMap() : null;\n\nconst getThemeCache = theme => {\n if (caches === null) return null;\n if (caches.has(theme)) return caches.get(theme) || null;\n const cache = {};\n caches.set(theme, cache);\n return cache;\n};\n\nconst noopCache = {\n has: () => false,\n set: () => void 0,\n get: () => void 0\n};\n\nconst getCache = (theme, namespace) => {\n if (!theme) return noopCache;\n const cache = getThemeCache(theme);\n if (!cache || !theme) return noopCache;\n cache[namespace] = cache[namespace] || new Map();\n return cache[namespace];\n};\n\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$5 = (obj2, key, value) => key in obj2 ? __defProp$5(obj2, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj2[key] = value;\n\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$5.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$5) for (var prop of __getOwnPropSymbols$5(b)) {\n if (__propIsEnum$5.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\n\nlet themeGetterId = 0;\nconst SPLITTERS = {\n shorthand: [/\\s+/, \" \"],\n multiple: [/\\s*,\\s*/, \",\"]\n};\n\nconst splitValue = (splitter, transform) => value => value.split(splitter[0]).map(transform).join(splitter[1]);\n\nconst themeGetter = _ref2 => {\n let {\n name,\n transform: defaultTransform,\n key,\n compose: compose2,\n shorthand,\n multiple\n } = _ref2;\n const id = themeGetterId++;\n\n const getter = (value, defaultValue) => props => {\n let res = value;\n\n if (!string(value) && !num(value) && value !== true) {\n return res;\n }\n\n const cacheKey = \"\".concat(typeof value, \"-\").concat(value, \"-\").concat(defaultValue);\n const cache = getCache(props.theme, \"__themeGetter\".concat(id));\n if (cache.has(cacheKey)) return cache.get(cacheKey);\n\n const getValue = value2 => {\n const localDefaultValue = is(defaultValue) ? defaultValue : value2;\n let res2 = value2;\n const variants = is(key) ? getThemeValue(props, key) : null;\n\n if (is(variants)) {\n const path = value2 === true ? \"default\" : string(value2) || num(value2) ? value2 : null;\n\n if (is(path)) {\n const fromTheme = getThemeValue(props, path, variants);\n res2 = Array.isArray(fromTheme) ? fromTheme.join(\",\") : fromTheme;\n }\n }\n\n let rawValue = value2;\n\n if (!is(res2)) {\n rawValue = localDefaultValue;\n res2 = localDefaultValue;\n }\n\n const transform = (name && props.theme && props.theme.transformers ? props.theme.transformers[name] : null) || defaultTransform;\n\n if (transform) {\n res2 = transform(res2, {\n rawValue,\n variants,\n props\n });\n }\n\n return compose2 ? compose2(res2)(props) : res2;\n };\n\n if ((shorthand || multiple) && string(value)) {\n let transform = getValue;\n if (shorthand) transform = splitValue(SPLITTERS.shorthand, transform);\n if (multiple) transform = splitValue(SPLITTERS.multiple, transform);\n res = transform(value);\n } else {\n res = getValue(value);\n }\n\n cache.set(cacheKey, res);\n return res;\n };\n\n getter.meta = {\n name,\n transform: defaultTransform\n };\n return getter;\n};\n\nconst createStyleGenerator = _ref3 => {\n let {\n getStyle,\n props,\n cssGetters = {},\n generators\n } = _ref3;\n const generator = getStyle;\n generator.meta = {\n props,\n cssGetters,\n getStyle: generator,\n generators\n };\n\n generator.apply = values => _ref4 => {\n let {\n theme\n } = _ref4;\n return generator(__spreadValues$5({\n theme\n }, values));\n };\n\n return generator;\n};\n\nconst reduceVariants = (props, values, getStyle) => {\n const cache = getCache(props.theme, \"__variants\");\n const variants = getCachedVariants(props, cache);\n let styles = {};\n\n for (const value in values) {\n const style2 = getStyle(values[value]);\n if (style2 === null) continue;\n const state = value in variants ? variants[value] : value;\n if (state === void 0) continue;\n\n if (state === null) {\n styles = merge(styles, style2);\n } else {\n styles[state] = styles[state] ? assign(styles[state], style2) : style2;\n }\n }\n\n return styles;\n};\n\nconst getStyleFactory = (prop, mixin, themeGet) => {\n return props => {\n const fromValue = value2 => {\n if (!is(value2)) return null;\n if (obj(value2)) return reduceVariants(props, value2, fromValue);\n return cascade(mixin(themeGet ? themeGet(value2)(props) : value2), props);\n };\n\n const value = props[prop];\n if (!is(value)) return null;\n const cache = getCache(props.theme, prop);\n if (cache.has(value)) return cache.get(value);\n const style2 = fromValue(props[prop]);\n cache.set(value, style2);\n return style2;\n };\n};\n\nconst indexGeneratorsByProp = generators => {\n const index = {};\n\n for (let i = 0; i < generators.length; i++) {\n const style2 = generators[i];\n\n if (style2 && style2.meta) {\n for (let j = 0; j < style2.meta.props.length; j++) {\n const prop = style2.meta.props[j];\n index[prop] = style2;\n }\n }\n }\n\n return index;\n};\n\nconst sortStyles = (styles, variants) => {\n for (const key in variants) {\n const variant = variants[key];\n const style2 = styles[variant];\n if (!style2) continue;\n delete styles[variant];\n styles[variant] = style2;\n }\n\n return styles;\n};\n\nfunction compose() {\n let flatGenerators = [];\n\n for (var _len = arguments.length, generators = new Array(_len), _key = 0; _key < _len; _key++) {\n generators[_key] = arguments[_key];\n }\n\n generators.forEach(gen => {\n warn(Boolean(gen), \"Undefined generator in \\\"compose\\\" method\");\n if (!gen) return;\n\n if (gen.meta.generators) {\n flatGenerators = [...flatGenerators, ...gen.meta.generators];\n } else {\n flatGenerators.push(gen);\n }\n });\n const generatorsByProp = indexGeneratorsByProp(flatGenerators);\n\n const getStyle = function (props2) {\n let sort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n const styles = {};\n let merged;\n\n for (const key in props2) {\n const generator = generatorsByProp[key];\n\n if (generator) {\n const style2 = generator.meta.getStyle(props2, false);\n merge(styles, style2);\n merged = true;\n }\n }\n\n if (!merged || !sort) return styles;\n const medias = getCachedVariants(props2, getCache(props2.theme, \"__states\"));\n return sortStyles(styles, medias);\n };\n\n const props = [];\n const cssGetters = {};\n\n for (let i = 0; i < flatGenerators.length; i++) {\n const generator = flatGenerators[i];\n props.push(...generator.meta.props);\n Object.assign(cssGetters, generator.meta.cssGetters);\n }\n\n return createStyleGenerator({\n getStyle,\n props,\n cssGetters,\n generators\n });\n}\n\nconst getMixinFromCSSProperties = properties => value => {\n if (string(properties)) return {\n [properties]: value\n };\n const style2 = {};\n\n for (const key in properties) {\n style2[properties[key]] = value;\n }\n\n return style2;\n};\n\nconst getMixinFromCSSOption = css => {\n if (func(css)) return css;\n return getMixinFromCSSProperties(css);\n};\n\nconst dasherize = key => key.replace(/[A-Z]/g, \"-$&\").toLowerCase();\n\nconst style = _ref5 => {\n let {\n prop,\n css,\n themeGet,\n key,\n transform,\n cssProps: cssPropsOption\n } = _ref5;\n const getter = themeGet || (key || transform ? themeGetter({\n key,\n transform\n }) : void 0);\n const cssProps = cssPropsOption || (string(css) ? [css] : Array.isArray(css) ? css : string(prop) ? [prop] : Array.isArray(prop) ? prop : []);\n\n if (Array.isArray(prop)) {\n const mixin2 = css ? getMixinFromCSSOption(css) : css;\n const generators2 = prop.map(prop2 => style({\n prop: prop2,\n css: mixin2,\n cssProps,\n themeGet: getter\n }));\n return compose(...generators2);\n }\n\n const props = [prop];\n const mixin = getMixinFromCSSOption(css || props);\n const generators = [];\n const getStyle = getStyleFactory(prop, mixin, getter);\n const cssGetters = getter ? cssProps.reduce((getters, cssProp) => {\n getters[dasherize(cssProp)] = getter;\n return getters;\n }, {}) : {};\n const generator = createStyleGenerator({\n getStyle,\n props,\n cssGetters\n });\n generators.push(generator);\n return compose(...generators);\n};\n\nconst getPx = themeGetter({\n name: \"px\",\n transform: (value, _ref6) => {\n let {\n props\n } = _ref6;\n\n var _a, _b, _c;\n\n const rootFontSize = (_c = (_b = (_a = props == null ? void 0 : props.theme) == null ? void 0 : _a.settings) == null ? void 0 : _b.rootFontSize) != null ? _c : void 0;\n const num = Number(value);\n return px$1(rpx(Number.isNaN(num) ? value : num, {\n rootFontSize\n }));\n }\n});\nconst getDuration = themeGetter({\n name: \"duration\",\n key: \"durations\",\n transform: value => {\n const num = Number(value);\n return ms(Number.isNaN(num) ? value : num);\n }\n});\nconst getAngle = themeGetter({\n name: \"angle\",\n transform: value => {\n const num = Number(value);\n return deg(Number.isNaN(num) ? value : num);\n }\n});\nconst getPercent = themeGetter({\n name: \"percent\",\n compose: getPx,\n transform: percent\n});\nconst getTransition = themeGetter({\n name: \"transition\",\n key: \"transitions\"\n});\nconst getTransitionProperty = themeGetter({\n name: \"transitionProperty\",\n key: \"transitionProperties\"\n});\nconst getTimingFunction = themeGetter({\n name: \"timingFunction\",\n key: \"timingFunctions\"\n});\nconst transition = style({\n prop: \"transition\",\n themeGet: getTransition\n});\nconst transitionProperty = style({\n prop: \"transitionProperty\",\n themeGet: getTransitionProperty\n});\nconst transitionDuration = style({\n prop: \"transitionDuration\",\n themeGet: getDuration\n});\nconst transitionTimingFunction = style({\n prop: \"transitionTimingFunction\",\n themeGet: getTimingFunction\n});\nconst transitionDelay = style({\n prop: \"transitionDelay\",\n themeGet: getDuration\n});\nconst transitions$1 = compose(transition, transitionProperty, transitionDuration, transitionTimingFunction, transitionDelay);\nconst getAnimation = themeGetter({\n name: \"animation\",\n key: \"animations\"\n});\nconst animation = style({\n prop: \"animation\",\n themeGet: getAnimation\n});\nconst animationDuration = style({\n prop: \"animationDuration\",\n themeGet: getDuration\n});\nconst animationTimingFunction = style({\n prop: \"animationTimingFunction\",\n themeGet: getTimingFunction\n});\nconst animations = compose(animation, animationDuration, animationTimingFunction);\nconst getColor = themeGetter({\n name: \"color\",\n key: \"colors\"\n});\nconst gradientBackgrounds = {\n \"gradient-to-t\": \"linear-gradient(to top, var(--x-gradient-stops))\",\n \"gradient-to-tr\": \"linear-gradient(to top right, var(--x-gradient-stops))\",\n \"gradient-to-r\": \"linear-gradient(to right, var(--x-gradient-stops))\",\n \"gradient-to-br\": \"linear-gradient(to bottom right, var(--x-gradient-stops))\",\n \"gradient-to-b\": \"linear-gradient(to bottom, var(--x-gradient-stops))\",\n \"gradient-to-bl\": \"linear-gradient(to bottom left, var(--x-gradient-stops))\",\n \"gradient-to-l\": \"linear-gradient(to left, var(--x-gradient-stops))\",\n \"gradient-to-tl\": \"linear-gradient(to top left, var(--x-gradient-stops))\"\n};\nconst background = style({\n prop: \"background\",\n css: value => ({\n background: gradientBackgrounds[value] || value\n })\n});\nconst backgroundColor = style({\n prop: [\"backgroundColor\", \"bg\"],\n css: \"backgroundColor\",\n themeGet: getColor\n});\nconst backgroundImage = style({\n prop: \"backgroundImage\",\n css: value => ({\n backgroundImage: gradientBackgrounds[value] || value\n })\n});\nconst backgroundSize = style({\n prop: \"backgroundSize\"\n});\nconst backgroundPosition = style({\n prop: \"backgroundPosition\"\n});\nconst backgroundRepeat = style({\n prop: \"backgroundRepeat\"\n});\nconst backgroundAttachment = style({\n prop: \"backgroundAttachment\"\n});\nconst backgroundClip = style({\n prop: \"backgroundClip\",\n css: [\"backgroundClip\", \"-webkitBackgroundClip\"]\n});\nconst gradientFrom = style({\n prop: \"gradientFrom\",\n themeGet: getColor,\n css: value => {\n return {\n \"--x-gradient-from\": value,\n \"--x-gradient-stops\": \"var(--x-gradient-from), var(--x-gradient-to, transparent)\"\n };\n }\n});\nconst gradientVia = style({\n prop: \"gradientVia\",\n themeGet: getColor,\n css: value => ({\n \"--x-gradient-stops\": \"var(--x-gradient-from), \".concat(value, \", var(--x-gradient-to, transparent)\")\n })\n});\nconst gradientTo = style({\n prop: \"gradientTo\",\n themeGet: getColor,\n css: \"--x-gradient-to\"\n});\nconst backgrounds = compose(background, backgroundColor, backgroundImage, backgroundSize, backgroundPosition, backgroundRepeat, backgroundAttachment, backgroundClip, gradientFrom, gradientVia, gradientTo);\nconst getBorder = themeGetter({\n name: \"border\",\n key: \"borders\",\n transform: value => {\n const num = Number(value);\n return num > 0 ? \"\".concat(px$1(num), \" solid\") : value;\n }\n});\nconst getBorderWidth = themeGetter({\n name: \"borderWidth\",\n key: \"borderWidths\",\n compose: getPx,\n shorthand: true\n});\nconst getBorderColor = themeGetter({\n name: \"borderColor\",\n compose: getColor,\n shorthand: true\n});\nconst getBorderStyle = themeGetter({\n name: \"borderStyle\",\n key: \"borderStyles\"\n});\nconst border = style({\n prop: \"border\",\n themeGet: getBorder\n});\nconst borderTop = style({\n prop: \"borderTop\",\n themeGet: getBorder\n});\nconst borderRight = style({\n prop: \"borderRight\",\n themeGet: getBorder\n});\nconst borderBottom = style({\n prop: \"borderBottom\",\n themeGet: getBorder\n});\nconst borderLeft = style({\n prop: \"borderLeft\",\n themeGet: getBorder\n});\nconst borderColor = style({\n prop: \"borderColor\",\n themeGet: getBorderColor\n});\nconst borderTopColor = style({\n prop: \"borderTopColor\",\n themeGet: getColor\n});\nconst borderRightColor = style({\n prop: \"borderRightColor\",\n themeGet: getColor\n});\nconst borderBottomColor = style({\n prop: \"borderBottomColor\",\n themeGet: getColor\n});\nconst borderLeftColor = style({\n prop: \"borderLeftColor\",\n themeGet: getColor\n});\nconst borderWidth = style({\n prop: \"borderWidth\",\n themeGet: getBorderWidth\n});\nconst borderTopWidth = style({\n prop: \"borderTopWidth\",\n themeGet: getBorderWidth\n});\nconst borderRightWidth = style({\n prop: \"borderRightWidth\",\n themeGet: getBorderWidth\n});\nconst borderBottomWidth = style({\n prop: \"borderBottomWidth\",\n themeGet: getBorderWidth\n});\nconst borderLeftWidth = style({\n prop: \"borderLeftWidth\",\n themeGet: getBorderWidth\n});\nconst borderStyle = style({\n prop: \"borderStyle\",\n themeGet: getBorderStyle,\n cssProps: [\"borderStyle\", \"borderTopStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderLeftStyle\"]\n});\nconst borderTopStyle = style({\n prop: \"borderTopStyle\",\n themeGet: getBorderStyle\n});\nconst borderRightStyle = style({\n prop: \"borderRightStyle\",\n themeGet: getBorderStyle\n});\nconst borderBottomStyle = style({\n prop: \"borderBottomStyle\",\n themeGet: getBorderStyle\n});\nconst borderLeftStyle = style({\n prop: \"borderLeftStyle\",\n themeGet: getBorderStyle\n});\nconst outline = style({\n prop: \"outline\",\n themeGet: getBorder\n});\nconst outlineColor = style({\n prop: \"outlineColor\",\n themeGet: getColor\n});\nconst outlineWidth = style({\n prop: \"outlineWidth\",\n themeGet: getBorderWidth\n});\nconst outlineStyle = style({\n prop: \"outlineStyle\",\n themeGet: getBorderStyle\n});\nconst outlineOffset = style({\n prop: \"outlineOffset\",\n themeGet: getBorderWidth\n});\nconst getRadius = themeGetter({\n name: \"radius\",\n key: \"radii\",\n compose: getPx,\n shorthand: true\n});\nconst borderRadius = style({\n prop: \"borderRadius\",\n themeGet: getRadius,\n cssProps: [\"borderRadius\", \"borderTopLeftRadius\", \"borderTopRightRadius\", \"borderBottomRightRadius\", \"borderBottomLeftRadius\"]\n});\nconst divideSelector = \"& > :not([hidden]) ~ :not([hidden])\";\nconst divideY = style({\n prop: \"divideY\",\n themeGet: getBorderWidth,\n css: value => {\n const v = value === true ? 1 : value;\n return {\n [divideSelector]: {\n \"--x-divide-y-reverse\": 0,\n borderTopWidth: \"calc(\".concat(v, \" * calc(1 - var(--x-divide-y-reverse)))\"),\n borderBottomWidth: \"calc(\".concat(v, \" * var(--x-divide-y-reverse))\")\n }\n };\n }\n});\nconst divideX = style({\n prop: \"divideX\",\n themeGet: getBorderWidth,\n css: value => {\n const v = value === true ? 1 : value;\n return {\n [divideSelector]: {\n \"--x-divide-x-reverse\": 0,\n borderRightWidth: \"calc(\".concat(v, \" * var(--x-divide-x-reverse))\"),\n borderLeftWidth: \"calc(\".concat(v, \" * calc(1 - var(--x-divide-x-reverse)))\")\n }\n };\n }\n});\nconst divideXReverse = style({\n prop: \"divideXReverse\",\n css: () => ({\n [divideSelector]: {\n \"--x-divide-x-reverse\": \"1\"\n }\n })\n});\nconst divideYReverse = style({\n prop: \"divideYReverse\",\n css: () => ({\n [divideSelector]: {\n \"--x-divide-y-reverse\": \"1\"\n }\n })\n});\nconst divideColor = style({\n prop: \"divideColor\",\n themeGet: getColor,\n css: value => ({\n [divideSelector]: {\n borderColor: value\n }\n })\n});\nconst divideStyle = style({\n prop: \"divideStyle\",\n themeGet: getBorderStyle,\n css: value => ({\n [divideSelector]: {\n borderStyle: value\n }\n })\n});\nconst getRingWidth = themeGetter({\n name: \"ringWidth\",\n key: \"ringWidths\",\n compose: getPx\n});\nconst ring = style({\n prop: \"ring\",\n themeGet: getRingWidth,\n css: value => ({\n \"--x-ring-shadow\": \"var(--x-ring-inset, /*!*/ /*!*/) 0 0 0 \".concat(value, \" var(--x-ring-color)\"),\n boxShadow: \"var(--x-ring-shadow, 0 0 #0000), var(--x-shadow, 0 0 #0000)\"\n })\n});\nconst ringInset = style({\n prop: \"ringInset\",\n css: () => ({\n \"--x-ring-inset\": \"inset\"\n })\n});\nconst ringColor = style({\n prop: \"ringColor\",\n themeGet: getColor,\n css: value => ({\n \"--x-ring-color\": value\n })\n});\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderWidth, borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, borderStyle, borderTopStyle, borderRightStyle, borderBottomStyle, borderLeftStyle, borderRadius, outline, outlineColor, outlineWidth, outlineStyle, outlineOffset, divideX, divideY, divideXReverse, divideYReverse, divideColor, divideStyle, ring, ringInset, ringColor);\nconst getShadow = themeGetter({\n name: \"shadow\",\n key: \"shadows\",\n multiple: true\n});\nconst opacity = style({\n prop: \"opacity\"\n});\nconst boxShadow = style({\n prop: \"boxShadow\",\n themeGet: getShadow,\n css: value => ({\n \"--x-shadow\": value,\n boxShadow: \"var(--x-ring-shadow, 0 0 #0000), var(--x-shadow)\"\n })\n});\nconst textShadow = style({\n prop: \"textShadow\",\n themeGet: getShadow\n});\nconst effects = compose(opacity, boxShadow, textShadow);\nvar __defProp$4 = Object.defineProperty;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$4 = (obj2, key, value) => key in obj2 ? __defProp$4(obj2, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj2[key] = value;\n\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$4) for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\n\nconst row = style({\n prop: \"row\",\n css: () => ({\n boxSizing: \"border-box\",\n flexGrow: 1,\n flexWrap: \"wrap\",\n display: \"flex\"\n })\n});\n\nconst getColStyle = (props, size) => {\n if (!is(size)) return null;\n\n if (size === true) {\n return {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: \"100%\"\n };\n }\n\n if (size === \"auto\") {\n return {\n flex: \"0 0 auto\",\n maxWidth: \"none\",\n width: \"auto\"\n };\n }\n\n const sizeWidth = getPercent(size)(props);\n return {\n flex: \"0 0 \".concat(sizeWidth),\n maxWidth: sizeWidth\n };\n};\n\nconst col = createStyleGenerator({\n getStyle: props => {\n const value = props.col;\n const common = {\n boxSizing: \"border-box\",\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: \"100%\"\n };\n\n if (obj(value)) {\n const breakpointsStyle = reduceVariants(props, value, v => getColStyle(props, v));\n return __spreadValues$4(__spreadValues$4({}, common), breakpointsStyle);\n }\n\n return __spreadValues$4(__spreadValues$4({}, common), getColStyle(props, value));\n },\n props: [\"col\"]\n});\nconst flexboxGrids = compose(row, col);\nvar __defProp$3 = Object.defineProperty;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$3 = (obj2, key, value) => key in obj2 ? __defProp$3(obj2, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj2[key] = value;\n\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$3) for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\n\nconst display = style({\n prop: \"display\"\n});\nconst float = style({\n prop: \"float\"\n});\nconst boxSizing = style({\n prop: \"boxSizing\"\n});\nconst container = createStyleGenerator({\n getStyle: props => {\n if (!props.container) return null;\n const breakpoints = getScreens(props);\n let styles = reduceVariants(props, breakpoints, v => v !== 0 ? {\n maxWidth: v\n } : {});\n\n if (obj(props.container)) {\n styles = reduceVariants(props, props.container, () => styles);\n }\n\n return __spreadValues$3({\n width: \"100%\"\n }, styles);\n },\n props: [\"container\"]\n});\nconst overflow = style({\n prop: \"overflow\"\n});\nconst overflowX = style({\n prop: \"overflowX\"\n});\nconst overflowY = style({\n prop: \"overflowY\"\n});\nconst getZIndex = themeGetter({\n name: \"zIndex\",\n key: \"zIndices\"\n});\nconst zIndex = style({\n prop: \"zIndex\",\n themeGet: getZIndex\n});\nconst position = style({\n prop: \"position\"\n});\nconst getInset = themeGetter({\n name: \"inset\",\n key: \"inset\",\n compose: getPx,\n transform: transformNegative\n});\nconst top = style({\n prop: \"top\",\n themeGet: getInset\n});\nconst right = style({\n prop: \"right\",\n themeGet: getInset\n});\nconst bottom = style({\n prop: \"bottom\",\n themeGet: getInset\n});\nconst left = style({\n prop: \"left\",\n themeGet: getInset\n});\nconst visibility = style({\n prop: \"visibility\"\n});\nconst overscrollBehavior = style({\n prop: \"overscrollBehavior\"\n});\nconst objectFit = style({\n prop: \"objectFit\"\n});\nconst layout = compose(boxSizing, display, float, container, overflow, overflowX, overflowY, position, zIndex, top, right, bottom, left, visibility, overscrollBehavior, objectFit);\nconst alignItems = style({\n prop: \"alignItems\"\n});\nconst alignContent = style({\n prop: \"alignContent\"\n});\nconst justifyContent = style({\n prop: \"justifyContent\"\n});\nconst justifyItems = style({\n prop: \"justifyItems\"\n});\nconst flexWrap = style({\n prop: \"flexWrap\"\n});\nconst flexGrow = style({\n prop: \"flexGrow\"\n});\nconst flexShrink = style({\n prop: \"flexShrink\"\n});\nconst flexBasis = style({\n prop: \"flexBasis\",\n themeGet: getPercent\n});\nconst flexDirection = style({\n prop: \"flexDirection\"\n});\nconst flex = style({\n prop: \"flex\"\n});\nconst justifySelf = style({\n prop: \"justifySelf\"\n});\nconst alignSelf = style({\n prop: \"alignSelf\"\n});\nconst order = style({\n prop: \"order\"\n});\nconst flexboxes = compose(display, alignItems, alignContent, justifyContent, justifyItems, flexWrap, flexBasis, flexShrink, flexGrow, flexDirection, flex, justifySelf, alignSelf, order);\nconst getSpace = themeGetter({\n name: \"space\",\n key: \"space\",\n compose: getPx,\n shorthand: true,\n transform: transformNegative\n});\nconst margin = style({\n prop: [\"margin\", \"m\"],\n themeGet: getSpace,\n css: \"margin\"\n});\nconst marginTop = style({\n prop: [\"marginTop\", \"mt\"],\n themeGet: getSpace,\n css: \"marginTop\"\n});\nconst marginRight = style({\n prop: [\"marginRight\", \"mr\"],\n themeGet: getSpace,\n css: \"marginRight\"\n});\nconst marginBottom = style({\n prop: [\"marginBottom\", \"mb\"],\n themeGet: getSpace,\n css: \"marginBottom\"\n});\nconst marginLeft = style({\n prop: [\"marginLeft\", \"ml\"],\n themeGet: getSpace,\n css: \"marginLeft\"\n});\nconst mx = style({\n prop: \"mx\",\n themeGet: getSpace,\n css: [\"marginRight\", \"marginLeft\"]\n});\nconst my = style({\n prop: \"my\",\n themeGet: getSpace,\n css: [\"marginTop\", \"marginBottom\"]\n});\nconst padding = style({\n prop: [\"padding\", \"p\"],\n themeGet: getSpace,\n css: \"padding\"\n});\nconst paddingTop = style({\n prop: [\"paddingTop\", \"pt\"],\n themeGet: getSpace,\n css: \"paddingTop\"\n});\nconst paddingRight = style({\n prop: [\"paddingRight\", \"pr\"],\n themeGet: getSpace,\n css: \"paddingRight\"\n});\nconst paddingBottom = style({\n prop: [\"paddingBottom\", \"pb\"],\n themeGet: getSpace,\n css: \"paddingBottom\"\n});\nconst paddingLeft = style({\n prop: [\"paddingLeft\", \"pl\"],\n themeGet: getSpace,\n css: \"paddingLeft\"\n});\nconst px = style({\n prop: \"px\",\n themeGet: getSpace,\n css: [\"paddingRight\", \"paddingLeft\"]\n});\nconst py = style({\n prop: \"py\",\n themeGet: getSpace,\n css: [\"paddingTop\", \"paddingBottom\"]\n});\nconst spaceY = style({\n prop: \"spaceY\",\n themeGet: getSpace,\n css: value => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-y-reverse\": 0,\n marginTop: \"calc(\".concat(value, \" * calc(1 - var(--x-space-y-reverse)))\"),\n marginBottom: \"calc(\".concat(value, \" * var(--x-space-y-reverse))\")\n }\n })\n});\nconst spaceX = style({\n prop: \"spaceX\",\n themeGet: getSpace,\n css: value => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-x-reverse\": 0,\n marginRight: \"calc(\".concat(value, \" * var(--x-space-x-reverse))\"),\n marginLeft: \"calc(\".concat(value, \" * calc(1 - var(--x-space-x-reverse)))\")\n }\n })\n});\nconst spaceXReverse = style({\n prop: \"spaceXReverse\",\n css: () => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-x-reverse\": \"1\"\n }\n })\n});\nconst spaceYReverse = style({\n prop: \"spaceYReverse\",\n css: () => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-y-reverse\": \"1\"\n }\n })\n});\nconst space$1 = compose(margin, marginTop, marginRight, marginBottom, marginLeft, mx, my, padding, paddingTop, paddingRight, paddingBottom, paddingLeft, px, py, spaceX, spaceY, spaceXReverse, spaceYReverse);\nconst gap = style({\n prop: \"gap\",\n themeGet: getSpace\n});\nconst columnGap = style({\n prop: \"columnGap\",\n themeGet: getSpace\n});\nconst rowGap = style({\n prop: \"rowGap\",\n themeGet: getSpace\n});\nconst gridColumn = style({\n prop: \"gridColumn\"\n});\nconst gridRow = style({\n prop: \"gridRow\"\n});\nconst gridAutoFlow = style({\n prop: \"gridAutoFlow\"\n});\nconst gridAutoColumns = style({\n prop: \"gridAutoColumns\"\n});\nconst gridAutoRows = style({\n prop: \"gridAutoRows\"\n});\nconst gridTemplateColumns = style({\n prop: \"gridTemplateColumns\",\n key: \"gridTemplateColumns\"\n});\nconst gridTemplateRows = style({\n prop: \"gridTemplateRows\",\n key: \"gridTemplateRows\"\n});\nconst gridTemplateAreas = style({\n prop: \"gridTemplateAreas\"\n});\nconst gridArea = style({\n prop: \"gridArea\"\n});\nconst grids = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nconst appearance = style({\n prop: \"appearance\"\n});\nconst cursor = style({\n prop: \"cursor\"\n});\nconst pointerEvents = style({\n prop: \"pointerEvents\"\n});\nconst resize = style({\n prop: \"resize\"\n});\nconst userSelect = style({\n prop: \"userSelect\"\n});\nconst interactivity = compose(appearance, cursor, pointerEvents, resize, userSelect);\nconst getSize = themeGetter({\n name: \"size\",\n key: \"sizes\",\n compose: getPercent\n});\nconst width = style({\n prop: \"w\",\n themeGet: getSize,\n css: \"width\"\n});\nconst height = style({\n prop: \"h\",\n themeGet: getSize,\n css: \"height\"\n});\nconst maxWidth = style({\n prop: [\"maxWidth\", \"maxW\"],\n themeGet: getSize,\n css: \"maxWidth\"\n});\nconst maxHeight = style({\n prop: [\"maxHeight\", \"maxH\"],\n themeGet: getSize,\n css: \"maxHeight\"\n});\nconst minWidth = style({\n prop: [\"minWidth\", \"minW\"],\n themeGet: getSize,\n css: \"minWidth\"\n});\nconst minHeight = style({\n prop: [\"minHeight\", \"minH\"],\n themeGet: getSize,\n css: \"minHeight\"\n});\nconst maskSize = style({\n prop: \"maskSize\",\n themeGet: themeGetter({\n name: \"size\",\n key: \"sizes\",\n compose: getPercent,\n multiple: true,\n shorthand: true\n })\n});\nconst sizing = compose(width, height, maxWidth, maxHeight, minWidth, minHeight, maskSize);\nconst fill = style({\n prop: \"fill\",\n themeGet: getColor\n});\nconst stroke = style({\n prop: \"stroke\",\n themeGet: getColor\n});\nconst svg = compose(fill, stroke);\nconst borderCollapse = style({\n prop: \"borderCollapse\"\n});\nconst tableLayout = style({\n prop: \"tableLayout\"\n});\nconst tables = compose(borderCollapse, tableLayout);\nconst getTransform = themeGetter({\n name: \"transform\",\n key: \"transforms\"\n});\nconst transform = style({\n prop: \"transform\",\n themeGet: getTransform,\n css: value => {\n if (value === true) {\n return {\n \"--x-translate-x\": 0,\n \"--x-translate-y\": 0,\n \"--x-rotate\": 0,\n \"--x-skew-x\": 0,\n \"--x-skew-y\": 0,\n \"--x-scale-x\": \"1\",\n \"--x-scale-y\": \"1\",\n transform: \"translate3d(var(--x-translate-x), var(--x-translate-y), 0) rotate(var(--x-rotate)) skewX(var(--x-skew-x)) skewY(var(--x-skew-y)) scaleX(var(--x-scale-x)) scaleY(var(--x-scale-y))\"\n };\n }\n\n return {\n transform: value\n };\n }\n});\nconst transformOrigin = style({\n prop: \"transformOrigin\"\n});\nconst translateX = style({\n prop: \"translateX\",\n themeGet: getSpace,\n css: \"--x-translate-x\"\n});\nconst translateY = style({\n prop: \"translateY\",\n themeGet: getSpace,\n css: \"--x-translate-y\"\n});\nconst rotate = style({\n prop: \"rotate\",\n themeGet: getAngle,\n css: \"--x-rotate\"\n});\nconst skewX = style({\n prop: \"skewX\",\n themeGet: getAngle,\n css: \"--x-skew-x\"\n});\nconst skewY = style({\n prop: \"skewY\",\n themeGet: getAngle,\n css: \"--x-skew-y\"\n});\nconst scale = style({\n prop: \"scale\",\n transform: v => String(v),\n css: [\"--x-scale-x\", \"--x-scale-y\"]\n});\nconst scaleX = style({\n prop: \"scaleX\",\n transform: v => String(v),\n css: \"--x-scale-x\"\n});\nconst scaleY = style({\n prop: \"scaleY\",\n transform: v => String(v),\n css: \"--x-scale-y\"\n});\nconst transforms = compose(transform, transformOrigin, translateX, translateY, rotate, skewX, skewY, scale, scaleX, scaleY);\nvar __defProp$2 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$2) for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\n\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\n\nconst getFont = themeGetter({\n name: \"font\",\n key: \"fonts\"\n});\nconst getLineHeight = themeGetter({\n name: \"lineHeight\",\n key: \"lineHeights\",\n transform: (value, _ref7) => {\n let {\n props\n } = _ref7;\n\n var _a, _b, _c;\n\n const rootFontSize = (_c = (_b = (_a = props == null ? void 0 : props.theme) == null ? void 0 : _a.settings) == null ? void 0 : _b.rootFontSize) != null ? _c : void 0;\n return rpx(value, {\n rootFontSize\n });\n }\n});\nconst getFontWeight = themeGetter({\n name: \"fontWeight\",\n key: \"fontWeights\"\n});\nconst getLetterSpacing = themeGetter({\n name: \"letterSpacing\",\n key: \"letterSpacings\",\n compose: getPx\n});\nconst getFontSize = themeGetter({\n name: \"fontSize\",\n key: \"fontSizes\",\n compose: getPx\n});\nconst fontFamily = style({\n prop: \"fontFamily\",\n themeGet: getFont\n});\nconst fontSize = style({\n prop: \"fontSize\",\n themeGet: getFontSize\n});\nconst lineHeight = style({\n prop: \"lineHeight\",\n themeGet: getLineHeight\n});\nconst fontWeight = style({\n prop: \"fontWeight\",\n themeGet: getFontWeight\n});\nconst fontStyle = style({\n prop: \"fontStyle\"\n});\nconst letterSpacing = style({\n prop: \"letterSpacing\",\n themeGet: getLetterSpacing\n});\nconst color = style({\n prop: \"color\",\n themeGet: getColor\n});\nconst textTransform = style({\n prop: \"textTransform\"\n});\nconst textDecoration = style({\n prop: \"textDecoration\"\n});\nconst textAlign = style({\n prop: \"textAlign\"\n});\nconst verticalAlign = style({\n prop: \"verticalAlign\"\n});\nconst whiteSpace = style({\n prop: \"whiteSpace\"\n});\nconst textOverflow = style({\n prop: \"textOverflow\"\n});\nconst listStyleType = style({\n prop: \"listStyleType\"\n});\nconst listStylePosition = style({\n prop: \"listStylePosition\"\n});\nconst all = compose(space$1, fontFamily, fontSize, fontStyle, lineHeight, fontWeight, textAlign, letterSpacing, color, textTransform, textDecoration, verticalAlign, whiteSpace, textOverflow, listStyleType, listStylePosition);\nconst text = style({\n prop: \"text\",\n key: \"texts\",\n css: value => _ref8 => {\n let {\n theme\n } = _ref8;\n return all(__spreadProps$1(__spreadValues$2({}, value), {\n theme\n }));\n }\n});\nconst typography = compose(all, text);\nconst system = compose(animations, backgrounds, borders, effects, flexboxGrids, flexboxes, grids, interactivity, layout, sizing, space$1, svg, tables, transforms, transitions$1, typography);\n\nconst th = (path, defaultValue) => props => {\n const value = getThemeValue(props, path);\n if (is(value)) return value;\n if (is(defaultValue)) return defaultValue;\n return path;\n};\n\n[getAngle, getAnimation, getBorder, getBorderColor, getBorderStyle, getBorderWidth, getColor, getDuration, getFont, getFontSize, getFontWeight, getInset, getLetterSpacing, getLineHeight, getPercent, getPx, getRadius, getRingWidth, getShadow, getSize, getSpace, getTimingFunction, getTransform, getTransition, getTransitionProperty, getZIndex].forEach(themeGetter => {\n th[themeGetter.meta.name] = themeGetter;\n});\n\nconst up = (key, rules) => props => {\n const screens = getScreens(props);\n const value = getBreakpointMin(screens, key);\n if (value === null) return rules;\n return [\"\".concat(mediaMinWidth(value), \" {\"), rules, \"}\"];\n};\n\nconst down = (key, rules) => props => {\n const screens = getScreens(props);\n const value = getBreakpointMax(screens, key);\n if (value === null) return null;\n return [\"\".concat(mediaMaxWidth(value), \" {\"), rules, \"}\"];\n};\n\nconst between = (lower, upper, rules) => props => {\n const screens = getScreens(props);\n const min = getBreakpointMin(screens, lower);\n const max = getBreakpointMax(screens, upper);\n if (max === null) return up(lower, rules)(props);\n if (min === null) return down(upper, rules)(props);\n return [\"\".concat(mediaBetweenWidth(min, max), \" {\"), rules, \"}\"];\n};\n\nconst breakpoints = values => props => {\n const allRules = [];\n const keys = Object.keys(values);\n const keysLength = keys.length;\n\n for (let i = 0; i < keysLength; i++) {\n const key = keys[i];\n const rules = values[key];\n const result = up(key, rules)(props);\n\n if (Array.isArray(result)) {\n result.forEach(v => allRules.push(v));\n } else {\n allRules.push(result);\n }\n }\n\n return allRules;\n};\n\nconst rpxTransformers = {\n px: value => remPx(rpx(value)),\n border: value => num(value) && value > 0 ? \"\".concat(remPx(value), \" solid\") : value\n};\nvar __defProp$1 = Object.defineProperty;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$1) for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\n\nconst defaultAlphaVariants = [0, 5, 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 95, 100];\n\nconst generateHexAlphaVariants = function (colors) {\n let variants = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultAlphaVariants;\n\n const transform = (value, variant) => \"\".concat(value).concat(Math.round(variant / 100 * 255).toString(16));\n\n const alphaColors = Object.keys(colors).reduce((obj, key) => {\n variants.forEach(variant => {\n const value = colors[key];\n const variantKey = \"\".concat(key, \"-a\").concat(variant);\n obj[variantKey] = string(value) ? transform(value, variant) : generateHexAlphaVariants(value, variants);\n });\n return obj;\n }, {});\n return __spreadValues$1(__spreadValues$1({}, colors), alphaColors);\n};\n\nconst defaultTones = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n\nconst aliasColor = function (alias, color) {\n let tones = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultTones;\n let variants = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : defaultAlphaVariants;\n return tones.reduce((obj, tone) => {\n obj[\"\".concat(alias, \"-\").concat(tone)] = th.color(\"\".concat(color, \"-\").concat(tone));\n variants.forEach(i => {\n obj[\"\".concat(alias, \"-\").concat(tone, \"-a\").concat(i)] = th.color(\"\".concat(color, \"-\").concat(tone, \"-a\").concat(i));\n });\n return obj;\n }, {});\n};\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n\n if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\n\nconst space = {\n 0.5: \"0.125rem\",\n 1: \"0.25rem\",\n 1.5: \"0.375rem\",\n 2: \"0.5rem\",\n 2.5: \"0.625rem\",\n 3: \"0.75rem\",\n 3.5: \"0.875rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 7: \"1.75rem\",\n 8: \"2rem\",\n 9: \"2.25rem\",\n 10: \"2.5rem\",\n 11: \"2.75rem\",\n 12: \"3rem\",\n 14: \"3.5rem\",\n 16: \"4rem\",\n 20: \"5rem\",\n 24: \"6rem\",\n 28: \"7rem\",\n 32: \"8rem\",\n 36: \"9rem\",\n 40: \"10rem\",\n 44: \"11rem\",\n 48: \"12rem\",\n 52: \"13rem\",\n 56: \"14rem\",\n 60: \"15rem\",\n 64: \"16rem\",\n 72: \"18rem\",\n 80: \"20rem\",\n 96: \"24rem\"\n};\nconst timingFunctions = {\n \"ease-in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"ease-out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"ease-in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\"\n};\nconst transitionProperties = {\n default: [\"background-color\", \"border-color\", \"color\", \"fill\", \"stroke\", \"opacity\", \"box-shadow\", \"transform\"],\n colors: [\"background-color\", \"border-color\", \"color\", \"fill\", \"stroke\"],\n opacity: [\"opacity\"],\n shadow: [\"box-shadow\"],\n transform: [\"transform\"]\n};\nconst transitions = Object.keys(transitionProperties).reduce((obj, key) => {\n obj[key] = transitionProperties[key].map(property => \"\".concat(property, \" \").concat(timingFunctions[\"ease-in-out\"], \" 150ms\")).join(\",\");\n return obj;\n}, {});\nconst colors = {\n black: \"#000000\",\n white: \"#ffffff\",\n \"blue-gray-50\": \"#f8fafc\",\n \"blue-gray-100\": \"#f1f5f9\",\n \"blue-gray-200\": \"#e2e8f0\",\n \"blue-gray-300\": \"#cbd5e1\",\n \"blue-gray-400\": \"#94a3b8\",\n \"blue-gray-500\": \"#64748b\",\n \"blue-gray-600\": \"#475569\",\n \"blue-gray-700\": \"#334155\",\n \"blue-gray-800\": \"#1e293b\",\n \"blue-gray-900\": \"#0f172a\",\n \"cool-gray-50\": \"#f9fafb\",\n \"cool-gray-100\": \"#f3f4f6\",\n \"cool-gray-200\": \"#e5e7eb\",\n \"cool-gray-300\": \"#d1d5db\",\n \"cool-gray-400\": \"#9ca3af\",\n \"cool-gray-500\": \"#6b7280\",\n \"cool-gray-600\": \"#4b5563\",\n \"cool-gray-700\": \"#374151\",\n \"cool-gray-800\": \"#1f2937\",\n \"cool-gray-900\": \"#111827\",\n \"gray-50\": \"#fafafa\",\n \"gray-100\": \"#f4f4f5\",\n \"gray-200\": \"#e4e4e7\",\n \"gray-300\": \"#d4d4d8\",\n \"gray-400\": \"#a1a1aa\",\n \"gray-500\": \"#71717a\",\n \"gray-600\": \"#52525b\",\n \"gray-700\": \"#3f3f46\",\n \"gray-800\": \"#27272a\",\n \"gray-900\": \"#18181b\",\n \"true-gray-50\": \"#fafafa\",\n \"true-gray-100\": \"#f5f5f5\",\n \"true-gray-200\": \"#e5e5e5\",\n \"true-gray-300\": \"#d4d4d4\",\n \"true-gray-400\": \"#a3a3a3\",\n \"true-gray-500\": \"#737373\",\n \"true-gray-600\": \"#525252\",\n \"true-gray-700\": \"#404040\",\n \"true-gray-800\": \"#262626\",\n \"true-gray-900\": \"#171717\",\n \"warm-gray-50\": \"#fafaf9\",\n \"warm-gray-100\": \"#f5f5f4\",\n \"warm-gray-200\": \"#e7e5e4\",\n \"warm-gray-300\": \"#d6d3d1\",\n \"warm-gray-400\": \"#a8a29e\",\n \"warm-gray-500\": \"#78716c\",\n \"warm-gray-600\": \"#57534e\",\n \"warm-gray-700\": \"#44403c\",\n \"warm-gray-800\": \"#292524\",\n \"warm-gray-900\": \"#1c1917\",\n \"red-50\": \"#fef2f2\",\n \"red-100\": \"#fee2e2\",\n \"red-200\": \"#fecaca\",\n \"red-300\": \"#fca5a5\",\n \"red-400\": \"#f87171\",\n \"red-500\": \"#ef4444\",\n \"red-600\": \"#dc2626\",\n \"red-700\": \"#b91c1c\",\n \"red-800\": \"#991b1b\",\n \"red-900\": \"#7f1d1d\",\n \"orange-50\": \"#fff7ed\",\n \"orange-100\": \"#ffedd5\",\n \"orange-200\": \"#fed7aa\",\n \"orange-300\": \"#fdba74\",\n \"orange-400\": \"#fb923c\",\n \"orange-500\": \"#f97316\",\n \"orange-600\": \"#ea580c\",\n \"orange-700\": \"#c2410c\",\n \"orange-800\": \"#9a3412\",\n \"orange-900\": \"#7c2d12\",\n \"amber-50\": \"#fffbeb\",\n \"amber-100\": \"#fef3c7\",\n \"amber-200\": \"#fde68a\",\n \"amber-300\": \"#fcd34d\",\n \"amber-400\": \"#fbbf24\",\n \"amber-500\": \"#f59e0b\",\n \"amber-600\": \"#d97706\",\n \"amber-700\": \"#b45309\",\n \"amber-800\": \"#92400e\",\n \"amber-900\": \"#78350f\",\n \"yellow-50\": \"#fefce8\",\n \"yellow-100\": \"#fef9c3\",\n \"yellow-200\": \"#fef08a\",\n \"yellow-300\": \"#fde047\",\n \"yellow-400\": \"#facc15\",\n \"yellow-500\": \"#eab308\",\n \"yellow-600\": \"#ca8a04\",\n \"yellow-700\": \"#a16207\",\n \"yellow-800\": \"#854d0e\",\n \"yellow-900\": \"#713f12\",\n \"lime-50\": \"#f7fee7\",\n \"lime-100\": \"#ecfccb\",\n \"lime-200\": \"#d9f99d\",\n \"lime-300\": \"#bef264\",\n \"lime-400\": \"#a3e635\",\n \"lime-500\": \"#84cc16\",\n \"lime-600\": \"#65a30d\",\n \"lime-700\": \"#4d7c0f\",\n \"lime-800\": \"#3f6212\",\n \"lime-900\": \"#365314\",\n \"green-50\": \"#f0fdf4\",\n \"green-100\": \"#dcfce7\",\n \"green-200\": \"#bbf7d0\",\n \"green-300\": \"#86efac\",\n \"green-400\": \"#4ade80\",\n \"green-500\": \"#22c55e\",\n \"green-600\": \"#16a34a\",\n \"green-700\": \"#15803d\",\n \"green-800\": \"#166534\",\n \"green-900\": \"#14532d\",\n \"emerald-50\": \"#ecfdf5\",\n \"emerald-100\": \"#d1fae5\",\n \"emerald-200\": \"#a7f3d0\",\n \"emerald-300\": \"#6ee7b7\",\n \"emerald-400\": \"#34d399\",\n \"emerald-500\": \"#10b981\",\n \"emerald-600\": \"#059669\",\n \"emerald-700\": \"#047857\",\n \"emerald-800\": \"#065f46\",\n \"emerald-900\": \"#064e3b\",\n \"teal-50\": \"#f0fdfa\",\n \"teal-100\": \"#ccfbf1\",\n \"teal-200\": \"#99f6e4\",\n \"teal-300\": \"#5eead4\",\n \"teal-400\": \"#2dd4bf\",\n \"teal-500\": \"#14b8a6\",\n \"teal-600\": \"#0d9488\",\n \"teal-700\": \"#0f766e\",\n \"teal-800\": \"#115e59\",\n \"teal-900\": \"#134e4a\",\n \"cyan-50\": \"#ecfeff\",\n \"cyan-100\": \"#cffafe\",\n \"cyan-200\": \"#a5f3fc\",\n \"cyan-300\": \"#67e8f9\",\n \"cyan-400\": \"#22d3ee\",\n \"cyan-500\": \"#06b6d4\",\n \"cyan-600\": \"#0891b2\",\n \"cyan-700\": \"#0e7490\",\n \"cyan-800\": \"#155e75\",\n \"cyan-900\": \"#164e63\",\n \"light-blue-50\": \"#f0f9ff\",\n \"light-blue-100\": \"#e0f2fe\",\n \"light-blue-200\": \"#bae6fd\",\n \"light-blue-300\": \"#7dd3fc\",\n \"light-blue-400\": \"#38bdf8\",\n \"light-blue-500\": \"#0ea5e9\",\n \"light-blue-600\": \"#0284c7\",\n \"light-blue-700\": \"#0369a1\",\n \"light-blue-800\": \"#075985\",\n \"light-blue-900\": \"#0c4a6e\",\n \"blue-50\": \"#eff6ff\",\n \"blue-100\": \"#dbeafe\",\n \"blue-200\": \"#bfdbfe\",\n \"blue-300\": \"#93c5fd\",\n \"blue-400\": \"#60a5fa\",\n \"blue-500\": \"#3b82f6\",\n \"blue-600\": \"#2563eb\",\n \"blue-700\": \"#1d4ed8\",\n \"blue-800\": \"#1e40af\",\n \"blue-900\": \"#1e3a8a\",\n \"indigo-50\": \"#eef2ff\",\n \"indigo-100\": \"#e0e7ff\",\n \"indigo-200\": \"#c7d2fe\",\n \"indigo-300\": \"#a5b4fc\",\n \"indigo-400\": \"#818cf8\",\n \"indigo-500\": \"#6366f1\",\n \"indigo-600\": \"#4f46e5\",\n \"indigo-700\": \"#4338ca\",\n \"indigo-800\": \"#3730a3\",\n \"indigo-900\": \"#312e81\",\n \"violet-50\": \"#f5f3ff\",\n \"violet-100\": \"#ede9fe\",\n \"violet-200\": \"#ddd6fe\",\n \"violet-300\": \"#c4b5fd\",\n \"violet-400\": \"#a78bfa\",\n \"violet-500\": \"#8b5cf6\",\n \"violet-600\": \"#7c3aed\",\n \"violet-700\": \"#6d28d9\",\n \"violet-800\": \"#5b21b6\",\n \"violet-900\": \"#4c1d95\",\n \"purple-50\": \"#faf5ff\",\n \"purple-100\": \"#f3e8ff\",\n \"purple-200\": \"#e9d5ff\",\n \"purple-300\": \"#d8b4fe\",\n \"purple-400\": \"#c084fc\",\n \"purple-500\": \"#a855f7\",\n \"purple-600\": \"#9333ea\",\n \"purple-700\": \"#7e22ce\",\n \"purple-800\": \"#6b21a8\",\n \"purple-900\": \"#581c87\",\n \"fuchsia-50\": \"#fdf4ff\",\n \"fuchsia-100\": \"#fae8ff\",\n \"fuchsia-200\": \"#f5d0fe\",\n \"fuchsia-300\": \"#f0abfc\",\n \"fuchsia-400\": \"#e879f9\",\n \"fuchsia-500\": \"#d946ef\",\n \"fuchsia-600\": \"#c026d3\",\n \"fuchsia-700\": \"#a21caf\",\n \"fuchsia-800\": \"#86198f\",\n \"fuchsia-900\": \"#701a75\",\n \"pink-50\": \"#fdf2f8\",\n \"pink-100\": \"#fce7f3\",\n \"pink-200\": \"#fbcfe8\",\n \"pink-300\": \"#f9a8d4\",\n \"pink-400\": \"#f472b6\",\n \"pink-500\": \"#ec4899\",\n \"pink-600\": \"#db2777\",\n \"pink-700\": \"#be185d\",\n \"pink-800\": \"#9d174d\",\n \"pink-900\": \"#831843\",\n \"rose-50\": \"#fff1f2\",\n \"rose-100\": \"#ffe4e6\",\n \"rose-200\": \"#fecdd3\",\n \"rose-300\": \"#fda4af\",\n \"rose-400\": \"#fb7185\",\n \"rose-500\": \"#f43f5e\",\n \"rose-600\": \"#e11d48\",\n \"rose-700\": \"#be123c\",\n \"rose-800\": \"#9f1239\",\n \"rose-900\": \"#881337\"\n};\nconst fontSizes = {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n default: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\"\n};\nconst texts = Object.keys(fontSizes).reduce((texts2, key) => {\n texts2[key] = {\n fontSize: key,\n lineHeight: key\n };\n return texts2;\n}, {});\nconst defaultTheme = {\n colors: generateHexAlphaVariants(colors),\n space,\n screens: {\n _: 0,\n xs: 0,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n \"2xl\": 1536\n },\n durations: {\n instant: \"100ms\",\n \"fast-in\": \"250ms\",\n \"fast-out\": \"200ms\",\n \"slow-in\": \"300ms\",\n \"slow-out\": \"250ms\"\n },\n sizes: __spreadProps(__spreadValues({}, space), {\n 0.5: void 0,\n 1: void 0,\n \"0.5s\": space[0.5],\n \"1s\": space[1],\n full: \"100%\",\n xs: \"20rem\",\n sm: \"24rem\",\n md: \"28rem\",\n lg: \"32rem\",\n xl: \"36rem\",\n \"2xl\": \"42rem\",\n \"3xl\": \"48rem\",\n \"4xl\": \"56rem\",\n \"5xl\": \"64rem\",\n \"6xl\": \"72rem\",\n \"7xl\": \"80rem\"\n }),\n radii: {\n none: \"0\",\n sm: \"0.125rem\",\n default: \"0.25rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\"\n },\n shadows: {\n xs: \"0 0 0 1px rgba(0, 0, 0, 0.05)\",\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n default: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n xl: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\n inner: \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)\",\n outline: \"0 0 0 3px rgba(66, 153, 225, 0.5)\"\n },\n fontSizes,\n fontWeights: {\n hairline: \"100\",\n thin: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\"\n },\n fonts: {\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\",\n serif: \"ui-serif, Georgia, Cambria, \\\"Times New Roman\\\", Times, serif\",\n sans: \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"\"\n },\n letterSpacings: {\n tighter: \"-0.05em\",\n tight: \"-0.025em\",\n normal: \"0em\",\n wide: \"0.025em\",\n wider: \"0.05em\",\n widest: \"0.1em\"\n },\n lineHeights: {\n none: 1,\n tight: 1.25,\n snug: 1.375,\n normal: 1.5,\n relaxed: 1.625,\n loose: 2,\n 3: \".75rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 7: \"1.75rem\",\n 8: \"2rem\",\n 9: \"2.25rem\",\n 10: \"2.5rem\",\n xs: \"1rem\",\n sm: \"1.25rem\",\n default: \"1.5rem\",\n lg: \"1.75rem\",\n xl: \"1.75rem\",\n \"2xl\": \"2rem\",\n \"3xl\": \"2.25rem\",\n \"4xl\": \"2.5rem\",\n \"5xl\": 1,\n \"6xl\": 1,\n \"7xl\": 1,\n \"8xl\": 1,\n \"9xl\": 1\n },\n gridTemplateColumns: {\n 1: \"repeat(1, minmax(0, 1fr))\",\n 2: \"repeat(2, minmax(0, 1fr))\",\n 3: \"repeat(3, minmax(0, 1fr))\",\n 4: \"repeat(4, minmax(0, 1fr))\",\n 5: \"repeat(5, minmax(0, 1fr))\",\n 6: \"repeat(6, minmax(0, 1fr))\",\n 7: \"repeat(7, minmax(0, 1fr))\",\n 8: \"repeat(8, minmax(0, 1fr))\",\n 9: \"repeat(9, minmax(0, 1fr))\",\n 10: \"repeat(10, minmax(0, 1fr))\",\n 11: \"repeat(11, minmax(0, 1fr))\",\n 12: \"repeat(12, minmax(0, 1fr))\"\n },\n gridTemplateRows: {\n 1: \"repeat(1, minmax(0, 1fr))\",\n 2: \"repeat(2, minmax(0, 1fr))\",\n 3: \"repeat(3, minmax(0, 1fr))\",\n 4: \"repeat(4, minmax(0, 1fr))\",\n 5: \"repeat(5, minmax(0, 1fr))\",\n 6: \"repeat(6, minmax(0, 1fr))\"\n },\n borderWidths: {\n default: 1\n },\n ringWidths: {\n default: 3\n },\n borders: {\n default: \"1px solid transparent\"\n },\n texts,\n transitions,\n transitionProperties,\n timingFunctions,\n animations: {\n spin: \"x-spin 1s linear infinite\",\n ping: \"x-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite\",\n pulse: \"x-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite\",\n bounce: \"x-bounce 1s infinite\"\n },\n states: {\n _: null,\n motionSafe: \"@media (prefers-reduced-motion: no-preference)\",\n motionReduce: \"@media (prefers-reduced-motion: reduce)\",\n first: \"&:first-child\",\n last: \"&:last-child\",\n odd: \"&:odd\",\n even: \"&:even\",\n visited: \"&:visited\",\n checked: \"&:checked\",\n focusWithin: \"&:focus-within\",\n hover: \"&:hover\",\n focus: \"&:focus\",\n focusVisible: \"&:focus-visible\",\n active: \"&:active\",\n disabled: \"&:disabled, &[aria-disabled=true]\",\n placeholder: \"&::placeholder\"\n }\n};\n\nconst getPreflightStyles = theme => \"\\n/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\\n*,::after,::before{box-sizing:border-box}:root{-moz-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}\\n\\n/* Role button pointer */\\n[role=button], button {\\n cursor: pointer;\\n}\\n\\n/* Remove default margins */\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\n/* Remove headings styles */\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/* Unstyle lists */\\nol,\\nul {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/* Image are block-level */\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block;\\n vertical-align: middle;\\n}\\n\\n/* Reset border styles */\\n*,\\n::before,\\n::after {\\n border-width: 0;\\n border-style: solid;\\n border-color: \".concat(th.color(\"default-border-color\", \"currentColor\")({\n theme\n}), \";\\n}\\n\\n* {\\n --x-ring-color: \").concat(th.color(\"default-ring-color\", \"rgba(59,130,246,0.5)\")({\n theme\n}), \";\\n}\\n\\n/* Default outline on buttons */\\nbutton:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}\\n\\n// Animations\\n@keyframes x-spin {\\n from {\\n transform: rotate(0deg);\\n }\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes x-ping {\\n 0% {\\n transform: scale(1);\\n opacity: 1;\\n }\\n 75%, 100% {\\n transform: scale(2);\\n opacity: 0;\\n }\\n}\\n\\n@keyframes x-pulse {\\n 0%, 100% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: .5;\\n }\\n}\\n\\n@keyframes x-bounce {\\n 0%, 100% {\\n transform: translateY(-25%);\\n animationTimingFunction: cubic-bezier(0.8, 0, 1, 1);\\n }\\n 50% {\\n transform: translateY(0);\\n animationTimingFunction: cubic-bezier(0, 0, 0.2, 1);\\n }\\n}\\n\");\n\nexport { aliasColor, alignContent, alignItems, alignSelf, animation, animationDuration, animationTimingFunction, animations, appearance, background, backgroundAttachment, backgroundClip, backgroundColor, backgroundImage, backgroundPosition, backgroundRepeat, backgroundSize, backgrounds, between, border, borderBottom, borderBottomColor, borderBottomStyle, borderBottomWidth, borderCollapse, borderColor, borderLeft, borderLeftColor, borderLeftStyle, borderLeftWidth, borderRadius, borderRight, borderRightColor, borderRightStyle, borderRightWidth, borderStyle, borderTop, borderTopColor, borderTopStyle, borderTopWidth, borderWidth, borders, bottom, boxShadow, boxSizing, breakpoints, col, color, columnGap, compose, container, createStyleGenerator, cursor, defaultTheme, display, divideColor, divideStyle, divideX, divideXReverse, divideY, divideYReverse, down, effects, fill, flex, flexBasis, flexDirection, flexGrow, flexShrink, flexWrap, flexboxGrids, flexboxes, float, fontFamily, fontSize, fontStyle, fontWeight, gap, generateHexAlphaVariants, getAngle, getAnimation, getBorder, getBorderColor, getBorderStyle, getBorderWidth, getBreakpointMax, getBreakpointMin, getColor, getDuration, getFont, getFontSize, getFontWeight, getInset, getLetterSpacing, getLineHeight, getPercent, getPreflightStyles, getPx, getRadius, getRingWidth, getScreens, getShadow, getSize, getSpace, getStates, getTimingFunction, getTransform, getTransition, getTransitionProperty, getVariants, getZIndex, gradientFrom, gradientTo, gradientVia, gridArea, gridAutoColumns, gridAutoFlow, gridAutoRows, gridColumn, gridRow, gridTemplateAreas, gridTemplateColumns, gridTemplateRows, grids, height, interactivity, justifyContent, justifyItems, justifySelf, layout, left, letterSpacing, lineHeight, listStylePosition, listStyleType, margin, marginBottom, marginLeft, marginRight, marginTop, maskSize, maxHeight, maxWidth, minHeight, minWidth, mx, my, objectFit, opacity, order, outline, outlineColor, outlineOffset, outlineStyle, outlineWidth, overflow, overflowX, overflowY, overscrollBehavior, padding, paddingBottom, paddingLeft, paddingRight, paddingTop, pointerEvents, position, px, py, resize, right, ring, ringColor, ringInset, rotate, row, rowGap, rpxTransformers, scale, scaleX, scaleY, sizing, skewX, skewY, space$1 as space, spaceX, spaceXReverse, spaceY, spaceYReverse, stroke, style, svg, system, tableLayout, tables, text, textAlign, textDecoration, textOverflow, textShadow, textTransform, th, themeGetter, top, transform, transformOrigin, transforms, transition, transitionDelay, transitionDuration, transitionProperty, transitionTimingFunction, transitions$1 as transitions, translateX, translateY, typography, up, userSelect, verticalAlign, visibility, whiteSpace, width, zIndex };","const DEV = process.env.NODE_ENV !== \"production\";\nconst specialProperties = [\"__proto__\", \"constructor\", \"prototype\"];\n\nconst identity = x => x;\n\nconst is = n => n !== void 0 && n !== null;\n\nconst num = n => typeof n === \"number\" && !Number.isNaN(n);\n\nconst string = n => typeof n === \"string\" && n !== \"\";\n\nconst obj = n => typeof n === \"object\" && n !== null;\n\nconst func = n => typeof n === \"function\";\n\nconst negative = n => num(n) && n < 0;\n\nconst get = (from, path) => {\n const paths = String(path).split(\".\");\n const pathsLength = paths.length;\n let result = from;\n\n for (let i = 0; i < pathsLength; i += 1) {\n if (!is(result)) return result;\n const path2 = paths[i];\n result = is(result[path2]) ? result[path2] : void 0;\n }\n\n return result;\n};\n\nconst assign = (target, source) => {\n if (!is(source)) return target;\n\n for (const key in source) {\n if (specialProperties.indexOf(key) !== -1) {\n continue;\n }\n\n target[key] = source[key];\n }\n\n return target;\n};\n\nconst merge = (target, source) => {\n if (!is(source)) return target;\n\n for (const key in source) {\n if (specialProperties.indexOf(key) !== -1) {\n continue;\n }\n\n if (obj(target[key])) {\n target[key] = merge(assign({}, target[key]), source[key]);\n } else {\n target[key] = source[key];\n }\n }\n\n return target;\n};\n\nconst warn = (condition, message) => {\n if (DEV) {\n if (!condition && console.error) {\n console.error(message);\n }\n }\n};\n\nfunction cascade(value, arg) {\n if (typeof value === \"function\") {\n return cascade(value(arg), arg);\n }\n\n return value;\n}\n\nconst getThemeValue = function (props, path) {\n let initial = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : props.theme;\n return cascade(get(initial, path), props);\n};\n\nfunction omit(object, values) {\n const result = {};\n\n for (const key in object) {\n if (values.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n\n return result;\n}\n\nfunction flattenStrings(array) {\n return array.reduce((flattenedArray, value) => {\n const lastIndex = flattenedArray.length - 1;\n const last = flattenedArray[lastIndex];\n\n if (typeof last === \"string\" && typeof value === \"string\") {\n flattenedArray[lastIndex] = last + value;\n } else {\n flattenedArray.push(value);\n }\n\n return flattenedArray;\n }, []);\n}\n\nfunction flattenDown(array, result) {\n for (let i = 0; i < array.length; i++) {\n const value = array[i];\n\n if (Array.isArray(value)) {\n flattenDown(value, result);\n } else {\n result.push(value);\n }\n }\n\n return result;\n}\n\nfunction flatten(array) {\n return flattenDown(array, []);\n}\n\nexport { assign, cascade, flatten, flattenStrings, func, get, getThemeValue, identity, is, merge, negative, num, obj, omit, string, warn };","/**\n * It's `true` if it is running in a browser environment or `false` if it is not\n * (SSR).\n * @example\n * const title = canUseDOM ? document.title : \"\";\n */\nconst canUseDOM = checkIsBrowser(); // Check if we can use the DOM. Useful for SSR purposes\n\nfunction checkIsBrowser() {\n var _window$document;\n\n return typeof window !== \"undefined\" && !!((_window$document = window.document) != null && _window$document.createElement);\n}\n/**\n * Returns `element.ownerDocument || document`.\n */\n\n\nfunction getDocument(node) {\n return node ? node.ownerDocument || node : document;\n}\n/**\n * Returns `element.ownerDocument.defaultView || window`.\n */\n\n\nfunction getWindow(node) {\n return getDocument(node).defaultView || window;\n}\n/**\n * Returns `element.ownerDocument.activeElement`.\n */\n\n\nfunction getActiveElement(node, activeDescendant) {\n if (activeDescendant === void 0) {\n activeDescendant = false;\n }\n\n const {\n activeElement\n } = getDocument(node);\n\n if (!(activeElement != null && activeElement.nodeName)) {\n // In IE11, activeElement might be an empty object if we're interacting\n // with elements inside of an iframe.\n return null;\n }\n\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n\n if (id) {\n const element = getDocument(activeElement).getElementById(id);\n\n if (element) {\n return element;\n }\n }\n }\n\n return activeElement;\n}\n/**\n * Similar to `Element.prototype.contains`, but a little bit faster when\n * `element` is the same as `child`.\n * @example\n * contains(\n * document.getElementById(\"parent\"),\n * document.getElementById(\"child\")\n * );\n */\n\n\nfunction contains(parent, child) {\n return parent === child || parent.contains(child);\n}\n/**\n * Checks whether `element` is a frame element.\n */\n\n\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\n/**\n * Checks whether `element` is a native HTML button element.\n * @example\n * isButton(document.querySelector(\"button\")); // true\n * isButton(document.querySelector(\"input[type='button']\")); // true\n * isButton(document.querySelector(\"div\")); // false\n * isButton(document.querySelector(\"input[type='text']\")); // false\n * isButton(document.querySelector(\"div[role='button']\")); // false\n */\n\n\nfunction isButton(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"button\") return true;\n\n if (tagName === \"input\" && element.type) {\n return buttonInputTypes.indexOf(element.type) !== -1;\n }\n\n return false;\n}\n\nconst buttonInputTypes = [\"button\", \"color\", \"file\", \"image\", \"reset\", \"submit\"];\n/**\n * Ponyfill for `Element.prototype.matches`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\n */\n\nfunction matches(element, selectors) {\n if (\"matches\" in element) {\n return element.matches(selectors);\n }\n\n if (\"msMatchesSelector\" in element) {\n return element.msMatchesSelector(selectors);\n }\n\n return element.webkitMatchesSelector(selectors);\n}\n/**\n * Checks if the element is visible or not.\n */\n\n\nfunction isVisible(element) {\n const htmlElement = element;\n return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n/**\n * Ponyfill for `Element.prototype.closest`\n * @example\n * closest(document.getElementById(\"id\"), \"div\");\n * // same as\n * document.getElementById(\"id\").closest(\"div\");\n */\n\n\nfunction closest(element, selectors) {\n if (\"closest\" in element) return element.closest(selectors);\n\n do {\n if (matches(element, selectors)) return element;\n element = element.parentElement || element.parentNode;\n } while (element !== null && element.nodeType === 1);\n\n return null;\n}\n/**\n * Check whether the given element is a text field, where text field is defined\n * by the ability to select within the input.\n * @example\n * isTextField(document.querySelector(\"div\")); // false\n * isTextField(document.querySelector(\"input\")); // true\n * isTextField(document.querySelector(\"input[type='button']\")); // false\n * isTextField(document.querySelector(\"textarea\")); // true\n */\n\n\nfunction isTextField(element) {\n try {\n const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n const isTextArea = element.tagName === \"TEXTAREA\";\n return isTextInput || isTextArea || false;\n } catch (error) {\n // Safari throws an exception when trying to get `selectionStart` on\n // non-text elements (which, understandably, don't have the text\n // selection API). We catch this via a try/catch block, as opposed to a more\n // explicit check of the element's input types, because of Safari's\n // non-standard behavior. This also means we don't have to worry about the\n // list of input types that support `selectionStart` changing as the HTML\n // spec evolves over time.\n return false;\n }\n}\n/**\n * Returns the element's role attribute, if it has one.\n */\n\n\nfunction getPopupRole(element, fallback) {\n const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n const role = element == null ? void 0 : element.getAttribute(\"role\");\n\n if (role && allowedPopupRoles.indexOf(role) !== -1) {\n return role;\n }\n\n return fallback;\n}\n/**\n * Returns the item role attribute based on the popup's role.\n */\n\n\nfunction getPopupItemRole(element, fallback) {\n var _itemRoleByPopupRole$;\n\n const itemRoleByPopupRole = {\n menu: \"menuitem\",\n listbox: \"option\",\n tree: \"treeitem\",\n grid: \"gridcell\"\n };\n const popupRole = getPopupRole(element);\n if (!popupRole) return fallback;\n const key = popupRole;\n return (_itemRoleByPopupRole$ = itemRoleByPopupRole[key]) != null ? _itemRoleByPopupRole$ : fallback;\n}\n/**\n * Returns the start and end offsets of the selection in the element.\n */\n\n\nfunction getTextboxSelection(element) {\n let start = 0;\n let end = 0;\n\n if (isTextField(element)) {\n start = element.selectionStart || 0;\n end = element.selectionEnd || 0;\n } else if (element.isContentEditable) {\n const selection = getDocument(element).getSelection();\n\n if (selection != null && selection.rangeCount && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n const range = selection.getRangeAt(0);\n const nextRange = range.cloneRange();\n nextRange.selectNodeContents(element);\n nextRange.setEnd(range.startContainer, range.startOffset);\n start = nextRange.toString().length;\n nextRange.setEnd(range.endContainer, range.endOffset);\n end = nextRange.toString().length;\n }\n }\n\n return {\n start,\n end\n };\n}\n/**\n * Calls `element.scrollIntoView()` if the element is hidden or partly hidden in\n * the viewport.\n */\n\n\nfunction scrollIntoViewIfNeeded(element, arg) {\n if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n element.scrollIntoView(arg);\n }\n}\n/**\n * Returns the scrolling container element of a given element.\n */\n\n\nfunction getScrollingElement(element) {\n if (!element) return null;\n\n if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n const {\n overflowY\n } = getComputedStyle(element);\n const isScrollable = overflowY !== \"visible\" && overflowY !== \"hidden\";\n if (isScrollable) return element;\n }\n\n return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\n/**\n * Determines whether an element is hidden or partially hidden in the viewport.\n */\n\n\nfunction isPartiallyHidden(element) {\n const elementRect = element.getBoundingClientRect();\n const scroller = getScrollingElement(element);\n if (!scroller) return false;\n const scrollerRect = scroller.getBoundingClientRect();\n const isHTML = scroller.tagName === \"HTML\";\n const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n const top = elementRect.top < scrollerTop;\n const left = elementRect.left < scrollerLeft;\n const bottom = elementRect.bottom > scrollerBottom;\n const right = elementRect.right > scrollerRight;\n return top || left || bottom || right;\n}\n\nexport { canUseDOM, closest, contains, getActiveElement, getDocument, getPopupItemRole, getPopupRole, getScrollingElement, getTextboxSelection, getWindow, isButton, isFrame, isPartiallyHidden, isTextField, isVisible, matches, scrollIntoViewIfNeeded };","import { contains } from './dom.js';\nimport { isApple } from './platform.js';\n/**\n * Returns `true` if `event` has been fired within a React Portal element.\n */\n\nfunction isPortalEvent(event) {\n return !contains(event.currentTarget, event.target);\n}\n/**\n * Returns `true` if `event.target` and `event.currentTarget` are the same.\n */\n\n\nfunction isSelfTarget(event) {\n return event.target === event.currentTarget;\n}\n/**\n * Checks whether the user event is triggering a page navigation in a new tab.\n */\n\n\nfunction isOpeningInNewTab(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const isAppleDevice = isApple();\n if (isAppleDevice && !event.metaKey) return false;\n if (!isAppleDevice && !event.ctrlKey) return false;\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"a\") return true;\n if (tagName === \"button\" && element.type === \"submit\") return true;\n if (tagName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\n/**\n * Checks whether the user event is triggering a download.\n */\n\n\nfunction isDownloading(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const tagName = element.tagName.toLowerCase();\n if (!event.altKey) return false;\n if (tagName === \"a\") return true;\n if (tagName === \"button\" && element.type === \"submit\") return true;\n if (tagName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\n/**\n * Creates and dispatches an event.\n * @example\n * fireEvent(document.getElementById(\"id\"), \"blur\", {\n * bubbles: true,\n * cancelable: true,\n * });\n */\n\n\nfunction fireEvent(element, type, eventInit) {\n const event = new Event(type, eventInit);\n return element.dispatchEvent(event);\n}\n/**\n * Creates and dispatches a blur event.\n * @example\n * fireBlurEvent(document.getElementById(\"id\"));\n */\n\n\nfunction fireBlurEvent(element, eventInit) {\n const event = new FocusEvent(\"blur\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = { ...eventInit,\n bubbles: true\n };\n element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n return defaultAllowed;\n}\n/**\n * Creates and dispatches a focus event.\n * @example\n * fireFocusEvent(document.getElementById(\"id\"));\n */\n\n\nfunction fireFocusEvent(element, eventInit) {\n const event = new FocusEvent(\"focus\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = { ...eventInit,\n bubbles: true\n };\n element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n return defaultAllowed;\n}\n/**\n * Creates and dispatches a keyboard event.\n * @example\n * fireKeyboardEvent(document.getElementById(\"id\"), \"keydown\", {\n * key: \"ArrowDown\",\n * shiftKey: true,\n * });\n */\n\n\nfunction fireKeyboardEvent(element, type, eventInit) {\n const event = new KeyboardEvent(type, eventInit);\n return element.dispatchEvent(event);\n}\n/**\n * Creates and dispatches a click event.\n * @example\n * fireClickEvent(document.getElementById(\"id\"));\n */\n\n\nfunction fireClickEvent(element, eventInit) {\n const event = new MouseEvent(\"click\", eventInit);\n return element.dispatchEvent(event);\n}\n/**\n * Checks whether the focus/blur event is happening from/to outside of the\n * container element.\n * @example\n * const element = document.getElementById(\"id\");\n * element.addEventListener(\"blur\", (event) => {\n * if (isFocusEventOutside(event)) {\n * // ...\n * }\n * });\n */\n\n\nfunction isFocusEventOutside(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\n/**\n * Runs a callback on the next animation frame, but before a certain event.\n */\n\n\nfunction queueBeforeEvent(element, type, callback) {\n const raf = requestAnimationFrame(() => {\n element.removeEventListener(type, callImmediately, true);\n callback();\n });\n\n const callImmediately = () => {\n cancelAnimationFrame(raf);\n callback();\n }; // By listening to the event in the capture phase, we make sure the callback\n // is fired before the respective React events.\n\n\n element.addEventListener(type, callImmediately, {\n once: true,\n capture: true\n });\n return raf;\n}\n/**\n * Adds a global event listener, including on child frames.\n */\n\n\nfunction addGlobalEventListener(type, listener, options, scope) {\n if (scope === void 0) {\n scope = window;\n } // Prevent errors from \"sandbox\" frames.\n\n\n try {\n scope.document.addEventListener(type, listener, options);\n } catch (e) {}\n\n const listeners = [];\n\n for (let i = 0; i < ((_scope$frames = scope.frames) == null ? void 0 : _scope$frames.length); i += 1) {\n var _scope$frames;\n\n const frameWindow = scope.frames[i];\n\n if (frameWindow) {\n listeners.push(addGlobalEventListener(type, listener, options, frameWindow));\n }\n }\n\n const removeEventListener = () => {\n try {\n scope.document.removeEventListener(type, listener, options);\n } catch (e) {}\n\n listeners.forEach(listener => listener());\n };\n\n return removeEventListener;\n}\n\nexport { addGlobalEventListener, fireBlurEvent, fireClickEvent, fireEvent, fireFocusEvent, fireKeyboardEvent, isDownloading, isFocusEventOutside, isOpeningInNewTab, isPortalEvent, isSelfTarget, queueBeforeEvent };","import { matches, isVisible, isFrame, getActiveElement, closest, contains } from './dom.js';\nconst selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), \" + \"textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], \" + \"iframe, object, embed, area[href], audio[controls], video[controls], \" + \"[contenteditable]:not([contenteditable='false'])\";\n\nfunction hasNegativeTabIndex(element) {\n const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n return tabIndex < 0;\n}\n/**\n * Checks whether `element` is focusable or not.\n * @example\n * isFocusable(document.querySelector(\"input\")); // true\n * isFocusable(document.querySelector(\"input[tabindex='-1']\")); // true\n * isFocusable(document.querySelector(\"input[hidden]\")); // false\n * isFocusable(document.querySelector(\"input:disabled\")); // false\n */\n\n\nfunction isFocusable(element) {\n return matches(element, selector) && isVisible(element);\n}\n/**\n * Checks whether `element` is tabbable or not.\n * @example\n * isTabbable(document.querySelector(\"input\")); // true\n * isTabbable(document.querySelector(\"input[tabindex='-1']\")); // false\n * isTabbable(document.querySelector(\"input[hidden]\")); // false\n * isTabbable(document.querySelector(\"input:disabled\")); // false\n */\n\n\nfunction isTabbable(element) {\n return isFocusable(element) && !hasNegativeTabIndex(element);\n}\n/**\n * Returns all the focusable elements in `container`.\n */\n\n\nfunction getAllFocusableIn(container, includeContainer) {\n const elements = Array.from(container.querySelectorAll(selector));\n\n if (includeContainer) {\n elements.unshift(container);\n }\n\n const focusableElements = elements.filter(isFocusable);\n focusableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n }\n });\n return focusableElements;\n}\n/**\n * Returns all the focusable elements in the document.\n */\n\n\nfunction getAllFocusable(includeBody) {\n return getAllFocusableIn(document.body, includeBody);\n}\n/**\n * Returns the first focusable element in `container`.\n */\n\n\nfunction getFirstFocusableIn(container, includeContainer) {\n const [first] = getAllFocusableIn(container, includeContainer);\n return first || null;\n}\n/**\n * Returns the first focusable element in the document.\n */\n\n\nfunction getFirstFocusable(includeBody) {\n return getFirstFocusableIn(document.body, includeBody);\n}\n/**\n * Returns all the tabbable elements in `container`, including the container\n * itself.\n */\n\n\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n const elements = Array.from(container.querySelectorAll(selector));\n const tabbableElements = elements.filter(isTabbable);\n\n if (includeContainer && isTabbable(container)) {\n tabbableElements.unshift(container);\n }\n\n tabbableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n const allFrameTabbable = getAllTabbableIn(frameBody, false, fallbackToFocusable);\n tabbableElements.splice(i, 1, ...allFrameTabbable);\n }\n });\n\n if (!tabbableElements.length && fallbackToFocusable) {\n return elements;\n }\n\n return tabbableElements;\n}\n/**\n * Returns all the tabbable elements in the document.\n */\n\n\nfunction getAllTabbable(fallbackToFocusable) {\n return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\n/**\n * Returns the first tabbable element in `container`, including the container\n * itself if it's tabbable.\n */\n\n\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n const [first] = getAllTabbableIn(container, includeContainer, fallbackToFocusable);\n return first || null;\n}\n/**\n * Returns the first tabbable element in the document.\n */\n\n\nfunction getFirstTabbable(fallbackToFocusable) {\n return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\n/**\n * Returns the last tabbable element in `container`, including the container\n * itself if it's tabbable.\n */\n\n\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n const allTabbable = getAllTabbableIn(container, includeContainer, fallbackToFocusable);\n return allTabbable[allTabbable.length - 1] || null;\n}\n/**\n * Returns the last tabbable element in the document.\n */\n\n\nfunction getLastTabbable(fallbackToFocusable) {\n return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\n/**\n * Returns the next tabbable element in `container`.\n */\n\n\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer);\n const activeIndex = allFocusable.indexOf(activeElement);\n const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\n/**\n * Returns the next tabbable element in the document.\n */\n\n\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n return getNextTabbableIn(document.body, false, fallbackToFirst, fallbackToFocusable);\n}\n/**\n * Returns the previous tabbable element in `container`.\n *\n */\n\n\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n const activeIndex = allFocusable.indexOf(activeElement);\n const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\n/**\n * Returns the previous tabbable element in the document.\n */\n\n\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n return getPreviousTabbableIn(document.body, false, fallbackToFirst, fallbackToFocusable);\n}\n/**\n * Returns the closest focusable element.\n */\n\n\nfunction getClosestFocusable(element) {\n while (element && !isFocusable(element)) {\n element = closest(element, selector);\n }\n\n return element || null;\n}\n/**\n * Checks if `element` has focus. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n * @example\n * hasFocus(document.getElementById(\"id\"));\n */\n\n\nfunction hasFocus(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (activeElement === element) return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n return activeDescendant === element.id;\n}\n/**\n * Checks if `element` has focus within. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n * @example\n * hasFocusWithin(document.getElementById(\"id\"));\n */\n\n\nfunction hasFocusWithin(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (contains(element, activeElement)) return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n if (!(\"id\" in element)) return false;\n if (activeDescendant === element.id) return true;\n return !!element.querySelector(\"#\" + CSS.escape(activeDescendant));\n}\n/**\n * Focus on an element only if it's not already focused.\n */\n\n\nfunction focusIfNeeded(element) {\n if (!hasFocusWithin(element) && isFocusable(element)) {\n element.focus();\n }\n}\n/**\n * Disable focus on `element`.\n */\n\n\nfunction disableFocus(element) {\n var _element$getAttribute;\n\n const currentTabindex = (_element$getAttribute = element.getAttribute(\"tabindex\")) != null ? _element$getAttribute : \"\";\n element.setAttribute(\"data-tabindex\", currentTabindex);\n element.setAttribute(\"tabindex\", \"-1\");\n}\n/**\n * Makes elements inside container not tabbable.\n */\n\n\nfunction disableFocusIn(container, includeContainer) {\n const tabbableElements = getAllTabbableIn(container, includeContainer);\n tabbableElements.forEach(disableFocus);\n}\n/**\n * Restores tabbable elements inside container that were affected by\n * disableFocusIn.\n */\n\n\nfunction restoreFocusIn(container) {\n const elements = container.querySelectorAll(\"[data-tabindex]\");\n\n const restoreTabIndex = element => {\n const tabindex = element.getAttribute(\"data-tabindex\");\n element.removeAttribute(\"data-tabindex\");\n\n if (tabindex) {\n element.setAttribute(\"tabindex\", tabindex);\n } else {\n element.removeAttribute(\"tabindex\");\n }\n };\n\n if (container.hasAttribute(\"data-tabindex\")) {\n restoreTabIndex(container);\n }\n\n elements.forEach(restoreTabIndex);\n}\n/**\n * Focus on element and scroll into view.\n */\n\n\nfunction focusIntoView(element, options) {\n if (!(\"scrollIntoView\" in element)) {\n element.focus();\n } else {\n element.focus({\n preventScroll: true\n });\n element.scrollIntoView({\n block: \"nearest\",\n inline: \"nearest\",\n ...options\n });\n }\n}\n\nexport { disableFocus, disableFocusIn, focusIfNeeded, focusIntoView, getAllFocusable, getAllFocusableIn, getAllTabbable, getAllTabbableIn, getClosestFocusable, getFirstFocusable, getFirstFocusableIn, getFirstTabbable, getFirstTabbableIn, getLastTabbable, getLastTabbableIn, getNextTabbable, getNextTabbableIn, getPreviousTabbable, getPreviousTabbableIn, hasFocus, hasFocusWithin, isFocusable, isTabbable, restoreFocusIn };","import * as React from 'react';\nimport { useLayoutEffect, useEffect, useState, useRef, useCallback, useMemo, useReducer } from 'react';\nimport { canUseDOM } from './dom.js';\nimport { addGlobalEventListener } from './events.js';\nimport { setRef, applyState } from './misc.js'; // @ts-ignore Access React v18 hooks using string concatenation in order to\n// prevent Webpack from inferring that they are not present in React v17. For\n// example, React.useId will raise a compile time error when using React v17,\n// but React['use' + 'Id'] will not.\n\nconst useReactId = React[\"use\" + \"Id\"]; // @ts-ignore\n\nconst useReactDeferredValue = React[\"use\" + \"DeferredValue\"]; // @ts-ignore\n\nconst useInsertionEffect = React[\"use\" + \"InsertionEffect\"];\n/**\n * `React.useLayoutEffect` that fallbacks to `React.useEffect` on server side.\n */\n\nconst useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n/**\n * Returns a value that never changes even if the argument is updated.\n * @example\n * function Component({ prop }) {\n * const initialProp = useInitialValue(prop);\n * }\n */\n\nfunction useInitialValue(value) {\n const [initialValue] = useState(value);\n return initialValue;\n}\n/**\n * Returns a value that is lazily initiated and never changes.\n * @example\n * function Component() {\n * const set = useLazyValue(() => new Set());\n * }\n */\n\n\nfunction useLazyValue(init) {\n const ref = useRef();\n\n if (ref.current === undefined) {\n ref.current = init();\n }\n\n return ref.current;\n}\n/**\n * Creates a `React.RefObject` that is constantly updated with the incoming\n * value.\n * @example\n * function Component({ prop }) {\n * const propRef = useLiveRef(prop);\n * }\n */\n\n\nfunction useLiveRef(value) {\n const ref = useRef(value);\n useSafeLayoutEffect(() => {\n ref.current = value;\n });\n return ref;\n}\n/**\n * Keeps the reference of the previous value to be used in the render phase.\n */\n\n\nfunction usePreviousValue(value) {\n const [previousValue, setPreviousValue] = useState(value);\n\n if (value !== previousValue) {\n setPreviousValue(value);\n }\n\n return previousValue;\n}\n/**\n * Creates a stable callback function that has access to the latest state and\n * can be used within event handlers and effect callbacks. Throws when used in\n * the render phase.\n * @example\n * function Component(props) {\n * const onClick = useEvent(props.onClick);\n * React.useEffect(() => {}, [onClick]);\n * }\n */\n\n\nfunction useEvent(callback) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n\n if (useInsertionEffect) {\n useInsertionEffect(() => {\n ref.current = callback;\n });\n } else {\n ref.current = callback;\n }\n\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n/**\n * Merges React Refs into a single memoized function ref so you can pass it to\n * an element.\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const internalRef = React.useRef();\n * return
;\n * });\n */\n\n\nfunction useForkRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(() => {\n if (!refs.some(Boolean)) return;\n return value => {\n refs.forEach(ref => {\n setRef(ref, value);\n });\n };\n }, refs);\n}\n/**\n * Returns the ref element's ID.\n */\n\n\nfunction useRefId(ref, deps) {\n const [id, setId] = useState(undefined);\n useSafeLayoutEffect(() => {\n var _ref$current;\n\n setId(ref == null ? void 0 : (_ref$current = ref.current) == null ? void 0 : _ref$current.id);\n }, deps);\n return id;\n}\n/**\n * Generates a unique ID. Uses React's useId if available.\n */\n\n\nfunction useId(defaultId) {\n if (useReactId) {\n const reactId = useReactId();\n if (defaultId) return defaultId;\n return reactId;\n }\n\n const [id, setId] = useState(defaultId);\n useSafeLayoutEffect(() => {\n if (defaultId || id) return;\n const random = Math.random().toString(36).substr(2, 6);\n setId(\"id-\" + random);\n }, [defaultId, id]);\n return defaultId || id;\n}\n/**\n * Uses React's useDeferredValue if available.\n */\n\n\nfunction useDeferredValue(value) {\n if (useReactDeferredValue) {\n return useReactDeferredValue(value);\n }\n\n const [deferredValue, setDeferredValue] = useState(value);\n useEffect(() => {\n const raf = requestAnimationFrame(() => setDeferredValue(value));\n return () => cancelAnimationFrame(raf);\n }, [value]);\n return deferredValue;\n}\n/**\n * Returns the tag name by parsing an element ref and the `as` prop.\n * @example\n * function Component(props) {\n * const ref = React.useRef();\n * const tagName = useTagName(ref, \"button\"); // div\n * return
;\n * }\n */\n\n\nfunction useTagName(ref, type) {\n const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n useSafeLayoutEffect(() => {\n var _ref$current2;\n\n setTagName((ref == null ? void 0 : (_ref$current2 = ref.current) == null ? void 0 : _ref$current2.tagName.toLowerCase()) || stringOrUndefined(type));\n }, [ref, type]);\n return tagName;\n}\n\nfunction stringOrUndefined(type) {\n if (typeof type === \"string\") {\n return type;\n }\n\n return;\n}\n/**\n * A `React.useEffect` that will not run on the first render.\n */\n\n\nfunction useUpdateEffect(effect, deps) {\n const mounted = useRef(false);\n useEffect(() => {\n if (mounted.current) {\n return effect();\n }\n\n mounted.current = true;\n }, deps);\n useEffect(() => () => {\n mounted.current = false;\n }, []);\n}\n/**\n * A `React.useLayoutEffect` that will not run on the first render.\n */\n\n\nfunction useUpdateLayoutEffect(effect, deps) {\n const mounted = useRef(false);\n useSafeLayoutEffect(() => {\n if (mounted.current) {\n return effect();\n }\n\n mounted.current = true;\n }, deps);\n useSafeLayoutEffect(() => () => {\n mounted.current = false;\n }, []);\n}\n/**\n * A custom version of `React.useState` that uses the `state` and `setState`\n * arguments. If they're not provided, it will use the internal state.\n */\n\n\nfunction useControlledState(defaultState, state, setState) {\n const [localState, setLocalState] = useState(defaultState);\n const nextState = state !== undefined ? state : localState;\n const stateRef = useLiveRef(state);\n const setStateRef = useLiveRef(setState);\n const nextStateRef = useLiveRef(nextState);\n const setNextState = useCallback(prevValue => {\n const setStateProp = setStateRef.current;\n\n if (setStateProp) {\n if (isSetNextState(setStateProp)) {\n setStateProp(prevValue);\n } else {\n const nextValue = applyState(prevValue, nextStateRef.current);\n nextStateRef.current = nextValue;\n setStateProp(nextValue);\n }\n }\n\n if (stateRef.current === undefined) {\n setLocalState(prevValue);\n }\n }, []);\n defineSetNextState(setNextState);\n return [nextState, setNextState];\n}\n\nconst SET_NEXT_STATE = Symbol(\"setNextState\");\n\nfunction isSetNextState(arg) {\n return arg[SET_NEXT_STATE] === true;\n}\n\nfunction defineSetNextState(arg) {\n if (!isSetNextState(arg)) {\n Object.defineProperty(arg, SET_NEXT_STATE, {\n value: true\n });\n }\n}\n/**\n * A React hook similar to `useState` and `useReducer`, but with the only\n * purpose of re-rendering the component.\n */\n\n\nfunction useForceUpdate() {\n return useReducer(() => [], []);\n}\n/**\n * Returns an event callback similar to `useEvent`, but this also accepts a\n * boolean value, which will be turned into a function.\n */\n\n\nfunction useBooleanEvent(booleanOrCallback) {\n return useEvent(typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback);\n}\n/**\n * Returns props with an additional `wrapElement` prop.\n */\n\n\nfunction useWrapElement(props, callback, deps) {\n if (deps === void 0) {\n deps = [];\n }\n\n const wrapElement = useCallback(element => {\n if (props.wrapElement) {\n element = props.wrapElement(element);\n }\n\n return callback(element);\n }, [...deps, props.wrapElement]);\n return { ...props,\n wrapElement\n };\n}\n/**\n * Merges the portalRef prop and returns a `domReady` to be used in the\n * components that use Portal underneath.\n */\n\n\nfunction usePortalRef(portalProp, portalRefProp) {\n if (portalProp === void 0) {\n portalProp = false;\n }\n\n const [portalNode, setPortalNode] = useState(null);\n const portalRef = useForkRef(setPortalNode, portalRefProp);\n const domReady = !portalProp || portalNode;\n return {\n portalRef,\n portalNode,\n domReady\n };\n}\n/**\n * Returns a function that checks whether the mouse is moving.\n */\n\n\nfunction useIsMouseMoving() {\n useEffect(() => {\n // We're not returning the event listener cleanup function here because we\n // may lose some events if this component is unmounted, but others are\n // still mounted.\n addGlobalEventListener(\"mousemove\", setMouseMoving, true); // See https://github.com/ariakit/ariakit/issues/1137\n\n addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n }, []);\n const isMouseMoving = useEvent(() => mouseMoving);\n return isMouseMoving;\n}\n\nlet mouseMoving = false;\nlet previousScreenX = 0;\nlet previousScreenY = 0;\n\nfunction hasMouseMovement(event) {\n const movementX = event.movementX || event.screenX - previousScreenX;\n const movementY = event.movementY || event.screenY - previousScreenY;\n previousScreenX = event.screenX;\n previousScreenY = event.screenY;\n return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\n\nfunction setMouseMoving(event) {\n if (!hasMouseMovement(event)) return;\n mouseMoving = true;\n}\n\nfunction resetMouseMoving() {\n mouseMoving = false;\n}\n\nexport { useBooleanEvent, useControlledState, useDeferredValue, useEvent, useForceUpdate, useForkRef, useId, useInitialValue, useIsMouseMoving, useLazyValue, useLiveRef, usePortalRef, usePreviousValue, useRefId, useSafeLayoutEffect, useTagName, useUpdateEffect, useUpdateLayoutEffect, useWrapElement };","/**\n * Empty function.\n */\nfunction noop() {}\n/**\n * Compares two objects.\n * @example\n * shallowEqual({ a: \"a\" }, {}); // false\n * shallowEqual({ a: \"a\" }, { b: \"b\" }); // false\n * shallowEqual({ a: \"a\" }, { a: \"a\" }); // true\n * shallowEqual({ a: \"a\" }, { a: \"a\", b: \"b\" }); // false\n */\n\n\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (!a) return false;\n if (!b) return false;\n if (typeof a !== \"object\") return false;\n if (typeof b !== \"object\") return false;\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n const {\n length\n } = aKeys;\n if (bKeys.length !== length) return false;\n\n for (const key of aKeys) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n}\n/**\n * Receives a `setState` argument and calls it with `currentValue` if it's a\n * function. Otherwise return the argument as the new value.\n * @example\n * applyState((value) => value + 1, 1); // 2\n * applyState(2, 1); // 2\n */\n\n\nfunction applyState(argument, currentValue) {\n if (isUpdater(argument)) {\n const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n return argument(value);\n }\n\n return argument;\n}\n\nfunction isUpdater(argument) {\n return typeof argument === \"function\";\n}\n\nfunction isLazyValue(value) {\n return typeof value === \"function\";\n}\n/**\n * Sets both a function and object React ref.\n */\n\n\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n/**\n * Checks whether `arg` is an object or not.\n * @returns {boolean}\n */\n\n\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg != null;\n}\n/**\n * Checks whether `arg` is empty or not.\n * @example\n * isEmpty([]); // true\n * isEmpty([\"a\"]); // false\n * isEmpty({}); // true\n * isEmpty({ a: \"a\" }); // false\n * isEmpty(); // true\n * isEmpty(null); // true\n * isEmpty(undefined); // true\n * isEmpty(\"\"); // true\n */\n\n\nfunction isEmpty(arg) {\n if (Array.isArray(arg)) return !arg.length;\n if (isObject(arg)) return !Object.keys(arg).length;\n if (arg == null) return true;\n if (arg === \"\") return true;\n return false;\n}\n/**\n * Checks whether `arg` is a promise or not.\n * @returns {boolean}\n */\n\n\nfunction isPromise(arg) {\n return Boolean(arg && \"then\" in arg && typeof arg.then === \"function\");\n}\n/**\n * Checks whether `arg` is an integer or not.\n * @example\n * isInteger(1); // true\n * isInteger(1.5); // false\n * isInteger(\"1\"); // true\n * isInteger(\"1.5\"); // false\n */\n\n\nfunction isInteger(arg) {\n if (typeof arg === \"number\") {\n return Math.floor(arg) === arg;\n }\n\n return String(Math.floor(Number(arg))) === arg;\n}\n/**\n * Checks whether `prop` is an own property of `obj` or not.\n */\n\n\nfunction hasOwnProperty(object, prop) {\n return Object.prototype.hasOwnProperty.call(object, prop);\n}\n/**\n * Receives functions as arguments and returns a new function that calls all.\n */\n\n\nfunction chain() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (const fn of fns) {\n if (typeof fn === \"function\") {\n // @ts-ignore\n fn(...arguments);\n }\n }\n };\n}\n/**\n * Returns a string with the truthy values of `args` separated by space.\n */\n\n\nfunction cx() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.filter(Boolean).join(\" \") || undefined;\n}\n/**\n * Removes diatrics from a string.\n * TODO: Check if it works on WebView Android.\n */\n\n\nfunction normalizeString(str) {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\n/**\n * Queues a function to be called at the end of the current event loop.\n */\n\n\nfunction queueMicrotask(callback) {\n if (window.queueMicrotask) {\n return window.queueMicrotask(callback);\n }\n\n Promise.resolve().then(callback);\n}\n\nexport { applyState, chain, cx, hasOwnProperty, isEmpty, isInteger, isObject, isPromise, noop, normalizeString, queueMicrotask, setRef, shallowEqual };","import { canUseDOM } from './dom.js';\n/**\n * Detects if the device has touch capabilities.\n */\n\nfunction isTouchDevice() {\n return canUseDOM && !!navigator.maxTouchPoints;\n}\n/**\n * Detects Apple device.\n */\n\n\nfunction isApple() {\n if (!canUseDOM) return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\n/**\n * Detects Safari browser.\n */\n\n\nfunction isSafari() {\n return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\n/**\n * Detects Firefox browser.\n */\n\n\nfunction isFirefox() {\n return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\n/**\n * Detects Mac computer.\n */\n\n\nfunction isMac() {\n return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport { isApple, isFirefox, isMac, isSafari, isTouchDevice };","import { forwardRef } from 'react';\nimport { hasOwnProperty } from './misc.js';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction isRenderProp(children) {\n return typeof children === \"function\";\n}\n/**\n * Creates a type-safe component with the `as` prop and `React.forwardRef`.\n *\n * @example\n * import { createComponent } from \"ariakit-utils/system\";\n *\n * type Props = {\n * as?: \"div\";\n * customProp?: boolean;\n * };\n *\n * const Component = createComponent(({ customProp, ...props }) => {\n * return
;\n * });\n *\n * \n */\n\n\nfunction createComponent(render) {\n const Role = (props, ref) => render({\n ref,\n ...props\n });\n\n return /*#__PURE__*/forwardRef(Role);\n}\n/**\n * Creates a React element that supports the `as` prop, children as a\n * function (render props) and a `wrapElement` function.\n *\n * @example\n * import { createElement } from \"ariakit-utils/system\";\n *\n * function Component() {\n * const props = {\n * as: \"button\" as const,\n * children: (htmlProps) => \n * ```\n */\n\nconst Button = createComponent(props => {\n const htmlProps = useButton(props);\n return createElement(\"button\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Button.displayName = \"Button\";\n}\n\nexport { Button, useButton };","import { useRef, useEffect, useState } from 'react';\nimport { isButton } from 'ariakit-utils/dom';\nimport { addGlobalEventListener, isPortalEvent, queueBeforeEvent, isSelfTarget, isFocusEventOutside } from 'ariakit-utils/events';\nimport { isFocusable, focusIfNeeded, hasFocus } from 'ariakit-utils/focus';\nimport { useEvent, useSafeLayoutEffect, useTagName, useForkRef } from 'ariakit-utils/hooks';\nimport { queueMicrotask } from 'ariakit-utils/misc';\nimport { isSafari } from 'ariakit-utils/platform';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nconst isSafariBrowser = isSafari();\nconst alwaysFocusVisibleInputTypes = [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\", \"number\", \"date\", \"month\", \"week\", \"time\", \"datetime\", \"datetime-local\"];\n\nfunction isAlwaysFocusVisible(element) {\n const {\n tagName,\n readOnly,\n type\n } = element;\n if (tagName === \"TEXTAREA\" && !readOnly) return true;\n if (tagName === \"SELECT\" && !readOnly) return true;\n\n if (tagName === \"INPUT\" && !readOnly) {\n return alwaysFocusVisibleInputTypes.includes(type);\n }\n\n if (element.isContentEditable) return true;\n return false;\n} // See https://github.com/ariakit/ariakit/issues/1257\n\n\nfunction isAlwaysFocusVisibleDelayed(element) {\n const role = element.getAttribute(\"role\");\n if (role === \"combobox\") return true;\n return false;\n}\n\nfunction getLabels(element) {\n if (\"labels\" in element) {\n return element.labels;\n }\n\n return null;\n}\n\nfunction isNativeCheckboxOrRadio(element) {\n const tagName = element.tagName.toLowerCase();\n\n if (tagName === \"input\" && element.type) {\n return element.type === \"radio\" || element.type === \"checkbox\";\n }\n\n return false;\n}\n\nfunction isNativeTabbable(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\n\nfunction supportsDisabledAttribute(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\n\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n if (!focusable) {\n return tabIndexProp;\n }\n\n if (trulyDisabled) {\n if (nativeTabbable && !supportsDisabled) {\n // Anchor, audio and video tags don't support the `disabled` attribute.\n // We must pass tabIndex={-1} so they don't receive focus on tab.\n return -1;\n } // Elements that support the `disabled` attribute don't need tabIndex.\n\n\n return;\n }\n\n if (nativeTabbable) {\n // If the element is enabled and it's natively tabbable, we don't need to\n // specify a tabIndex attribute unless it's explicitly set by the user.\n return tabIndexProp;\n } // If the element is enabled and is not natively tabbable, we have to\n // fallback tabIndex={0}.\n\n\n return tabIndexProp || 0;\n}\n\nfunction useDisableEvent(onEvent, disabled) {\n return useEvent(event => {\n onEvent == null ? void 0 : onEvent(event);\n if (event.defaultPrevented) return;\n\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n });\n} // isKeyboardModality should be true by defaault.\n\n\nlet isKeyboardModality = true;\n\nfunction onGlobalMouseDown(event) {\n const target = event.target;\n\n if (target && \"hasAttribute\" in target) {\n // If the target element is already focus-visible, we keep the keyboard\n // modality.\n if (!target.hasAttribute(\"data-focus-visible\")) {\n isKeyboardModality = false;\n }\n }\n}\n\nfunction onGlobalKeyDown(event) {\n if (event.metaKey) return;\n if (event.ctrlKey) return;\n isKeyboardModality = true;\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that can be focused.\n * @see https://ariakit.org/components/focusable\n * @example\n * ```jsx\n * const props = useFocusable();\n * Focusable\n * ```\n */\n\n\nconst useFocusable = createHook(_ref => {\n let {\n focusable = true,\n accessibleWhenDisabled,\n autoFocus,\n onFocusVisible,\n ...props\n } = _ref;\n const ref = useRef(null); // Add global event listeners to determine whether the user is using a\n // keyboard to navigate the site or not.\n\n useEffect(() => {\n if (!focusable) return;\n addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n }, [focusable]); // Safari and Firefox on Apple devices don't focus on checkboxes or radio\n // buttons when their labels are clicked. This effect will make sure the\n // focusable element is focused on label click.\n\n if (isSafariBrowser) {\n useEffect(() => {\n if (!focusable) return;\n const element = ref.current;\n if (!element) return;\n if (!isNativeCheckboxOrRadio(element)) return;\n const labels = getLabels(element);\n if (!labels) return;\n\n const onMouseUp = () => queueMicrotask(() => element.focus());\n\n labels.forEach(label => label.addEventListener(\"mouseup\", onMouseUp));\n return () => {\n labels.forEach(label => label.removeEventListener(\"mouseup\", onMouseUp));\n };\n }, [focusable]);\n }\n\n const disabled = focusable && props.disabled;\n const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n const [focusVisible, setFocusVisible] = useState(false); // When the focusable element is disabled, it doesn't trigger a blur event\n // so we can't set focusVisible to false there. Instead, we have to do it\n // here by checking the element's disabled attribute.\n\n useEffect(() => {\n if (!focusable) return;\n\n if (trulyDisabled && focusVisible) {\n setFocusVisible(false);\n }\n }, [focusable, trulyDisabled, focusVisible]); // When an element that has focus becomes hidden, it doesn't trigger a blur\n // event so we can't set focusVisible to false there. We observe the element\n // and check if it's still focusable. Otherwise, we set focusVisible to\n // false.\n\n useEffect(() => {\n if (!focusable) return;\n if (!focusVisible) return;\n const element = ref.current;\n if (!element) return;\n if (typeof IntersectionObserver === \"undefined\") return;\n const observer = new IntersectionObserver(() => {\n if (!isFocusable(element)) {\n setFocusVisible(false);\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [focusable, focusVisible]); // Disable events when the element is disabled.\n\n const onKeyPressCapture = useDisableEvent(props.onKeyPressCapture, disabled);\n const onMouseDownCapture = useDisableEvent(props.onMouseDownCapture, disabled);\n const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent(event => {\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n const element = event.currentTarget; // Safari doesn't focus on buttons on mouse down like other\n // browsers/platforms. Instead, it focuses on the closest focusable\n // ancestor element, which is ultimately the body element. So we make sure\n // to give focus to this Focusable element on mouse down so it works\n // consistently across browsers.\n\n if (!isSafariBrowser) return;\n if (isPortalEvent(event)) return;\n if (!isButton(element) && !isNativeCheckboxOrRadio(element)) return; // In future versions os Safari, it may change this behavior and start\n // focusing on buttons on mouse down. To account for that, we check if the\n // element has received focus before.\n\n let receivedFocus = false;\n\n const onFocus = () => {\n receivedFocus = true;\n };\n\n const options = {\n capture: true,\n once: true\n };\n element.addEventListener(\"focusin\", onFocus, options); // We can't focus right away after on mouse down, otherwise it would\n // prevent drag events from happening. So we queue the focus to the next\n // animation frame, but always before the next mouseup event. The mouseup\n // event might happen before the next animation frame on touch devices or\n // by tapping on a MacBook's trackpad, for example.\n\n queueBeforeEvent(element, \"mouseup\", () => {\n element.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus) return;\n focusIfNeeded(element);\n });\n });\n\n const handleFocusVisible = (event, currentTarget) => {\n if (currentTarget) {\n event.currentTarget = currentTarget;\n }\n\n onFocusVisible == null ? void 0 : onFocusVisible(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n const element = event.currentTarget;\n if (!element) return; // Some extensions like 1password dispatches some keydown events on\n // autofill and immediately moves focus to the next field. That's why we\n // need to check if the current element is still focused.\n\n if (!hasFocus(element)) return;\n setFocusVisible(true);\n };\n\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const onKeyDownCapture = useEvent(event => {\n onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n if (focusVisible) return;\n if (event.metaKey) return;\n if (event.altKey) return;\n if (event.ctrlKey) return;\n if (!isSelfTarget(event)) return;\n const element = event.currentTarget;\n queueMicrotask(() => handleFocusVisible(event, element));\n });\n const onFocusCaptureProp = props.onFocusCapture;\n const onFocusCapture = useEvent(event => {\n onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n\n if (!isSelfTarget(event)) {\n setFocusVisible(false);\n return;\n }\n\n const element = event.currentTarget;\n\n const applyFocusVisible = () => handleFocusVisible(event, element);\n\n if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n queueMicrotask(applyFocusVisible);\n } // See https://github.com/ariakit/ariakit/issues/1257\n else if (isAlwaysFocusVisibleDelayed(event.target)) {\n queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n } else {\n setFocusVisible(false);\n }\n });\n const onBlurProp = props.onBlur; // Note: Can't use onBlurCapture here otherwise it will not work with\n // CompositeItem's with the virtualFocus state set to true.\n\n const onBlur = useEvent(event => {\n onBlurProp == null ? void 0 : onBlurProp(event);\n if (!focusable) return;\n\n if (isFocusEventOutside(event)) {\n setFocusVisible(false);\n }\n }); // The native autoFocus prop is problematic in many ways. For example, when\n // an element has the native autofocus attribute, the focus event will be\n // triggered before React effects (even layout effects) and before refs are\n // assigned. This means we won't have access to the element's ref or\n // anything else that's set up by React effects on the onFocus event. So we\n // don't pass the autoFocus prop to the element and instead manually focus\n // the element when it's mounted. The order in which this effect runs also\n // matters. It must be declared here after all the event callbacks above so\n // the event callback effects run before this one. See\n // https://twitter.com/diegohaz/status/1408180632933388289\n\n useSafeLayoutEffect(() => {\n if (!focusable) return;\n\n if (autoFocus) {\n var _ref$current;\n\n (_ref$current = ref.current) == null ? void 0 : _ref$current.focus();\n }\n }, [focusable, autoFocus]);\n const tagName = useTagName(ref, props.as);\n const nativeTabbable = focusable && isNativeTabbable(tagName);\n const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n const style = trulyDisabled ? {\n pointerEvents: \"none\",\n ...props.style\n } : props.style;\n props = {\n \"data-focus-visible\": focusable && focusVisible ? \"\" : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n ...props,\n ref: useForkRef(ref, props.ref),\n style,\n tabIndex: getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, props.tabIndex),\n disabled: supportsDisabled && trulyDisabled ? true : undefined,\n // TODO: Test Focusable contentEditable.\n contentEditable: disabled ? undefined : props.contentEditable,\n onKeyPressCapture,\n onClickCapture,\n onMouseDownCapture,\n onMouseDown,\n onKeyDownCapture,\n onFocusCapture,\n onBlur\n };\n return props;\n});\n/**\n * A component that renders an element that can be focused.\n * @see https://ariakit.org/components/focusable\n * @example\n * ```jsx\n * Focusable\n * ```\n */\n\nconst Focusable = createComponent(props => {\n props = useFocusable(props);\n return createElement(\"div\", props);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Focusable.displayName = \"Focusable\";\n}\n\nexport { Focusable, useFocusable };","const set = require('regenerate')();\n\nset.addRange(0x0, 0x7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x345, 0x37F, 0x386, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x9B2, 0x9CE, 0x9D7, 0x9FC, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xD4E, 0xDBD, 0xDD6, 0xE4D, 0xE84, 0xEA5, 0xEC6, 0xECD, 0xF00, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8C5, 0xA8FB, 0xA9CF, 0xAAC0, 0xAAC2, 0xFB3E, 0x10808, 0x1083C, 0x10F27, 0x110C2, 0x11176, 0x111DA, 0x111DC, 0x11237, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11640, 0x11644, 0x116B8, 0x11909, 0x119E1, 0x11A9D, 0x11C40, 0x11D3A, 0x11D43, 0x11D98, 0x11FB0, 0x16FE3, 0x1BC9E, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E947, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5B0, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x657).addRange(0x659, 0x65F).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6E1, 0x6E8).addRange(0x6ED, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x710, 0x73F).addRange(0x74D, 0x7B1).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x817).addRange(0x81A, 0x82C).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x8D4, 0x8DF).addRange(0x8E3, 0x8E9).addRange(0x8F0, 0x93B).addRange(0x93D, 0x94C).addRange(0x94E, 0x950).addRange(0x955, 0x963).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8);\nset.addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BD, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9F0, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4C).addRange(0xA59, 0xA5C).addRange(0xA70, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE3).addRange(0xAF9, 0xAFC).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3D, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB56, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A);\nset.addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC00, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3D, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4C).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCC).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3D, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB9).addRange(0xEBB, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF81).addRange(0xF88, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1036).addRange(0x103B, 0x103F).addRange(0x1050, 0x108F).addRange(0x109A, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1713).addRange(0x171F, 0x1733).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17B3).addRange(0x17B6, 0x17C8).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);\nset.addRange(0x1920, 0x192B).addRange(0x1930, 0x1938).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A61, 0x1A74).addRange(0x1ABF, 0x1AC0).addRange(0x1ACC, 0x1ACE).addRange(0x1B00, 0x1B33).addRange(0x1B35, 0x1B43).addRange(0x1B45, 0x1B4C).addRange(0x1B80, 0x1BA9).addRange(0x1BAC, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1BE7, 0x1BF1).addRange(0x1C00, 0x1C36).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1DE7, 0x1DF4).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);\nset.addRange(0x2160, 0x2188).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA674, 0xA67B).addRange(0xA67F, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA805).addRange(0xA807, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FF).addRange(0xA90A, 0xA92A).addRange(0xA930, 0xA952);\nset.addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9B2).addRange(0xA9B4, 0xA9BF).addRange(0xA9E0, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAABE).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D);\nset.addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7);\nset.addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11045).addRange(0x11071, 0x11075).addRange(0x11082, 0x110B8).addRange(0x110D0, 0x110E8).addRange(0x11100, 0x11132).addRange(0x11144, 0x11147).addRange(0x11150, 0x11172).addRange(0x11180, 0x111BF).addRange(0x111C1, 0x111C4).addRange(0x111CE, 0x111CF).addRange(0x11200, 0x11211).addRange(0x11213, 0x11234).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112E8).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133D, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134C).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11441).addRange(0x11443, 0x11445).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114C1).addRange(0x114C4, 0x114C5);\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115BE).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x1163E).addRange(0x11680, 0x116B5).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172A).addRange(0x11740, 0x11746).addRange(0x11800, 0x11838).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193C).addRange(0x1193F, 0x11942).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119DF).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A32).addRange(0x11A35, 0x11A3E).addRange(0x11A50, 0x11A97).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C3E).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D41).addRange(0x11D46, 0x11D47).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D96).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E);\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8);\nset.addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x0, 0x10FFFF);\nmodule.exports = set;","const set = require('regenerate')(0x38C, 0x85E, 0x9B2, 0x9D7, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1940, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA7D3, 0xFB3E, 0xFDCF, 0xFEFF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x110CD, 0x11288, 0x11350, 0x11357, 0x11909, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0, 0xE0001);\n\nset.addRange(0x0, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x600, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x82D).addRange(0x830, 0x83E).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0);\nset.addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9);\nset.addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE3A).addRange(0xE3F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5);\nset.addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1736).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A1B).addRange(0x1A1E, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E).addRange(0x1B80, 0x1BF3).addRange(0x1BFC, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CD0, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D);\nset.addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x2000, 0x2064).addRange(0x2066, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x20D0, 0x20F0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x303F).addRange(0x3041, 0x3096).addRange(0x3099, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1);\nset.addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA82C).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9).addRange(0xA8E0, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAAC2).addRange(0xAADB, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xD800, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFE19).addRange(0xFE20, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);\nset.addRange(0xFFF9, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FD).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E0, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B);\nset.addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F59).addRange(0x10F70, 0x10F89).addRange(0x10FB0, 0x10FCB).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075).addRange(0x1107F, 0x110C2).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147).addRange(0x11150, 0x11176).addRange(0x11180, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112EA);\nset.addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746).addRange(0x11800, 0x1183B).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4).addRange(0x11A00, 0x11A47).addRange(0x11A50, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF8).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5).addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C);\nset.addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D1EA).addRange(0x1D200, 0x1D245).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C);\nset.addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nmodule.exports = set;","const set = require('regenerate')(0x61C);\n\nset.addRange(0x200E, 0x200F).addRange(0x202A, 0x202E).addRange(0x2066, 0x2069);\nmodule.exports = set;","const set = require('regenerate')(0x3C, 0x3E, 0x5B, 0x5D, 0x7B, 0x7D, 0xAB, 0xBB, 0x2140, 0x2211, 0x2224, 0x2226, 0x2239, 0x2262, 0x2298, 0x27C0, 0x29B8, 0x29C9, 0x29E1, 0x2A24, 0x2A26, 0x2A29, 0x2ADC, 0x2ADE, 0x2AF3, 0x2AFD, 0x2BFE, 0xFF1C, 0xFF1E, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x1D6DB, 0x1D715, 0x1D74F, 0x1D789, 0x1D7C3);\n\nset.addRange(0x28, 0x29).addRange(0xF3A, 0xF3D).addRange(0x169B, 0x169C).addRange(0x2039, 0x203A).addRange(0x2045, 0x2046).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2201, 0x2204).addRange(0x2208, 0x220D).addRange(0x2215, 0x2216).addRange(0x221A, 0x221D).addRange(0x221F, 0x2222).addRange(0x222B, 0x2233).addRange(0x223B, 0x224C).addRange(0x2252, 0x2255).addRange(0x225F, 0x2260).addRange(0x2264, 0x226B).addRange(0x226E, 0x228C).addRange(0x228F, 0x2292).addRange(0x22A2, 0x22A3).addRange(0x22A6, 0x22B8).addRange(0x22BE, 0x22BF).addRange(0x22C9, 0x22CD).addRange(0x22D0, 0x22D1).addRange(0x22D6, 0x22ED).addRange(0x22F0, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C3, 0x27C6).addRange(0x27C8, 0x27C9).addRange(0x27CB, 0x27CD).addRange(0x27D3, 0x27D6).addRange(0x27DC, 0x27DE).addRange(0x27E2, 0x27EF).addRange(0x2983, 0x2998).addRange(0x299B, 0x29A0).addRange(0x29A2, 0x29AF).addRange(0x29C0, 0x29C5).addRange(0x29CE, 0x29D2).addRange(0x29D4, 0x29D5).addRange(0x29D8, 0x29DC).addRange(0x29E3, 0x29E5).addRange(0x29E8, 0x29E9).addRange(0x29F4, 0x29F9).addRange(0x29FC, 0x29FD).addRange(0x2A0A, 0x2A1C).addRange(0x2A1E, 0x2A21).addRange(0x2A2B, 0x2A2E).addRange(0x2A34, 0x2A35);\nset.addRange(0x2A3C, 0x2A3E).addRange(0x2A57, 0x2A58).addRange(0x2A64, 0x2A65).addRange(0x2A6A, 0x2A6D).addRange(0x2A6F, 0x2A70).addRange(0x2A73, 0x2A74).addRange(0x2A79, 0x2AA3).addRange(0x2AA6, 0x2AAD).addRange(0x2AAF, 0x2AD6).addRange(0x2AE2, 0x2AE6).addRange(0x2AEC, 0x2AEE).addRange(0x2AF7, 0x2AFB).addRange(0x2E02, 0x2E05).addRange(0x2E09, 0x2E0A).addRange(0x2E0C, 0x2E0D).addRange(0x2E1C, 0x2E1D).addRange(0x2E20, 0x2E29).addRange(0x2E55, 0x2E5C).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xFE59, 0xFE5E).addRange(0xFE64, 0xFE65).addRange(0xFF08, 0xFF09).addRange(0xFF5F, 0xFF60).addRange(0xFF62, 0xFF63);\nmodule.exports = set;","const set = require('regenerate')(0x27, 0x2E, 0x3A, 0x5E, 0x60, 0xA8, 0xAD, 0xAF, 0xB4, 0x37A, 0x387, 0x559, 0x55F, 0x5BF, 0x5C7, 0x5F4, 0x61C, 0x640, 0x670, 0x70F, 0x711, 0x7FA, 0x7FD, 0x888, 0x93A, 0x93C, 0x94D, 0x971, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xEC6, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x10FC, 0x17C6, 0x17D7, 0x17DD, 0x1843, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1AA7, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x1D78, 0x1FBD, 0x2024, 0x2027, 0x2071, 0x207F, 0x2D6F, 0x2D7F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9CF, 0xAA43, 0xAA4C, 0xAA70, 0xAA7C, 0xAAB0, 0xAAC1, 0xAADD, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0xFE13, 0xFE52, 0xFE55, 0xFEFF, 0xFF07, 0xFF0E, 0xFF1A, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110BD, 0x110C2, 0x110CD, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x1DA75, 0x1DA84, 0x1E2AE, 0xE0001);\n\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x36F).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x600, 0x605).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DD).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x816, 0x82D).addRange(0x859, 0x85B).addRange(0x890, 0x891).addRange(0x898, 0x89F).addRange(0x8C9, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE46, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180F).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x200B, 0x200F).addRange(0x2018, 0x2019).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20F0).addRange(0x2C7C, 0x2C7D).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3031, 0x3035).addRange(0x3099, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69C, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xA9E5, 0xA9E6).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xAAF3, 0xAAF4).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B);\nset.addRange(0xFBB2, 0xFBC2).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0xFFF9, 0xFFFB).addRange(0x10376, 0x1037A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B);\nset.addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x13430, 0x13438).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1BC9D, 0x1BC9E).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D173, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nset.addRange(0x1E130, 0x1E13D).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94B).addRange(0x1F3FB, 0x1F3FF).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0x10780, 0x1D4A2, 0x1D4BB, 0x1D546);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);\nset.addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69D).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514);\nset.addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E900, 0x1E943).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x345, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D1).addRange(0x3D5, 0x3D6).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4);\nset.addRange(0x1FB7, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC7, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x1BF, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1D79, 0x1D7D, 0x1D8E, 0x1E9E, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2126, 0x2132, 0x214E, 0x2D27, 0x2D2D, 0xAB53);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x137).addRange(0x139, 0x18C).addRange(0x18E, 0x19A).addRange(0x19C, 0x1A9).addRange(0x1AC, 0x1B9).addRange(0x1BC, 0x1BD).addRange(0x1C4, 0x220).addRange(0x222, 0x233).addRange(0x23A, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3D1).addRange(0x3D5, 0x3F5).addRange(0x3F7, 0x3FB).addRange(0x3FD, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x561, 0x587).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E00, 0x1E9B).addRange(0x1EA0, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC);\nset.addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2C70).addRange(0x2C72, 0x2C73).addRange(0x2C75, 0x2C76).addRange(0x2C7E, 0x2CE3).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA72F).addRange(0xA732, 0xA76F).addRange(0xA779, 0xA787).addRange(0xA78B, 0xA78D).addRange(0xA790, 0xA794).addRange(0xA796, 0xA7AE).addRange(0xA7B0, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D6, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1E900, 0x1E943);\nset;\nmodule.exports = set;","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF).addRange(0x1FB8, 0x1FBC).addRange(0x1FC8, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFC).addRange(0x212A, 0x212B);\nset.addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","const set = require('regenerate')(0xA0, 0xA8, 0xAA, 0xAD, 0xAF, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x136, 0x139, 0x13B, 0x13D, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x34F, 0x370, 0x372, 0x374, 0x376, 0x37A, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x61C, 0x9DF, 0xA33, 0xA36, 0xA5E, 0xE33, 0xEB3, 0xF0C, 0xF43, 0xF4D, 0xF52, 0xF57, 0xF5C, 0xF69, 0xF73, 0xF81, 0xF93, 0xF9D, 0xFA2, 0xFA7, 0xFAC, 0xFB9, 0x10C7, 0x10CD, 0x10FC, 0x1D78, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x1F71, 0x1F73, 0x1F75, 0x1F77, 0x1F79, 0x1F7B, 0x1F7D, 0x1FD3, 0x1FE3, 0x2011, 0x2017, 0x203C, 0x203E, 0x2057, 0x20A8, 0x2124, 0x2126, 0x2128, 0x2183, 0x2189, 0x2A0C, 0x2ADC, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0x2D6F, 0x2E9F, 0x2EF3, 0x3000, 0x3036, 0x309F, 0x30FF, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA770, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xAB69, 0xFA10, 0xFA12, 0xFA20, 0xFA22, 0xFB1D, 0xFB3E, 0xFE74, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F190);\n\nset.addRange(0x41, 0x5A).addRange(0xB2, 0xB5).addRange(0xB8, 0xBA).addRange(0xBC, 0xBE).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x132, 0x134).addRange(0x13F, 0x141).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1CD).addRange(0x1F1, 0x1F4).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x2B0, 0x2B8).addRange(0x2D8, 0x2DD).addRange(0x2E0, 0x2E4).addRange(0x340, 0x341).addRange(0x343, 0x345).addRange(0x37E, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D6).addRange(0x3F0, 0x3F2).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x675, 0x678).addRange(0x958, 0x95F).addRange(0x9DC, 0x9DD).addRange(0xA59, 0xA5B).addRange(0xB5C, 0xB5D).addRange(0xEDC, 0xEDD);\nset.addRange(0xF75, 0xF79).addRange(0x10A0, 0x10C5).addRange(0x115F, 0x1160).addRange(0x13F8, 0x13FD).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D2C, 0x1D2E).addRange(0x1D30, 0x1D3A).addRange(0x1D3C, 0x1D4D).addRange(0x1D4F, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4).addRange(0x1FB7, 0x1FC4).addRange(0x1FC7, 0x1FCF).addRange(0x1FD8, 0x1FDB).addRange(0x1FDD, 0x1FDF).addRange(0x1FE8, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFE).addRange(0x2000, 0x200F).addRange(0x2024, 0x2026).addRange(0x202A, 0x202F).addRange(0x2033, 0x2034).addRange(0x2036, 0x2037).addRange(0x2047, 0x2049).addRange(0x205F, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x2100, 0x2103).addRange(0x2105, 0x2107).addRange(0x2109, 0x2113).addRange(0x2115, 0x2116).addRange(0x2119, 0x211D).addRange(0x2120, 0x2122).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213B, 0x2140).addRange(0x2145, 0x2149).addRange(0x2150, 0x217F).addRange(0x222C, 0x222D);\nset.addRange(0x222F, 0x2230).addRange(0x2329, 0x232A).addRange(0x2460, 0x24EA).addRange(0x2A74, 0x2A76).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7C, 0x2C80).addRange(0x2F00, 0x2FD5).addRange(0x3038, 0x303A).addRange(0x309B, 0x309C).addRange(0x3131, 0x318E).addRange(0x3192, 0x319F).addRange(0x3200, 0x321E).addRange(0x3220, 0x3247).addRange(0x3250, 0x327E).addRange(0x3280, 0x33FF).addRange(0xA69C, 0xA69D).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xA7F2, 0xA7F5).addRange(0xA7F8, 0xA7F9).addRange(0xAB5C, 0xAB5F).addRange(0xAB70, 0xABBF).addRange(0xF900, 0xFA0D).addRange(0xFA15, 0xFA1E).addRange(0xFA25, 0xFA26).addRange(0xFA2A, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFC).addRange(0xFE00, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE72).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF0, 0xFFF8).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10781, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D15E, 0x1D164).addRange(0x1D173, 0x1D17A).addRange(0x1D1BB, 0x1D1C0).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E900, 0x1E921).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72);\nset.addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F100, 0x1F10A).addRange(0x1F110, 0x1F12E).addRange(0x1F130, 0x1F14F).addRange(0x1F16A, 0x1F16C).addRange(0x1F200, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1FBF0, 0x1FBF9).addRange(0x2F800, 0x2FA1D).addRange(0xE0000, 0xE0FFF);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1C4, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C6, 0x1C7).addRange(0x1C9, 0x1CA).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F1).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4);\nset.addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBC, 0x1FBE, 0x1FCC, 0x1FFC, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C5, 0x1C6).addRange(0x1C8, 0x1C9).addRange(0x1CB, 0x1CC).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x1F2, 0x1F3).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7);\nset.addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2053, 0x207B, 0x208B, 0x2212, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\n\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nmodule.exports = set;","const set = require('regenerate')(0xAD, 0x34F, 0x61C, 0x3164, 0xFEFF, 0xFFA0);\n\nset.addRange(0x115F, 0x1160).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0xFE00, 0xFE0F).addRange(0xFFF0, 0xFFF8).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0000, 0xE0FFF);\nmodule.exports = set;","const set = require('regenerate')(0x149, 0x673, 0xF77, 0xF79, 0xE0001);\n\nset.addRange(0x17A3, 0x17A4).addRange(0x206A, 0x206F).addRange(0x2329, 0x232A);\nmodule.exports = set;","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0x37A, 0x559, 0x5BF, 0x5C4, 0x93C, 0x94D, 0x971, 0x9BC, 0x9CD, 0xA3C, 0xA4D, 0xABC, 0xACD, 0xB3C, 0xB4D, 0xB55, 0xBCD, 0xC3C, 0xC4D, 0xCBC, 0xCCD, 0xD4D, 0xDCA, 0xE4E, 0xEBA, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1037, 0x108F, 0x17DD, 0x1A7F, 0x1B34, 0x1B44, 0x1CED, 0x1CF4, 0x1FBD, 0x2E2F, 0x30FC, 0xA66F, 0xA67F, 0xA8C4, 0xA953, 0xA9B3, 0xA9C0, 0xA9E5, 0xAAF6, 0xFB1E, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x102E0, 0x11046, 0x11070, 0x11173, 0x111C0, 0x1133C, 0x1134D, 0x11442, 0x11446, 0x1163F, 0x1172B, 0x11943, 0x119E0, 0x11A34, 0x11A47, 0x11A99, 0x11C3F, 0x11D42, 0x11D97, 0x1E2AE);\n\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x34E).addRange(0x350, 0x357).addRange(0x35D, 0x362).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x487).addRange(0x591, 0x5A1).addRange(0x5A3, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x64B, 0x652).addRange(0x657, 0x658).addRange(0x6DF, 0x6E0).addRange(0x6E5, 0x6E6).addRange(0x6EA, 0x6EC).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x818, 0x819).addRange(0x898, 0x89F).addRange(0x8C9, 0x8D2).addRange(0x8E3, 0x8FE).addRange(0x951, 0x954).addRange(0xAFD, 0xAFF).addRange(0xD3B, 0xD3C).addRange(0xE47, 0xE4C).addRange(0xEC8, 0xECC).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF82, 0xF84).addRange(0xF86, 0xF87).addRange(0x1039, 0x103A).addRange(0x1063, 0x1064).addRange(0x1069, 0x106D).addRange(0x1087, 0x108D).addRange(0x109A, 0x109B).addRange(0x135D, 0x135F).addRange(0x1714, 0x1715).addRange(0x17C9, 0x17D3).addRange(0x1939, 0x193B).addRange(0x1A75, 0x1A7C).addRange(0x1AB0, 0x1ABE).addRange(0x1AC1, 0x1ACB).addRange(0x1B6B, 0x1B73).addRange(0x1BAA, 0x1BAB).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1DC4, 0x1DCF);\nset.addRange(0x1DF5, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x2CEF, 0x2CF1).addRange(0x302A, 0x302F).addRange(0x3099, 0x309C).addRange(0xA67C, 0xA67D).addRange(0xA69C, 0xA69D).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F8, 0xA7F9).addRange(0xA8E0, 0xA8F1).addRange(0xA92B, 0xA92E).addRange(0xAA7B, 0xAA7D).addRange(0xAABF, 0xAAC2).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B).addRange(0xABEC, 0xABED).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10AE5, 0x10AE6).addRange(0x10D22, 0x10D27).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x110B9, 0x110BA).addRange(0x11133, 0x11134).addRange(0x111CA, 0x111CC).addRange(0x11235, 0x11236).addRange(0x112E9, 0x112EA).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x114C2, 0x114C3).addRange(0x115BF, 0x115C0).addRange(0x116B6, 0x116B7).addRange(0x11839, 0x1183A).addRange(0x1193D, 0x1193E).addRange(0x11D44, 0x11D45).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F9F).addRange(0x16FF0, 0x16FF1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE);\nset.addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E946).addRange(0x1E948, 0x1E94A);\nmodule.exports = set;","const set = require('regenerate')(0x23, 0x2A, 0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x260E, 0x2611, 0x2618, 0x261D, 0x2620, 0x2626, 0x262A, 0x2640, 0x2642, 0x2663, 0x2668, 0x267B, 0x2699, 0x26A7, 0x26C8, 0x26D1, 0x26FD, 0x2702, 0x2705, 0x270F, 0x2712, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F21A, 0x1F22F, 0x1F587, 0x1F590, 0x1F5A8, 0x1F5BC, 0x1F5E1, 0x1F5E3, 0x1F5E8, 0x1F5EF, 0x1F5F3, 0x1F6E9, 0x1F6F0, 0x1F7F0);\n\nset.addRange(0x30, 0x39).addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2604).addRange(0x2614, 0x2615).addRange(0x2622, 0x2623).addRange(0x262E, 0x262F).addRange(0x2638, 0x263A).addRange(0x2648, 0x2653).addRange(0x265F, 0x2660).addRange(0x2665, 0x2666).addRange(0x267E, 0x267F).addRange(0x2692, 0x2697).addRange(0x269B, 0x269C).addRange(0x26A0, 0x26A1).addRange(0x26AA, 0x26AB).addRange(0x26B0, 0x26B1).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26CE, 0x26CF).addRange(0x26D3, 0x26D4).addRange(0x26E9, 0x26EA).addRange(0x26F0, 0x26F5).addRange(0x26F7, 0x26FA).addRange(0x2708, 0x270D).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2764).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F170, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F232, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F321).addRange(0x1F324, 0x1F393).addRange(0x1F396, 0x1F397).addRange(0x1F399, 0x1F39B).addRange(0x1F39E, 0x1F3F0).addRange(0x1F3F3, 0x1F3F5).addRange(0x1F3F7, 0x1F4FD);\nset.addRange(0x1F4FF, 0x1F53D).addRange(0x1F549, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F56F, 0x1F570).addRange(0x1F573, 0x1F57A).addRange(0x1F58A, 0x1F58D).addRange(0x1F595, 0x1F596).addRange(0x1F5A4, 0x1F5A5).addRange(0x1F5B1, 0x1F5B2).addRange(0x1F5C2, 0x1F5C4).addRange(0x1F5D1, 0x1F5D3).addRange(0x1F5DC, 0x1F5DE).addRange(0x1F5FA, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6CB, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DD, 0x1F6E5).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F3, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6);\nmodule.exports = set;","const set = require('regenerate')(0x23, 0x2A, 0x200D, 0x20E3, 0xFE0F);\n\nset.addRange(0x30, 0x39).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F3FB, 0x1F3FF).addRange(0x1F9B0, 0x1F9B3).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1F3FB, 0x1F3FF);\nmodule.exports = set;","const set = require('regenerate')(0x261D, 0x26F9, 0x1F385, 0x1F3C7, 0x1F47C, 0x1F48F, 0x1F491, 0x1F4AA, 0x1F57A, 0x1F590, 0x1F6A3, 0x1F6C0, 0x1F6CC, 0x1F90C, 0x1F90F, 0x1F926, 0x1F977, 0x1F9BB);\n\nset.addRange(0x270A, 0x270D).addRange(0x1F3C2, 0x1F3C4).addRange(0x1F3CA, 0x1F3CC).addRange(0x1F442, 0x1F443).addRange(0x1F446, 0x1F450).addRange(0x1F466, 0x1F478).addRange(0x1F481, 0x1F483).addRange(0x1F485, 0x1F487).addRange(0x1F574, 0x1F575).addRange(0x1F595, 0x1F596).addRange(0x1F645, 0x1F647).addRange(0x1F64B, 0x1F64F).addRange(0x1F6B4, 0x1F6B6).addRange(0x1F918, 0x1F91F).addRange(0x1F930, 0x1F939).addRange(0x1F93C, 0x1F93E).addRange(0x1F9B5, 0x1F9B6).addRange(0x1F9B8, 0x1F9B9).addRange(0x1F9CD, 0x1F9CF).addRange(0x1F9D1, 0x1F9DD).addRange(0x1FAC3, 0x1FAC5).addRange(0x1FAF0, 0x1FAF6);\nmodule.exports = set;","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\n\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DD, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6);\nset;\nmodule.exports = set;","const set = require('regenerate')(0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x2388, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F12F, 0x1F18E, 0x1F21A, 0x1F22F);\n\nset.addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2605).addRange(0x2607, 0x2612).addRange(0x2614, 0x2685).addRange(0x2690, 0x2705).addRange(0x2708, 0x2712).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2767).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F000, 0x1F0FF).addRange(0x1F10D, 0x1F10F).addRange(0x1F16C, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1AD, 0x1F1E5).addRange(0x1F201, 0x1F20F).addRange(0x1F232, 0x1F23A).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F3FA).addRange(0x1F400, 0x1F53D).addRange(0x1F546, 0x1F64F).addRange(0x1F680, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D5, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8FF).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1FAFF).addRange(0x1FC00, 0x1FFFD);\nmodule.exports = set;","const set = require('regenerate')(0xB7, 0x640, 0x7FA, 0xB55, 0xE46, 0xEC6, 0x180A, 0x1843, 0x1AA7, 0x1C36, 0x1C7B, 0x3005, 0xA015, 0xA60C, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xFF70, 0x1135D, 0x11A98, 0x16FE3);\n\nset.addRange(0x2D0, 0x2D1).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xAAF3, 0xAAF4).addRange(0x10781, 0x10782).addRange(0x115C6, 0x115C8).addRange(0x16B42, 0x16B43).addRange(0x16FE0, 0x16FE1).addRange(0x1E13C, 0x1E13D).addRange(0x1E944, 0x1E946);\nmodule.exports = set;","const set = require('regenerate')(0x38C, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6DE, 0x6E9, 0x710, 0x7B1, 0x81A, 0x824, 0x828, 0x85E, 0x93B, 0x9B2, 0x9BD, 0x9CE, 0xA03, 0xA5E, 0xA76, 0xA83, 0xAC9, 0xAD0, 0xAF9, 0xB3D, 0xB40, 0xB83, 0xB9C, 0xBBF, 0xBD0, 0xC3D, 0xC5D, 0xD3D, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF36, 0xF38, 0xF7F, 0xF85, 0x1031, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1715, 0x17B6, 0x18AA, 0x1940, 0x1A57, 0x1A61, 0x1B3B, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CD3, 0x1CE1, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA673, 0xA7D3, 0xAA4D, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFDCF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x10EAD, 0x11000, 0x11075, 0x1112C, 0x11235, 0x11288, 0x1133D, 0x1133F, 0x11350, 0x11445, 0x1145D, 0x114B9, 0x114BE, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1183B, 0x11909, 0x1193D, 0x11A00, 0x11A50, 0x11A97, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D46, 0x11D96, 0x11D98, 0x11FB0, 0x16AF5, 0x1BC9C, 0x1BC9F, 0x1D166, 0x1D245, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0);\n\nset.addRange(0x20, 0x7E).addRange(0xA0, 0xAC).addRange(0xAE, 0x2FF).addRange(0x370, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x482).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x606, 0x60F).addRange(0x61D, 0x64A).addRange(0x660, 0x66F).addRange(0x671, 0x6D5).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x70D).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7C0, 0x7EA).addRange(0x7F4, 0x7FA).addRange(0x7FE, 0x815).addRange(0x830, 0x83E).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x903, 0x939).addRange(0x93D, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x950).addRange(0x958, 0x961).addRange(0x964, 0x980).addRange(0x982, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BF, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9E6, 0x9FD).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28);\nset.addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA40).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA6F).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC0).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE1).addRange(0xAE6, 0xAF1).addRange(0xB02, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB66, 0xB77).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xBE6, 0xBFA).addRange(0xC01, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC41, 0xC44).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC66, 0xC6F);\nset.addRange(0xC77, 0xC80).addRange(0xC82, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCBE).addRange(0xCC0, 0xCC1).addRange(0xCC3, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD02, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3F, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD4E, 0xD4F).addRange(0xD54, 0xD56).addRange(0xD58, 0xD61).addRange(0xD66, 0xD7F).addRange(0xD82, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDD0, 0xDD1).addRange(0xDD8, 0xDDE).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE3F, 0xE46).addRange(0xE4F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF17).addRange(0xF1A, 0xF34).addRange(0xF3A, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C);\nset.addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x102C).addRange(0x103B, 0x103C).addRange(0x103F, 0x1057).addRange(0x105A, 0x105D).addRange(0x1061, 0x1070).addRange(0x1075, 0x1081).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x108E, 0x109C).addRange(0x109E, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1360, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1734, 0x1736).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x17D4, 0x17DC).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x180A).addRange(0x1810, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5);\nset.addRange(0x1900, 0x191E).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A16).addRange(0x1A19, 0x1A1A).addRange(0x1A1E, 0x1A55).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1B04, 0x1B33).addRange(0x1B3D, 0x1B41).addRange(0x1B43, 0x1B4C).addRange(0x1B50, 0x1B6A).addRange(0x1B74, 0x1B7E).addRange(0x1B82, 0x1BA1).addRange(0x1BA6, 0x1BA7).addRange(0x1BAE, 0x1BE5).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1BFC, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE);\nset.addRange(0x2000, 0x200A).addRange(0x2010, 0x2027).addRange(0x202F, 0x205F).addRange(0x2070, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2E00, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3029).addRange(0x3030, 0x303F).addRange(0x3041, 0x3096).addRange(0x309B, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67E, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA6F2, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805);\nset.addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA824).addRange(0xA827, 0xA82B).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C3).addRange(0xA8CE, 0xA8D9).addRange(0xA8F2, 0xA8FE).addRange(0xA900, 0xA925).addRange(0xA92E, 0xA946).addRange(0xA952, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA983, 0xA9B2).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9E4).addRange(0xA9E6, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA7B).addRange(0xAA7D, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAAEB).addRange(0xAAEE, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEC).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41);\nset.addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E1, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595);\nset.addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B).addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A00).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A40, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE4).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D23).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F45).addRange(0x10F51, 0x10F59).addRange(0x10F70, 0x10F81).addRange(0x10F86, 0x10F89).addRange(0x10FB0, 0x10FCB);\nset.addRange(0x10FE0, 0x10FF6).addRange(0x11002, 0x11037).addRange(0x11047, 0x1104D).addRange(0x11052, 0x1106F).addRange(0x11071, 0x11072).addRange(0x11082, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11103, 0x11126).addRange(0x11136, 0x11147).addRange(0x11150, 0x11172).addRange(0x11174, 0x11176).addRange(0x11182, 0x111B5).addRange(0x111BF, 0x111C8).addRange(0x111CD, 0x111CE).addRange(0x111D0, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122E).addRange(0x11232, 0x11233).addRange(0x11238, 0x1123D).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112DE).addRange(0x112E0, 0x112E2).addRange(0x112F0, 0x112F9).addRange(0x11302, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11437).addRange(0x11440, 0x11441).addRange(0x11447, 0x1145B).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114B1, 0x114B2).addRange(0x114BB, 0x114BC).addRange(0x114C4, 0x114C7).addRange(0x114D0, 0x114D9);\nset.addRange(0x11580, 0x115AE).addRange(0x115B0, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x115C1, 0x115DB).addRange(0x11600, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x11641, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116AA).addRange(0x116AE, 0x116AF).addRange(0x116B8, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x11720, 0x11721).addRange(0x11730, 0x11746).addRange(0x11800, 0x1182E).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x11931, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193F, 0x11942).addRange(0x11944, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x119E1, 0x119E4).addRange(0x11A0B, 0x11A32).addRange(0x11A39, 0x11A3A).addRange(0x11A3F, 0x11A46).addRange(0x11A57, 0x11A58).addRange(0x11A5C, 0x11A89).addRange(0x11A9A, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2F).addRange(0x11C40, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D93, 0x11D94);\nset.addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF2).addRange(0x11EF5, 0x11EF8).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B37, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F50, 0x16F87).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16D).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA);\nset.addRange(0x1D200, 0x1D241).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA8B).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E900, 0x1E943).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F);\nset.addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF);\nset.addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9BE, 0x9CD, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB4D, 0xB82, 0xBBE, 0xBC0, 0xBCD, 0xBD7, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC2, 0xCC6, 0xD3E, 0xD4D, 0xD57, 0xD81, 0xDCA, 0xDCF, 0xDD6, 0xDDF, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x200C, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x1133E, 0x11340, 0x11357, 0x11446, 0x1145E, 0x114B0, 0x114BA, 0x114BD, 0x115AF, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x11930, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x16FE4, 0x1D165, 0x1DA75, 0x1DA84, 0x1E2AE);\n\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB3E, 0xB3F).addRange(0xB41, 0xB44).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C);\nset.addRange(0xD41, 0xD44).addRange(0xD62, 0xD63).addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B34, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2);\nset.addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE);\nset.addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D);\nset.addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16E, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF26).addRange(0xFF41, 0xFF46);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2FF0, 0x2FF1).addRange(0x2FF4, 0x2FFB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2FF2, 0x2FF3);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);\nset.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7).addRange(0xA8FD, 0xA92D);\nset.addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7);\nset.addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310);\nset.addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09);\nset.addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9D, 0x1BC9E);\nset.addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9);\nset.addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8);\nset.addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96);\nset.addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309B, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42);\nset.addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);\nset.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9);\nset.addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738);\nset.addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x16FE4);\n\nset.addRange(0x3006, 0x3007).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B170, 0x1B2FB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x200C, 0x200D);\nmodule.exports = set;","const set = require('regenerate')(0x19BA, 0xAAB9);\n\nset.addRange(0xE40, 0xE44).addRange(0xEC0, 0xEC4).addRange(0x19B5, 0x19B7).addRange(0xAAB5, 0xAAB6).addRange(0xAABB, 0xAABC);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x2071, 0x207F, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0x10780, 0x1D4BB, 0x1D7CB);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x37A, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1DBF).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2090, 0x209C).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7D).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA69B, 0xA69D).addRange(0xA72F, 0xA731).addRange(0xA76F, 0xA778).addRange(0xA793, 0xA795).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607);\nset.addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x2B, 0x5E, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3D5, 0x2016, 0x2040, 0x2044, 0x2052, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x214B, 0x21DD, 0x237C, 0x23B7, 0x23D0, 0x25E2, 0x25E4, 0x2640, 0x2642, 0xFB29, 0xFE68, 0xFF0B, 0xFF3C, 0xFF3E, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x3C, 0x3E).addRange(0x3D0, 0x3D2).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F6).addRange(0x606, 0x608).addRange(0x2032, 0x2034).addRange(0x2061, 0x2064).addRange(0x207A, 0x207E).addRange(0x208A, 0x208E).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20E6).addRange(0x20EB, 0x20EF).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x2128, 0x2129).addRange(0x212C, 0x212D).addRange(0x212F, 0x2131).addRange(0x2133, 0x2138).addRange(0x213C, 0x2149).addRange(0x2190, 0x21A7).addRange(0x21A9, 0x21AE).addRange(0x21B0, 0x21B1).addRange(0x21B6, 0x21B7).addRange(0x21BC, 0x21DB).addRange(0x21E4, 0x21E5).addRange(0x21F4, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B5).addRange(0x23DC, 0x23E2).addRange(0x25A0, 0x25A1).addRange(0x25AE, 0x25B7).addRange(0x25BC, 0x25C1).addRange(0x25C6, 0x25C7).addRange(0x25CA, 0x25CB).addRange(0x25CF, 0x25D3).addRange(0x25E7, 0x25EC).addRange(0x25F8, 0x25FF).addRange(0x2605, 0x2606).addRange(0x2660, 0x2663).addRange(0x266D, 0x266F).addRange(0x27C0, 0x27FF).addRange(0x2900, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE61, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);\nset.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xFDD0, 0xFDEF).addRange(0xFFFE, 0xFFFF).addRange(0x1FFFE, 0x1FFFF).addRange(0x2FFFE, 0x2FFFF).addRange(0x3FFFE, 0x3FFFF).addRange(0x4FFFE, 0x4FFFF).addRange(0x5FFFE, 0x5FFFF).addRange(0x6FFFE, 0x6FFFF).addRange(0x7FFFE, 0x7FFFF).addRange(0x8FFFE, 0x8FFFF).addRange(0x9FFFE, 0x9FFFF).addRange(0xAFFFE, 0xAFFFF).addRange(0xBFFFE, 0xBFFFF).addRange(0xCFFFE, 0xCFFFF).addRange(0xDFFFE, 0xDFFFF).addRange(0xEFFFE, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nmodule.exports = set;","const set = require('regenerate')(0x60, 0xA9, 0xAE, 0xB6, 0xBB, 0xBF, 0xD7, 0xF7, 0x3030);\n\nset.addRange(0x21, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x7E).addRange(0xA1, 0xA7).addRange(0xAB, 0xAC).addRange(0xB0, 0xB1).addRange(0x2010, 0x2027).addRange(0x2030, 0x203E).addRange(0x2041, 0x2053).addRange(0x2055, 0x205E).addRange(0x2190, 0x245F).addRange(0x2500, 0x2775).addRange(0x2794, 0x2BFF).addRange(0x2E00, 0x2E7F).addRange(0x3001, 0x3003).addRange(0x3008, 0x3020).addRange(0xFD3E, 0xFD3F).addRange(0xFE45, 0xFE46);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0x85);\n\nset.addRange(0x9, 0xD).addRange(0x200E, 0x200F).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')(0x22, 0x27, 0xAB, 0xBB, 0x2E42, 0xFF02, 0xFF07);\n\nset.addRange(0x2018, 0x201F).addRange(0x2039, 0x203A).addRange(0x300C, 0x300F).addRange(0x301D, 0x301F).addRange(0xFE41, 0xFE44).addRange(0xFF62, 0xFF63);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1F1E6, 0x1F1FF);\nmodule.exports = set;","const set = require('regenerate')(0x21, 0x2E, 0x3F, 0x589, 0x6D4, 0x7F9, 0x837, 0x839, 0x1362, 0x166E, 0x1803, 0x1809, 0x2E2E, 0x2E3C, 0x3002, 0xA4FF, 0xA6F3, 0xA6F7, 0xA92F, 0xABEB, 0xFE52, 0xFF01, 0xFF0E, 0xFF1F, 0xFF61, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x16AF5, 0x16B44, 0x16E98, 0x1BC9F, 0x1DA88);\n\nset.addRange(0x61D, 0x61F).addRange(0x700, 0x702).addRange(0x83D, 0x83E).addRange(0x964, 0x965).addRange(0x104A, 0x104B).addRange(0x1367, 0x1368).addRange(0x1735, 0x1736).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5E, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3C).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E53, 0x2E54).addRange(0xA60E, 0xA60F).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C8, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE56, 0xFE57).addRange(0x10A56, 0x10A57).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x11048).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x11239).addRange(0x1123B, 0x1123C).addRange(0x1144B, 0x1144C).addRange(0x115C2, 0x115C3).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11C41, 0x11C42).addRange(0x11EF7, 0x11EF8).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B38);\nmodule.exports = set;","const set = require('regenerate')(0x12F, 0x249, 0x268, 0x29D, 0x2B2, 0x3F3, 0x456, 0x458, 0x1D62, 0x1D96, 0x1DA4, 0x1DA8, 0x1E2D, 0x1ECB, 0x2071, 0x2C7C, 0x1DF1A);\n\nset.addRange(0x69, 0x6A).addRange(0x2148, 0x2149).addRange(0x1D422, 0x1D423).addRange(0x1D456, 0x1D457).addRange(0x1D48A, 0x1D48B).addRange(0x1D4BE, 0x1D4BF).addRange(0x1D4F2, 0x1D4F3).addRange(0x1D526, 0x1D527).addRange(0x1D55A, 0x1D55B).addRange(0x1D58E, 0x1D58F).addRange(0x1D5C2, 0x1D5C3).addRange(0x1D5F6, 0x1D5F7).addRange(0x1D62A, 0x1D62B).addRange(0x1D65E, 0x1D65F).addRange(0x1D692, 0x1D693);\nmodule.exports = set;","const set = require('regenerate')(0x21, 0x2C, 0x2E, 0x3F, 0x37E, 0x387, 0x589, 0x5C3, 0x60C, 0x61B, 0x6D4, 0x70C, 0x85E, 0xF08, 0x166E, 0x17DA, 0x2E2E, 0x2E3C, 0x2E41, 0x2E4C, 0xA92F, 0xAADF, 0xABEB, 0xFF01, 0xFF0C, 0xFF0E, 0xFF1F, 0xFF61, 0xFF64, 0x1039F, 0x103D0, 0x10857, 0x1091F, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x11C71, 0x16AF5, 0x16B44, 0x1BC9F);\n\nset.addRange(0x3A, 0x3B).addRange(0x61D, 0x61F).addRange(0x700, 0x70A).addRange(0x7F8, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF0D, 0xF12).addRange(0x104A, 0x104B).addRange(0x1361, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x1802, 0x1805).addRange(0x1808, 0x1809).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5D, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E4E, 0x2E4F).addRange(0x2E53, 0x2E54).addRange(0x3001, 0x3002).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F3, 0xA6F7).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C7, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFF1A, 0xFF1B).addRange(0x10A56, 0x10A57).addRange(0x10AF0, 0x10AF5).addRange(0x10B3A, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x1123C).addRange(0x1144B, 0x1144D);\nset.addRange(0x1145A, 0x1145B).addRange(0x115C2, 0x115C5).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11AA1, 0x11AA2).addRange(0x11C41, 0x11C43).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B39).addRange(0x16E97, 0x16E98).addRange(0x1DA87, 0x1DA8A);\nmodule.exports = set;","const set = require('regenerate')(0xFA11, 0xFA1F, 0xFA21);\n\nset.addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xFA0E, 0xFA0F).addRange(0xFA13, 0xFA14).addRange(0xFA23, 0xFA24).addRange(0xFA27, 0xFA29).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2160, 0x216F);\nset.addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nmodule.exports = set;","const set = require('regenerate')(0x180F);\n\nset.addRange(0x180B, 0x180D).addRange(0xFE00, 0xFE0F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0x85, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\n\nset.addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);\nset.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309A).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7);\nset.addRange(0xA8FD, 0xA92D).addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE7F, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE);\nset.addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939);\nset.addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C);\nset.addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99);\nset.addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE);\nset.addRange(0x1E2C0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE32, 0xE84, 0xEA5, 0xEB2, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE);\nset.addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76);\nset.addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE7F, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0);\nset.addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2);\nset.addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32);\nset.addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3);\nset.addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D);\nset.addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0xA7FA, 0x1D4A2, 0x1D4BB, 0x1D546);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2AF).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184);\nset.addRange(0x2C00, 0x2C7B).addRange(0x2C7E, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA76F).addRange(0xA771, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550);\nset.addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E900, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x29, 0x5D, 0x7D, 0xF3B, 0xF3D, 0x169C, 0x2046, 0x207E, 0x208E, 0x2309, 0x230B, 0x232A, 0x2769, 0x276B, 0x276D, 0x276F, 0x2771, 0x2773, 0x2775, 0x27C6, 0x27E7, 0x27E9, 0x27EB, 0x27ED, 0x27EF, 0x2984, 0x2986, 0x2988, 0x298A, 0x298C, 0x298E, 0x2990, 0x2992, 0x2994, 0x2996, 0x2998, 0x29D9, 0x29DB, 0x29FD, 0x2E23, 0x2E25, 0x2E27, 0x2E29, 0x2E56, 0x2E58, 0x2E5A, 0x2E5C, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301B, 0xFD3E, 0xFE18, 0xFE36, 0xFE38, 0xFE3A, 0xFE3C, 0xFE3E, 0xFE40, 0xFE42, 0xFE44, 0xFE48, 0xFE5A, 0xFE5C, 0xFE5E, 0xFF09, 0xFF3D, 0xFF5D, 0xFF60, 0xFF63);\n\nset.addRange(0x301E, 0x301F);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0x2054, 0xFF3F);\n\nset.addRange(0x203F, 0x2040).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F);\nmodule.exports = set;","const set = require('regenerate')(0x24, 0x58F, 0x60B, 0x9FB, 0xAF1, 0xBF9, 0xE3F, 0x17DB, 0xA838, 0xFDFC, 0xFE69, 0xFF04, 0x1E2FF, 0x1ECB0);\n\nset.addRange(0xA2, 0xA5).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x20A0, 0x20C0).addRange(0xFFE0, 0xFFE1).addRange(0xFFE5, 0xFFE6).addRange(0x11FDD, 0x11FE0);\nmodule.exports = set;","const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\n\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x30, 0x39).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xBE6, 0xBEF).addRange(0xC66, 0xC6F).addRange(0xCE6, 0xCEF).addRange(0xD66, 0xD6F).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF29).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x17E0, 0x17E9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19D9).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0xA620, 0xA629).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x104A0, 0x104A9).addRange(0x10D30, 0x10D39).addRange(0x11066, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x11739).addRange(0x118E0, 0x118E9).addRange(0x11950, 0x11959);\nset.addRange(0x11C50, 0x11C59).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E950, 0x1E959).addRange(0x1FBF0, 0x1FBF9);\nmodule.exports = set;","const set = require('regenerate')(0x1ABE);\n\nset.addRange(0x488, 0x489).addRange(0x20DD, 0x20E0).addRange(0x20E2, 0x20E4).addRange(0xA670, 0xA672);\nmodule.exports = set;","const set = require('regenerate')(0xBB, 0x2019, 0x201D, 0x203A, 0x2E03, 0x2E05, 0x2E0A, 0x2E0D, 0x2E1D, 0x2E21);\n\nmodule.exports = set;","const set = require('regenerate')(0xAD, 0x61C, 0x6DD, 0x70F, 0x8E2, 0x180E, 0xFEFF, 0x110BD, 0x110CD, 0xE0001);\n\nset.addRange(0x600, 0x605).addRange(0x890, 0x891).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0xFFF9, 0xFFFB).addRange(0x13430, 0x13438).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')(0xAB, 0x2018, 0x201F, 0x2039, 0x2E02, 0x2E04, 0x2E09, 0x2E0C, 0x2E1C, 0x2E20);\n\nset.addRange(0x201B, 0x201C);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884);\nset.addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3006).addRange(0x3031, 0x3035).addRange(0x303B, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6E5).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28);\nset.addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);\nset.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3);\nset.addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D);\nset.addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x3007, 0x10341, 0x1034A);\n\nset.addRange(0x16EE, 0x16F0).addRange(0x2160, 0x2182).addRange(0x2185, 0x2188).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0xA6E6, 0xA6EF).addRange(0x10140, 0x10174).addRange(0x103D1, 0x103D5).addRange(0x12400, 0x1246E);\nmodule.exports = set;","const set = require('regenerate')(0x2028);\n\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0xA7FA, 0x1D4BB, 0x1D7CB);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2AF).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7B).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA72F, 0xA731).addRange(0xA771, 0xA778).addRange(0xA793, 0xA795).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607).addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E);\nset.addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x9BC, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xB3C, 0xB82, 0xBD7, 0xC3C, 0xCBC, 0xD57, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x108F, 0x17DD, 0x180F, 0x18A9, 0x1A7F, 0x1CED, 0x1CF4, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9E5, 0xAA43, 0xAAB0, 0xAAC1, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11070, 0x110C2, 0x11173, 0x1123E, 0x11357, 0x1145E, 0x11940, 0x119E4, 0x11A47, 0x11D3A, 0x11D47, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E2AE);\n\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x903).addRange(0x93A, 0x93C).addRange(0x93E, 0x94F).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x981, 0x983).addRange(0x9BE, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CD).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA03).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA83).addRange(0xABE, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB3E, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD);\nset.addRange(0xC00, 0xC04).addRange(0xC3E, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xC81, 0xC83).addRange(0xCBE, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD03).addRange(0xD3B, 0xD3C).addRange(0xD3E, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4D).addRange(0xD62, 0xD63).addRange(0xD81, 0xD83).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF71, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102B, 0x103E).addRange(0x1056, 0x1059).addRange(0x105E, 0x1060).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1071, 0x1074).addRange(0x1082, 0x108D).addRange(0x109A, 0x109D).addRange(0x135D, 0x135F).addRange(0x1712, 0x1715).addRange(0x1732, 0x1734).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1A17, 0x1A1B);\nset.addRange(0x1A55, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B04).addRange(0x1B34, 0x1B44).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B82).addRange(0x1BA1, 0x1BAD).addRange(0x1BE6, 0x1BF3).addRange(0x1C24, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA823, 0xA827).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA953).addRange(0xA980, 0xA983).addRange(0xA9B3, 0xA9C0).addRange(0xAA29, 0xAA36).addRange(0xAA4C, 0xAA4D).addRange(0xAA7B, 0xAA7D).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEB, 0xAAEF).addRange(0xAAF5, 0xAAF6).addRange(0xABE3, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC);\nset.addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11000, 0x11002).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11082).addRange(0x110B0, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x11134).addRange(0x11145, 0x11146).addRange(0x11180, 0x11182).addRange(0x111B3, 0x111C0).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111CF).addRange(0x1122C, 0x11237).addRange(0x112DF, 0x112EA).addRange(0x11300, 0x11303).addRange(0x1133B, 0x1133C).addRange(0x1133E, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11435, 0x11446).addRange(0x114B0, 0x114C3).addRange(0x115AF, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11630, 0x11640).addRange(0x116AB, 0x116B7).addRange(0x1171D, 0x1172B).addRange(0x1182C, 0x1183A).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193E).addRange(0x11942, 0x11943).addRange(0x119D1, 0x119D7).addRange(0x119DA, 0x119E0).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A39).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A5B).addRange(0x11A8A, 0x11A99).addRange(0x11C2F, 0x11C36).addRange(0x11C38, 0x11C3F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45);\nset.addRange(0x11D8A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D97).addRange(0x11EF3, 0x11EF6).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F51, 0x16F87).addRange(0x16F8F, 0x16F92).addRange(0x16FF0, 0x16FF1).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0x2B, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3F6, 0x2044, 0x2052, 0x2118, 0x214B, 0x21A0, 0x21A3, 0x21A6, 0x21AE, 0x21D2, 0x21D4, 0x237C, 0x25B7, 0x25C1, 0x266F, 0xFB29, 0xFE62, 0xFF0B, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3);\n\nset.addRange(0x3C, 0x3E).addRange(0x606, 0x608).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x2140, 0x2144).addRange(0x2190, 0x2194).addRange(0x219A, 0x219B).addRange(0x21CE, 0x21CF).addRange(0x21F4, 0x22FF).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B3).addRange(0x23DC, 0x23E1).addRange(0x25F8, 0x25FF).addRange(0x27C0, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x27FF).addRange(0x2900, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')(0x2EC, 0x2EE, 0x374, 0x37A, 0x559, 0x640, 0x7FA, 0x81A, 0x824, 0x828, 0x8C9, 0x971, 0xE46, 0xEC6, 0x10FC, 0x17D7, 0x1843, 0x1AA7, 0x1D78, 0x2071, 0x207F, 0x2D6F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA788, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xAB69, 0xFF70, 0x16FE3, 0x1E94B);\n\nset.addRange(0x2B0, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x6E5, 0x6E6).addRange(0x7F4, 0x7F5).addRange(0x1C78, 0x1C7D).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x2090, 0x209C).addRange(0x2C7C, 0x2C7D).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA69C, 0xA69D).addRange(0xA717, 0xA71F).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xAAF3, 0xAAF4).addRange(0xAB5C, 0xAB5F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x16B40, 0x16B43).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1E137, 0x1E13D);\nmodule.exports = set;","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0xB8, 0x2ED, 0x375, 0x888, 0x1FBD, 0xAB5B, 0xFF3E, 0xFF40, 0xFFE3);\n\nset.addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x309B, 0x309C).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0x1F3FB, 0x1F3FF);\nmodule.exports = set;","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x20E1, 0x2D7F, 0xA66F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E2AE);\n\nset.addRange(0x300, 0x36F).addRange(0x483, 0x487).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231);\nset.addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169);\nset.addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xB9, 0x2070, 0x2CFD, 0x3007, 0x10341, 0x1034A);\n\nset.addRange(0x30, 0x39).addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0x9F4, 0x9F9).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xB72, 0xB77).addRange(0xBE6, 0xBF2).addRange(0xC66, 0xC6F).addRange(0xC78, 0xC7E).addRange(0xCE6, 0xCEF).addRange(0xD58, 0xD5E).addRange(0xD66, 0xD78).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF33).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x1369, 0x137C).addRange(0x16EE, 0x16F0).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19DA).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x2182).addRange(0x2185, 0x2189).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F);\nset.addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA620, 0xA629).addRange(0xA6E6, 0xA6EF).addRange(0xA830, 0xA835).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x10107, 0x10133).addRange(0x10140, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x103D1, 0x103D5).addRange(0x104A0, 0x104A9).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x111E1, 0x111F4).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x1173B);\nset.addRange(0x118E0, 0x118F2).addRange(0x11950, 0x11959).addRange(0x11C50, 0x11C6C).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x11FC0, 0x11FD4).addRange(0x12400, 0x1246E).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E950, 0x1E959).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C).addRange(0x1FBF0, 0x1FBF9);\nmodule.exports = set;","const set = require('regenerate')(0x28, 0x5B, 0x7B, 0xF3A, 0xF3C, 0x169B, 0x201A, 0x201E, 0x2045, 0x207D, 0x208D, 0x2308, 0x230A, 0x2329, 0x2768, 0x276A, 0x276C, 0x276E, 0x2770, 0x2772, 0x2774, 0x27C5, 0x27E6, 0x27E8, 0x27EA, 0x27EC, 0x27EE, 0x2983, 0x2985, 0x2987, 0x2989, 0x298B, 0x298D, 0x298F, 0x2991, 0x2993, 0x2995, 0x2997, 0x29D8, 0x29DA, 0x29FC, 0x2E22, 0x2E24, 0x2E26, 0x2E28, 0x2E42, 0x2E55, 0x2E57, 0x2E59, 0x2E5B, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301A, 0x301D, 0xFD3F, 0xFE17, 0xFE35, 0xFE37, 0xFE39, 0xFE3B, 0xFE3D, 0xFE3F, 0xFE41, 0xFE43, 0xFE47, 0xFE59, 0xFE5B, 0xFE5D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F, 0xFF62);\n\nmodule.exports = set;","const set = require('regenerate')(0xAD, 0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x61C, 0x6DD, 0x83F, 0x85F, 0x8E2, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x180E, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x110BD, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x1246F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FB93);\n\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F).addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x605).addRange(0x70E, 0x70F).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x88F, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D);\nset.addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7).addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF3, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xECE, 0xECF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF);\nset.addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E).addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F);\nset.addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E).addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xF8FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF);\nset.addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFF00).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1).addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFFB).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E);\nset.addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38).addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFF).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x1123F, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F);\nset.addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C).addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x1342F, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF);\nset.addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B14F).addRange(0x1B153, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA0, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D173, 0x1D17A).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26);\nset.addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF).addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DC).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D9, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA75, 0x1FA77).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA87, 0x1FA8F).addRange(0x1FAAD, 0x1FAAF).addRange(0x1FABB, 0x1FABF).addRange(0x1FAC6, 0x1FACF).addRange(0x1FADA, 0x1FADF).addRange(0x1FAE8, 0x1FAEF).addRange(0x1FAF7, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B739, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0xE00FF).addRange(0xE01F0, 0x10FFFF);\nset;\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xBA, 0x1BB, 0x294, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xF00, 0x103F, 0x1061, 0x108E, 0x1258, 0x12C0, 0x17DC, 0x18AA, 0x1CFA, 0x3006, 0x303C, 0x309F, 0x30FF, 0xA66E, 0xA78F, 0xA7F7, 0xA8FB, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xAAF2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x1DF0A, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x1C0, 0x1C3).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C8).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x972, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39);\nset.addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE45).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066);\nset.addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x1100, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1842).addRange(0x1844, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C77).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6);\nset.addRange(0x2135, 0x2138).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3041, 0x3096).addRange(0x30A1, 0x30FA).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA014).addRange(0xA016, 0xA48C).addRange(0xA4D0, 0xA4F7).addRange(0xA500, 0xA60B).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA6A0, 0xA6E5).addRange(0xA7FB, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E7, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA6F).addRange(0xAA71, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADC).addRange(0xAAE0, 0xAAEA).addRange(0xAB01, 0xAB06);\nset.addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xABC0, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10450, 0x1049D).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330);\nset.addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16F00, 0x16F4A).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B000, 0x1B122);\nset.addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1E100, 0x1E12C).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0xB9, 0x19DA, 0x2070, 0x2189, 0x2CFD);\n\nset.addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x9F4, 0x9F9).addRange(0xB72, 0xB77).addRange(0xBF0, 0xBF2).addRange(0xC78, 0xC7E).addRange(0xD58, 0xD5E).addRange(0xD70, 0xD78).addRange(0xF2A, 0xF33).addRange(0x1369, 0x137C).addRange(0x17F0, 0x17F9).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x215F).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F).addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA830, 0xA835).addRange(0x10107, 0x10133).addRange(0x10175, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x11065).addRange(0x111E1, 0x111F4);\nset.addRange(0x1173A, 0x1173B).addRange(0x118EA, 0x118F2).addRange(0x11C5A, 0x11C6C).addRange(0x11FC0, 0x11FD4).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1E8C7, 0x1E8CF).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C);\nmodule.exports = set;","const set = require('regenerate')(0x2A, 0x2C, 0x5C, 0xA1, 0xA7, 0xBF, 0x37E, 0x387, 0x589, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x166E, 0x1CD3, 0x2053, 0x2D70, 0x2E0B, 0x2E1B, 0x2E41, 0x303D, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE19, 0xFE30, 0xFE68, 0xFF0A, 0xFF0C, 0xFF3C, 0xFF61, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\n\nset.addRange(0x21, 0x23).addRange(0x25, 0x27).addRange(0x2E, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x1805).addRange(0x1807, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2016, 0x2017).addRange(0x2020, 0x2027).addRange(0x2030, 0x2038).addRange(0x203B, 0x203E).addRange(0x2041, 0x2043).addRange(0x2047, 0x2051).addRange(0x2055, 0x205E).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E01).addRange(0x2E06, 0x2E08).addRange(0x2E0E, 0x2E16).addRange(0x2E18, 0x2E19);\nset.addRange(0x2E1E, 0x2E1F).addRange(0x2E2A, 0x2E2E).addRange(0x2E30, 0x2E39).addRange(0x2E3C, 0x2E3F).addRange(0x2E43, 0x2E4F).addRange(0x2E52, 0x2E54).addRange(0x3001, 0x3003).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFE10, 0xFE16).addRange(0xFE45, 0xFE46).addRange(0xFE49, 0xFE4C).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFE5F, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF07).addRange(0xFF0E, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF64, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D).addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643);\nset.addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')(0xA6, 0xA9, 0xAE, 0xB0, 0x482, 0x6DE, 0x6E9, 0x7F6, 0x9FA, 0xB70, 0xBFA, 0xC7F, 0xD4F, 0xD79, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x1940, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214A, 0x214F, 0x21D3, 0x3004, 0x3020, 0x3250, 0xA839, 0xFDCF, 0xFFE4, 0xFFE8, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1E14F, 0x1ECAC, 0x1ED2E, 0x1F7F0);\n\nset.addRange(0x58D, 0x58E).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0xBF3, 0xBF8).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2117).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x214C, 0x214D).addRange(0x218A, 0x218B).addRange(0x2195, 0x2199).addRange(0x219C, 0x219F).addRange(0x21A1, 0x21A2).addRange(0x21A4, 0x21A5).addRange(0x21A7, 0x21AD).addRange(0x21AF, 0x21CD).addRange(0x21D0, 0x21D1).addRange(0x21D5, 0x21F3).addRange(0x2300, 0x2307).addRange(0x230C, 0x231F).addRange(0x2322, 0x2328).addRange(0x232B, 0x237B).addRange(0x237D, 0x239A).addRange(0x23B4, 0x23DB).addRange(0x23E2, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9).addRange(0x2500, 0x25B6).addRange(0x25B8, 0x25C0).addRange(0x25C2, 0x25F7).addRange(0x2600, 0x266E).addRange(0x2670, 0x2767).addRange(0x2794, 0x27BF).addRange(0x2800, 0x28FF).addRange(0x2B00, 0x2B2F).addRange(0x2B45, 0x2B46).addRange(0x2B4D, 0x2B73);\nset.addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA837).addRange(0xAA77, 0xAA79).addRange(0xFD40, 0xFD4F).addRange(0xFDFD, 0xFDFF).addRange(0xFFED, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FDC).addRange(0x11FE1, 0x11FF1).addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83);\nset.addRange(0x1DA85, 0x1DA86).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F3FA).addRange(0x1F400, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);\nmodule.exports = set;","const set = require('regenerate')(0x2029);\n\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xE000, 0xF8FF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0x7B, 0x7D, 0xA1, 0xA7, 0xAB, 0xBB, 0xBF, 0x37E, 0x387, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x1400, 0x166E, 0x1CD3, 0x2D70, 0x3030, 0x303D, 0x30A0, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE63, 0xFE68, 0xFF3F, 0xFF5B, 0xFF5D, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x10EAD, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\n\nset.addRange(0x21, 0x23).addRange(0x25, 0x2A).addRange(0x2C, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0x5B, 0x5D).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x589, 0x58A).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xF3A, 0xF3D).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x169B, 0x169C).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2010, 0x2027).addRange(0x2030, 0x2043).addRange(0x2045, 0x2051).addRange(0x2053, 0x205E).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2308, 0x230B).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C5, 0x27C6);\nset.addRange(0x27E6, 0x27EF).addRange(0x2983, 0x2998).addRange(0x29D8, 0x29DB).addRange(0x29FC, 0x29FD).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E2E).addRange(0x2E30, 0x2E4F).addRange(0x2E52, 0x2E5D).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3014, 0x301F).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF0A).addRange(0xFF0C, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF3B, 0xFF3D).addRange(0xFF5F, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D);\nset.addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643).addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\n\nset.addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\n\nset.addRange(0x2000, 0x200A);\nmodule.exports = set;","const set = require('regenerate')(0x903, 0x93B, 0x9D7, 0xA03, 0xA83, 0xAC9, 0xB3E, 0xB40, 0xB57, 0xBD7, 0xCBE, 0xD57, 0xF7F, 0x1031, 0x1038, 0x108F, 0x1715, 0x1734, 0x17B6, 0x1A55, 0x1A57, 0x1A61, 0x1B04, 0x1B35, 0x1B3B, 0x1B82, 0x1BA1, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CE1, 0x1CF7, 0xA827, 0xA983, 0xAA4D, 0xAA7B, 0xAA7D, 0xAAEB, 0xAAF5, 0xABEC, 0x11000, 0x11002, 0x11082, 0x1112C, 0x11182, 0x111CE, 0x11235, 0x11357, 0x11445, 0x114B9, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1193D, 0x11940, 0x11942, 0x119E4, 0x11A39, 0x11A97, 0x11C2F, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D96);\n\nset.addRange(0x93E, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x94F).addRange(0x982, 0x983).addRange(0x9BE, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0xA3E, 0xA40).addRange(0xABE, 0xAC0).addRange(0xACB, 0xACC).addRange(0xB02, 0xB03).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xBBE, 0xBBF).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC01, 0xC03).addRange(0xC41, 0xC44).addRange(0xC82, 0xC83).addRange(0xCC0, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCD5, 0xCD6).addRange(0xD02, 0xD03).addRange(0xD3E, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD82, 0xD83).addRange(0xDCF, 0xDD1).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xF3E, 0xF3F).addRange(0x102B, 0x102C).addRange(0x103B, 0x103C).addRange(0x1056, 0x1057).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x109A, 0x109C).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1A19, 0x1A1A).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1B3D, 0x1B41);\nset.addRange(0x1B43, 0x1B44).addRange(0x1BA6, 0x1BA7).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1C24, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x302E, 0x302F).addRange(0xA823, 0xA824).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C3).addRange(0xA952, 0xA953).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9C0).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAAEE, 0xAAEF).addRange(0xABE3, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEA).addRange(0x110B0, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x11145, 0x11146).addRange(0x111B3, 0x111B5).addRange(0x111BF, 0x111C0).addRange(0x1122C, 0x1122E).addRange(0x11232, 0x11233).addRange(0x112E0, 0x112E2).addRange(0x11302, 0x11303).addRange(0x1133E, 0x1133F).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11435, 0x11437).addRange(0x11440, 0x11441).addRange(0x114B0, 0x114B2).addRange(0x114BB, 0x114BE).addRange(0x115AF, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x11630, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x116AE, 0x116AF).addRange(0x11720, 0x11721).addRange(0x1182C, 0x1182E).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x119D1, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x11A57, 0x11A58).addRange(0x11D8A, 0x11D8E);\nset.addRange(0x11D93, 0x11D94).addRange(0x11EF5, 0x11EF6).addRange(0x16F51, 0x16F87).addRange(0x16FF0, 0x16FF1).addRange(0x1D165, 0x1D166).addRange(0x1D16D, 0x1D172);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xD800, 0xDFFF);\nmodule.exports = set;","const set = require('regenerate')(0x24, 0x2B, 0x5E, 0x60, 0x7C, 0x7E, 0xAC, 0xB4, 0xB8, 0xD7, 0xF7, 0x2ED, 0x375, 0x3F6, 0x482, 0x60B, 0x6DE, 0x6E9, 0x7F6, 0x888, 0xAF1, 0xB70, 0xC7F, 0xD4F, 0xD79, 0xE3F, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x17DB, 0x1940, 0x1FBD, 0x2044, 0x2052, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214F, 0x3004, 0x3020, 0x3250, 0xAB5B, 0xFB29, 0xFDCF, 0xFE62, 0xFE69, 0xFF04, 0xFF0B, 0xFF3E, 0xFF40, 0xFF5C, 0xFF5E, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3, 0x1E14F, 0x1E2FF, 0x1ECAC, 0x1ECB0, 0x1ED2E, 0x1F7F0);\n\nset.addRange(0x3C, 0x3E).addRange(0xA2, 0xA6).addRange(0xA8, 0xA9).addRange(0xAE, 0xB1).addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x58D, 0x58F).addRange(0x606, 0x608).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x9FA, 0x9FB).addRange(0xBF3, 0xBFA).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2118).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x2140, 0x2144).addRange(0x214A, 0x214D).addRange(0x218A, 0x218B).addRange(0x2190, 0x2307).addRange(0x230C, 0x2328).addRange(0x232B, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9);\nset.addRange(0x2500, 0x2767).addRange(0x2794, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x309B, 0x309C).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA839).addRange(0xAA77, 0xAA79).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0xFD40, 0xFD4F).addRange(0xFDFC, 0xFDFF).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FF1);\nset.addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA86).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7);\nset.addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);\nmodule.exports = set;","const set = require('regenerate')(0x1C5, 0x1C8, 0x1CB, 0x1F2, 0x1FBC, 0x1FCC, 0x1FFC);\n\nset.addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF);\nmodule.exports = set;","const set = require('regenerate')(0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x70E, 0x83F, 0x85F, 0x88F, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x2065, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFF00, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x1246F, 0x1342F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FB93);\n\nset.addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x5FF).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x892, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D).addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7);\nset.addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF3, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xECE, 0xECF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF).addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E);\nset.addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F).addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E);\nset.addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xD7FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF).addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFEFE).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1);\nset.addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFF8).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E).addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38);\nset.addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFF).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CC).addRange(0x110CE, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x1123F, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F).addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C);\nset.addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x13439, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF).addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B14F);\nset.addRange(0x1B153, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA4, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26).addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF);\nset.addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DC).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D9, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA75, 0x1FA77).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA87, 0x1FA8F).addRange(0x1FAAD, 0x1FAAF).addRange(0x1FABB, 0x1FABF).addRange(0x1FAC6, 0x1FACF).addRange(0x1FADA, 0x1FADF).addRange(0x1FAE8, 0x1FAEF).addRange(0x1FAF7, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B739, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0xE0000).addRange(0xE0002, 0xE001F).addRange(0xE0080, 0xE00FF).addRange(0xE01F0, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nmodule.exports = set;","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2C00, 0x2C2F);\nset.addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x14400, 0x14646);\nmodule.exports = set;","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x600, 0x604).addRange(0x606, 0x60B).addRange(0x60D, 0x61A).addRange(0x61C, 0x61E).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x656, 0x66F).addRange(0x671, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD3D).addRange(0xFD40, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x10E60, 0x10E7E).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nmodule.exports = set;","const set = require('regenerate')(0x9B2, 0x9D7);\n\nset.addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2EA, 0x2EB).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF);\nmodule.exports = set;","const set = require('regenerate')(0x1107F);\n\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2800, 0x28FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1740, 0x1753);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x102A0, 0x102D0);\nmodule.exports = set;","const set = require('regenerate')(0x1056F);\n\nset.addRange(0x10530, 0x10563);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FB0, 0x10FCB);\nmodule.exports = set;","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x60C, 0x61B, 0x61F, 0x640, 0x6DD, 0x8E2, 0xE3F, 0x10FB, 0x1805, 0x1CD3, 0x1CE1, 0x1CFA, 0x3006, 0x30A0, 0x32FF, 0xA92E, 0xA9CF, 0xAB5B, 0xFEFF, 0xFF70, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\n\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0x964, 0x965).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x1802, 0x1803).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x2000, 0x200B).addRange(0x200E, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3004).addRange(0x3008, 0x3020).addRange(0x3030, 0x3037).addRange(0x303C, 0x303F).addRange(0x309B, 0x309C).addRange(0x30FB, 0x30FC).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x325F).addRange(0x327F, 0x32CF).addRange(0x3358, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA830, 0xA839);\nset.addRange(0xAB6A, 0xAB6B).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF9, 0xFFFD).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x102E1, 0x102FB).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D);\nset.addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nmodule.exports = set;","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\n\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x12F90, 0x12FF2);\nmodule.exports = set;","const set = require('regenerate')(0x1D2B, 0x1D78);\n\nset.addRange(0x400, 0x484).addRange(0x487, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10400, 0x1044F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x900, 0x950).addRange(0x955, 0x963).addRange(0x966, 0x97F).addRange(0xA8E0, 0xA8FF);\nmodule.exports = set;","const set = require('regenerate')(0x11909);\n\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11800, 0x1183B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BC9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10500, 0x10527);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FE0, 0x10FF6);\nmodule.exports = set;","const set = require('regenerate')(0x1258, 0x12C0);\n\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nmodule.exports = set;","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\n\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10330, 0x1034A);\nmodule.exports = set;","const set = require('regenerate')(0x11350, 0x11357);\n\nset.addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133C, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374);\nmodule.exports = set;","const set = require('regenerate')(0x37F, 0x384, 0x386, 0x38C, 0x1DBF, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\n\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nmodule.exports = set;","const set = require('regenerate')(0xAD0);\n\nset.addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nmodule.exports = set;","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\n\nset.addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76);\nmodule.exports = set;","const set = require('regenerate')(0x3005, 0x3007);\n\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3021, 0x3029).addRange(0x3038, 0x303B).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1100, 0x11FF).addRange(0x302E, 0x302F).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1720, 0x1734);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nmodule.exports = set;","const set = require('regenerate')(0xFB3E);\n\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nmodule.exports = set;","const set = require('regenerate')(0x1F200);\n\nset.addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nmodule.exports = set;","const set = require('regenerate')(0x670, 0x1CED, 0x1CF4, 0x101FD, 0x102E0, 0x1133B);\n\nset.addRange(0x300, 0x36F).addRange(0x485, 0x486).addRange(0x64B, 0x655).addRange(0x951, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20F0).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA980, 0xA9CD).addRange(0xA9D0, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nmodule.exports = set;","const set = require('regenerate')(0x110CD);\n\nset.addRange(0x11080, 0x110C2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2);\nmodule.exports = set;","const set = require('regenerate')(0x1B000);\n\nset.addRange(0x30A1, 0x30FA).addRange(0x30FD, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nmodule.exports = set;","const set = require('regenerate')(0xA92F);\n\nset.addRange(0xA900, 0xA92D);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nmodule.exports = set;","const set = require('regenerate')(0x16FE4);\n\nset.addRange(0x18B00, 0x18CD5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nmodule.exports = set;","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\n\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xBA, 0x2071, 0x207F, 0x2132, 0x214E, 0xA7D3);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nmodule.exports = set;","const set = require('regenerate')(0x1940);\n\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA);\nmodule.exports = set;","const set = require('regenerate')(0x11FB0);\n\nset.addRange(0xA4D0, 0xA4FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10280, 0x1029C);\nmodule.exports = set;","const set = require('regenerate')(0x1093F);\n\nset.addRange(0x10920, 0x10939);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11150, 0x11176);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11EE0, 0x11EF8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F);\nmodule.exports = set;","const set = require('regenerate')(0x85E);\n\nset.addRange(0x840, 0x85B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nmodule.exports = set;","const set = require('regenerate')(0x11D3A);\n\nset.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16E40, 0x16E9A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10980, 0x1099F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nmodule.exports = set;","const set = require('regenerate')(0x1804);\n\nset.addRange(0x1800, 0x1801).addRange(0x1806, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nmodule.exports = set;","const set = require('regenerate')(0x11288);\n\nset.addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF);\nmodule.exports = set;","const set = require('regenerate')(0x16FE1);\n\nset.addRange(0x1B170, 0x1B2FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1680, 0x169C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C50, 0x1C7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A80, 0x10A9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10350, 0x1037A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F00, 0x10F27);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A60, 0x10A7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C00, 0x10C48);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F70, 0x10F89);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10860, 0x1087F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11AC0, 0x11AF8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA840, 0xA877);\nmodule.exports = set;","const set = require('regenerate')(0x1091F);\n\nset.addRange(0x10900, 0x1091B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nmodule.exports = set;","const set = require('regenerate')(0xA95F);\n\nset.addRange(0xA930, 0xA953);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11180, 0x111DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10450, 0x1047F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nmodule.exports = set;","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6);\n\nset.addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F30, 0x10F59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A50, 0x11AA2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA800, 0xA82C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nmodule.exports = set;","const set = require('regenerate')(0x171F);\n\nset.addRange(0x1700, 0x1715);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nmodule.exports = set;","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x11FFF);\n\nset.addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x11FC0, 0x11FF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nmodule.exports = set;","const set = require('regenerate')(0x16FE0);\n\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nmodule.exports = set;","const set = require('regenerate')(0xC5D);\n\nset.addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x780, 0x7B1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nmodule.exports = set;","const set = require('regenerate')(0x2D7F);\n\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E290, 0x1E2AE);\nmodule.exports = set;","const set = require('regenerate')(0x1039F);\n\nset.addRange(0x10380, 0x1039D);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA500, 0xA62B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nmodule.exports = set;","const set = require('regenerate')(0x1E2FF);\n\nset.addRange(0x1E2C0, 0x1E2F9);\nmodule.exports = set;","const set = require('regenerate')(0x118FF);\n\nset.addRange(0x118A0, 0x118F2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A00, 0x11A47);\nmodule.exports = set;","const set = require('regenerate')(0x61F, 0x640);\n\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x14400, 0x14646);\nmodule.exports = set;","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x600, 0x604).addRange(0x606, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x102E0, 0x102FB).addRange(0x10E60, 0x10E7E).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nmodule.exports = set;","const set = require('regenerate')(0x9B2, 0x9D7, 0x1CD0, 0x1CD2, 0x1CD8, 0x1CE1, 0x1CEA, 0x1CED, 0x1CF2, 0xA8F1);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0x1CD5, 0x1CD6).addRange(0x1CF5, 0x1CF7);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nmodule.exports = set;","const set = require('regenerate')(0x3030, 0x3037, 0x30FB);\n\nset.addRange(0x2EA, 0x2EB).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302A, 0x302D).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65);\nmodule.exports = set;","const set = require('regenerate')(0x1107F);\n\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2800, 0x28FF);\nmodule.exports = set;","const set = require('regenerate')(0xA9CF);\n\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1735, 0x1736).addRange(0x1740, 0x1753);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x102A0, 0x102D0);\nmodule.exports = set;","const set = require('regenerate')(0x1056F);\n\nset.addRange(0x10530, 0x10563);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x9E6, 0x9EF).addRange(0x1040, 0x1049).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FB0, 0x10FCB);\nmodule.exports = set;","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x6DD, 0x8E2, 0xE3F, 0x3000, 0x3004, 0x3012, 0x3020, 0x3036, 0x327F, 0x33FF, 0xAB5B, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\n\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x2000, 0x200B).addRange(0x200E, 0x202E).addRange(0x2030, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E42).addRange(0x2E44, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3248, 0x325F).addRange(0x32B1, 0x32BF).addRange(0x32CC, 0x32CF).addRange(0x3371, 0x337A).addRange(0x3380, 0x33DF).addRange(0x4DC0, 0x4DFF).addRange(0xA708, 0xA721).addRange(0xA788, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF60).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);\nset.addRange(0xFFF9, 0xFFFD).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D372, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8);\nset.addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF).addRange(0x102E0, 0x102FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nmodule.exports = set;","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\n\nset.addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10100, 0x10101).addRange(0x12F90, 0x12FF2);\nmodule.exports = set;","const set = require('regenerate')(0x1D2B, 0x1D78, 0x1DF8, 0x2E43);\n\nset.addRange(0x400, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10400, 0x1044F);\nmodule.exports = set;","const set = require('regenerate')(0x20F0);\n\nset.addRange(0x900, 0x952).addRange(0x955, 0x97F).addRange(0x1CD0, 0x1CF6).addRange(0x1CF8, 0x1CF9).addRange(0xA830, 0xA839).addRange(0xA8E0, 0xA8FF);\nmodule.exports = set;","const set = require('regenerate')(0x11909);\n\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11800, 0x1183B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10500, 0x10527);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FE0, 0x10FF6);\nmodule.exports = set;","const set = require('regenerate')(0x1258, 0x12C0);\n\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nmodule.exports = set;","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\n\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nmodule.exports = set;","const set = require('regenerate')(0x484, 0x487, 0x2E43, 0xA66F);\n\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10330, 0x1034A);\nmodule.exports = set;","const set = require('regenerate')(0x1CD0, 0x20F0, 0x11350, 0x11357, 0x11FD3);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xBE6, 0xBF3).addRange(0x1CD2, 0x1CD3).addRange(0x1CF2, 0x1CF4).addRange(0x1CF8, 0x1CF9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11FD0, 0x11FD1);\nmodule.exports = set;","const set = require('regenerate')(0x342, 0x345, 0x37F, 0x384, 0x386, 0x38C, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\n\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1DBF, 0x1DC1).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nmodule.exports = set;","const set = require('regenerate')(0xAD0);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xA830, 0xA839);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nmodule.exports = set;","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA830, 0xA839);\nmodule.exports = set;","const set = require('regenerate')(0x3030, 0x30FB, 0x32FF);\n\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3001, 0x3003).addRange(0x3005, 0x3011).addRange(0x3013, 0x301F).addRange(0x3021, 0x302D).addRange(0x3037, 0x303F).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x3247).addRange(0x3280, 0x32B0).addRange(0x32C0, 0x32CB).addRange(0x3358, 0x3370).addRange(0x337B, 0x337F).addRange(0x33E0, 0x33FE).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xA700, 0xA707).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x1D360, 0x1D371).addRange(0x1F250, 0x1F251).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0x30FB);\n\nset.addRange(0x1100, 0x11FF).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302E, 0x3030).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61B, 0x61F, 0x640, 0x6D4);\n\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1720, 0x1736);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nmodule.exports = set;","const set = require('regenerate')(0xFB3E);\n\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0xFF70, 0x1F200);\n\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3041, 0x3096).addRange(0x3099, 0x30A0).addRange(0x30FB, 0x30FC).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nmodule.exports = set;","const set = require('regenerate')(0x1DF9, 0x101FD);\n\nset.addRange(0x300, 0x341).addRange(0x343, 0x344).addRange(0x346, 0x362).addRange(0x953, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1DC2, 0x1DF7).addRange(0x1DFB, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20EF).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nmodule.exports = set;","const set = require('regenerate')(0x110CD);\n\nset.addRange(0x966, 0x96F).addRange(0xA830, 0xA839).addRange(0x11080, 0x110C2);\nmodule.exports = set;","const set = require('regenerate')(0x1CD0, 0x1CD2, 0x1CDA, 0x1CF2, 0x1CF4);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xA830, 0xA835);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0x1B000);\n\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3099, 0x309C).addRange(0x30A0, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF9F).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA900, 0xA92F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nmodule.exports = set;","const set = require('regenerate')(0x16FE4);\n\nset.addRange(0x18B00, 0x18CD5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAE6, 0xAEF).addRange(0xA830, 0xA839).addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nmodule.exports = set;","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\n\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xBA, 0x10FB, 0x202F, 0x2071, 0x207F, 0x20F0, 0x2132, 0x214E, 0xA7D3, 0xA92E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x363, 0x36F).addRange(0x485, 0x486).addRange(0x951, 0x952).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA700, 0xA707).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nmodule.exports = set;","const set = require('regenerate')(0x965, 0x1940);\n\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10107, 0x10133).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F);\nmodule.exports = set;","const set = require('regenerate')(0x11FB0);\n\nset.addRange(0xA4D0, 0xA4FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10280, 0x1029C);\nmodule.exports = set;","const set = require('regenerate')(0x1093F);\n\nset.addRange(0x10920, 0x10939);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11150, 0x11176);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11EE0, 0x11EF8);\nmodule.exports = set;","const set = require('regenerate')(0x1CDA);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xA830, 0xA832);\nmodule.exports = set;","const set = require('regenerate')(0x640, 0x85E);\n\nset.addRange(0x840, 0x85B);\nmodule.exports = set;","const set = require('regenerate')(0x640);\n\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nmodule.exports = set;","const set = require('regenerate')(0x11D3A);\n\nset.addRange(0x964, 0x965).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16E40, 0x16E9A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10980, 0x1099F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA830, 0xA839).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nmodule.exports = set;","const set = require('regenerate')(0x202F);\n\nset.addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nmodule.exports = set;","const set = require('regenerate')(0x11288);\n\nset.addRange(0xA66, 0xA6F).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nmodule.exports = set;","const set = require('regenerate')(0xA92E);\n\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nmodule.exports = set;","const set = require('regenerate')(0x1CE9, 0x1CF2, 0x1CFA);\n\nset.addRange(0x964, 0x965).addRange(0xCE6, 0xCEF).addRange(0xA830, 0xA835).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\n\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF).addRange(0xFD3E, 0xFD3F);\nmodule.exports = set;","const set = require('regenerate')(0x16FE1);\n\nset.addRange(0x1B170, 0x1B2FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1680, 0x169C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C50, 0x1C7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A80, 0x10A9F);\nmodule.exports = set;","const set = require('regenerate')(0x483);\n\nset.addRange(0x10350, 0x1037A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F00, 0x10F27);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A60, 0x10A7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C00, 0x10C48);\nmodule.exports = set;","const set = require('regenerate')(0x640, 0x10AF2);\n\nset.addRange(0x10F70, 0x10F89);\nmodule.exports = set;","const set = require('regenerate')(0x1CDA, 0x1CF2);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10860, 0x1087F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11AC0, 0x11AF8);\nmodule.exports = set;","const set = require('regenerate')(0x1805);\n\nset.addRange(0x1802, 0x1803).addRange(0xA840, 0xA877);\nmodule.exports = set;","const set = require('regenerate')(0x1091F);\n\nset.addRange(0x10900, 0x1091B);\nmodule.exports = set;","const set = require('regenerate')(0x640);\n\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nmodule.exports = set;","const set = require('regenerate')(0xA95F);\n\nset.addRange(0xA930, 0xA953);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nmodule.exports = set;","const set = require('regenerate')(0x951, 0x1CD7, 0x1CD9, 0x1CE0);\n\nset.addRange(0x1CDC, 0x1CDD).addRange(0x11180, 0x111DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10450, 0x1047F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nmodule.exports = set;","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6);\n\nset.addRange(0x964, 0x965).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nmodule.exports = set;","const set = require('regenerate')(0x640);\n\nset.addRange(0x10F30, 0x10F59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A50, 0x11AA2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0x9E6, 0x9EF).addRange(0xA800, 0xA82C);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61F, 0x640, 0x670, 0x1DF8, 0x1DFA);\n\nset.addRange(0x61B, 0x61C).addRange(0x64B, 0x655).addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nmodule.exports = set;","const set = require('regenerate')(0x171F);\n\nset.addRange(0x1700, 0x1715).addRange(0x1735, 0x1736);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1735, 0x1736).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1040, 0x1049).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nmodule.exports = set;","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x1CDA, 0xA8F3, 0x11301, 0x11303, 0x11FFF);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x1133B, 0x1133C).addRange(0x11FC0, 0x11FF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nmodule.exports = set;","const set = require('regenerate')(0x16FE0);\n\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nmodule.exports = set;","const set = require('regenerate')(0xC5D, 0x1CDA, 0x1CF2);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61F, 0xFDF2, 0xFDFD);\n\nset.addRange(0x61B, 0x61C).addRange(0x660, 0x669).addRange(0x780, 0x7B1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nmodule.exports = set;","const set = require('regenerate')(0x2D7F);\n\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nmodule.exports = set;","const set = require('regenerate')(0x1CF2);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E290, 0x1E2AE);\nmodule.exports = set;","const set = require('regenerate')(0x1039F);\n\nset.addRange(0x10380, 0x1039D);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA500, 0xA62B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nmodule.exports = set;","const set = require('regenerate')(0x1E2FF);\n\nset.addRange(0x1E2C0, 0x1E2F9);\nmodule.exports = set;","const set = require('regenerate')(0x118FF);\n\nset.addRange(0x118A0, 0x118F2);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\n\nset.addRange(0x660, 0x669).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nmodule.exports = set;","const set = require('regenerate')(0x30FB);\n\nset.addRange(0x3001, 0x3002).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xFF61, 0xFF65);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A00, 0x11A47);\nmodule.exports = set;","module.exports = new Map([['General_Category', ['Cased_Letter', 'Close_Punctuation', 'Connector_Punctuation', 'Control', 'Currency_Symbol', 'Dash_Punctuation', 'Decimal_Number', 'Enclosing_Mark', 'Final_Punctuation', 'Format', 'Initial_Punctuation', 'Letter', 'Letter_Number', 'Line_Separator', 'Lowercase_Letter', 'Mark', 'Math_Symbol', 'Modifier_Letter', 'Modifier_Symbol', 'Nonspacing_Mark', 'Number', 'Open_Punctuation', 'Other', 'Other_Letter', 'Other_Number', 'Other_Punctuation', 'Other_Symbol', 'Paragraph_Separator', 'Private_Use', 'Punctuation', 'Separator', 'Space_Separator', 'Spacing_Mark', 'Surrogate', 'Symbol', 'Titlecase_Letter', 'Unassigned', 'Uppercase_Letter']], ['Script', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Script_Extensions', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Binary_Property', ['ASCII', 'ASCII_Hex_Digit', 'Alphabetic', 'Any', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'ID_Continue', 'ID_Start', 'Ideographic', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']]]);","module.exports = '14.0.0';","// Generated using `npm run build`. Do not edit.\n'use strict';\n\nconst regenerate = require('regenerate');\n\nexports.REGULAR = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0xFFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0xFFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0xFFFF)]]);\nexports.UNICODE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x10FFFF)]]);\nexports.UNICODE_IGNORE_CASE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F, 0x17F, 0x212A).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x17E).addRange(0x180, 0x2129).addRange(0x212B, 0x10FFFF)]]);","module.exports = new Map([[0x4B, 0x212A], [0x53, 0x17F], [0x6B, 0x212A], [0x73, 0x17F], [0xB5, 0x39C], [0xC5, 0x212B], [0xDF, 0x1E9E], [0xE5, 0x212B], [0x17F, 0x53], [0x1C4, 0x1C5], [0x1C5, 0x1C4], [0x1C7, 0x1C8], [0x1C8, 0x1C7], [0x1CA, 0x1CB], [0x1CB, 0x1CA], [0x1F1, 0x1F2], [0x1F2, 0x1F1], [0x345, 0x1FBE], [0x392, 0x3D0], [0x395, 0x3F5], [0x398, 0x3F4], [0x399, 0x1FBE], [0x39A, 0x3F0], [0x39C, 0xB5], [0x3A0, 0x3D6], [0x3A1, 0x3F1], [0x3A3, 0x3C2], [0x3A6, 0x3D5], [0x3A9, 0x2126], [0x3B8, 0x3F4], [0x3C2, 0x3A3], [0x3C9, 0x2126], [0x3D0, 0x392], [0x3D1, 0x3F4], [0x3D5, 0x3A6], [0x3D6, 0x3A0], [0x3F0, 0x39A], [0x3F1, 0x3A1], [0x3F4, [0x398, 0x3D1, 0x3B8]], [0x3F5, 0x395], [0x412, 0x1C80], [0x414, 0x1C81], [0x41E, 0x1C82], [0x421, 0x1C83], [0x422, 0x1C85], [0x42A, 0x1C86], [0x462, 0x1C87], [0x1C80, 0x412], [0x1C81, 0x414], [0x1C82, 0x41E], [0x1C83, 0x421], [0x1C84, 0x1C85], [0x1C85, [0x422, 0x1C84]], [0x1C86, 0x42A], [0x1C87, 0x462], [0x1C88, 0xA64A], [0x1E60, 0x1E9B], [0x1E9B, 0x1E60], [0x1E9E, 0xDF], [0x1F80, 0x1F88], [0x1F81, 0x1F89], [0x1F82, 0x1F8A], [0x1F83, 0x1F8B], [0x1F84, 0x1F8C], [0x1F85, 0x1F8D], [0x1F86, 0x1F8E], [0x1F87, 0x1F8F], [0x1F88, 0x1F80], [0x1F89, 0x1F81], [0x1F8A, 0x1F82], [0x1F8B, 0x1F83], [0x1F8C, 0x1F84], [0x1F8D, 0x1F85], [0x1F8E, 0x1F86], [0x1F8F, 0x1F87], [0x1F90, 0x1F98], [0x1F91, 0x1F99], [0x1F92, 0x1F9A], [0x1F93, 0x1F9B], [0x1F94, 0x1F9C], [0x1F95, 0x1F9D], [0x1F96, 0x1F9E], [0x1F97, 0x1F9F], [0x1F98, 0x1F90], [0x1F99, 0x1F91], [0x1F9A, 0x1F92], [0x1F9B, 0x1F93], [0x1F9C, 0x1F94], [0x1F9D, 0x1F95], [0x1F9E, 0x1F96], [0x1F9F, 0x1F97], [0x1FA0, 0x1FA8], [0x1FA1, 0x1FA9], [0x1FA2, 0x1FAA], [0x1FA3, 0x1FAB], [0x1FA4, 0x1FAC], [0x1FA5, 0x1FAD], [0x1FA6, 0x1FAE], [0x1FA7, 0x1FAF], [0x1FA8, 0x1FA0], [0x1FA9, 0x1FA1], [0x1FAA, 0x1FA2], [0x1FAB, 0x1FA3], [0x1FAC, 0x1FA4], [0x1FAD, 0x1FA5], [0x1FAE, 0x1FA6], [0x1FAF, 0x1FA7], [0x1FB3, 0x1FBC], [0x1FBC, 0x1FB3], [0x1FBE, [0x345, 0x399]], [0x1FC3, 0x1FCC], [0x1FCC, 0x1FC3], [0x1FF3, 0x1FFC], [0x1FFC, 0x1FF3], [0x2126, [0x3A9, 0x3C9]], [0x212A, 0x4B], [0x212B, [0xC5, 0xE5]], [0x2C2F, 0x2C5F], [0x2C5F, 0x2C2F], [0xA64A, 0x1C88], [0xA7C0, 0xA7C1], [0xA7C1, 0xA7C0], [0xA7D0, 0xA7D1], [0xA7D1, 0xA7D0], [0xA7D6, 0xA7D7], [0xA7D7, 0xA7D6], [0xA7D8, 0xA7D9], [0xA7D9, 0xA7D8], [0x10400, 0x10428], [0x10401, 0x10429], [0x10402, 0x1042A], [0x10403, 0x1042B], [0x10404, 0x1042C], [0x10405, 0x1042D], [0x10406, 0x1042E], [0x10407, 0x1042F], [0x10408, 0x10430], [0x10409, 0x10431], [0x1040A, 0x10432], [0x1040B, 0x10433], [0x1040C, 0x10434], [0x1040D, 0x10435], [0x1040E, 0x10436], [0x1040F, 0x10437], [0x10410, 0x10438], [0x10411, 0x10439], [0x10412, 0x1043A], [0x10413, 0x1043B], [0x10414, 0x1043C], [0x10415, 0x1043D], [0x10416, 0x1043E], [0x10417, 0x1043F], [0x10418, 0x10440], [0x10419, 0x10441], [0x1041A, 0x10442], [0x1041B, 0x10443], [0x1041C, 0x10444], [0x1041D, 0x10445], [0x1041E, 0x10446], [0x1041F, 0x10447], [0x10420, 0x10448], [0x10421, 0x10449], [0x10422, 0x1044A], [0x10423, 0x1044B], [0x10424, 0x1044C], [0x10425, 0x1044D], [0x10426, 0x1044E], [0x10427, 0x1044F], [0x10428, 0x10400], [0x10429, 0x10401], [0x1042A, 0x10402], [0x1042B, 0x10403], [0x1042C, 0x10404], [0x1042D, 0x10405], [0x1042E, 0x10406], [0x1042F, 0x10407], [0x10430, 0x10408], [0x10431, 0x10409], [0x10432, 0x1040A], [0x10433, 0x1040B], [0x10434, 0x1040C], [0x10435, 0x1040D], [0x10436, 0x1040E], [0x10437, 0x1040F], [0x10438, 0x10410], [0x10439, 0x10411], [0x1043A, 0x10412], [0x1043B, 0x10413], [0x1043C, 0x10414], [0x1043D, 0x10415], [0x1043E, 0x10416], [0x1043F, 0x10417], [0x10440, 0x10418], [0x10441, 0x10419], [0x10442, 0x1041A], [0x10443, 0x1041B], [0x10444, 0x1041C], [0x10445, 0x1041D], [0x10446, 0x1041E], [0x10447, 0x1041F], [0x10448, 0x10420], [0x10449, 0x10421], [0x1044A, 0x10422], [0x1044B, 0x10423], [0x1044C, 0x10424], [0x1044D, 0x10425], [0x1044E, 0x10426], [0x1044F, 0x10427], [0x104B0, 0x104D8], [0x104B1, 0x104D9], [0x104B2, 0x104DA], [0x104B3, 0x104DB], [0x104B4, 0x104DC], [0x104B5, 0x104DD], [0x104B6, 0x104DE], [0x104B7, 0x104DF], [0x104B8, 0x104E0], [0x104B9, 0x104E1], [0x104BA, 0x104E2], [0x104BB, 0x104E3], [0x104BC, 0x104E4], [0x104BD, 0x104E5], [0x104BE, 0x104E6], [0x104BF, 0x104E7], [0x104C0, 0x104E8], [0x104C1, 0x104E9], [0x104C2, 0x104EA], [0x104C3, 0x104EB], [0x104C4, 0x104EC], [0x104C5, 0x104ED], [0x104C6, 0x104EE], [0x104C7, 0x104EF], [0x104C8, 0x104F0], [0x104C9, 0x104F1], [0x104CA, 0x104F2], [0x104CB, 0x104F3], [0x104CC, 0x104F4], [0x104CD, 0x104F5], [0x104CE, 0x104F6], [0x104CF, 0x104F7], [0x104D0, 0x104F8], [0x104D1, 0x104F9], [0x104D2, 0x104FA], [0x104D3, 0x104FB], [0x104D8, 0x104B0], [0x104D9, 0x104B1], [0x104DA, 0x104B2], [0x104DB, 0x104B3], [0x104DC, 0x104B4], [0x104DD, 0x104B5], [0x104DE, 0x104B6], [0x104DF, 0x104B7], [0x104E0, 0x104B8], [0x104E1, 0x104B9], [0x104E2, 0x104BA], [0x104E3, 0x104BB], [0x104E4, 0x104BC], [0x104E5, 0x104BD], [0x104E6, 0x104BE], [0x104E7, 0x104BF], [0x104E8, 0x104C0], [0x104E9, 0x104C1], [0x104EA, 0x104C2], [0x104EB, 0x104C3], [0x104EC, 0x104C4], [0x104ED, 0x104C5], [0x104EE, 0x104C6], [0x104EF, 0x104C7], [0x104F0, 0x104C8], [0x104F1, 0x104C9], [0x104F2, 0x104CA], [0x104F3, 0x104CB], [0x104F4, 0x104CC], [0x104F5, 0x104CD], [0x104F6, 0x104CE], [0x104F7, 0x104CF], [0x104F8, 0x104D0], [0x104F9, 0x104D1], [0x104FA, 0x104D2], [0x104FB, 0x104D3], [0x10570, 0x10597], [0x10571, 0x10598], [0x10572, 0x10599], [0x10573, 0x1059A], [0x10574, 0x1059B], [0x10575, 0x1059C], [0x10576, 0x1059D], [0x10577, 0x1059E], [0x10578, 0x1059F], [0x10579, 0x105A0], [0x1057A, 0x105A1], [0x1057C, 0x105A3], [0x1057D, 0x105A4], [0x1057E, 0x105A5], [0x1057F, 0x105A6], [0x10580, 0x105A7], [0x10581, 0x105A8], [0x10582, 0x105A9], [0x10583, 0x105AA], [0x10584, 0x105AB], [0x10585, 0x105AC], [0x10586, 0x105AD], [0x10587, 0x105AE], [0x10588, 0x105AF], [0x10589, 0x105B0], [0x1058A, 0x105B1], [0x1058C, 0x105B3], [0x1058D, 0x105B4], [0x1058E, 0x105B5], [0x1058F, 0x105B6], [0x10590, 0x105B7], [0x10591, 0x105B8], [0x10592, 0x105B9], [0x10594, 0x105BB], [0x10595, 0x105BC], [0x10597, 0x10570], [0x10598, 0x10571], [0x10599, 0x10572], [0x1059A, 0x10573], [0x1059B, 0x10574], [0x1059C, 0x10575], [0x1059D, 0x10576], [0x1059E, 0x10577], [0x1059F, 0x10578], [0x105A0, 0x10579], [0x105A1, 0x1057A], [0x105A3, 0x1057C], [0x105A4, 0x1057D], [0x105A5, 0x1057E], [0x105A6, 0x1057F], [0x105A7, 0x10580], [0x105A8, 0x10581], [0x105A9, 0x10582], [0x105AA, 0x10583], [0x105AB, 0x10584], [0x105AC, 0x10585], [0x105AD, 0x10586], [0x105AE, 0x10587], [0x105AF, 0x10588], [0x105B0, 0x10589], [0x105B1, 0x1058A], [0x105B3, 0x1058C], [0x105B4, 0x1058D], [0x105B5, 0x1058E], [0x105B6, 0x1058F], [0x105B7, 0x10590], [0x105B8, 0x10591], [0x105B9, 0x10592], [0x105BB, 0x10594], [0x105BC, 0x10595], [0x10C80, 0x10CC0], [0x10C81, 0x10CC1], [0x10C82, 0x10CC2], [0x10C83, 0x10CC3], [0x10C84, 0x10CC4], [0x10C85, 0x10CC5], [0x10C86, 0x10CC6], [0x10C87, 0x10CC7], [0x10C88, 0x10CC8], [0x10C89, 0x10CC9], [0x10C8A, 0x10CCA], [0x10C8B, 0x10CCB], [0x10C8C, 0x10CCC], [0x10C8D, 0x10CCD], [0x10C8E, 0x10CCE], [0x10C8F, 0x10CCF], [0x10C90, 0x10CD0], [0x10C91, 0x10CD1], [0x10C92, 0x10CD2], [0x10C93, 0x10CD3], [0x10C94, 0x10CD4], [0x10C95, 0x10CD5], [0x10C96, 0x10CD6], [0x10C97, 0x10CD7], [0x10C98, 0x10CD8], [0x10C99, 0x10CD9], [0x10C9A, 0x10CDA], [0x10C9B, 0x10CDB], [0x10C9C, 0x10CDC], [0x10C9D, 0x10CDD], [0x10C9E, 0x10CDE], [0x10C9F, 0x10CDF], [0x10CA0, 0x10CE0], [0x10CA1, 0x10CE1], [0x10CA2, 0x10CE2], [0x10CA3, 0x10CE3], [0x10CA4, 0x10CE4], [0x10CA5, 0x10CE5], [0x10CA6, 0x10CE6], [0x10CA7, 0x10CE7], [0x10CA8, 0x10CE8], [0x10CA9, 0x10CE9], [0x10CAA, 0x10CEA], [0x10CAB, 0x10CEB], [0x10CAC, 0x10CEC], [0x10CAD, 0x10CED], [0x10CAE, 0x10CEE], [0x10CAF, 0x10CEF], [0x10CB0, 0x10CF0], [0x10CB1, 0x10CF1], [0x10CB2, 0x10CF2], [0x10CC0, 0x10C80], [0x10CC1, 0x10C81], [0x10CC2, 0x10C82], [0x10CC3, 0x10C83], [0x10CC4, 0x10C84], [0x10CC5, 0x10C85], [0x10CC6, 0x10C86], [0x10CC7, 0x10C87], [0x10CC8, 0x10C88], [0x10CC9, 0x10C89], [0x10CCA, 0x10C8A], [0x10CCB, 0x10C8B], [0x10CCC, 0x10C8C], [0x10CCD, 0x10C8D], [0x10CCE, 0x10C8E], [0x10CCF, 0x10C8F], [0x10CD0, 0x10C90], [0x10CD1, 0x10C91], [0x10CD2, 0x10C92], [0x10CD3, 0x10C93], [0x10CD4, 0x10C94], [0x10CD5, 0x10C95], [0x10CD6, 0x10C96], [0x10CD7, 0x10C97], [0x10CD8, 0x10C98], [0x10CD9, 0x10C99], [0x10CDA, 0x10C9A], [0x10CDB, 0x10C9B], [0x10CDC, 0x10C9C], [0x10CDD, 0x10C9D], [0x10CDE, 0x10C9E], [0x10CDF, 0x10C9F], [0x10CE0, 0x10CA0], [0x10CE1, 0x10CA1], [0x10CE2, 0x10CA2], [0x10CE3, 0x10CA3], [0x10CE4, 0x10CA4], [0x10CE5, 0x10CA5], [0x10CE6, 0x10CA6], [0x10CE7, 0x10CA7], [0x10CE8, 0x10CA8], [0x10CE9, 0x10CA9], [0x10CEA, 0x10CAA], [0x10CEB, 0x10CAB], [0x10CEC, 0x10CAC], [0x10CED, 0x10CAD], [0x10CEE, 0x10CAE], [0x10CEF, 0x10CAF], [0x10CF0, 0x10CB0], [0x10CF1, 0x10CB1], [0x10CF2, 0x10CB2], [0x118A0, 0x118C0], [0x118A1, 0x118C1], [0x118A2, 0x118C2], [0x118A3, 0x118C3], [0x118A4, 0x118C4], [0x118A5, 0x118C5], [0x118A6, 0x118C6], [0x118A7, 0x118C7], [0x118A8, 0x118C8], [0x118A9, 0x118C9], [0x118AA, 0x118CA], [0x118AB, 0x118CB], [0x118AC, 0x118CC], [0x118AD, 0x118CD], [0x118AE, 0x118CE], [0x118AF, 0x118CF], [0x118B0, 0x118D0], [0x118B1, 0x118D1], [0x118B2, 0x118D2], [0x118B3, 0x118D3], [0x118B4, 0x118D4], [0x118B5, 0x118D5], [0x118B6, 0x118D6], [0x118B7, 0x118D7], [0x118B8, 0x118D8], [0x118B9, 0x118D9], [0x118BA, 0x118DA], [0x118BB, 0x118DB], [0x118BC, 0x118DC], [0x118BD, 0x118DD], [0x118BE, 0x118DE], [0x118BF, 0x118DF], [0x118C0, 0x118A0], [0x118C1, 0x118A1], [0x118C2, 0x118A2], [0x118C3, 0x118A3], [0x118C4, 0x118A4], [0x118C5, 0x118A5], [0x118C6, 0x118A6], [0x118C7, 0x118A7], [0x118C8, 0x118A8], [0x118C9, 0x118A9], [0x118CA, 0x118AA], [0x118CB, 0x118AB], [0x118CC, 0x118AC], [0x118CD, 0x118AD], [0x118CE, 0x118AE], [0x118CF, 0x118AF], [0x118D0, 0x118B0], [0x118D1, 0x118B1], [0x118D2, 0x118B2], [0x118D3, 0x118B3], [0x118D4, 0x118B4], [0x118D5, 0x118B5], [0x118D6, 0x118B6], [0x118D7, 0x118B7], [0x118D8, 0x118B8], [0x118D9, 0x118B9], [0x118DA, 0x118BA], [0x118DB, 0x118BB], [0x118DC, 0x118BC], [0x118DD, 0x118BD], [0x118DE, 0x118BE], [0x118DF, 0x118BF], [0x16E40, 0x16E60], [0x16E41, 0x16E61], [0x16E42, 0x16E62], [0x16E43, 0x16E63], [0x16E44, 0x16E64], [0x16E45, 0x16E65], [0x16E46, 0x16E66], [0x16E47, 0x16E67], [0x16E48, 0x16E68], [0x16E49, 0x16E69], [0x16E4A, 0x16E6A], [0x16E4B, 0x16E6B], [0x16E4C, 0x16E6C], [0x16E4D, 0x16E6D], [0x16E4E, 0x16E6E], [0x16E4F, 0x16E6F], [0x16E50, 0x16E70], [0x16E51, 0x16E71], [0x16E52, 0x16E72], [0x16E53, 0x16E73], [0x16E54, 0x16E74], [0x16E55, 0x16E75], [0x16E56, 0x16E76], [0x16E57, 0x16E77], [0x16E58, 0x16E78], [0x16E59, 0x16E79], [0x16E5A, 0x16E7A], [0x16E5B, 0x16E7B], [0x16E5C, 0x16E7C], [0x16E5D, 0x16E7D], [0x16E5E, 0x16E7E], [0x16E5F, 0x16E7F], [0x16E60, 0x16E40], [0x16E61, 0x16E41], [0x16E62, 0x16E42], [0x16E63, 0x16E43], [0x16E64, 0x16E44], [0x16E65, 0x16E45], [0x16E66, 0x16E46], [0x16E67, 0x16E47], [0x16E68, 0x16E48], [0x16E69, 0x16E49], [0x16E6A, 0x16E4A], [0x16E6B, 0x16E4B], [0x16E6C, 0x16E4C], [0x16E6D, 0x16E4D], [0x16E6E, 0x16E4E], [0x16E6F, 0x16E4F], [0x16E70, 0x16E50], [0x16E71, 0x16E51], [0x16E72, 0x16E52], [0x16E73, 0x16E53], [0x16E74, 0x16E54], [0x16E75, 0x16E55], [0x16E76, 0x16E56], [0x16E77, 0x16E57], [0x16E78, 0x16E58], [0x16E79, 0x16E59], [0x16E7A, 0x16E5A], [0x16E7B, 0x16E5B], [0x16E7C, 0x16E5C], [0x16E7D, 0x16E5D], [0x16E7E, 0x16E5E], [0x16E7F, 0x16E5F], [0x1E900, 0x1E922], [0x1E901, 0x1E923], [0x1E902, 0x1E924], [0x1E903, 0x1E925], [0x1E904, 0x1E926], [0x1E905, 0x1E927], [0x1E906, 0x1E928], [0x1E907, 0x1E929], [0x1E908, 0x1E92A], [0x1E909, 0x1E92B], [0x1E90A, 0x1E92C], [0x1E90B, 0x1E92D], [0x1E90C, 0x1E92E], [0x1E90D, 0x1E92F], [0x1E90E, 0x1E930], [0x1E90F, 0x1E931], [0x1E910, 0x1E932], [0x1E911, 0x1E933], [0x1E912, 0x1E934], [0x1E913, 0x1E935], [0x1E914, 0x1E936], [0x1E915, 0x1E937], [0x1E916, 0x1E938], [0x1E917, 0x1E939], [0x1E918, 0x1E93A], [0x1E919, 0x1E93B], [0x1E91A, 0x1E93C], [0x1E91B, 0x1E93D], [0x1E91C, 0x1E93E], [0x1E91D, 0x1E93F], [0x1E91E, 0x1E940], [0x1E91F, 0x1E941], [0x1E920, 0x1E942], [0x1E921, 0x1E943], [0x1E922, 0x1E900], [0x1E923, 0x1E901], [0x1E924, 0x1E902], [0x1E925, 0x1E903], [0x1E926, 0x1E904], [0x1E927, 0x1E905], [0x1E928, 0x1E906], [0x1E929, 0x1E907], [0x1E92A, 0x1E908], [0x1E92B, 0x1E909], [0x1E92C, 0x1E90A], [0x1E92D, 0x1E90B], [0x1E92E, 0x1E90C], [0x1E92F, 0x1E90D], [0x1E930, 0x1E90E], [0x1E931, 0x1E90F], [0x1E932, 0x1E910], [0x1E933, 0x1E911], [0x1E934, 0x1E912], [0x1E935, 0x1E913], [0x1E936, 0x1E914], [0x1E937, 0x1E915], [0x1E938, 0x1E916], [0x1E939, 0x1E917], [0x1E93A, 0x1E918], [0x1E93B, 0x1E919], [0x1E93C, 0x1E91A], [0x1E93D, 0x1E91B], [0x1E93E, 0x1E91C], [0x1E93F, 0x1E91D], [0x1E940, 0x1E91E], [0x1E941, 0x1E91F], [0x1E942, 0x1E920], [0x1E943, 0x1E921]]);","'use strict';\n\nconst generate = require('regjsgen').generate;\n\nconst parse = require('regjsparser').parse;\n\nconst regenerate = require('regenerate');\n\nconst unicodeMatchProperty = require('unicode-match-property-ecmascript');\n\nconst unicodeMatchPropertyValue = require('unicode-match-property-value-ecmascript');\n\nconst iuMappings = require('./data/iu-mappings.js');\n\nconst ESCAPE_SETS = require('./data/character-class-escape-sets.js'); // Prepare a Regenerate set containing all code points, used for negative\n// character classes (if any).\n\n\nconst UNICODE_SET = regenerate().addRange(0x0, 0x10FFFF); // Without the `u` flag, the range stops at 0xFFFF.\n// https://mths.be/es6#sec-pattern-semantics\n\nconst BMP_SET = regenerate().addRange(0x0, 0xFFFF); // Prepare a Regenerate set containing all code points that are supposed to be\n// matched by `/./u`. https://mths.be/es6#sec-atom\n\nconst DOT_SET_UNICODE = UNICODE_SET.clone() // all Unicode code points\n.remove( // minus `LineTerminator`s (https://mths.be/es6#sec-line-terminators):\n0x000A, // Line Feed \n0x000D, // Carriage Return \n0x2028, // Line Separator \n0x2029 // Paragraph Separator \n);\n\nconst getCharacterClassEscapeSet = (character, unicode, ignoreCase) => {\n if (unicode) {\n if (ignoreCase) {\n return ESCAPE_SETS.UNICODE_IGNORE_CASE.get(character);\n }\n\n return ESCAPE_SETS.UNICODE.get(character);\n }\n\n return ESCAPE_SETS.REGULAR.get(character);\n};\n\nconst getUnicodeDotSet = dotAll => {\n return dotAll ? UNICODE_SET : DOT_SET_UNICODE;\n};\n\nconst getUnicodePropertyValueSet = (property, value) => {\n const path = value ? \"\".concat(property, \"/\").concat(value) : \"Binary_Property/\".concat(property);\n\n try {\n return require(\"regenerate-unicode-properties/\".concat(path, \".js\"));\n } catch (exception) {\n throw new Error(\"Failed to recognize value `\".concat(value, \"` for property \") + \"`\".concat(property, \"`.\"));\n }\n};\n\nconst handleLoneUnicodePropertyNameOrValue = value => {\n // It could be a `General_Category` value or a binary property.\n // Note: `unicodeMatchPropertyValue` throws on invalid values.\n try {\n const property = 'General_Category';\n const category = unicodeMatchPropertyValue(property, value);\n return getUnicodePropertyValueSet(property, category);\n } catch (exception) {} // It’s not a `General_Category` value, so check if it’s a binary\n // property. Note: `unicodeMatchProperty` throws on invalid properties.\n\n\n const property = unicodeMatchProperty(value);\n return getUnicodePropertyValueSet(property);\n};\n\nconst getUnicodePropertyEscapeSet = (value, isNegative) => {\n const parts = value.split('=');\n const firstPart = parts[0];\n let set;\n\n if (parts.length == 1) {\n set = handleLoneUnicodePropertyNameOrValue(firstPart);\n } else {\n // The pattern consists of two parts, i.e. `Property=Value`.\n const property = unicodeMatchProperty(firstPart);\n const value = unicodeMatchPropertyValue(property, parts[1]);\n set = getUnicodePropertyValueSet(property, value);\n }\n\n if (isNegative) {\n return UNICODE_SET.clone().remove(set);\n }\n\n return set.clone();\n}; // Given a range of code points, add any case-folded code points in that range\n// to a set.\n\n\nregenerate.prototype.iuAddRange = function (min, max) {\n const $this = this;\n\n do {\n const folded = caseFold(min);\n\n if (folded) {\n $this.add(folded);\n }\n } while (++min <= max);\n\n return $this;\n};\n\nconst update = (item, pattern) => {\n let tree = parse(pattern, config.useUnicodeFlag ? 'u' : '');\n\n switch (tree.type) {\n case 'characterClass':\n case 'group':\n case 'value':\n // No wrapping needed.\n break;\n\n default:\n // Wrap the pattern in a non-capturing group.\n tree = wrap(tree, pattern);\n }\n\n Object.assign(item, tree);\n};\n\nconst wrap = (tree, pattern) => {\n // Wrap the pattern in a non-capturing group.\n return {\n 'type': 'group',\n 'behavior': 'ignore',\n 'body': [tree],\n 'raw': \"(?:\".concat(pattern, \")\")\n };\n};\n\nconst caseFold = codePoint => {\n return iuMappings.get(codePoint) || false;\n};\n\nconst processCharacterClass = (characterClassItem, regenerateOptions) => {\n const set = regenerate();\n\n for (const item of characterClassItem.body) {\n switch (item.type) {\n case 'value':\n set.add(item.codePoint);\n\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n const folded = caseFold(item.codePoint);\n\n if (folded) {\n set.add(folded);\n }\n }\n\n break;\n\n case 'characterClassRange':\n const min = item.min.codePoint;\n const max = item.max.codePoint;\n set.addRange(min, max);\n\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n set.iuAddRange(min, max);\n }\n\n break;\n\n case 'characterClassEscape':\n set.add(getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase));\n break;\n\n case 'unicodePropertyEscape':\n set.add(getUnicodePropertyEscapeSet(item.value, item.negative));\n break;\n // The `default` clause is only here as a safeguard; it should never be\n // reached. Code coverage tools should ignore it.\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown term type: \".concat(item.type));\n }\n }\n\n if (characterClassItem.negative) {\n update(characterClassItem, \"(?!\".concat(set.toString(regenerateOptions), \")[\\\\s\\\\S]\"));\n } else {\n update(characterClassItem, set.toString(regenerateOptions));\n }\n\n return characterClassItem;\n};\n\nconst updateNamedReference = (item, index) => {\n delete item.name;\n item.matchIndex = index;\n};\n\nconst assertNoUnmatchedReferences = groups => {\n const unmatchedReferencesNames = Object.keys(groups.unmatchedReferences);\n\n if (unmatchedReferencesNames.length > 0) {\n throw new Error(\"Unknown group names: \".concat(unmatchedReferencesNames));\n }\n};\n\nconst processTerm = (item, regenerateOptions, groups) => {\n switch (item.type) {\n case 'dot':\n if (config.useDotAllFlag) {\n break;\n } else if (config.unicode) {\n update(item, getUnicodeDotSet(config.dotAll).toString(regenerateOptions));\n } else if (config.dotAll) {\n // TODO: consider changing this at the regenerate level.\n update(item, '[\\\\s\\\\S]');\n }\n\n break;\n\n case 'characterClass':\n item = processCharacterClass(item, regenerateOptions);\n break;\n\n case 'unicodePropertyEscape':\n if (config.unicodePropertyEscape) {\n update(item, getUnicodePropertyEscapeSet(item.value, item.negative).toString(regenerateOptions));\n }\n\n break;\n\n case 'characterClassEscape':\n update(item, getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase).toString(regenerateOptions));\n break;\n\n case 'group':\n if (item.behavior == 'normal') {\n groups.lastIndex++;\n }\n\n if (item.name && config.namedGroup) {\n const name = item.name.value;\n\n if (groups.names[name]) {\n throw new Error(\"Multiple groups with the same name (\".concat(name, \") are not allowed.\"));\n }\n\n const index = groups.lastIndex;\n delete item.name;\n groups.names[name] = index;\n\n if (groups.onNamedGroup) {\n groups.onNamedGroup.call(null, name, index);\n }\n\n if (groups.unmatchedReferences[name]) {\n groups.unmatchedReferences[name].forEach(reference => {\n updateNamedReference(reference, index);\n });\n delete groups.unmatchedReferences[name];\n }\n }\n\n /* falls through */\n\n case 'alternative':\n case 'disjunction':\n case 'quantifier':\n item.body = item.body.map(term => {\n return processTerm(term, regenerateOptions, groups);\n });\n break;\n\n case 'value':\n const codePoint = item.codePoint;\n const set = regenerate(codePoint);\n\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n const folded = caseFold(codePoint);\n\n if (folded) {\n set.add(folded);\n }\n }\n\n update(item, set.toString(regenerateOptions));\n break;\n\n case 'reference':\n if (item.name) {\n const name = item.name.value;\n const index = groups.names[name];\n\n if (index) {\n updateNamedReference(item, index);\n break;\n }\n\n if (!groups.unmatchedReferences[name]) {\n groups.unmatchedReferences[name] = [];\n } // Keep track of references used before the corresponding group.\n\n\n groups.unmatchedReferences[name].push(item);\n }\n\n break;\n\n case 'anchor':\n case 'empty':\n case 'group':\n // Nothing to do here.\n break;\n // The `default` clause is only here as a safeguard; it should never be\n // reached. Code coverage tools should ignore it.\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown term type: \".concat(item.type));\n }\n\n return item;\n};\n\nconst config = {\n 'ignoreCase': false,\n 'unicode': false,\n 'dotAll': false,\n 'useDotAllFlag': false,\n 'useUnicodeFlag': false,\n 'unicodePropertyEscape': false,\n 'namedGroup': false\n};\n\nconst rewritePattern = (pattern, flags, options) => {\n config.unicode = flags && flags.includes('u');\n const regjsparserFeatures = {\n 'unicodePropertyEscape': config.unicode,\n 'namedGroups': true,\n 'lookbehind': options && options.lookbehind\n };\n config.ignoreCase = flags && flags.includes('i');\n const supportDotAllFlag = options && options.dotAllFlag;\n config.dotAll = supportDotAllFlag && flags && flags.includes('s');\n config.namedGroup = options && options.namedGroup;\n config.useDotAllFlag = options && options.useDotAllFlag;\n config.useUnicodeFlag = options && options.useUnicodeFlag;\n config.unicodePropertyEscape = options && options.unicodePropertyEscape;\n\n if (supportDotAllFlag && config.useDotAllFlag) {\n throw new Error('`useDotAllFlag` and `dotAllFlag` cannot both be true!');\n }\n\n const regenerateOptions = {\n 'hasUnicodeFlag': config.useUnicodeFlag,\n 'bmpOnly': !config.unicode\n };\n const groups = {\n 'onNamedGroup': options && options.onNamedGroup,\n 'lastIndex': 0,\n 'names': Object.create(null),\n // { [name]: index }\n 'unmatchedReferences': Object.create(null) // { [name]: Array }\n\n };\n const tree = parse(pattern, flags, regjsparserFeatures); // Note: `processTerm` mutates `tree` and `groups`.\n\n processTerm(tree, regenerateOptions, groups);\n assertNoUnmatchedReferences(groups);\n return generate(tree);\n};\n\nmodule.exports = rewritePattern;","/*!\n * regjsgen 0.5.2\n * Copyright 2014-2020 Benjamin Tan \n * Available under the MIT license \n */\n;\n(function () {\n 'use strict'; // Used to determine if values are of the language type `Object`.\n\n var objectTypes = {\n 'function': true,\n 'object': true\n }; // Used as a reference to the global object.\n\n var root = objectTypes[typeof window] && window || this; // Detect free variable `exports`.\n\n var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports; // Detect free variable `module`.\n\n var hasFreeModule = objectTypes[typeof module] && module && !module.nodeType; // Detect free variable `global` from Node.js or Browserified code and use it as `root`.\n\n var freeGlobal = freeExports && hasFreeModule && typeof global == 'object' && global;\n\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n } // Used to check objects for own properties.\n\n\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n /*--------------------------------------------------------------------------*/\n // Generates a string based on the given code point.\n // Based on https://mths.be/fromcodepoint by @mathias.\n\n function fromCodePoint() {\n var codePoint = Number(arguments[0]);\n\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n\n if (codePoint <= 0xFFFF) {\n // BMP code point\n return String.fromCharCode(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n var highSurrogate = (codePoint >> 10) + 0xD800;\n var lowSurrogate = codePoint % 0x400 + 0xDC00;\n return String.fromCharCode(highSurrogate, lowSurrogate);\n }\n }\n /*--------------------------------------------------------------------------*/\n // Ensures that nodes have the correct types.\n\n\n var assertTypeRegexMap = {};\n\n function assertType(type, expected) {\n if (expected.indexOf('|') == -1) {\n if (type == expected) {\n return;\n }\n\n throw Error('Invalid node type: ' + type + '; expected type: ' + expected);\n }\n\n expected = hasOwnProperty.call(assertTypeRegexMap, expected) ? assertTypeRegexMap[expected] : assertTypeRegexMap[expected] = RegExp('^(?:' + expected + ')$');\n\n if (expected.test(type)) {\n return;\n }\n\n throw Error('Invalid node type: ' + type + '; expected types: ' + expected);\n }\n /*--------------------------------------------------------------------------*/\n // Generates a regular expression string based on an AST.\n\n\n function generate(node) {\n var type = node.type;\n\n if (hasOwnProperty.call(generators, type)) {\n return generators[type](node);\n }\n\n throw Error('Invalid node type: ' + type);\n } // Constructs a string by concatentating the output of each term.\n\n\n function generateSequence(generator, terms) {\n var i = -1,\n length = terms.length,\n result = '',\n term;\n\n while (++i < length) {\n term = terms[i]; // Ensure that `\\0` null escapes followed by number symbols are not\n // treated as backreferences.\n\n if (i + 1 < length && terms[i].type == 'value' && terms[i].kind == 'null' && terms[i + 1].type == 'value' && terms[i + 1].kind == 'symbol' && terms[i + 1].codePoint >= 48 && terms[i + 1].codePoint <= 57) {\n result += '\\\\000';\n continue;\n }\n\n result += generator(term);\n }\n\n return result;\n }\n /*--------------------------------------------------------------------------*/\n\n\n function generateAlternative(node) {\n assertType(node.type, 'alternative');\n return generateSequence(generateTerm, node.body);\n }\n\n function generateAnchor(node) {\n assertType(node.type, 'anchor');\n\n switch (node.kind) {\n case 'start':\n return '^';\n\n case 'end':\n return '$';\n\n case 'boundary':\n return '\\\\b';\n\n case 'not-boundary':\n return '\\\\B';\n\n default:\n throw Error('Invalid assertion');\n }\n }\n\n function generateAtom(node) {\n assertType(node.type, 'anchor|characterClass|characterClassEscape|dot|group|reference|value');\n return generate(node);\n }\n\n function generateCharacterClass(node) {\n assertType(node.type, 'characterClass');\n return '[' + (node.negative ? '^' : '') + generateSequence(generateClassAtom, node.body) + ']';\n }\n\n function generateCharacterClassEscape(node) {\n assertType(node.type, 'characterClassEscape');\n return '\\\\' + node.value;\n }\n\n function generateCharacterClassRange(node) {\n assertType(node.type, 'characterClassRange');\n var min = node.min,\n max = node.max;\n\n if (min.type == 'characterClassRange' || max.type == 'characterClassRange') {\n throw Error('Invalid character class range');\n }\n\n return generateClassAtom(min) + '-' + generateClassAtom(max);\n }\n\n function generateClassAtom(node) {\n assertType(node.type, 'anchor|characterClassEscape|characterClassRange|dot|value');\n return generate(node);\n }\n\n function generateDisjunction(node) {\n assertType(node.type, 'disjunction');\n var body = node.body,\n i = -1,\n length = body.length,\n result = '';\n\n while (++i < length) {\n if (i != 0) {\n result += '|';\n }\n\n result += generate(body[i]);\n }\n\n return result;\n }\n\n function generateDot(node) {\n assertType(node.type, 'dot');\n return '.';\n }\n\n function generateGroup(node) {\n assertType(node.type, 'group');\n var result = '';\n\n switch (node.behavior) {\n case 'normal':\n if (node.name) {\n result += '?<' + generateIdentifier(node.name) + '>';\n }\n\n break;\n\n case 'ignore':\n result += '?:';\n break;\n\n case 'lookahead':\n result += '?=';\n break;\n\n case 'negativeLookahead':\n result += '?!';\n break;\n\n case 'lookbehind':\n result += '?<=';\n break;\n\n case 'negativeLookbehind':\n result += '?';\n }\n\n throw new Error('Unknown reference type');\n }\n\n function generateTerm(node) {\n assertType(node.type, 'anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|unicodePropertyEscape|value|dot');\n return generate(node);\n }\n\n function generateUnicodePropertyEscape(node) {\n assertType(node.type, 'unicodePropertyEscape');\n return '\\\\' + (node.negative ? 'P' : 'p') + '{' + node.value + '}';\n }\n\n function generateValue(node) {\n assertType(node.type, 'value');\n var kind = node.kind,\n codePoint = node.codePoint;\n\n if (typeof codePoint != 'number') {\n throw new Error('Invalid code point: ' + codePoint);\n }\n\n switch (kind) {\n case 'controlLetter':\n return '\\\\c' + fromCodePoint(codePoint + 64);\n\n case 'hexadecimalEscape':\n return '\\\\x' + ('00' + codePoint.toString(16).toUpperCase()).slice(-2);\n\n case 'identifier':\n return '\\\\' + fromCodePoint(codePoint);\n\n case 'null':\n return '\\\\' + codePoint;\n\n case 'octal':\n return '\\\\' + ('000' + codePoint.toString(8)).slice(-3);\n\n case 'singleEscape':\n switch (codePoint) {\n case 0x0008:\n return '\\\\b';\n\n case 0x0009:\n return '\\\\t';\n\n case 0x000A:\n return '\\\\n';\n\n case 0x000B:\n return '\\\\v';\n\n case 0x000C:\n return '\\\\f';\n\n case 0x000D:\n return '\\\\r';\n\n case 0x002D:\n return '\\\\-';\n\n default:\n throw Error('Invalid code point: ' + codePoint);\n }\n\n case 'symbol':\n return fromCodePoint(codePoint);\n\n case 'unicodeEscape':\n return '\\\\u' + ('0000' + codePoint.toString(16).toUpperCase()).slice(-4);\n\n case 'unicodeCodePointEscape':\n return '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n\n default:\n throw Error('Unsupported node kind: ' + kind);\n }\n }\n /*--------------------------------------------------------------------------*/\n // Used to generate strings for each node type.\n\n\n var generators = {\n 'alternative': generateAlternative,\n 'anchor': generateAnchor,\n 'characterClass': generateCharacterClass,\n 'characterClassEscape': generateCharacterClassEscape,\n 'characterClassRange': generateCharacterClassRange,\n 'disjunction': generateDisjunction,\n 'dot': generateDot,\n 'group': generateGroup,\n 'quantifier': generateQuantifier,\n 'reference': generateReference,\n 'unicodePropertyEscape': generateUnicodePropertyEscape,\n 'value': generateValue\n };\n /*--------------------------------------------------------------------------*/\n // Export regjsgen.\n\n var regjsgen = {\n 'generate': generate\n }; // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Define as an anonymous module so it can be aliased through path mapping.\n define(function () {\n return regjsgen;\n });\n root.regjsgen = regjsgen;\n } // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && hasFreeModule) {\n // Export for CommonJS support.\n freeExports.generate = generate;\n } else {\n // Export to the global object.\n root.regjsgen = regjsgen;\n }\n}).call(this);","// regjsparser\n//\n// ==================================================================\n//\n// See ECMA-262 Standard: 15.10.1\n//\n// NOTE: The ECMA-262 standard uses the term \"Assertion\" for /^/. Here the\n// term \"Anchor\" is used.\n//\n// Pattern ::\n// Disjunction\n//\n// Disjunction ::\n// Alternative\n// Alternative | Disjunction\n//\n// Alternative ::\n// [empty]\n// Alternative Term\n//\n// Term ::\n// Anchor\n// Atom\n// Atom Quantifier\n//\n// Anchor ::\n// ^\n// $\n// \\ b\n// \\ B\n// ( ? = Disjunction )\n// ( ? ! Disjunction )\n// ( ? < = Disjunction )\n// ( ? < ! Disjunction )\n//\n// Quantifier ::\n// QuantifierPrefix\n// QuantifierPrefix ?\n//\n// QuantifierPrefix ::\n// *\n// +\n// ?\n// { DecimalDigits }\n// { DecimalDigits , }\n// { DecimalDigits , DecimalDigits }\n//\n// Atom ::\n// PatternCharacter\n// .\n// \\ AtomEscape\n// CharacterClass\n// ( GroupSpecifier Disjunction )\n// ( ? : Disjunction )\n//\n// PatternCharacter ::\n// SourceCharacter but not any of: ^ $ \\ . * + ? ( ) [ ] { } |\n//\n// AtomEscape ::\n// DecimalEscape\n// CharacterClassEscape\n// CharacterEscape\n// k GroupName\n//\n// CharacterEscape[U] ::\n// ControlEscape\n// c ControlLetter\n// HexEscapeSequence\n// RegExpUnicodeEscapeSequence[?U] (ES6)\n// IdentityEscape[?U]\n//\n// ControlEscape ::\n// one of f n r t v\n// ControlLetter ::\n// one of\n// a b c d e f g h i j k l m n o p q r s t u v w x y z\n// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\n//\n// IdentityEscape ::\n// SourceCharacter but not c\n//\n// DecimalEscape ::\n// DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n//\n// CharacterClassEscape ::\n// one of d D s S w W\n//\n// CharacterClass ::\n// [ [lookahead ∉ {^}] ClassRanges ]\n// [ ^ ClassRanges ]\n//\n// ClassRanges ::\n// [empty]\n// [~V] NonemptyClassRanges\n// [+V] ClassContents\n//\n// NonemptyClassRanges ::\n// ClassAtom\n// ClassAtom NonemptyClassRangesNoDash\n// ClassAtom - ClassAtom ClassRanges\n//\n// NonemptyClassRangesNoDash ::\n// ClassAtom\n// ClassAtomNoDash NonemptyClassRangesNoDash\n// ClassAtomNoDash - ClassAtom ClassRanges\n//\n// ClassAtom ::\n// -\n// ClassAtomNoDash\n//\n// ClassAtomNoDash ::\n// SourceCharacter but not one of \\ or ] or -\n// \\ ClassEscape\n//\n// ClassEscape ::\n// DecimalEscape\n// b\n// CharacterEscape\n// CharacterClassEscape\n//\n// GroupSpecifier ::\n// [empty]\n// ? GroupName\n//\n// GroupName ::\n// < RegExpIdentifierName >\n//\n// RegExpIdentifierName ::\n// RegExpIdentifierStart\n// RegExpIdentifierName RegExpIdentifierContinue\n//\n// RegExpIdentifierStart ::\n// UnicodeIDStart\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n//\n// RegExpIdentifierContinue ::\n// UnicodeIDContinue\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n// \n// \n//\n// --------------------------------------------------------------\n// NOTE: The following productions refer to the \"set notation and\n// properties of strings\" proposal.\n// https://github.com/tc39/proposal-regexp-set-notation\n// --------------------------------------------------------------\n//\n// ClassContents ::\n// ClassUnion\n// ClassIntersection\n// ClassSubtraction\n//\n// ClassUnion ::\n// ClassRange ClassUnion?\n// ClassOperand ClassUnion?\n//\n// ClassIntersection ::\n// ClassOperand && [lookahead ≠ &] ClassOperand\n// ClassIntersection && [lookahead ≠ &] ClassOperand\n//\n// ClassSubtraction ::\n// ClassOperand -- ClassOperand\n// ClassSubtraction -- ClassOperand\n//\n// ClassOperand ::\n// ClassCharacter\n// ClassStrings\n// NestedClass\n//\n// NestedClass ::\n// [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n// [ ^ ClassRanges[+U,+V] ]\n// \\ CharacterClassEscape[+U, +V]\n//\n// ClassRange ::\n// ClassCharacter - ClassCharacter\n//\n// ClassCharacter ::\n// [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n// \\ CharacterEscape[+U]\n// \\ ClassHalfOfDouble\n// \\ b\n//\n// ClassSyntaxCharacter ::\n// one of ( ) [ ] { } / - \\ |\n//\n// ClassStrings ::\n// ( ClassString MoreClassStrings? )\n//\n// MoreClassStrings ::\n// | ClassString MoreClassStrings?\n//\n// ClassString ::\n// [empty]\n// NonEmptyClassString\n//\n// NonEmptyClassString ::\n// ClassCharacter NonEmptyClassString?\n//\n// ClassReservedDouble ::\n// one of && !! ## $$ %% ** ++ ,, .. :: ;; << == >> ?? @@ ^^ __ `` ~~\n//\n// ClassHalfOfDouble ::\n// one of & - ! # % , : ; < = > @ _ ` ~\n//\n(function () {\n var fromCodePoint = String.fromCodePoint || function () {\n // Implementation taken from\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint\n var stringFromCharCode = String.fromCharCode;\n var floor = Math.floor;\n return function fromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n\n if (!length) {\n return '';\n }\n\n var result = '';\n\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n\n if (codePoint <= 0xFFFF) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xD800;\n lowSurrogate = codePoint % 0x400 + 0xDC00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n\n if (index + 1 == length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n\n return result;\n };\n }();\n\n function parse(str, flags, features) {\n if (!features) {\n features = {};\n }\n\n function addRaw(node) {\n node.raw = str.substring(node.range[0], node.range[1]);\n return node;\n }\n\n function updateRawStart(node, start) {\n node.range[0] = start;\n return addRaw(node);\n }\n\n function createAnchor(kind, rawLength) {\n return addRaw({\n type: 'anchor',\n kind: kind,\n range: [pos - rawLength, pos]\n });\n }\n\n function createValue(kind, codePoint, from, to) {\n return addRaw({\n type: 'value',\n kind: kind,\n codePoint: codePoint,\n range: [from, to]\n });\n }\n\n function createEscaped(kind, codePoint, value, fromOffset) {\n fromOffset = fromOffset || 0;\n return createValue(kind, codePoint, pos - (value.length + fromOffset), pos);\n }\n\n function createCharacter(matches) {\n var _char = matches[0];\n\n var first = _char.charCodeAt(0);\n\n if (hasUnicodeFlag) {\n var second;\n\n if (_char.length === 1 && first >= 0xD800 && first <= 0xDBFF) {\n second = lookahead().charCodeAt(0);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n pos++;\n return createValue('symbol', (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000, pos - 2, pos);\n }\n }\n }\n\n return createValue('symbol', first, pos - 1, pos);\n }\n\n function createDisjunction(alternatives, from, to) {\n return addRaw({\n type: 'disjunction',\n body: alternatives,\n range: [from, to]\n });\n }\n\n function createDot() {\n return addRaw({\n type: 'dot',\n range: [pos - 1, pos]\n });\n }\n\n function createCharacterClassEscape(value) {\n return addRaw({\n type: 'characterClassEscape',\n value: value,\n range: [pos - 2, pos]\n });\n }\n\n function createReference(matchIndex) {\n return addRaw({\n type: 'reference',\n matchIndex: parseInt(matchIndex, 10),\n range: [pos - 1 - matchIndex.length, pos]\n });\n }\n\n function createNamedReference(name) {\n return addRaw({\n type: 'reference',\n name: name,\n range: [name.range[0] - 3, pos]\n });\n }\n\n function createGroup(behavior, disjunction, from, to) {\n return addRaw({\n type: 'group',\n behavior: behavior,\n body: disjunction,\n range: [from, to]\n });\n }\n\n function createQuantifier(min, max, from, to) {\n if (to == null) {\n from = pos - 1;\n to = pos;\n }\n\n return addRaw({\n type: 'quantifier',\n min: min,\n max: max,\n greedy: true,\n body: null,\n // set later on\n range: [from, to]\n });\n }\n\n function createAlternative(terms, from, to) {\n return addRaw({\n type: 'alternative',\n body: terms,\n range: [from, to]\n });\n }\n\n function createCharacterClass(contents, negative, from, to) {\n return addRaw({\n type: 'characterClass',\n kind: contents.kind,\n body: contents.body,\n negative: negative,\n range: [from, to]\n });\n }\n\n function createClassRange(min, max, from, to) {\n // See 15.10.2.15:\n if (min.codePoint > max.codePoint) {\n bail('invalid range in character class', min.raw + '-' + max.raw, from, to);\n }\n\n return addRaw({\n type: 'characterClassRange',\n min: min,\n max: max,\n range: [from, to]\n });\n }\n\n function createClassStrings(strings, from, to) {\n return addRaw({\n type: 'classStrings',\n strings: strings,\n range: [from, to]\n });\n }\n\n function createClassString(characters, from, to) {\n return addRaw({\n type: 'classString',\n characters: characters,\n range: [from, to]\n });\n }\n\n function flattenBody(body) {\n if (body.type === 'alternative') {\n return body.body;\n } else {\n return [body];\n }\n }\n\n function incr(amount) {\n amount = amount || 1;\n var res = str.substring(pos, pos + amount);\n pos += amount || 1;\n return res;\n }\n\n function skip(value) {\n if (!match(value)) {\n bail('character', value);\n }\n }\n\n function match(value) {\n if (str.indexOf(value, pos) === pos) {\n return incr(value.length);\n }\n }\n\n function lookahead() {\n return str[pos];\n }\n\n function current(value) {\n return str.indexOf(value, pos) === pos;\n }\n\n function next(value) {\n return str[pos + 1] === value;\n }\n\n function matchReg(regExp) {\n var subStr = str.substring(pos);\n var res = subStr.match(regExp);\n\n if (res) {\n res.range = [];\n res.range[0] = pos;\n incr(res[0].length);\n res.range[1] = pos;\n }\n\n return res;\n }\n\n function parseDisjunction() {\n // Disjunction ::\n // Alternative\n // Alternative | Disjunction\n var res = [],\n from = pos;\n res.push(parseAlternative());\n\n while (match('|')) {\n res.push(parseAlternative());\n }\n\n if (res.length === 1) {\n return res[0];\n }\n\n return createDisjunction(res, from, pos);\n }\n\n function parseAlternative() {\n var res = [],\n from = pos;\n var term; // Alternative ::\n // [empty]\n // Alternative Term\n\n while (term = parseTerm()) {\n res.push(term);\n }\n\n if (res.length === 1) {\n return res[0];\n }\n\n return createAlternative(res, from, pos);\n }\n\n function parseTerm() {\n // Term ::\n // Anchor\n // Atom\n // Atom Quantifier\n if (pos >= str.length || current('|') || current(')')) {\n return null;\n /* Means: The term is empty */\n }\n\n var anchor = parseAnchor();\n\n if (anchor) {\n return anchor;\n }\n\n var atom = parseAtomAndExtendedAtom();\n\n if (!atom) {\n // Check if a quantifier is following. A quantifier without an atom\n // is an error.\n pos_backup = pos;\n var quantifier = parseQuantifier() || false;\n\n if (quantifier) {\n pos = pos_backup;\n bail('Expected atom');\n } // If no unicode flag, then try to parse ExtendedAtom -> ExtendedPatternCharacter.\n // ExtendedPatternCharacter\n\n\n if (!hasUnicodeFlag && (res = matchReg(/^{/))) {\n atom = createCharacter(res);\n } else {\n bail('Expected atom');\n }\n }\n\n var quantifier = parseQuantifier() || false;\n\n if (quantifier) {\n quantifier.body = flattenBody(atom); // The quantifier contains the atom. Therefore, the beginning of the\n // quantifier range is given by the beginning of the atom.\n\n updateRawStart(quantifier, atom.range[0]);\n return quantifier;\n }\n\n return atom;\n }\n\n function parseGroup(matchA, typeA, matchB, typeB) {\n var type = null,\n from = pos;\n\n if (match(matchA)) {\n type = typeA;\n } else if (match(matchB)) {\n type = typeB;\n } else {\n return false;\n }\n\n return finishGroup(type, from);\n }\n\n function finishGroup(type, from) {\n var body = parseDisjunction();\n\n if (!body) {\n bail('Expected disjunction');\n }\n\n skip(')');\n var group = createGroup(type, flattenBody(body), from, pos);\n\n if (type == 'normal') {\n // Keep track of the number of closed groups. This is required for\n // parseDecimalEscape(). In case the string is parsed a second time the\n // value already holds the total count and no incrementation is required.\n if (firstIteration) {\n closedCaptureCounter++;\n }\n }\n\n return group;\n }\n\n function parseAnchor() {\n // Anchor ::\n // ^\n // $\n // \\ b\n // \\ B\n // ( ? = Disjunction )\n // ( ? ! Disjunction )\n var res,\n from = pos;\n\n if (match('^')) {\n return createAnchor('start', 1\n /* rawLength */\n );\n } else if (match('$')) {\n return createAnchor('end', 1\n /* rawLength */\n );\n } else if (match('\\\\b')) {\n return createAnchor('boundary', 2\n /* rawLength */\n );\n } else if (match('\\\\B')) {\n return createAnchor('not-boundary', 2\n /* rawLength */\n );\n } else {\n return parseGroup('(?=', 'lookahead', '(?!', 'negativeLookahead');\n }\n }\n\n function parseQuantifier() {\n // Quantifier ::\n // QuantifierPrefix\n // QuantifierPrefix ?\n //\n // QuantifierPrefix ::\n // *\n // +\n // ?\n // { DecimalDigits }\n // { DecimalDigits , }\n // { DecimalDigits , DecimalDigits }\n var res,\n from = pos;\n var quantifier;\n var min, max;\n\n if (match('*')) {\n quantifier = createQuantifier(0);\n } else if (match('+')) {\n quantifier = createQuantifier(1);\n } else if (match('?')) {\n quantifier = createQuantifier(0, 1);\n } else if (res = matchReg(/^\\{([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, min, res.range[0], res.range[1]);\n } else if (res = matchReg(/^\\{([0-9]+),\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, undefined, res.range[0], res.range[1]);\n } else if (res = matchReg(/^\\{([0-9]+),([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n max = parseInt(res[2], 10);\n\n if (min > max) {\n bail('numbers out of order in {} quantifier', '', from, pos);\n }\n\n quantifier = createQuantifier(min, max, res.range[0], res.range[1]);\n }\n\n if (quantifier) {\n if (match('?')) {\n quantifier.greedy = false;\n quantifier.range[1] += 1;\n }\n }\n\n return quantifier;\n }\n\n function parseAtomAndExtendedAtom() {\n // Parsing Atom and ExtendedAtom together due to redundancy.\n // ExtendedAtom is defined in Apendix B of the ECMA-262 standard.\n //\n // SEE: https://www.ecma-international.org/ecma-262/10.0/index.html#prod-annexB-ExtendedPatternCharacter\n //\n // Atom ::\n // PatternCharacter\n // .\n // \\ AtomEscape\n // CharacterClass\n // ( GroupSpecifier Disjunction )\n // ( ? : Disjunction )\n // ExtendedAtom ::\n // ExtendedPatternCharacter\n // ExtendedPatternCharacter ::\n // SourceCharacter but not one of ^$\\.*+?()[|\n var res; // jviereck: allow ']', '}' here as well to be compatible with browser's\n // implementations: ']'.match(/]/);\n\n if (res = matchReg(/^[^^$\\\\.*+?()[\\]{}|]/)) {\n // PatternCharacter\n return createCharacter(res);\n } else if (!hasUnicodeFlag && (res = matchReg(/^(?:]|})/))) {\n // ExtendedPatternCharacter, first part. See parseTerm.\n return createCharacter(res);\n } else if (match('.')) {\n // .\n return createDot();\n } else if (match('\\\\')) {\n // \\ AtomEscape\n res = parseAtomEscape();\n\n if (!res) {\n if (!hasUnicodeFlag && lookahead() == 'c') {\n // B.1.4 ExtendedAtom\n // \\[lookahead = c]\n return createValue('symbol', 92, pos - 1, pos);\n }\n\n bail('atomEscape');\n }\n\n return res;\n } else if (res = parseCharacterClass()) {\n return res;\n } else if (features.lookbehind && (res = parseGroup('(?<=', 'lookbehind', '(?\");\n var group = finishGroup(\"normal\", name.range[0] - 3);\n group.name = name;\n return group;\n } else {\n // ( Disjunction )\n // ( ? : Disjunction )\n return parseGroup('(?:', 'ignore', '(', 'normal');\n }\n }\n\n function parseUnicodeSurrogatePairEscape(firstEscape) {\n if (hasUnicodeFlag) {\n var first, second;\n\n if (firstEscape.kind == 'unicodeEscape' && (first = firstEscape.codePoint) >= 0xD800 && first <= 0xDBFF && current('\\\\') && next('u')) {\n var prevPos = pos;\n pos++;\n var secondEscape = parseClassEscape();\n\n if (secondEscape.kind == 'unicodeEscape' && (second = secondEscape.codePoint) >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n firstEscape.range[1] = secondEscape.range[1];\n firstEscape.codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n firstEscape.type = 'value';\n firstEscape.kind = 'unicodeCodePointEscape';\n addRaw(firstEscape);\n } else {\n pos = prevPos;\n }\n }\n }\n\n return firstEscape;\n }\n\n function parseClassEscape() {\n return parseAtomEscape(true);\n }\n\n function parseAtomEscape(insideCharacterClass) {\n // AtomEscape ::\n // DecimalEscape\n // CharacterEscape\n // CharacterClassEscape\n // k GroupName\n var res,\n from = pos;\n res = parseDecimalEscape() || parseNamedReference();\n\n if (res) {\n return res;\n } // For ClassEscape\n\n\n if (insideCharacterClass) {\n // b\n if (match('b')) {\n // 15.10.2.19\n // The production ClassEscape :: b evaluates by returning the\n // CharSet containing the one character (Unicode value 0008).\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of CharacterClass', '', from);\n } else if (!hasUnicodeFlag && (res = matchReg(/^c([0-9])/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = DecimalDigit\n return createEscaped('controlLetter', res[1] + 16, res[1], 2);\n } else if (!hasUnicodeFlag && (res = matchReg(/^c_/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = _\n return createEscaped('controlLetter', 31, '_', 2);\n } // [+U] -\n\n\n if (hasUnicodeFlag && match('-')) {\n return createEscaped('singleEscape', 0x002d, '\\\\-');\n }\n }\n\n res = parseCharacterClassEscape() || parseCharacterEscape();\n return res;\n }\n\n function parseDecimalEscape() {\n // DecimalEscape ::\n // DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n var res, match;\n\n if (res = matchReg(/^(?!0)\\d+/)) {\n match = res[0];\n var refIdx = parseInt(res[0], 10);\n\n if (refIdx <= closedCaptureCounter) {\n // If the number is smaller than the normal-groups found so\n // far, then it is a reference...\n return createReference(res[0]);\n } else {\n // ... otherwise it needs to be interpreted as a octal (if the\n // number is in an octal format). If it is NOT octal format,\n // then the slash is ignored and the number is matched later\n // as normal characters.\n // Recall the negative decision to decide if the input must be parsed\n // a second time with the total normal-groups.\n backrefDenied.push(refIdx); // Reset the position again, as maybe only parts of the previous\n // matched numbers are actual octal numbers. E.g. in '019' only\n // the '01' should be matched.\n\n incr(-res[0].length);\n\n if (res = matchReg(/^[0-7]{1,3}/)) {\n return createEscaped('octal', parseInt(res[0], 8), res[0], 1);\n } else {\n // If we end up here, we have a case like /\\91/. Then the\n // first slash is to be ignored and the 9 & 1 to be treated\n // like ordinary characters. Create a character for the\n // first number only here - other number-characters\n // (if available) will be matched later.\n res = createCharacter(matchReg(/^[89]/));\n return updateRawStart(res, res.range[0] - 1);\n }\n }\n } // Only allow octal numbers in the following. All matched numbers start\n // with a zero (if the do not, the previous if-branch is executed).\n // If the number is not octal format and starts with zero (e.g. `091`)\n // then only the zeros `0` is treated here and the `91` are ordinary\n // characters.\n // Example:\n // /\\091/.exec('\\091')[0].length === 3\n else if (res = matchReg(/^[0-7]{1,3}/)) {\n match = res[0];\n\n if (/^0{1,3}$/.test(match)) {\n // If they are all zeros, then only take the first one.\n return createEscaped('null', 0x0000, '0', match.length);\n } else {\n return createEscaped('octal', parseInt(match, 8), match, 1);\n }\n }\n\n return false;\n }\n\n function parseCharacterClassEscape() {\n // CharacterClassEscape :: one of d D s S w W\n var res;\n\n if (res = matchReg(/^[dDsSwW]/)) {\n return createCharacterClassEscape(res[0]);\n } else if (features.unicodePropertyEscape && (hasUnicodeFlag || hasUnicodeSetFlag) && (res = matchReg(/^([pP])\\{([^\\}]+)\\}/))) {\n // https://github.com/jviereck/regjsparser/issues/77\n return addRaw({\n type: 'unicodePropertyEscape',\n negative: res[1] === 'P',\n value: res[2],\n range: [res.range[0] - 1, res.range[1]],\n raw: res[0]\n });\n }\n\n return false;\n }\n\n function parseNamedReference() {\n if (features.namedGroups && matchReg(/^k<(?=.*?>)/)) {\n var name = parseIdentifier();\n skip('>');\n return createNamedReference(name);\n }\n }\n\n function parseRegExpUnicodeEscapeSequence() {\n var res;\n\n if (res = matchReg(/^u([0-9a-fA-F]{4})/)) {\n // UnicodeEscapeSequence\n return parseUnicodeSurrogatePairEscape(createEscaped('unicodeEscape', parseInt(res[1], 16), res[1], 2));\n } else if (hasUnicodeFlag && (res = matchReg(/^u\\{([0-9a-fA-F]+)\\}/))) {\n // RegExpUnicodeEscapeSequence (ES6 Unicode code point escape)\n return createEscaped('unicodeCodePointEscape', parseInt(res[1], 16), res[1], 4);\n }\n }\n\n function parseCharacterEscape() {\n // CharacterEscape ::\n // ControlEscape\n // c ControlLetter\n // HexEscapeSequence\n // UnicodeEscapeSequence\n // IdentityEscape\n var res;\n var from = pos;\n\n if (res = matchReg(/^[fnrtv]/)) {\n // ControlEscape\n var codePoint = 0;\n\n switch (res[0]) {\n case 't':\n codePoint = 0x009;\n break;\n\n case 'n':\n codePoint = 0x00A;\n break;\n\n case 'v':\n codePoint = 0x00B;\n break;\n\n case 'f':\n codePoint = 0x00C;\n break;\n\n case 'r':\n codePoint = 0x00D;\n break;\n }\n\n return createEscaped('singleEscape', codePoint, '\\\\' + res[0]);\n } else if (res = matchReg(/^c([a-zA-Z])/)) {\n // c ControlLetter\n return createEscaped('controlLetter', res[1].charCodeAt(0) % 32, res[1], 2);\n } else if (res = matchReg(/^x([0-9a-fA-F]{2})/)) {\n // HexEscapeSequence\n return createEscaped('hexadecimalEscape', parseInt(res[1], 16), res[1], 2);\n } else if (res = parseRegExpUnicodeEscapeSequence()) {\n if (!res || res.codePoint > 0x10FFFF) {\n bail('Invalid escape sequence', null, from, pos);\n }\n\n return res;\n } else {\n // IdentityEscape\n return parseIdentityEscape();\n }\n }\n\n function parseIdentifierAtom(check) {\n var ch = lookahead();\n var from = pos;\n\n if (ch === '\\\\') {\n incr();\n var esc = parseRegExpUnicodeEscapeSequence();\n\n if (!esc || !check(esc.codePoint)) {\n bail('Invalid escape sequence', null, from, pos);\n }\n\n return fromCodePoint(esc.codePoint);\n }\n\n var code = ch.charCodeAt(0);\n\n if (code >= 0xD800 && code <= 0xDBFF) {\n ch += str[pos + 1];\n var second = ch.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n code = (code - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n if (!check(code)) return;\n incr();\n if (code > 0xFFFF) incr();\n return ch;\n }\n\n function parseIdentifier() {\n // RegExpIdentifierName ::\n // RegExpIdentifierStart\n // RegExpIdentifierName RegExpIdentifierContinue\n //\n // RegExpIdentifierStart ::\n // UnicodeIDStart\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n //\n // RegExpIdentifierContinue ::\n // UnicodeIDContinue\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n // \n // \n var start = pos;\n var res = parseIdentifierAtom(isIdentifierStart);\n\n if (!res) {\n bail('Invalid identifier');\n }\n\n var ch;\n\n while (ch = parseIdentifierAtom(isIdentifierPart)) {\n res += ch;\n }\n\n return addRaw({\n type: 'identifier',\n value: res,\n range: [start, pos]\n });\n }\n\n function isIdentifierStart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n var NonAsciiIdentifierStart = /[\\$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7B9\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/;\n return ch === 36 || ch === 95 || // $ (dollar) and _ (underscore)\n ch >= 65 && ch <= 90 || // A..Z\n ch >= 97 && ch <= 122 || // a..z\n ch >= 0x80 && NonAsciiIdentifierStart.test(fromCodePoint(ch));\n } // Taken from the Esprima parser.\n\n\n function isIdentifierPart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n var NonAsciiIdentifierPartOnly = /[0-9_\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u200C\\u200D\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD801[\\uDCA0-\\uDCA9]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD803[\\uDD24-\\uDD27\\uDD30-\\uDD39\\uDF46-\\uDF50]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDCF0-\\uDCF9\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD36-\\uDD3F\\uDD45\\uDD46\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDDC9-\\uDDCC\\uDDD0-\\uDDD9\\uDE2C-\\uDE37\\uDE3E\\uDEDF-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF3B\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC35-\\uDC46\\uDC50-\\uDC59\\uDC5E\\uDCB0-\\uDCC3\\uDCD0-\\uDCD9\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDDDC\\uDDDD\\uDE30-\\uDE40\\uDE50-\\uDE59\\uDEAB-\\uDEB7\\uDEC0-\\uDEC9\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC2C-\\uDC3A\\uDCE0-\\uDCE9\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE3E\\uDE47\\uDE51-\\uDE5B\\uDE8A-\\uDE99]|\\uD807[\\uDC2F-\\uDC36\\uDC38-\\uDC3F\\uDC50-\\uDC59\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD31-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD45\\uDD47\\uDD50-\\uDD59\\uDD8A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD97\\uDDA0-\\uDDA9\\uDEF3-\\uDEF6]|\\uD81A[\\uDE60-\\uDE69\\uDEF0-\\uDEF4\\uDF30-\\uDF36\\uDF50-\\uDF59]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A\\uDD50-\\uDD59]|\\uDB40[\\uDD00-\\uDDEF]/;\n return isIdentifierStart(ch) || ch >= 48 && ch <= 57 || // 0..9\n ch >= 0x80 && NonAsciiIdentifierPartOnly.test(fromCodePoint(ch));\n }\n\n function parseIdentityEscape() {\n // IdentityEscape ::\n // [+U] SyntaxCharacter\n // [+U] /\n // [~U] SourceCharacterIdentityEscape[?N]\n // SourceCharacterIdentityEscape[?N] ::\n // [~N] SourceCharacter but not c\n // [+N] SourceCharacter but not one of c or k\n var tmp;\n var l = lookahead();\n\n if (hasUnicodeFlag && /[\\^\\$\\.\\*\\+\\?\\(\\)\\\\\\[\\]\\{\\}\\|\\/]/.test(l) || !hasUnicodeFlag && l !== \"c\") {\n if (l === \"k\" && features.lookbehind) {\n return null;\n }\n\n tmp = incr();\n return createEscaped('identifier', tmp.charCodeAt(0), tmp, 1);\n }\n\n return null;\n }\n\n function parseCharacterClass() {\n // CharacterClass ::\n // [ [lookahead ∉ {^}] ClassRanges ]\n // [ ^ ClassRanges ]\n var res,\n from = pos;\n\n if (res = matchReg(/^\\[\\^/)) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, true, from, pos);\n } else if (match('[')) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, false, from, pos);\n }\n\n return null;\n }\n\n function parseClassRanges() {\n // ClassRanges ::\n // [empty]\n // [~V] NonemptyClassRanges\n // [+V] ClassContents\n var res;\n\n if (current(']')) {\n // Empty array means nothing inside of the ClassRange.\n return {\n kind: 'union',\n body: []\n };\n } else if (hasUnicodeSetFlag) {\n return parseClassContents();\n } else {\n res = parseNonemptyClassRanges();\n\n if (!res) {\n bail('nonEmptyClassRanges');\n }\n\n return {\n kind: 'union',\n body: res\n };\n }\n }\n\n function parseHelperClassRanges(atom) {\n var from, to, res, atomTo, dash;\n\n if (current('-') && !next(']')) {\n // ClassAtom - ClassAtom ClassRanges\n from = atom.range[0];\n dash = createCharacter(match('-'));\n atomTo = parseClassAtom();\n\n if (!atomTo) {\n bail('classAtom');\n }\n\n to = pos; // Parse the next class range if exists.\n\n var classRanges = parseClassRanges();\n\n if (!classRanges) {\n bail('classRanges');\n } // Check if both the from and atomTo have codePoints.\n\n\n if (!('codePoint' in atom) || !('codePoint' in atomTo)) {\n if (!hasUnicodeFlag) {\n // If not, don't create a range but treat them as\n // `atom` `-` `atom` instead.\n //\n // SEE: https://tc39.es/ecma262/#sec-regular-expression-patterns-semantics\n // NonemptyClassRanges::ClassAtom-ClassAtomClassRanges\n // CharacterRangeOrUnion\n res = [atom, dash, atomTo];\n } else {\n // With unicode flag, both sides must have codePoints if\n // one side has a codePoint.\n //\n // SEE: https://tc39.es/ecma262/#sec-patterns-static-semantics-early-errors\n // NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges\n bail('invalid character class');\n }\n } else {\n res = [createClassRange(atom, atomTo, from, to)];\n }\n\n if (classRanges.type === 'empty') {\n return res;\n }\n\n return res.concat(classRanges.body);\n }\n\n res = parseNonemptyClassRangesNoDash();\n\n if (!res) {\n bail('nonEmptyClassRangesNoDash');\n }\n\n return [atom].concat(res);\n }\n\n function parseNonemptyClassRanges() {\n // NonemptyClassRanges ::\n // ClassAtom\n // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n var atom = parseClassAtom();\n\n if (!atom) {\n bail('classAtom');\n }\n\n if (current(']')) {\n // ClassAtom\n return [atom];\n } // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n\n\n return parseHelperClassRanges(atom);\n }\n\n function parseNonemptyClassRangesNoDash() {\n // NonemptyClassRangesNoDash ::\n // ClassAtom\n // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n var res = parseClassAtom();\n\n if (!res) {\n bail('classAtom');\n }\n\n if (current(']')) {\n // ClassAtom\n return res;\n } // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n\n\n return parseHelperClassRanges(res);\n }\n\n function parseClassAtom() {\n // ClassAtom ::\n // -\n // ClassAtomNoDash\n if (match('-')) {\n return createCharacter('-');\n } else {\n return parseClassAtomNoDash();\n }\n }\n\n function parseClassAtomNoDash() {\n // ClassAtomNoDash ::\n // SourceCharacter but not one of \\ or ] or -\n // \\ ClassEscape\n var res;\n\n if (res = matchReg(/^[^\\\\\\]-]/)) {\n return createCharacter(res[0]);\n } else if (match('\\\\')) {\n res = parseClassEscape();\n\n if (!res) {\n bail('classEscape');\n }\n\n return parseUnicodeSurrogatePairEscape(res);\n }\n }\n\n function parseClassContents() {\n // ClassContents ::\n // ClassUnion\n // ClassIntersection\n // ClassSubtraction\n //\n // ClassUnion ::\n // ClassRange ClassUnion?\n // ClassOperand ClassUnion?\n //\n // ClassIntersection ::\n // ClassOperand && [lookahead ≠ &] ClassOperand\n // ClassIntersection && [lookahead ≠ &] ClassOperand\n //\n // ClassSubtraction ::\n // ClassOperand -- ClassOperand\n // ClassSubtraction -- ClassOperand\n var body = [];\n var kind;\n var from = pos;\n var operand = parseClassOperand(\n /* allowRanges*/\n true);\n body.push(operand);\n\n if (operand.type === 'classRange') {\n kind = 'union';\n } else if (current('&')) {\n kind = 'intersection';\n } else if (current('-')) {\n kind = 'subtraction';\n } else {\n kind = 'union';\n }\n\n while (!current(']')) {\n if (kind === 'intersection') {\n skip('&');\n skip('&');\n\n if (current('&')) {\n bail('&& cannot be followed by &. Wrap it in parentheses: &&(&).');\n }\n } else if (kind === 'subtraction') {\n skip('-');\n skip('-');\n }\n\n operand = parseClassOperand(\n /* allowRanges*/\n kind === 'union');\n body.push(operand);\n }\n\n return {\n kind: kind,\n body: body\n };\n }\n\n function parseClassOperand(allowRanges) {\n // ClassOperand ::\n // ClassCharacter\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // \\ CharacterClassEscape[+U, +V]\n //\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n //\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n //\n // ClassSyntaxCharacter ::\n // one of ( ) [ ] { } / - \\ |\n var from = pos;\n var start, res;\n\n if (match('\\\\')) {\n if (res = parseCharacterClassEscape()) {\n start = res;\n } else if (res = parseClassCharacterEscapedHelper()) {\n // ClassOperand ::\n // ...\n // NestedClass\n //\n // NestedClass ::\n // ...\n // \\ CharacterClassEscape[+U, +V]\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n } else if (res = parseClassCharacterUnescapedHelper()) {\n start = res;\n } else if (res = parseClassStrings() || parseCharacterClass()) {\n // ClassOperand ::\n // ...\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // ...\n return res;\n } else {\n bail('Invalid character', lookahead());\n }\n\n if (allowRanges && current('-') && !next('-')) {\n skip('-');\n\n if (res = parseClassCharacter()) {\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n return createClassRange(start, res, from, pos);\n }\n\n bail('Invalid range end', lookahead());\n } // ClassOperand ::\n // ClassCharacter\n // ...\n\n\n return start;\n }\n\n function parseClassCharacter() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n if (match('\\\\')) {\n if (res = parseClassCharacterEscapedHelper()) {\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n }\n\n return parseClassCharacterUnescapedHelper();\n }\n\n function parseClassCharacterUnescapedHelper() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // ...\n var res;\n\n if (res = matchReg(/^[^()[\\]{}/\\-\\\\|]/)) {\n return createCharacter(res);\n }\n\n ;\n }\n\n function parseClassCharacterEscapedHelper() {\n // ClassCharacter ::\n // ...\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n if (match('b')) {\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of ClassContents', '', pos - 2);\n } else if (res = matchReg(/^[&\\-!#%,:;<=>@_`~]/)) {\n return createEscaped('identifier', res[0].codePointAt(0), res[0]);\n } else if (res = parseCharacterEscape()) {\n return res;\n } else {\n return null;\n }\n }\n\n function parseClassStrings() {\n // ClassStrings ::\n // ( ClassString MoreClassStrings? )\n var res = [];\n var from = pos;\n\n if (!match('(')) {\n return null;\n }\n\n do {\n res.push(parseClassString());\n } while (match('|'));\n\n skip(')');\n return createClassStrings(res, from, pos);\n }\n\n function parseClassString() {\n // ClassString ::\n // [empty]\n // NonEmptyClassString\n //\n // NonEmptyClassString ::\n // ClassCharacter NonEmptyClassString?\n var res = [],\n from = pos;\n var char;\n\n while (char = parseClassCharacter()) {\n res.push(char);\n }\n\n return createClassString(res, from, pos);\n }\n\n function bail(message, details, from, to) {\n from = from == null ? pos : from;\n to = to == null ? from : to;\n var contextStart = Math.max(0, from - 10);\n var contextEnd = Math.min(to + 10, str.length); // Output a bit of context and a line pointing to where our error is.\n //\n // We are assuming that there are no actual newlines in the content as this is a regular expression.\n\n var context = ' ' + str.substring(contextStart, contextEnd);\n var pointer = ' ' + new Array(from - contextStart + 1).join(' ') + '^';\n throw SyntaxError(message + ' at position ' + from + (details ? ': ' + details : '') + '\\n' + context + '\\n' + pointer);\n }\n\n var backrefDenied = [];\n var closedCaptureCounter = 0;\n var firstIteration = true;\n var hasUnicodeFlag = (flags || \"\").indexOf(\"u\") !== -1;\n var hasUnicodeSetFlag = (flags || \"\").indexOf(\"v\") !== -1;\n var pos = 0;\n\n if (hasUnicodeSetFlag && !features.unicodeSet) {\n throw new Error('The \"v\" flag is only supported when the .unicodeSet option is enabled.');\n }\n\n if (hasUnicodeFlag && hasUnicodeSetFlag) {\n throw new Error('The \"u\" and \"v\" flags are mutually exclusive.');\n } // Convert the input to a string and treat the empty string special.\n\n\n str = String(str);\n\n if (str === '') {\n str = '(?:)';\n }\n\n var result = parseDisjunction();\n\n if (result.range[1] !== str.length) {\n bail('Could not parse entire input - got stuck', '', result.range[1]);\n } // The spec requires to interpret the `\\2` in `/\\2()()/` as backreference.\n // As the parser collects the number of capture groups as the string is\n // parsed it is impossible to make these decisions at the point when the\n // `\\2` is handled. In case the local decision turns out to be wrong after\n // the parsing has finished, the input string is parsed a second time with\n // the total number of capture groups set.\n //\n // SEE: https://github.com/jviereck/regjsparser/issues/70\n\n\n for (var i = 0; i < backrefDenied.length; i++) {\n if (backrefDenied[i] <= closedCaptureCounter) {\n // Parse the input a second time.\n pos = 0;\n firstIteration = false;\n return parseDisjunction();\n }\n }\n\n return result;\n }\n\n var regjsparser = {\n parse: parse\n };\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = regjsparser;\n } else {\n window.regjsparser = regjsparser;\n }\n})();","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0; // TODO(v5): Remove legacy setting and default to \"always\"\n\nconst applyTrailingSlashOption = function (input) {\n let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"legacy\";\n const hasHtmlSuffix = input.endsWith(\".html\");\n const hasXmlSuffix = input.endsWith(\".xml\");\n const hasPdfSuffix = input.endsWith(\".pdf\");\n if (input === \"/\") return input;\n\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n\n return input;\n};\n\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","import escapeStringRegexp from \"escape-string-regexp\";\nimport { withPrefix } from \"gatsby\";\nexport const userIsForcingNavigation = event => event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; // IE does not include leading slash in anchor.pathname\n\nexport const slashedPathname = pathname => pathname[0] === \"/\" ? pathname : \"/\".concat(pathname);\nexport const navigationWasHandledElsewhere = event => event.defaultPrevented;\nexport const findClosestAnchor = node => {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === \"a\") {\n return node;\n }\n }\n\n return null;\n};\nexport const anchorsTargetIsEquivalentToSelf = anchor =>\n/* If target attribute is not present it's treated as _self */\nanchor.hasAttribute(\"target\") === false ||\n/**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n/**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\nanchor.target == null ||\n/**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n[\"_self\", \"\"].includes(anchor.target) ||\n/**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\nanchor.target === \"_parent\" && (!anchor.ownerDocument.defaultView.parent || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === \"_top\" && (!anchor.ownerDocument.defaultView.top || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView);\nexport const authorIsForcingNavigation = anchor =>\n/**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\nanchor.hasAttribute(\"download\") === true ||\n/**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\nanchorsTargetIsEquivalentToSelf(anchor) === false; // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n\nexport const urlsAreOnSameOrigin = (origin, destination) => origin.protocol === destination.protocol &&\n/* a.host includes both hostname and port in the expected format host:port */\norigin.host === destination.host;\nexport const pathIsNotHandledByApp = (destination, pathStartRegEx) => {\n const pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\nexport const hashShouldBeFollowed = (origin, destination) => destination.hash !== \"\" && (\n/**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\ndestination.pathname === \"\" ||\n/* Don't catch links pointed to the same page but with a hash. */\ndestination.pathname === origin.pathname);\nexport const routeThroughBrowserOrApp = (hrefHandler, pluginOptions) => event => {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n const clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true; // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n\n const destination = document.createElement(\"a\"); // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n\n if (clickedAnchor.href !== \"\") {\n destination.href = clickedAnchor.href;\n }\n\n if (\"SVGAnimatedString\" in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n } // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n\n\n const origin = document.createElement(\"a\");\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true; // Regex to test pathname against pathPrefix\n\n const pathStartRegEx = new RegExp(\"^\".concat(escapeStringRegexp(withPrefix(\"/\"))));\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n\n if (pluginOptions.excludePattern) {\n const excludeRegex = new RegExp(pluginOptions.excludePattern);\n\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n\n event.preventDefault(); // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n\n const destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, \"/\");\n hrefHandler(\"\".concat(destinationPathname).concat(destination.search).concat(destination.hash));\n return false;\n};\nexport default function (root, pluginOptions, cb) {\n const clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(\"click\", clickHandler);\n return () => root.removeEventListener(\"click\", clickHandler);\n}","import { navigate } from \"gatsby\";\nimport catchLinks from \"./catch-links\";\nexport const onClientEntry = function (_) {\n let pluginOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n catchLinks(window, pluginOptions, href => {\n navigate(href);\n });\n};","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n return str.replace(matchOperatorsRe, '\\\\$&');\n};","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\"; // when we don't have localisation in our manifest, we tree shake everything away\n\nexport const onRouteUpdate = function onRouteUpdate(_ref, pluginOptions) {\n let {\n location\n } = _ref;\n\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\n\n\nvar _default = function (pathname, localizedManifests) {\n let shouldPrependPathPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n\n return pathname.startsWith(startUrl);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\".concat(localizedManifest.lang, \".webmanifest\");\n};\n\nexports.default = _default;","\"use strict\";\n\nexports.wrapPageElement = require('./wrap-page');","\"use strict\";\n\nvar React = require('react');\n\nvar _require = require('react-helmet'),\n Helmet = _require.Helmet;\n\nvar defaultPluginOptions = {\n noTrailingSlash: false,\n nopQueryString: false,\n nopHash: false\n};\n\nvar isExcluded = function isExcluded(excludes, element) {\n if (!Array.isArray(excludes)) return false;\n element = element.replace(/\\/+$/, '');\n return excludes.some(function (exclude) {\n if (exclude instanceof RegExp) return element.match(exclude);\n return exclude.includes(element);\n });\n};\n\nmodule.exports = function (_ref, pluginOptions) {\n var element = _ref.element,\n location = _ref.props.location;\n\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n\n var options = Object.assign({}, defaultPluginOptions, pluginOptions);\n\n if (options.siteUrl && !isExcluded(options.exclude, location.pathname)) {\n var pathname = location.pathname || '/';\n if (options.noTrailingSlash && pathname.endsWith('/')) pathname = pathname.substring(0, pathname.length - 1);\n var myUrl = \"\" + options.siteUrl + pathname;\n if (!options.noQueryString) myUrl += location.search;\n if (!options.noHash) myUrl += location.hash;\n return React.createElement(React.Fragment, null, React.createElement(Helmet, {\n link: [{\n rel: 'canonical',\n key: myUrl,\n href: myUrl\n }]\n }), element);\n }\n\n return element;\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _styledComponents = require(\"styled-components\"); // eslint-disable-next-line react/prop-types,react/display-name\n\n\nexports.wrapRootElement = function (_ref, pluginOptions) {\n var element = _ref.element;\n return /*#__PURE__*/_react.default.createElement(_styledComponents.StyleSheetManager, {\n disableVendorPrefixes: (pluginOptions === null || pluginOptions === void 0 ? void 0 : pluginOptions.disableVendorPrefixes) === true\n }, element);\n};","\"use strict\";\n\nvar offsetY = 0;\n\nvar getTargetOffset = function getTargetOffset(hash) {\n var id = window.decodeURI(hash.replace(\"#\", \"\"));\n\n if (id !== \"\") {\n var element = document.getElementById(id);\n\n if (element) {\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;\n var clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\n var computedStyles = window.getComputedStyle(element);\n var scrollMarginTop = computedStyles.getPropertyValue(\"scroll-margin-top\") || computedStyles.getPropertyValue(\"scroll-snap-margin-top\") || \"0px\";\n return element.getBoundingClientRect().top + scrollTop - parseInt(scrollMarginTop, 10) - clientTop - offsetY;\n }\n }\n\n return null;\n};\n\nexports.onInitialClientRender = function (_, pluginOptions) {\n if (pluginOptions.offsetY) {\n offsetY = pluginOptions.offsetY;\n }\n\n requestAnimationFrame(function () {\n var offset = getTargetOffset(window.location.hash);\n\n if (offset !== null) {\n window.scrollTo(0, offset);\n }\n });\n};\n\nexports.shouldUpdateScroll = function (_ref) {\n var location = _ref.routerProps.location;\n var offset = getTargetOffset(location.hash);\n return offset !== null ? [0, offset] : true;\n};","\"use strict\";\n\nexports.DEFAULT_OPTIONS = {\n maxWidth: 650,\n wrapperStyle: \"\",\n backgroundColor: \"white\",\n linkImagesToOriginal: true,\n showCaptions: false,\n markdownCaptions: false,\n withWebp: false,\n withAvif: false,\n tracedSVG: false,\n loading: \"lazy\",\n decoding: \"async\",\n disableBgImageOnAlpha: false,\n disableBgImage: false\n};\nexports.EMPTY_ALT = \"GATSBY_EMPTY_ALT\";\nexports.imageClass = \"gatsby-resp-image-image\";\nexports.imageWrapperClass = \"gatsby-resp-image-wrapper\";\nexports.imageBackgroundClass = \"gatsby-resp-image-background-image\";","\"use strict\";\n\nvar _require = require(\"./constants\"),\n DEFAULT_OPTIONS = _require.DEFAULT_OPTIONS,\n imageClass = _require.imageClass,\n imageBackgroundClass = _require.imageBackgroundClass,\n imageWrapperClass = _require.imageWrapperClass;\n\nexports.onRouteUpdate = function (apiCallbackContext, pluginOptions) {\n var options = Object.assign({}, DEFAULT_OPTIONS, pluginOptions);\n var imageWrappers = document.querySelectorAll(\".\" + imageWrapperClass); // https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/\n // for cross-browser looping through NodeList without polyfills\n\n var _loop = function _loop(i) {\n var imageWrapper = imageWrappers[i];\n var backgroundElement = imageWrapper.querySelector(\".\" + imageBackgroundClass);\n var imageElement = imageWrapper.querySelector(\".\" + imageClass);\n\n var onImageLoad = function onImageLoad() {\n backgroundElement.style.transition = \"opacity 0.5s 0.5s\";\n imageElement.style.transition = \"opacity 0.5s\";\n onImageComplete();\n };\n\n var onImageComplete = function onImageComplete() {\n backgroundElement.style.opacity = 0;\n imageElement.style.opacity = 1;\n imageElement.style.color = \"inherit\";\n imageElement.style.boxShadow = \"inset 0px 0px 0px 400px \" + options.backgroundColor;\n imageElement.removeEventListener(\"load\", onImageLoad);\n imageElement.removeEventListener(\"error\", onImageComplete);\n };\n\n imageElement.style.opacity = 0;\n imageElement.addEventListener(\"load\", onImageLoad);\n imageElement.addEventListener(\"error\", onImageComplete);\n\n if (imageElement.complete) {\n onImageComplete();\n }\n };\n\n for (var i = 0; i < imageWrappers.length; i++) {\n _loop(i);\n }\n};","\"use strict\";\n\nmodule.exports = Object.assign;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\n\nvar _gatsbyScript = require(\"gatsby-script\");\n\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\"); // Makes sure off-main-thread scripts are loaded in `gatsby develop`\n\n\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname)); // Clear scripts after we've used them to avoid leaky behavior\n\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n}; // Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\n\n\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\n\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\n\nvar _integration = require(\"@builder.io/partytown/integration\");\n\nvar _getForwards = require(\"./get-forwards\"); // Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\n\n\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n\n const existingSnippet = document.querySelector(\"script[data-partytown]\");\n const existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n\n if (existingSnippet) {\n existingSnippet.remove();\n }\n\n if (existingSandbox) {\n existingSandbox.remove();\n }\n\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(\"script\");\n snippet.dataset.partytown = \"\";\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","var charToInteger = {};\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfor (var i = 0; i < chars.length; i++) {\n charToInteger[chars.charCodeAt(i)] = i;\n}\n\nfunction decode(mappings) {\n var decoded = [];\n var line = [];\n var segment = [0, 0, 0, 0, 0];\n var j = 0;\n\n for (var i = 0, shift = 0, value = 0; i < mappings.length; i++) {\n var c = mappings.charCodeAt(i);\n\n if (c === 44) {\n // \",\"\n segmentify(line, segment, j);\n j = 0;\n } else if (c === 59) {\n // \";\"\n segmentify(line, segment, j);\n j = 0;\n decoded.push(line);\n line = [];\n segment[0] = 0;\n } else {\n var integer = charToInteger[c];\n\n if (integer === undefined) {\n throw new Error('Invalid character (' + String.fromCharCode(c) + ')');\n }\n\n var hasContinuationBit = integer & 32;\n integer &= 31;\n value += integer << shift;\n\n if (hasContinuationBit) {\n shift += 5;\n } else {\n var shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = value === 0 ? -0x80000000 : -value;\n }\n\n segment[j] += value;\n j++;\n value = shift = 0; // reset\n }\n }\n }\n\n segmentify(line, segment, j);\n decoded.push(line);\n return decoded;\n}\n\nfunction segmentify(line, segment, j) {\n // This looks ugly, but we're creating specialized arrays with a specific\n // length. This is much faster than creating a new array (which v8 expands to\n // a capacity of 17 after pushing the first item), or slicing out a subarray\n // (which is slow). Length 4 is assumed to be the most frequent, followed by\n // length 5 (since not everything will have an associated name), followed by\n // length 1 (it's probably rare for a source substring to not have an\n // associated segment data).\n if (j === 4) line.push([segment[0], segment[1], segment[2], segment[3]]);else if (j === 5) line.push([segment[0], segment[1], segment[2], segment[3], segment[4]]);else if (j === 1) line.push([segment[0]]);\n}\n\nfunction encode(decoded) {\n var sourceFileIndex = 0; // second field\n\n var sourceCodeLine = 0; // third field\n\n var sourceCodeColumn = 0; // fourth field\n\n var nameIndex = 0; // fifth field\n\n var mappings = '';\n\n for (var i = 0; i < decoded.length; i++) {\n var line = decoded[i];\n if (i > 0) mappings += ';';\n if (line.length === 0) continue;\n var generatedCodeColumn = 0; // first field\n\n var lineMappings = [];\n\n for (var _i = 0, line_1 = line; _i < line_1.length; _i++) {\n var segment = line_1[_i];\n var segmentMappings = encodeInteger(segment[0] - generatedCodeColumn);\n generatedCodeColumn = segment[0];\n\n if (segment.length > 1) {\n segmentMappings += encodeInteger(segment[1] - sourceFileIndex) + encodeInteger(segment[2] - sourceCodeLine) + encodeInteger(segment[3] - sourceCodeColumn);\n sourceFileIndex = segment[1];\n sourceCodeLine = segment[2];\n sourceCodeColumn = segment[3];\n }\n\n if (segment.length === 5) {\n segmentMappings += encodeInteger(segment[4] - nameIndex);\n nameIndex = segment[4];\n }\n\n lineMappings.push(segmentMappings);\n }\n\n mappings += lineMappings.join(',');\n }\n\n return mappings;\n}\n\nfunction encodeInteger(num) {\n var result = '';\n num = num < 0 ? -num << 1 | 1 : num << 1;\n\n do {\n var clamped = num & 31;\n num >>>= 5;\n\n if (num > 0) {\n clamped |= 32;\n }\n\n result += chars[clamped];\n } while (num > 0);\n\n return result;\n}\n\nexport { decode, encode };","import { encode } from 'sourcemap-codec';\n\nvar BitSet = function BitSet(arg) {\n this.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n};\n\nBitSet.prototype.add = function add(n) {\n this.bits[n >> 5] |= 1 << (n & 31);\n};\n\nBitSet.prototype.has = function has(n) {\n return !!(this.bits[n >> 5] & 1 << (n & 31));\n};\n\nvar Chunk = function Chunk(start, end, content) {\n this.start = start;\n this.end = end;\n this.original = content;\n this.intro = '';\n this.outro = '';\n this.content = content;\n this.storeName = false;\n this.edited = false; // we make these non-enumerable, for sanity while debugging\n\n Object.defineProperties(this, {\n previous: {\n writable: true,\n value: null\n },\n next: {\n writable: true,\n value: null\n }\n });\n};\n\nChunk.prototype.appendLeft = function appendLeft(content) {\n this.outro += content;\n};\n\nChunk.prototype.appendRight = function appendRight(content) {\n this.intro = this.intro + content;\n};\n\nChunk.prototype.clone = function clone() {\n var chunk = new Chunk(this.start, this.end, this.original);\n chunk.intro = this.intro;\n chunk.outro = this.outro;\n chunk.content = this.content;\n chunk.storeName = this.storeName;\n chunk.edited = this.edited;\n return chunk;\n};\n\nChunk.prototype.contains = function contains(index) {\n return this.start < index && index < this.end;\n};\n\nChunk.prototype.eachNext = function eachNext(fn) {\n var chunk = this;\n\n while (chunk) {\n fn(chunk);\n chunk = chunk.next;\n }\n};\n\nChunk.prototype.eachPrevious = function eachPrevious(fn) {\n var chunk = this;\n\n while (chunk) {\n fn(chunk);\n chunk = chunk.previous;\n }\n};\n\nChunk.prototype.edit = function edit(content, storeName, contentOnly) {\n this.content = content;\n\n if (!contentOnly) {\n this.intro = '';\n this.outro = '';\n }\n\n this.storeName = storeName;\n this.edited = true;\n return this;\n};\n\nChunk.prototype.prependLeft = function prependLeft(content) {\n this.outro = content + this.outro;\n};\n\nChunk.prototype.prependRight = function prependRight(content) {\n this.intro = content + this.intro;\n};\n\nChunk.prototype.split = function split(index) {\n var sliceIndex = index - this.start;\n var originalBefore = this.original.slice(0, sliceIndex);\n var originalAfter = this.original.slice(sliceIndex);\n this.original = originalBefore;\n var newChunk = new Chunk(index, this.end, originalAfter);\n newChunk.outro = this.outro;\n this.outro = '';\n this.end = index;\n\n if (this.edited) {\n // TODO is this block necessary?...\n newChunk.edit('', false);\n this.content = '';\n } else {\n this.content = originalBefore;\n }\n\n newChunk.next = this.next;\n\n if (newChunk.next) {\n newChunk.next.previous = newChunk;\n }\n\n newChunk.previous = this;\n this.next = newChunk;\n return newChunk;\n};\n\nChunk.prototype.toString = function toString() {\n return this.intro + this.content + this.outro;\n};\n\nChunk.prototype.trimEnd = function trimEnd(rx) {\n this.outro = this.outro.replace(rx, '');\n\n if (this.outro.length) {\n return true;\n }\n\n var trimmed = this.content.replace(rx, '');\n\n if (trimmed.length) {\n if (trimmed !== this.content) {\n this.split(this.start + trimmed.length).edit('', undefined, true);\n }\n\n return true;\n } else {\n this.edit('', undefined, true);\n this.intro = this.intro.replace(rx, '');\n\n if (this.intro.length) {\n return true;\n }\n }\n};\n\nChunk.prototype.trimStart = function trimStart(rx) {\n this.intro = this.intro.replace(rx, '');\n\n if (this.intro.length) {\n return true;\n }\n\n var trimmed = this.content.replace(rx, '');\n\n if (trimmed.length) {\n if (trimmed !== this.content) {\n this.split(this.end - trimmed.length);\n this.edit('', undefined, true);\n }\n\n return true;\n } else {\n this.edit('', undefined, true);\n this.outro = this.outro.replace(rx, '');\n\n if (this.outro.length) {\n return true;\n }\n }\n};\n\nvar btoa = function () {\n throw new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n};\n\nif (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n btoa = function (str) {\n return window.btoa(unescape(encodeURIComponent(str)));\n };\n} else if (typeof Buffer === 'function') {\n btoa = function (str) {\n return Buffer.from(str, 'utf-8').toString('base64');\n };\n}\n\nvar SourceMap = function SourceMap(properties) {\n this.version = 3;\n this.file = properties.file;\n this.sources = properties.sources;\n this.sourcesContent = properties.sourcesContent;\n this.names = properties.names;\n this.mappings = encode(properties.mappings);\n};\n\nSourceMap.prototype.toString = function toString() {\n return JSON.stringify(this);\n};\n\nSourceMap.prototype.toUrl = function toUrl() {\n return 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n};\n\nfunction guessIndent(code) {\n var lines = code.split('\\n');\n var tabbed = lines.filter(function (line) {\n return /^\\t+/.test(line);\n });\n var spaced = lines.filter(function (line) {\n return /^ {2,}/.test(line);\n });\n\n if (tabbed.length === 0 && spaced.length === 0) {\n return null;\n } // More lines tabbed than spaced? Assume tabs, and\n // default to tabs in the case of a tie (or nothing\n // to go on)\n\n\n if (tabbed.length >= spaced.length) {\n return '\\t';\n } // Otherwise, we need to guess the multiple\n\n\n var min = spaced.reduce(function (previous, current) {\n var numSpaces = /^ +/.exec(current)[0].length;\n return Math.min(numSpaces, previous);\n }, Infinity);\n return new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n var fromParts = from.split(/[/\\\\]/);\n var toParts = to.split(/[/\\\\]/);\n fromParts.pop(); // get dirname\n\n while (fromParts[0] === toParts[0]) {\n fromParts.shift();\n toParts.shift();\n }\n\n if (fromParts.length) {\n var i = fromParts.length;\n\n while (i--) {\n fromParts[i] = '..';\n }\n }\n\n return fromParts.concat(toParts).join('/');\n}\n\nvar toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n return toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n var originalLines = source.split('\\n');\n var lineOffsets = [];\n\n for (var i = 0, pos = 0; i < originalLines.length; i++) {\n lineOffsets.push(pos);\n pos += originalLines[i].length + 1;\n }\n\n return function locate(index) {\n var i = 0;\n var j = lineOffsets.length;\n\n while (i < j) {\n var m = i + j >> 1;\n\n if (index < lineOffsets[m]) {\n j = m;\n } else {\n i = m + 1;\n }\n }\n\n var line = i - 1;\n var column = index - lineOffsets[line];\n return {\n line: line,\n column: column\n };\n };\n}\n\nvar Mappings = function Mappings(hires) {\n this.hires = hires;\n this.generatedCodeLine = 0;\n this.generatedCodeColumn = 0;\n this.raw = [];\n this.rawSegments = this.raw[this.generatedCodeLine] = [];\n this.pending = null;\n};\n\nMappings.prototype.addEdit = function addEdit(sourceIndex, content, loc, nameIndex) {\n if (content.length) {\n var segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n if (nameIndex >= 0) {\n segment.push(nameIndex);\n }\n\n this.rawSegments.push(segment);\n } else if (this.pending) {\n this.rawSegments.push(this.pending);\n }\n\n this.advance(content);\n this.pending = null;\n};\n\nMappings.prototype.addUneditedChunk = function addUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n var originalCharIndex = chunk.start;\n var first = true;\n\n while (originalCharIndex < chunk.end) {\n if (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n this.rawSegments.push([this.generatedCodeColumn, sourceIndex, loc.line, loc.column]);\n }\n\n if (original[originalCharIndex] === '\\n') {\n loc.line += 1;\n loc.column = 0;\n this.generatedCodeLine += 1;\n this.raw[this.generatedCodeLine] = this.rawSegments = [];\n this.generatedCodeColumn = 0;\n first = true;\n } else {\n loc.column += 1;\n this.generatedCodeColumn += 1;\n first = false;\n }\n\n originalCharIndex += 1;\n }\n\n this.pending = null;\n};\n\nMappings.prototype.advance = function advance(str) {\n if (!str) {\n return;\n }\n\n var lines = str.split('\\n');\n\n if (lines.length > 1) {\n for (var i = 0; i < lines.length - 1; i++) {\n this.generatedCodeLine++;\n this.raw[this.generatedCodeLine] = this.rawSegments = [];\n }\n\n this.generatedCodeColumn = 0;\n }\n\n this.generatedCodeColumn += lines[lines.length - 1].length;\n};\n\nvar n = '\\n';\nvar warned = {\n insertLeft: false,\n insertRight: false,\n storeName: false\n};\n\nvar MagicString = function MagicString(string, options) {\n if (options === void 0) options = {};\n var chunk = new Chunk(0, string.length, string);\n Object.defineProperties(this, {\n original: {\n writable: true,\n value: string\n },\n outro: {\n writable: true,\n value: ''\n },\n intro: {\n writable: true,\n value: ''\n },\n firstChunk: {\n writable: true,\n value: chunk\n },\n lastChunk: {\n writable: true,\n value: chunk\n },\n lastSearchedChunk: {\n writable: true,\n value: chunk\n },\n byStart: {\n writable: true,\n value: {}\n },\n byEnd: {\n writable: true,\n value: {}\n },\n filename: {\n writable: true,\n value: options.filename\n },\n indentExclusionRanges: {\n writable: true,\n value: options.indentExclusionRanges\n },\n sourcemapLocations: {\n writable: true,\n value: new BitSet()\n },\n storedNames: {\n writable: true,\n value: {}\n },\n indentStr: {\n writable: true,\n value: guessIndent(string)\n }\n });\n this.byStart[0] = chunk;\n this.byEnd[string.length] = chunk;\n};\n\nMagicString.prototype.addSourcemapLocation = function addSourcemapLocation(char) {\n this.sourcemapLocations.add(char);\n};\n\nMagicString.prototype.append = function append(content) {\n if (typeof content !== 'string') {\n throw new TypeError('outro content must be a string');\n }\n\n this.outro += content;\n return this;\n};\n\nMagicString.prototype.appendLeft = function appendLeft(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byEnd[index];\n\n if (chunk) {\n chunk.appendLeft(content);\n } else {\n this.intro += content;\n }\n\n return this;\n};\n\nMagicString.prototype.appendRight = function appendRight(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byStart[index];\n\n if (chunk) {\n chunk.appendRight(content);\n } else {\n this.outro += content;\n }\n\n return this;\n};\n\nMagicString.prototype.clone = function clone() {\n var cloned = new MagicString(this.original, {\n filename: this.filename\n });\n var originalChunk = this.firstChunk;\n var clonedChunk = cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone();\n\n while (originalChunk) {\n cloned.byStart[clonedChunk.start] = clonedChunk;\n cloned.byEnd[clonedChunk.end] = clonedChunk;\n var nextOriginalChunk = originalChunk.next;\n var nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n if (nextClonedChunk) {\n clonedChunk.next = nextClonedChunk;\n nextClonedChunk.previous = clonedChunk;\n clonedChunk = nextClonedChunk;\n }\n\n originalChunk = nextOriginalChunk;\n }\n\n cloned.lastChunk = clonedChunk;\n\n if (this.indentExclusionRanges) {\n cloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n }\n\n cloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n cloned.intro = this.intro;\n cloned.outro = this.outro;\n return cloned;\n};\n\nMagicString.prototype.generateDecodedMap = function generateDecodedMap(options) {\n var this$1$1 = this;\n options = options || {};\n var sourceIndex = 0;\n var names = Object.keys(this.storedNames);\n var mappings = new Mappings(options.hires);\n var locate = getLocator(this.original);\n\n if (this.intro) {\n mappings.advance(this.intro);\n }\n\n this.firstChunk.eachNext(function (chunk) {\n var loc = locate(chunk.start);\n\n if (chunk.intro.length) {\n mappings.advance(chunk.intro);\n }\n\n if (chunk.edited) {\n mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);\n } else {\n mappings.addUneditedChunk(sourceIndex, chunk, this$1$1.original, loc, this$1$1.sourcemapLocations);\n }\n\n if (chunk.outro.length) {\n mappings.advance(chunk.outro);\n }\n });\n return {\n file: options.file ? options.file.split(/[/\\\\]/).pop() : null,\n sources: [options.source ? getRelativePath(options.file || '', options.source) : null],\n sourcesContent: options.includeContent ? [this.original] : [null],\n names: names,\n mappings: mappings.raw\n };\n};\n\nMagicString.prototype.generateMap = function generateMap(options) {\n return new SourceMap(this.generateDecodedMap(options));\n};\n\nMagicString.prototype.getIndentString = function getIndentString() {\n return this.indentStr === null ? '\\t' : this.indentStr;\n};\n\nMagicString.prototype.indent = function indent(indentStr, options) {\n var pattern = /^[^\\r\\n]/gm;\n\n if (isObject(indentStr)) {\n options = indentStr;\n indentStr = undefined;\n }\n\n indentStr = indentStr !== undefined ? indentStr : this.indentStr || '\\t';\n\n if (indentStr === '') {\n return this;\n } // noop\n\n\n options = options || {}; // Process exclusion ranges\n\n var isExcluded = {};\n\n if (options.exclude) {\n var exclusions = typeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n exclusions.forEach(function (exclusion) {\n for (var i = exclusion[0]; i < exclusion[1]; i += 1) {\n isExcluded[i] = true;\n }\n });\n }\n\n var shouldIndentNextCharacter = options.indentStart !== false;\n\n var replacer = function (match) {\n if (shouldIndentNextCharacter) {\n return \"\" + indentStr + match;\n }\n\n shouldIndentNextCharacter = true;\n return match;\n };\n\n this.intro = this.intro.replace(pattern, replacer);\n var charIndex = 0;\n var chunk = this.firstChunk;\n\n while (chunk) {\n var end = chunk.end;\n\n if (chunk.edited) {\n if (!isExcluded[charIndex]) {\n chunk.content = chunk.content.replace(pattern, replacer);\n\n if (chunk.content.length) {\n shouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n }\n }\n } else {\n charIndex = chunk.start;\n\n while (charIndex < end) {\n if (!isExcluded[charIndex]) {\n var char = this.original[charIndex];\n\n if (char === '\\n') {\n shouldIndentNextCharacter = true;\n } else if (char !== '\\r' && shouldIndentNextCharacter) {\n shouldIndentNextCharacter = false;\n\n if (charIndex === chunk.start) {\n chunk.prependRight(indentStr);\n } else {\n this._splitChunk(chunk, charIndex);\n\n chunk = chunk.next;\n chunk.prependRight(indentStr);\n }\n }\n }\n\n charIndex += 1;\n }\n }\n\n charIndex = chunk.end;\n chunk = chunk.next;\n }\n\n this.outro = this.outro.replace(pattern, replacer);\n return this;\n};\n\nMagicString.prototype.insert = function insert() {\n throw new Error('magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)');\n};\n\nMagicString.prototype.insertLeft = function insertLeft(index, content) {\n if (!warned.insertLeft) {\n console.warn('magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead'); // eslint-disable-line no-console\n\n warned.insertLeft = true;\n }\n\n return this.appendLeft(index, content);\n};\n\nMagicString.prototype.insertRight = function insertRight(index, content) {\n if (!warned.insertRight) {\n console.warn('magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead'); // eslint-disable-line no-console\n\n warned.insertRight = true;\n }\n\n return this.prependRight(index, content);\n};\n\nMagicString.prototype.move = function move(start, end, index) {\n if (index >= start && index <= end) {\n throw new Error('Cannot move a selection inside itself');\n }\n\n this._split(start);\n\n this._split(end);\n\n this._split(index);\n\n var first = this.byStart[start];\n var last = this.byEnd[end];\n var oldLeft = first.previous;\n var oldRight = last.next;\n var newRight = this.byStart[index];\n\n if (!newRight && last === this.lastChunk) {\n return this;\n }\n\n var newLeft = newRight ? newRight.previous : this.lastChunk;\n\n if (oldLeft) {\n oldLeft.next = oldRight;\n }\n\n if (oldRight) {\n oldRight.previous = oldLeft;\n }\n\n if (newLeft) {\n newLeft.next = first;\n }\n\n if (newRight) {\n newRight.previous = last;\n }\n\n if (!first.previous) {\n this.firstChunk = last.next;\n }\n\n if (!last.next) {\n this.lastChunk = first.previous;\n this.lastChunk.next = null;\n }\n\n first.previous = newLeft;\n last.next = newRight || null;\n\n if (!newLeft) {\n this.firstChunk = first;\n }\n\n if (!newRight) {\n this.lastChunk = last;\n }\n\n return this;\n};\n\nMagicString.prototype.overwrite = function overwrite(start, end, content, options) {\n if (typeof content !== 'string') {\n throw new TypeError('replacement content must be a string');\n }\n\n while (start < 0) {\n start += this.original.length;\n }\n\n while (end < 0) {\n end += this.original.length;\n }\n\n if (end > this.original.length) {\n throw new Error('end is out of bounds');\n }\n\n if (start === end) {\n throw new Error('Cannot overwrite a zero-length range – use appendLeft or prependRight instead');\n }\n\n this._split(start);\n\n this._split(end);\n\n if (options === true) {\n if (!warned.storeName) {\n console.warn('The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string'); // eslint-disable-line no-console\n\n warned.storeName = true;\n }\n\n options = {\n storeName: true\n };\n }\n\n var storeName = options !== undefined ? options.storeName : false;\n var contentOnly = options !== undefined ? options.contentOnly : false;\n\n if (storeName) {\n var original = this.original.slice(start, end);\n Object.defineProperty(this.storedNames, original, {\n writable: true,\n value: true,\n enumerable: true\n });\n }\n\n var first = this.byStart[start];\n var last = this.byEnd[end];\n\n if (first) {\n var chunk = first;\n\n while (chunk !== last) {\n if (chunk.next !== this.byStart[chunk.end]) {\n throw new Error('Cannot overwrite across a split point');\n }\n\n chunk = chunk.next;\n chunk.edit('', false);\n }\n\n first.edit(content, storeName, contentOnly);\n } else {\n // must be inserting at the end\n var newChunk = new Chunk(start, end, '').edit(content, storeName); // TODO last chunk in the array may not be the last chunk, if it's moved...\n\n last.next = newChunk;\n newChunk.previous = last;\n }\n\n return this;\n};\n\nMagicString.prototype.prepend = function prepend(content) {\n if (typeof content !== 'string') {\n throw new TypeError('outro content must be a string');\n }\n\n this.intro = content + this.intro;\n return this;\n};\n\nMagicString.prototype.prependLeft = function prependLeft(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byEnd[index];\n\n if (chunk) {\n chunk.prependLeft(content);\n } else {\n this.intro = content + this.intro;\n }\n\n return this;\n};\n\nMagicString.prototype.prependRight = function prependRight(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byStart[index];\n\n if (chunk) {\n chunk.prependRight(content);\n } else {\n this.outro = content + this.outro;\n }\n\n return this;\n};\n\nMagicString.prototype.remove = function remove(start, end) {\n while (start < 0) {\n start += this.original.length;\n }\n\n while (end < 0) {\n end += this.original.length;\n }\n\n if (start === end) {\n return this;\n }\n\n if (start < 0 || end > this.original.length) {\n throw new Error('Character is out of bounds');\n }\n\n if (start > end) {\n throw new Error('end must be greater than start');\n }\n\n this._split(start);\n\n this._split(end);\n\n var chunk = this.byStart[start];\n\n while (chunk) {\n chunk.intro = '';\n chunk.outro = '';\n chunk.edit('');\n chunk = end > chunk.end ? this.byStart[chunk.end] : null;\n }\n\n return this;\n};\n\nMagicString.prototype.lastChar = function lastChar() {\n if (this.outro.length) {\n return this.outro[this.outro.length - 1];\n }\n\n var chunk = this.lastChunk;\n\n do {\n if (chunk.outro.length) {\n return chunk.outro[chunk.outro.length - 1];\n }\n\n if (chunk.content.length) {\n return chunk.content[chunk.content.length - 1];\n }\n\n if (chunk.intro.length) {\n return chunk.intro[chunk.intro.length - 1];\n }\n } while (chunk = chunk.previous);\n\n if (this.intro.length) {\n return this.intro[this.intro.length - 1];\n }\n\n return '';\n};\n\nMagicString.prototype.lastLine = function lastLine() {\n var lineIndex = this.outro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return this.outro.substr(lineIndex + 1);\n }\n\n var lineStr = this.outro;\n var chunk = this.lastChunk;\n\n do {\n if (chunk.outro.length > 0) {\n lineIndex = chunk.outro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return chunk.outro.substr(lineIndex + 1) + lineStr;\n }\n\n lineStr = chunk.outro + lineStr;\n }\n\n if (chunk.content.length > 0) {\n lineIndex = chunk.content.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return chunk.content.substr(lineIndex + 1) + lineStr;\n }\n\n lineStr = chunk.content + lineStr;\n }\n\n if (chunk.intro.length > 0) {\n lineIndex = chunk.intro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return chunk.intro.substr(lineIndex + 1) + lineStr;\n }\n\n lineStr = chunk.intro + lineStr;\n }\n } while (chunk = chunk.previous);\n\n lineIndex = this.intro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return this.intro.substr(lineIndex + 1) + lineStr;\n }\n\n return this.intro + lineStr;\n};\n\nMagicString.prototype.slice = function slice(start, end) {\n if (start === void 0) start = 0;\n if (end === void 0) end = this.original.length;\n\n while (start < 0) {\n start += this.original.length;\n }\n\n while (end < 0) {\n end += this.original.length;\n }\n\n var result = ''; // find start chunk\n\n var chunk = this.firstChunk;\n\n while (chunk && (chunk.start > start || chunk.end <= start)) {\n // found end chunk before start\n if (chunk.start < end && chunk.end >= end) {\n return result;\n }\n\n chunk = chunk.next;\n }\n\n if (chunk && chunk.edited && chunk.start !== start) {\n throw new Error(\"Cannot use replaced character \" + start + \" as slice start anchor.\");\n }\n\n var startChunk = chunk;\n\n while (chunk) {\n if (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n result += chunk.intro;\n }\n\n var containsEnd = chunk.start < end && chunk.end >= end;\n\n if (containsEnd && chunk.edited && chunk.end !== end) {\n throw new Error(\"Cannot use replaced character \" + end + \" as slice end anchor.\");\n }\n\n var sliceStart = startChunk === chunk ? start - chunk.start : 0;\n var sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n result += chunk.content.slice(sliceStart, sliceEnd);\n\n if (chunk.outro && (!containsEnd || chunk.end === end)) {\n result += chunk.outro;\n }\n\n if (containsEnd) {\n break;\n }\n\n chunk = chunk.next;\n }\n\n return result;\n}; // TODO deprecate this? not really very useful\n\n\nMagicString.prototype.snip = function snip(start, end) {\n var clone = this.clone();\n clone.remove(0, start);\n clone.remove(end, clone.original.length);\n return clone;\n};\n\nMagicString.prototype._split = function _split(index) {\n if (this.byStart[index] || this.byEnd[index]) {\n return;\n }\n\n var chunk = this.lastSearchedChunk;\n var searchForward = index > chunk.end;\n\n while (chunk) {\n if (chunk.contains(index)) {\n return this._splitChunk(chunk, index);\n }\n\n chunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n }\n};\n\nMagicString.prototype._splitChunk = function _splitChunk(chunk, index) {\n if (chunk.edited && chunk.content.length) {\n // zero-length edited chunks are a special case (overlapping replacements)\n var loc = getLocator(this.original)(index);\n throw new Error(\"Cannot split a chunk that has already been edited (\" + loc.line + \":\" + loc.column + \" – \\\"\" + chunk.original + \"\\\")\");\n }\n\n var newChunk = chunk.split(index);\n this.byEnd[index] = chunk;\n this.byStart[index] = newChunk;\n this.byEnd[newChunk.end] = newChunk;\n\n if (chunk === this.lastChunk) {\n this.lastChunk = newChunk;\n }\n\n this.lastSearchedChunk = chunk;\n return true;\n};\n\nMagicString.prototype.toString = function toString() {\n var str = this.intro;\n var chunk = this.firstChunk;\n\n while (chunk) {\n str += chunk.toString();\n chunk = chunk.next;\n }\n\n return str + this.outro;\n};\n\nMagicString.prototype.isEmpty = function isEmpty() {\n var chunk = this.firstChunk;\n\n do {\n if (chunk.intro.length && chunk.intro.trim() || chunk.content.length && chunk.content.trim() || chunk.outro.length && chunk.outro.trim()) {\n return false;\n }\n } while (chunk = chunk.next);\n\n return true;\n};\n\nMagicString.prototype.length = function length() {\n var chunk = this.firstChunk;\n var length = 0;\n\n do {\n length += chunk.intro.length + chunk.content.length + chunk.outro.length;\n } while (chunk = chunk.next);\n\n return length;\n};\n\nMagicString.prototype.trimLines = function trimLines() {\n return this.trim('[\\\\r\\\\n]');\n};\n\nMagicString.prototype.trim = function trim(charType) {\n return this.trimStart(charType).trimEnd(charType);\n};\n\nMagicString.prototype.trimEndAborted = function trimEndAborted(charType) {\n var rx = new RegExp((charType || '\\\\s') + '+$');\n this.outro = this.outro.replace(rx, '');\n\n if (this.outro.length) {\n return true;\n }\n\n var chunk = this.lastChunk;\n\n do {\n var end = chunk.end;\n var aborted = chunk.trimEnd(rx); // if chunk was trimmed, we have a new lastChunk\n\n if (chunk.end !== end) {\n if (this.lastChunk === chunk) {\n this.lastChunk = chunk.next;\n }\n\n this.byEnd[chunk.end] = chunk;\n this.byStart[chunk.next.start] = chunk.next;\n this.byEnd[chunk.next.end] = chunk.next;\n }\n\n if (aborted) {\n return true;\n }\n\n chunk = chunk.previous;\n } while (chunk);\n\n return false;\n};\n\nMagicString.prototype.trimEnd = function trimEnd(charType) {\n this.trimEndAborted(charType);\n return this;\n};\n\nMagicString.prototype.trimStartAborted = function trimStartAborted(charType) {\n var rx = new RegExp('^' + (charType || '\\\\s') + '+');\n this.intro = this.intro.replace(rx, '');\n\n if (this.intro.length) {\n return true;\n }\n\n var chunk = this.firstChunk;\n\n do {\n var end = chunk.end;\n var aborted = chunk.trimStart(rx);\n\n if (chunk.end !== end) {\n // special case...\n if (chunk === this.lastChunk) {\n this.lastChunk = chunk.next;\n }\n\n this.byEnd[chunk.end] = chunk;\n this.byStart[chunk.next.start] = chunk.next;\n this.byEnd[chunk.next.end] = chunk.next;\n }\n\n if (aborted) {\n return true;\n }\n\n chunk = chunk.next;\n } while (chunk);\n\n return false;\n};\n\nMagicString.prototype.trimStart = function trimStart(charType) {\n this.trimStartAborted(charType);\n return this;\n};\n\nvar hasOwnProp = Object.prototype.hasOwnProperty;\n\nvar Bundle = function Bundle(options) {\n if (options === void 0) options = {};\n this.intro = options.intro || '';\n this.separator = options.separator !== undefined ? options.separator : '\\n';\n this.sources = [];\n this.uniqueSources = [];\n this.uniqueSourceIndexByFilename = {};\n};\n\nBundle.prototype.addSource = function addSource(source) {\n if (source instanceof MagicString) {\n return this.addSource({\n content: source,\n filename: source.filename,\n separator: this.separator\n });\n }\n\n if (!isObject(source) || !source.content) {\n throw new Error('bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`');\n }\n\n ['filename', 'indentExclusionRanges', 'separator'].forEach(function (option) {\n if (!hasOwnProp.call(source, option)) {\n source[option] = source.content[option];\n }\n });\n\n if (source.separator === undefined) {\n // TODO there's a bunch of this sort of thing, needs cleaning up\n source.separator = this.separator;\n }\n\n if (source.filename) {\n if (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n this.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n this.uniqueSources.push({\n filename: source.filename,\n content: source.content.original\n });\n } else {\n var uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\n if (source.content.original !== uniqueSource.content) {\n throw new Error(\"Illegal source: same filename (\" + source.filename + \"), different contents\");\n }\n }\n }\n\n this.sources.push(source);\n return this;\n};\n\nBundle.prototype.append = function append(str, options) {\n this.addSource({\n content: new MagicString(str),\n separator: options && options.separator || ''\n });\n return this;\n};\n\nBundle.prototype.clone = function clone() {\n var bundle = new Bundle({\n intro: this.intro,\n separator: this.separator\n });\n this.sources.forEach(function (source) {\n bundle.addSource({\n filename: source.filename,\n content: source.content.clone(),\n separator: source.separator\n });\n });\n return bundle;\n};\n\nBundle.prototype.generateDecodedMap = function generateDecodedMap(options) {\n var this$1$1 = this;\n if (options === void 0) options = {};\n var names = [];\n this.sources.forEach(function (source) {\n Object.keys(source.content.storedNames).forEach(function (name) {\n if (!~names.indexOf(name)) {\n names.push(name);\n }\n });\n });\n var mappings = new Mappings(options.hires);\n\n if (this.intro) {\n mappings.advance(this.intro);\n }\n\n this.sources.forEach(function (source, i) {\n if (i > 0) {\n mappings.advance(this$1$1.separator);\n }\n\n var sourceIndex = source.filename ? this$1$1.uniqueSourceIndexByFilename[source.filename] : -1;\n var magicString = source.content;\n var locate = getLocator(magicString.original);\n\n if (magicString.intro) {\n mappings.advance(magicString.intro);\n }\n\n magicString.firstChunk.eachNext(function (chunk) {\n var loc = locate(chunk.start);\n\n if (chunk.intro.length) {\n mappings.advance(chunk.intro);\n }\n\n if (source.filename) {\n if (chunk.edited) {\n mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);\n } else {\n mappings.addUneditedChunk(sourceIndex, chunk, magicString.original, loc, magicString.sourcemapLocations);\n }\n } else {\n mappings.advance(chunk.content);\n }\n\n if (chunk.outro.length) {\n mappings.advance(chunk.outro);\n }\n });\n\n if (magicString.outro) {\n mappings.advance(magicString.outro);\n }\n });\n return {\n file: options.file ? options.file.split(/[/\\\\]/).pop() : null,\n sources: this.uniqueSources.map(function (source) {\n return options.file ? getRelativePath(options.file, source.filename) : source.filename;\n }),\n sourcesContent: this.uniqueSources.map(function (source) {\n return options.includeContent ? source.content : null;\n }),\n names: names,\n mappings: mappings.raw\n };\n};\n\nBundle.prototype.generateMap = function generateMap(options) {\n return new SourceMap(this.generateDecodedMap(options));\n};\n\nBundle.prototype.getIndentString = function getIndentString() {\n var indentStringCounts = {};\n this.sources.forEach(function (source) {\n var indentStr = source.content.indentStr;\n\n if (indentStr === null) {\n return;\n }\n\n if (!indentStringCounts[indentStr]) {\n indentStringCounts[indentStr] = 0;\n }\n\n indentStringCounts[indentStr] += 1;\n });\n return Object.keys(indentStringCounts).sort(function (a, b) {\n return indentStringCounts[a] - indentStringCounts[b];\n })[0] || '\\t';\n};\n\nBundle.prototype.indent = function indent(indentStr) {\n var this$1$1 = this;\n\n if (!arguments.length) {\n indentStr = this.getIndentString();\n }\n\n if (indentStr === '') {\n return this;\n } // noop\n\n\n var trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n this.sources.forEach(function (source, i) {\n var separator = source.separator !== undefined ? source.separator : this$1$1.separator;\n var indentStart = trailingNewline || i > 0 && /\\r?\\n$/.test(separator);\n source.content.indent(indentStr, {\n exclude: source.indentExclusionRanges,\n indentStart: indentStart //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\n });\n trailingNewline = source.content.lastChar() === '\\n';\n });\n\n if (this.intro) {\n this.intro = indentStr + this.intro.replace(/^[^\\n]/gm, function (match, index) {\n return index > 0 ? indentStr + match : match;\n });\n }\n\n return this;\n};\n\nBundle.prototype.prepend = function prepend(str) {\n this.intro = str + this.intro;\n return this;\n};\n\nBundle.prototype.toString = function toString() {\n var this$1$1 = this;\n var body = this.sources.map(function (source, i) {\n var separator = source.separator !== undefined ? source.separator : this$1$1.separator;\n var str = (i > 0 ? separator : '') + source.content.toString();\n return str;\n }).join('');\n return this.intro + body;\n};\n\nBundle.prototype.isEmpty = function isEmpty() {\n if (this.intro.length && this.intro.trim()) {\n return false;\n }\n\n if (this.sources.some(function (source) {\n return !source.content.isEmpty();\n })) {\n return false;\n }\n\n return true;\n};\n\nBundle.prototype.length = function length() {\n return this.sources.reduce(function (length, source) {\n return length + source.content.length();\n }, this.intro.length);\n};\n\nBundle.prototype.trimLines = function trimLines() {\n return this.trim('[\\\\r\\\\n]');\n};\n\nBundle.prototype.trim = function trim(charType) {\n return this.trimStart(charType).trimEnd(charType);\n};\n\nBundle.prototype.trimStart = function trimStart(charType) {\n var rx = new RegExp('^' + (charType || '\\\\s') + '+');\n this.intro = this.intro.replace(rx, '');\n\n if (!this.intro) {\n var source;\n var i = 0;\n\n do {\n source = this.sources[i++];\n\n if (!source) {\n break;\n }\n } while (!source.content.trimStartAborted(charType));\n }\n\n return this;\n};\n\nBundle.prototype.trimEnd = function trimEnd(charType) {\n var rx = new RegExp((charType || '\\\\s') + '+$');\n var source;\n var i = this.sources.length - 1;\n\n do {\n source = this.sources[i--];\n\n if (!source) {\n this.intro = this.intro.replace(rx, '');\n break;\n }\n } while (!source.content.trimEndAborted(charType));\n\n return this;\n};\n\nexport { Bundle, SourceMap, MagicString as default };","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;\n\n it = a.entries();\n\n while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false;\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false;\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","export var IconsManifest = [{\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n}, {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n}, {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n}, {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n}, {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n}, {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n}, {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n}, {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}];","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar React = __importStar(require(\"react\"));\n\nvar KEYCODE_ENTER = 13;\nvar KEYCODE_TAB = 9;\nvar KEYCODE_BACKSPACE = 8;\nvar KEYCODE_Y = 89;\nvar KEYCODE_Z = 90;\nvar KEYCODE_M = 77;\nvar KEYCODE_PARENS = 57;\nvar KEYCODE_BRACKETS = 219;\nvar KEYCODE_QUOTE = 222;\nvar KEYCODE_BACK_QUOTE = 192;\nvar KEYCODE_ESCAPE = 27;\nvar HISTORY_LIMIT = 100;\nvar HISTORY_TIME_GAP = 3000;\nvar isWindows = typeof window !== 'undefined' && 'navigator' in window && /Win/i.test(navigator.platform);\nvar isMacLike = typeof window !== 'undefined' && 'navigator' in window && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\nvar className = 'npm__react-simple-code-editor__textarea';\nvar cssText =\n/* CSS */\n\"\\n/**\\n * Reset the text fill color so that placeholder is visible\\n */\\n.\".concat(className, \":empty {\\n -webkit-text-fill-color: inherit !important;\\n}\\n\\n/**\\n * Hack to apply on some CSS on IE10 and IE11\\n */\\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\\n /**\\n * IE doesn't support '-webkit-text-fill-color'\\n * So we use 'color: transparent' to make the text transparent on IE\\n * Unlike other browsers, it doesn't affect caret color in IE\\n */\\n .\").concat(className, \" {\\n color: transparent !important;\\n }\\n\\n .\").concat(className, \"::selection {\\n background-color: #accef7 !important;\\n color: transparent !important;\\n }\\n}\\n\");\n\nvar Editor =\n/** @class */\nfunction (_super) {\n __extends(Editor, _super);\n\n function Editor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.state = {\n capture: true\n };\n\n _this._recordCurrentState = function () {\n var input = _this._input;\n if (!input) return; // Save current state of the input\n\n var value = input.value,\n selectionStart = input.selectionStart,\n selectionEnd = input.selectionEnd;\n\n _this._recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n });\n };\n\n _this._getLines = function (text, position) {\n return text.substring(0, position).split('\\n');\n };\n\n _this._recordChange = function (record, overwrite) {\n var _a, _b, _c;\n\n if (overwrite === void 0) {\n overwrite = false;\n }\n\n var _d = _this._history,\n stack = _d.stack,\n offset = _d.offset;\n\n if (stack.length && offset > -1) {\n // When something updates, drop the redo operations\n _this._history.stack = stack.slice(0, offset + 1); // Limit the number of operations to 100\n\n var count = _this._history.stack.length;\n\n if (count > HISTORY_LIMIT) {\n var extras = count - HISTORY_LIMIT;\n _this._history.stack = stack.slice(extras, count);\n _this._history.offset = Math.max(_this._history.offset - extras, 0);\n }\n }\n\n var timestamp = Date.now();\n\n if (overwrite) {\n var last = _this._history.stack[_this._history.offset];\n\n if (last && timestamp - last.timestamp < HISTORY_TIME_GAP) {\n // A previous entry exists and was in short interval\n // Match the last word in the line\n var re = /[^a-z0-9]([a-z0-9]+)$/i; // Get the previous line\n\n var previous = (_a = _this._getLines(last.value, last.selectionStart).pop()) === null || _a === void 0 ? void 0 : _a.match(re); // Get the current line\n\n var current = (_b = _this._getLines(record.value, record.selectionStart).pop()) === null || _b === void 0 ? void 0 : _b.match(re);\n\n if ((previous === null || previous === void 0 ? void 0 : previous[1]) && ((_c = current === null || current === void 0 ? void 0 : current[1]) === null || _c === void 0 ? void 0 : _c.startsWith(previous[1]))) {\n // The last word of the previous line and current line match\n // Overwrite previous entry so that undo will remove whole word\n _this._history.stack[_this._history.offset] = __assign(__assign({}, record), {\n timestamp: timestamp\n });\n return;\n }\n }\n } // Add the new operation to the stack\n\n\n _this._history.stack.push(__assign(__assign({}, record), {\n timestamp: timestamp\n }));\n\n _this._history.offset++;\n };\n\n _this._updateInput = function (record) {\n var input = _this._input;\n if (!input) return; // Update values and selection state\n\n input.value = record.value;\n input.selectionStart = record.selectionStart;\n input.selectionEnd = record.selectionEnd;\n\n _this.props.onValueChange(record.value);\n };\n\n _this._applyEdits = function (record) {\n // Save last selection state\n var input = _this._input;\n var last = _this._history.stack[_this._history.offset];\n\n if (last && input) {\n _this._history.stack[_this._history.offset] = __assign(__assign({}, last), {\n selectionStart: input.selectionStart,\n selectionEnd: input.selectionEnd\n });\n } // Save the changes\n\n\n _this._recordChange(record);\n\n _this._updateInput(record);\n };\n\n _this._undoEdit = function () {\n var _a = _this._history,\n stack = _a.stack,\n offset = _a.offset; // Get the previous edit\n\n var record = stack[offset - 1];\n\n if (record) {\n // Apply the changes and update the offset\n _this._updateInput(record);\n\n _this._history.offset = Math.max(offset - 1, 0);\n }\n };\n\n _this._redoEdit = function () {\n var _a = _this._history,\n stack = _a.stack,\n offset = _a.offset; // Get the next edit\n\n var record = stack[offset + 1];\n\n if (record) {\n // Apply the changes and update the offset\n _this._updateInput(record);\n\n _this._history.offset = Math.min(offset + 1, stack.length - 1);\n }\n };\n\n _this._handleKeyDown = function (e) {\n var _a = _this.props,\n tabSize = _a.tabSize,\n insertSpaces = _a.insertSpaces,\n ignoreTabKey = _a.ignoreTabKey,\n onKeyDown = _a.onKeyDown;\n\n if (onKeyDown) {\n onKeyDown(e);\n\n if (e.defaultPrevented) {\n return;\n }\n }\n\n if (e.keyCode === KEYCODE_ESCAPE) {\n e.currentTarget.blur();\n }\n\n var _b = e.currentTarget,\n value = _b.value,\n selectionStart = _b.selectionStart,\n selectionEnd = _b.selectionEnd;\n var tabCharacter = (insertSpaces ? ' ' : '\\t').repeat(tabSize);\n\n if (e.keyCode === KEYCODE_TAB && !ignoreTabKey && _this.state.capture) {\n // Prevent focus change\n e.preventDefault();\n\n if (e.shiftKey) {\n // Unindent selected lines\n var linesBeforeCaret = _this._getLines(value, selectionStart);\n\n var startLine_1 = linesBeforeCaret.length - 1;\n var endLine_1 = _this._getLines(value, selectionEnd).length - 1;\n var nextValue = value.split('\\n').map(function (line, i) {\n if (i >= startLine_1 && i <= endLine_1 && line.startsWith(tabCharacter)) {\n return line.substring(tabCharacter.length);\n }\n\n return line;\n }).join('\\n');\n\n if (value !== nextValue) {\n var startLineText = linesBeforeCaret[startLine_1];\n\n _this._applyEdits({\n value: nextValue,\n // Move the start cursor if first line in selection was modified\n // It was modified only if it started with a tab\n selectionStart: (startLineText === null || startLineText === void 0 ? void 0 : startLineText.startsWith(tabCharacter)) ? selectionStart - tabCharacter.length : selectionStart,\n // Move the end cursor by total number of characters removed\n selectionEnd: selectionEnd - (value.length - nextValue.length)\n });\n }\n } else if (selectionStart !== selectionEnd) {\n // Indent selected lines\n var linesBeforeCaret = _this._getLines(value, selectionStart);\n\n var startLine_2 = linesBeforeCaret.length - 1;\n var endLine_2 = _this._getLines(value, selectionEnd).length - 1;\n var startLineText = linesBeforeCaret[startLine_2];\n\n _this._applyEdits({\n value: value.split('\\n').map(function (line, i) {\n if (i >= startLine_2 && i <= endLine_2) {\n return tabCharacter + line;\n }\n\n return line;\n }).join('\\n'),\n // Move the start cursor by number of characters added in first line of selection\n // Don't move it if it there was no text before cursor\n selectionStart: startLineText && /\\S/.test(startLineText) ? selectionStart + tabCharacter.length : selectionStart,\n // Move the end cursor by total number of characters added\n selectionEnd: selectionEnd + tabCharacter.length * (endLine_2 - startLine_2 + 1)\n });\n } else {\n var updatedSelection = selectionStart + tabCharacter.length;\n\n _this._applyEdits({\n // Insert tab character at caret\n value: value.substring(0, selectionStart) + tabCharacter + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n } else if (e.keyCode === KEYCODE_BACKSPACE) {\n var hasSelection = selectionStart !== selectionEnd;\n var textBeforeCaret = value.substring(0, selectionStart);\n\n if (textBeforeCaret.endsWith(tabCharacter) && !hasSelection) {\n // Prevent default delete behaviour\n e.preventDefault();\n var updatedSelection = selectionStart - tabCharacter.length;\n\n _this._applyEdits({\n // Remove tab character at caret\n value: value.substring(0, selectionStart - tabCharacter.length) + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n } else if (e.keyCode === KEYCODE_ENTER) {\n // Ignore selections\n if (selectionStart === selectionEnd) {\n // Get the current line\n var line = _this._getLines(value, selectionStart).pop();\n\n var matches = line === null || line === void 0 ? void 0 : line.match(/^\\s+/);\n\n if (matches === null || matches === void 0 ? void 0 : matches[0]) {\n e.preventDefault(); // Preserve indentation on inserting a new line\n\n var indent = '\\n' + matches[0];\n var updatedSelection = selectionStart + indent.length;\n\n _this._applyEdits({\n // Insert indentation character at caret\n value: value.substring(0, selectionStart) + indent + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n }\n } else if (e.keyCode === KEYCODE_PARENS || e.keyCode === KEYCODE_BRACKETS || e.keyCode === KEYCODE_QUOTE || e.keyCode === KEYCODE_BACK_QUOTE) {\n var chars = void 0;\n\n if (e.keyCode === KEYCODE_PARENS && e.shiftKey) {\n chars = ['(', ')'];\n } else if (e.keyCode === KEYCODE_BRACKETS) {\n if (e.shiftKey) {\n chars = ['{', '}'];\n } else {\n chars = ['[', ']'];\n }\n } else if (e.keyCode === KEYCODE_QUOTE) {\n if (e.shiftKey) {\n chars = ['\"', '\"'];\n } else {\n chars = [\"'\", \"'\"];\n }\n } else if (e.keyCode === KEYCODE_BACK_QUOTE && !e.shiftKey) {\n chars = ['`', '`'];\n } // If text is selected, wrap them in the characters\n\n\n if (selectionStart !== selectionEnd && chars) {\n e.preventDefault();\n\n _this._applyEdits({\n value: value.substring(0, selectionStart) + chars[0] + value.substring(selectionStart, selectionEnd) + chars[1] + value.substring(selectionEnd),\n // Update caret position\n selectionStart: selectionStart,\n selectionEnd: selectionEnd + 2\n });\n }\n } else if ((isMacLike ? // Trigger undo with ⌘+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z : // Trigger undo with Ctrl+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z) && !e.shiftKey && !e.altKey) {\n e.preventDefault();\n\n _this._undoEdit();\n } else if ((isMacLike ? // Trigger redo with ⌘+Shift+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z && e.shiftKey : isWindows ? // Trigger redo with Ctrl+Y on Windows\n e.ctrlKey && e.keyCode === KEYCODE_Y : // Trigger redo with Ctrl+Shift+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z && e.shiftKey) && !e.altKey) {\n e.preventDefault();\n\n _this._redoEdit();\n } else if (e.keyCode === KEYCODE_M && e.ctrlKey && (isMacLike ? e.shiftKey : true)) {\n e.preventDefault(); // Toggle capturing tab key so users can focus away\n\n _this.setState(function (state) {\n return {\n capture: !state.capture\n };\n });\n }\n };\n\n _this._handleChange = function (e) {\n var _a = e.currentTarget,\n value = _a.value,\n selectionStart = _a.selectionStart,\n selectionEnd = _a.selectionEnd;\n\n _this._recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n }, true);\n\n _this.props.onValueChange(value);\n };\n\n _this._history = {\n stack: [],\n offset: -1\n };\n _this._input = null;\n return _this;\n }\n\n Editor.prototype.componentDidMount = function () {\n this._recordCurrentState();\n };\n\n Object.defineProperty(Editor.prototype, \"session\", {\n get: function () {\n return {\n history: this._history\n };\n },\n set: function (session) {\n this._history = session.history;\n },\n enumerable: false,\n configurable: true\n });\n\n Editor.prototype.render = function () {\n var _this = this;\n\n var _a = this.props,\n value = _a.value,\n style = _a.style,\n padding = _a.padding,\n highlight = _a.highlight,\n textareaId = _a.textareaId,\n textareaClassName = _a.textareaClassName,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n form = _a.form,\n maxLength = _a.maxLength,\n minLength = _a.minLength,\n name = _a.name,\n placeholder = _a.placeholder,\n readOnly = _a.readOnly,\n required = _a.required,\n onClick = _a.onClick,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n onKeyUp = _a.onKeyUp,\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n onKeyDown = _a.onKeyDown,\n onValueChange = _a.onValueChange,\n tabSize = _a.tabSize,\n insertSpaces = _a.insertSpaces,\n ignoreTabKey = _a.ignoreTabKey,\n\n /* eslint-enable @typescript-eslint/no-unused-vars */\n preClassName = _a.preClassName,\n rest = __rest(_a, [\"value\", \"style\", \"padding\", \"highlight\", \"textareaId\", \"textareaClassName\", \"autoFocus\", \"disabled\", \"form\", \"maxLength\", \"minLength\", \"name\", \"placeholder\", \"readOnly\", \"required\", \"onClick\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onValueChange\", \"tabSize\", \"insertSpaces\", \"ignoreTabKey\", \"preClassName\"]);\n\n var contentStyle = {\n paddingTop: padding,\n paddingRight: padding,\n paddingBottom: padding,\n paddingLeft: padding\n };\n var highlighted = highlight(value);\n return React.createElement(\"div\", __assign({}, rest, {\n style: __assign(__assign({}, styles.container), style)\n }), React.createElement(\"textarea\", {\n ref: function (c) {\n return _this._input = c;\n },\n style: __assign(__assign(__assign({}, styles.editor), styles.textarea), contentStyle),\n className: className + (textareaClassName ? \" \".concat(textareaClassName) : ''),\n id: textareaId,\n value: value,\n onChange: this._handleChange,\n onKeyDown: this._handleKeyDown,\n onClick: onClick,\n onKeyUp: onKeyUp,\n onFocus: onFocus,\n onBlur: onBlur,\n disabled: disabled,\n form: form,\n maxLength: maxLength,\n minLength: minLength,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: required,\n autoFocus: autoFocus,\n autoCapitalize: \"off\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n \"data-gramm\": false\n }), React.createElement(\"pre\", __assign({\n className: preClassName,\n \"aria-hidden\": \"true\",\n style: __assign(__assign(__assign({}, styles.editor), styles.highlight), contentStyle)\n }, typeof highlighted === 'string' ? {\n dangerouslySetInnerHTML: {\n __html: highlighted + '
'\n }\n } : {\n children: highlighted\n })), React.createElement(\"style\", {\n type: \"text/css\",\n dangerouslySetInnerHTML: {\n __html: cssText\n }\n }));\n };\n\n Editor.defaultProps = {\n tabSize: 2,\n insertSpaces: true,\n ignoreTabKey: false,\n padding: 0\n };\n return Editor;\n}(React.Component);\n\nexports.default = Editor;\nvar styles = {\n container: {\n position: 'relative',\n textAlign: 'left',\n boxSizing: 'border-box',\n padding: 0,\n overflow: 'hidden'\n },\n textarea: {\n position: 'absolute',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n resize: 'none',\n color: 'inherit',\n overflow: 'hidden',\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n WebkitTextFillColor: 'transparent'\n },\n highlight: {\n position: 'relative',\n pointerEvents: 'none'\n },\n editor: {\n margin: 0,\n border: 0,\n background: 'none',\n boxSizing: 'inherit',\n display: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontStyle: 'inherit',\n fontVariantLigatures: 'inherit',\n fontWeight: 'inherit',\n letterSpacing: 'inherit',\n lineHeight: 'inherit',\n tabSize: 'inherit',\n textIndent: 'inherit',\n textRendering: 'inherit',\n textTransform: 'inherit',\n whiteSpace: 'pre-wrap',\n wordBreak: 'keep-all',\n overflowWrap: 'break-word'\n }\n};","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\n\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\nexports.strings = ['\\xA9\\uFE0F', '\\xAE\\uFE0F', '\\u203C\\uFE0F', '\\u2049\\uFE0F', '\\u2122\\uFE0F', '\\u2139\\uFE0F', '\\u2194\\uFE0F', '\\u2195\\uFE0F', '\\u2196\\uFE0F', '\\u2197\\uFE0F', '\\u2198\\uFE0F', '\\u2199\\uFE0F', '\\u21A9\\uFE0F', '\\u21AA\\uFE0F', '\\u2328\\uFE0F', '\\u23CF\\uFE0F', '\\u23ED\\uFE0F', '\\u23EE\\uFE0F', '\\u23EF\\uFE0F', '\\u23F1\\uFE0F', '\\u23F2\\uFE0F', '\\u23F8\\uFE0F', '\\u23F9\\uFE0F', '\\u23FA\\uFE0F', '\\u24C2\\uFE0F', '\\u25AA\\uFE0F', '\\u25AB\\uFE0F', '\\u25B6\\uFE0F', '\\u25C0\\uFE0F', '\\u25FB\\uFE0F', '\\u25FC\\uFE0F', '\\u2600\\uFE0F', '\\u2601\\uFE0F', '\\u2602\\uFE0F', '\\u2603\\uFE0F', '\\u2604\\uFE0F', '\\u260E\\uFE0F', '\\u2611\\uFE0F', '\\u2618\\uFE0F', '\\u261D\\uFE0F', '\\u2620\\uFE0F', '\\u2622\\uFE0F', '\\u2623\\uFE0F', '\\u2626\\uFE0F', '\\u262A\\uFE0F', '\\u262E\\uFE0F', '\\u262F\\uFE0F', '\\u2638\\uFE0F', '\\u2639\\uFE0F', '\\u263A\\uFE0F', '\\u2640\\uFE0F', '\\u2642\\uFE0F', '\\u265F\\uFE0F', '\\u2660\\uFE0F', '\\u2663\\uFE0F', '\\u2665\\uFE0F', '\\u2666\\uFE0F', '\\u2668\\uFE0F', '\\u267B\\uFE0F', '\\u267E\\uFE0F', '\\u2692\\uFE0F', '\\u2694\\uFE0F', '\\u2695\\uFE0F', '\\u2696\\uFE0F', '\\u2697\\uFE0F', '\\u2699\\uFE0F', '\\u269B\\uFE0F', '\\u269C\\uFE0F', '\\u26A0\\uFE0F', '\\u26A7\\uFE0F', '\\u26B0\\uFE0F', '\\u26B1\\uFE0F', '\\u26C8\\uFE0F', '\\u26CF\\uFE0F', '\\u26D1\\uFE0F', '\\u26D3\\uFE0F', '\\u26E9\\uFE0F', '\\u26F0\\uFE0F', '\\u26F1\\uFE0F', '\\u26F4\\uFE0F', '\\u26F7\\uFE0F', '\\u26F8\\uFE0F', '\\u26F9\\uFE0F', '\\u2702\\uFE0F', '\\u2708\\uFE0F', '\\u2709\\uFE0F', '\\u270C\\uFE0F', '\\u270D\\uFE0F', '\\u270F\\uFE0F', '\\u2712\\uFE0F', '\\u2714\\uFE0F', '\\u2716\\uFE0F', '\\u271D\\uFE0F', '\\u2721\\uFE0F', '\\u2733\\uFE0F', '\\u2734\\uFE0F', '\\u2744\\uFE0F', '\\u2747\\uFE0F', '\\u2763\\uFE0F', '\\u2764\\uFE0F', '\\u27A1\\uFE0F', '\\u2934\\uFE0F', '\\u2935\\uFE0F', '\\u2B05\\uFE0F', '\\u2B06\\uFE0F', '\\u2B07\\uFE0F', '\\u3030\\uFE0F', '\\u303D\\uFE0F', '\\u3297\\uFE0F', '\\u3299\\uFE0F', '\\u{1F170}\\uFE0F', '\\u{1F171}\\uFE0F', '\\u{1F17E}\\uFE0F', '\\u{1F17F}\\uFE0F', '\\u{1F202}\\uFE0F', '\\u{1F237}\\uFE0F', '\\u{1F321}\\uFE0F', '\\u{1F324}\\uFE0F', '\\u{1F325}\\uFE0F', '\\u{1F326}\\uFE0F', '\\u{1F327}\\uFE0F', '\\u{1F328}\\uFE0F', '\\u{1F329}\\uFE0F', '\\u{1F32A}\\uFE0F', '\\u{1F32B}\\uFE0F', '\\u{1F32C}\\uFE0F', '\\u{1F336}\\uFE0F', '\\u{1F37D}\\uFE0F', '\\u{1F396}\\uFE0F', '\\u{1F397}\\uFE0F', '\\u{1F399}\\uFE0F', '\\u{1F39A}\\uFE0F', '\\u{1F39B}\\uFE0F', '\\u{1F39E}\\uFE0F', '\\u{1F39F}\\uFE0F', '\\u{1F3CB}\\uFE0F', '\\u{1F3CC}\\uFE0F', '\\u{1F3CD}\\uFE0F', '\\u{1F3CE}\\uFE0F', '\\u{1F3D4}\\uFE0F', '\\u{1F3D5}\\uFE0F', '\\u{1F3D6}\\uFE0F', '\\u{1F3D7}\\uFE0F', '\\u{1F3D8}\\uFE0F', '\\u{1F3D9}\\uFE0F', '\\u{1F3DA}\\uFE0F', '\\u{1F3DB}\\uFE0F', '\\u{1F3DC}\\uFE0F', '\\u{1F3DD}\\uFE0F', '\\u{1F3DE}\\uFE0F', '\\u{1F3DF}\\uFE0F', '\\u{1F3F3}\\uFE0F', '\\u{1F3F5}\\uFE0F', '\\u{1F3F7}\\uFE0F', '\\u{1F43F}\\uFE0F', '\\u{1F441}\\uFE0F', '\\u{1F4FD}\\uFE0F', '\\u{1F549}\\uFE0F', '\\u{1F54A}\\uFE0F', '\\u{1F56F}\\uFE0F', '\\u{1F570}\\uFE0F', '\\u{1F573}\\uFE0F', '\\u{1F574}\\uFE0F', '\\u{1F575}\\uFE0F', '\\u{1F576}\\uFE0F', '\\u{1F577}\\uFE0F', '\\u{1F578}\\uFE0F', '\\u{1F579}\\uFE0F', '\\u{1F587}\\uFE0F', '\\u{1F58A}\\uFE0F', '\\u{1F58B}\\uFE0F', '\\u{1F58C}\\uFE0F', '\\u{1F58D}\\uFE0F', '\\u{1F590}\\uFE0F', '\\u{1F5A5}\\uFE0F', '\\u{1F5A8}\\uFE0F', '\\u{1F5B1}\\uFE0F', '\\u{1F5B2}\\uFE0F', '\\u{1F5BC}\\uFE0F', '\\u{1F5C2}\\uFE0F', '\\u{1F5C3}\\uFE0F', '\\u{1F5C4}\\uFE0F', '\\u{1F5D1}\\uFE0F', '\\u{1F5D2}\\uFE0F', '\\u{1F5D3}\\uFE0F', '\\u{1F5DC}\\uFE0F', '\\u{1F5DD}\\uFE0F', '\\u{1F5DE}\\uFE0F', '\\u{1F5E1}\\uFE0F', '\\u{1F5E3}\\uFE0F', '\\u{1F5E8}\\uFE0F', '\\u{1F5EF}\\uFE0F', '\\u{1F5F3}\\uFE0F', '\\u{1F5FA}\\uFE0F', '\\u{1F6CB}\\uFE0F', '\\u{1F6CD}\\uFE0F', '\\u{1F6CE}\\uFE0F', '\\u{1F6CF}\\uFE0F', '\\u{1F6E0}\\uFE0F', '\\u{1F6E1}\\uFE0F', '\\u{1F6E2}\\uFE0F', '\\u{1F6E3}\\uFE0F', '\\u{1F6E4}\\uFE0F', '\\u{1F6E5}\\uFE0F', '\\u{1F6E9}\\uFE0F', '\\u{1F6F0}\\uFE0F', '\\u{1F6F3}\\uFE0F'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['#\\uFE0F\\u20E3', '*\\uFE0F\\u20E3', '0\\uFE0F\\u20E3', '1\\uFE0F\\u20E3', '2\\uFE0F\\u20E3', '3\\uFE0F\\u20E3', '4\\uFE0F\\u20E3', '5\\uFE0F\\u20E3', '6\\uFE0F\\u20E3', '7\\uFE0F\\u20E3', '8\\uFE0F\\u20E3', '9\\uFE0F\\u20E3'];","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\n\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\nexports.strings = ['#\\uFE0F\\u20E3', '*\\uFE0F\\u20E3', '0\\uFE0F\\u20E3', '1\\uFE0F\\u20E3', '2\\uFE0F\\u20E3', '3\\uFE0F\\u20E3', '4\\uFE0F\\u20E3', '5\\uFE0F\\u20E3', '6\\uFE0F\\u20E3', '7\\uFE0F\\u20E3', '8\\uFE0F\\u20E3', '9\\uFE0F\\u20E3', '\\xA9\\uFE0F', '\\xAE\\uFE0F', '\\u203C\\uFE0F', '\\u2049\\uFE0F', '\\u2122\\uFE0F', '\\u2139\\uFE0F', '\\u2194\\uFE0F', '\\u2195\\uFE0F', '\\u2196\\uFE0F', '\\u2197\\uFE0F', '\\u2198\\uFE0F', '\\u2199\\uFE0F', '\\u21A9\\uFE0F', '\\u21AA\\uFE0F', '\\u2328\\uFE0F', '\\u23CF\\uFE0F', '\\u23ED\\uFE0F', '\\u23EE\\uFE0F', '\\u23EF\\uFE0F', '\\u23F1\\uFE0F', '\\u23F2\\uFE0F', '\\u23F8\\uFE0F', '\\u23F9\\uFE0F', '\\u23FA\\uFE0F', '\\u24C2\\uFE0F', '\\u25AA\\uFE0F', '\\u25AB\\uFE0F', '\\u25B6\\uFE0F', '\\u25C0\\uFE0F', '\\u25FB\\uFE0F', '\\u25FC\\uFE0F', '\\u2600\\uFE0F', '\\u2601\\uFE0F', '\\u2602\\uFE0F', '\\u2603\\uFE0F', '\\u2604\\uFE0F', '\\u260E\\uFE0F', '\\u2611\\uFE0F', '\\u2618\\uFE0F', '\\u261D\\u{1F3FB}', '\\u261D\\u{1F3FC}', '\\u261D\\u{1F3FD}', '\\u261D\\u{1F3FE}', '\\u261D\\u{1F3FF}', '\\u261D\\uFE0F', '\\u2620\\uFE0F', '\\u2622\\uFE0F', '\\u2623\\uFE0F', '\\u2626\\uFE0F', '\\u262A\\uFE0F', '\\u262E\\uFE0F', '\\u262F\\uFE0F', '\\u2638\\uFE0F', '\\u2639\\uFE0F', '\\u263A\\uFE0F', '\\u2640\\uFE0F', '\\u2642\\uFE0F', '\\u265F\\uFE0F', '\\u2660\\uFE0F', '\\u2663\\uFE0F', '\\u2665\\uFE0F', '\\u2666\\uFE0F', '\\u2668\\uFE0F', '\\u267B\\uFE0F', '\\u267E\\uFE0F', '\\u2692\\uFE0F', '\\u2694\\uFE0F', '\\u2695\\uFE0F', '\\u2696\\uFE0F', '\\u2697\\uFE0F', '\\u2699\\uFE0F', '\\u269B\\uFE0F', '\\u269C\\uFE0F', '\\u26A0\\uFE0F', '\\u26A7\\uFE0F', '\\u26B0\\uFE0F', '\\u26B1\\uFE0F', '\\u26C8\\uFE0F', '\\u26CF\\uFE0F', '\\u26D1\\uFE0F', '\\u26D3\\uFE0F', '\\u26E9\\uFE0F', '\\u26F0\\uFE0F', '\\u26F1\\uFE0F', '\\u26F4\\uFE0F', '\\u26F7\\uFE0F', '\\u26F8\\uFE0F', '\\u26F9\\u{1F3FB}', '\\u26F9\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FC}', '\\u26F9\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FD}', '\\u26F9\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FE}', '\\u26F9\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FF}', '\\u26F9\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u26F9\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F', '\\u2702\\uFE0F', '\\u2708\\uFE0F', '\\u2709\\uFE0F', '\\u270A\\u{1F3FB}', '\\u270A\\u{1F3FC}', '\\u270A\\u{1F3FD}', '\\u270A\\u{1F3FE}', '\\u270A\\u{1F3FF}', '\\u270B\\u{1F3FB}', '\\u270B\\u{1F3FC}', '\\u270B\\u{1F3FD}', '\\u270B\\u{1F3FE}', '\\u270B\\u{1F3FF}', '\\u270C\\u{1F3FB}', '\\u270C\\u{1F3FC}', '\\u270C\\u{1F3FD}', '\\u270C\\u{1F3FE}', '\\u270C\\u{1F3FF}', '\\u270C\\uFE0F', '\\u270D\\u{1F3FB}', '\\u270D\\u{1F3FC}', '\\u270D\\u{1F3FD}', '\\u270D\\u{1F3FE}', '\\u270D\\u{1F3FF}', '\\u270D\\uFE0F', '\\u270F\\uFE0F', '\\u2712\\uFE0F', '\\u2714\\uFE0F', '\\u2716\\uFE0F', '\\u271D\\uFE0F', '\\u2721\\uFE0F', '\\u2733\\uFE0F', '\\u2734\\uFE0F', '\\u2744\\uFE0F', '\\u2747\\uFE0F', '\\u2763\\uFE0F', '\\u2764\\uFE0F', '\\u2764\\uFE0F\\u200D\\u{1F525}', '\\u2764\\uFE0F\\u200D\\u{1FA79}', '\\u27A1\\uFE0F', '\\u2934\\uFE0F', '\\u2935\\uFE0F', '\\u2B05\\uFE0F', '\\u2B06\\uFE0F', '\\u2B07\\uFE0F', '\\u3030\\uFE0F', '\\u303D\\uFE0F', '\\u3297\\uFE0F', '\\u3299\\uFE0F', '\\u{1F170}\\uFE0F', '\\u{1F171}\\uFE0F', '\\u{1F17E}\\uFE0F', '\\u{1F17F}\\uFE0F', '\\u{1F1E6}\\u{1F1E8}', '\\u{1F1E6}\\u{1F1E9}', '\\u{1F1E6}\\u{1F1EA}', '\\u{1F1E6}\\u{1F1EB}', '\\u{1F1E6}\\u{1F1EC}', '\\u{1F1E6}\\u{1F1EE}', '\\u{1F1E6}\\u{1F1F1}', '\\u{1F1E6}\\u{1F1F2}', '\\u{1F1E6}\\u{1F1F4}', '\\u{1F1E6}\\u{1F1F6}', '\\u{1F1E6}\\u{1F1F7}', '\\u{1F1E6}\\u{1F1F8}', '\\u{1F1E6}\\u{1F1F9}', '\\u{1F1E6}\\u{1F1FA}', '\\u{1F1E6}\\u{1F1FC}', '\\u{1F1E6}\\u{1F1FD}', '\\u{1F1E6}\\u{1F1FF}', '\\u{1F1E7}\\u{1F1E6}', '\\u{1F1E7}\\u{1F1E7}', '\\u{1F1E7}\\u{1F1E9}', '\\u{1F1E7}\\u{1F1EA}', '\\u{1F1E7}\\u{1F1EB}', '\\u{1F1E7}\\u{1F1EC}', '\\u{1F1E7}\\u{1F1ED}', '\\u{1F1E7}\\u{1F1EE}', '\\u{1F1E7}\\u{1F1EF}', '\\u{1F1E7}\\u{1F1F1}', '\\u{1F1E7}\\u{1F1F2}', '\\u{1F1E7}\\u{1F1F3}', '\\u{1F1E7}\\u{1F1F4}', '\\u{1F1E7}\\u{1F1F6}', '\\u{1F1E7}\\u{1F1F7}', '\\u{1F1E7}\\u{1F1F8}', '\\u{1F1E7}\\u{1F1F9}', '\\u{1F1E7}\\u{1F1FB}', '\\u{1F1E7}\\u{1F1FC}', '\\u{1F1E7}\\u{1F1FE}', '\\u{1F1E7}\\u{1F1FF}', '\\u{1F1E8}\\u{1F1E6}', '\\u{1F1E8}\\u{1F1E8}', '\\u{1F1E8}\\u{1F1E9}', '\\u{1F1E8}\\u{1F1EB}', '\\u{1F1E8}\\u{1F1EC}', '\\u{1F1E8}\\u{1F1ED}', '\\u{1F1E8}\\u{1F1EE}', '\\u{1F1E8}\\u{1F1F0}', '\\u{1F1E8}\\u{1F1F1}', '\\u{1F1E8}\\u{1F1F2}', '\\u{1F1E8}\\u{1F1F3}', '\\u{1F1E8}\\u{1F1F4}', '\\u{1F1E8}\\u{1F1F5}', '\\u{1F1E8}\\u{1F1F7}', '\\u{1F1E8}\\u{1F1FA}', '\\u{1F1E8}\\u{1F1FB}', '\\u{1F1E8}\\u{1F1FC}', '\\u{1F1E8}\\u{1F1FD}', '\\u{1F1E8}\\u{1F1FE}', '\\u{1F1E8}\\u{1F1FF}', '\\u{1F1E9}\\u{1F1EA}', '\\u{1F1E9}\\u{1F1EC}', '\\u{1F1E9}\\u{1F1EF}', '\\u{1F1E9}\\u{1F1F0}', '\\u{1F1E9}\\u{1F1F2}', '\\u{1F1E9}\\u{1F1F4}', '\\u{1F1E9}\\u{1F1FF}', '\\u{1F1EA}\\u{1F1E6}', '\\u{1F1EA}\\u{1F1E8}', '\\u{1F1EA}\\u{1F1EA}', '\\u{1F1EA}\\u{1F1EC}', '\\u{1F1EA}\\u{1F1ED}', '\\u{1F1EA}\\u{1F1F7}', '\\u{1F1EA}\\u{1F1F8}', '\\u{1F1EA}\\u{1F1F9}', '\\u{1F1EA}\\u{1F1FA}', '\\u{1F1EB}\\u{1F1EE}', '\\u{1F1EB}\\u{1F1EF}', '\\u{1F1EB}\\u{1F1F0}', '\\u{1F1EB}\\u{1F1F2}', '\\u{1F1EB}\\u{1F1F4}', '\\u{1F1EB}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1E6}', '\\u{1F1EC}\\u{1F1E7}', '\\u{1F1EC}\\u{1F1E9}', '\\u{1F1EC}\\u{1F1EA}', '\\u{1F1EC}\\u{1F1EB}', '\\u{1F1EC}\\u{1F1EC}', '\\u{1F1EC}\\u{1F1ED}', '\\u{1F1EC}\\u{1F1EE}', '\\u{1F1EC}\\u{1F1F1}', '\\u{1F1EC}\\u{1F1F2}', '\\u{1F1EC}\\u{1F1F3}', '\\u{1F1EC}\\u{1F1F5}', '\\u{1F1EC}\\u{1F1F6}', '\\u{1F1EC}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1F8}', '\\u{1F1EC}\\u{1F1F9}', '\\u{1F1EC}\\u{1F1FA}', '\\u{1F1EC}\\u{1F1FC}', '\\u{1F1EC}\\u{1F1FE}', '\\u{1F1ED}\\u{1F1F0}', '\\u{1F1ED}\\u{1F1F2}', '\\u{1F1ED}\\u{1F1F3}', '\\u{1F1ED}\\u{1F1F7}', '\\u{1F1ED}\\u{1F1F9}', '\\u{1F1ED}\\u{1F1FA}', '\\u{1F1EE}\\u{1F1E8}', '\\u{1F1EE}\\u{1F1E9}', '\\u{1F1EE}\\u{1F1EA}', '\\u{1F1EE}\\u{1F1F1}', '\\u{1F1EE}\\u{1F1F2}', '\\u{1F1EE}\\u{1F1F3}', '\\u{1F1EE}\\u{1F1F4}', '\\u{1F1EE}\\u{1F1F6}', '\\u{1F1EE}\\u{1F1F7}', '\\u{1F1EE}\\u{1F1F8}', '\\u{1F1EE}\\u{1F1F9}', '\\u{1F1EF}\\u{1F1EA}', '\\u{1F1EF}\\u{1F1F2}', '\\u{1F1EF}\\u{1F1F4}', '\\u{1F1EF}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1EA}', '\\u{1F1F0}\\u{1F1EC}', '\\u{1F1F0}\\u{1F1ED}', '\\u{1F1F0}\\u{1F1EE}', '\\u{1F1F0}\\u{1F1F2}', '\\u{1F1F0}\\u{1F1F3}', '\\u{1F1F0}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1F7}', '\\u{1F1F0}\\u{1F1FC}', '\\u{1F1F0}\\u{1F1FE}', '\\u{1F1F0}\\u{1F1FF}', '\\u{1F1F1}\\u{1F1E6}', '\\u{1F1F1}\\u{1F1E7}', '\\u{1F1F1}\\u{1F1E8}', '\\u{1F1F1}\\u{1F1EE}', '\\u{1F1F1}\\u{1F1F0}', '\\u{1F1F1}\\u{1F1F7}', '\\u{1F1F1}\\u{1F1F8}', '\\u{1F1F1}\\u{1F1F9}', '\\u{1F1F1}\\u{1F1FA}', '\\u{1F1F1}\\u{1F1FB}', '\\u{1F1F1}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1E6}', '\\u{1F1F2}\\u{1F1E8}', '\\u{1F1F2}\\u{1F1E9}', '\\u{1F1F2}\\u{1F1EA}', '\\u{1F1F2}\\u{1F1EB}', '\\u{1F1F2}\\u{1F1EC}', '\\u{1F1F2}\\u{1F1ED}', '\\u{1F1F2}\\u{1F1F0}', '\\u{1F1F2}\\u{1F1F1}', '\\u{1F1F2}\\u{1F1F2}', '\\u{1F1F2}\\u{1F1F3}', '\\u{1F1F2}\\u{1F1F4}', '\\u{1F1F2}\\u{1F1F5}', '\\u{1F1F2}\\u{1F1F6}', '\\u{1F1F2}\\u{1F1F7}', '\\u{1F1F2}\\u{1F1F8}', '\\u{1F1F2}\\u{1F1F9}', '\\u{1F1F2}\\u{1F1FA}', '\\u{1F1F2}\\u{1F1FB}', '\\u{1F1F2}\\u{1F1FC}', '\\u{1F1F2}\\u{1F1FD}', '\\u{1F1F2}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1FF}', '\\u{1F1F3}\\u{1F1E6}', '\\u{1F1F3}\\u{1F1E8}', '\\u{1F1F3}\\u{1F1EA}', '\\u{1F1F3}\\u{1F1EB}', '\\u{1F1F3}\\u{1F1EC}', '\\u{1F1F3}\\u{1F1EE}', '\\u{1F1F3}\\u{1F1F1}', '\\u{1F1F3}\\u{1F1F4}', '\\u{1F1F3}\\u{1F1F5}', '\\u{1F1F3}\\u{1F1F7}', '\\u{1F1F3}\\u{1F1FA}', '\\u{1F1F3}\\u{1F1FF}', '\\u{1F1F4}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1E6}', '\\u{1F1F5}\\u{1F1EA}', '\\u{1F1F5}\\u{1F1EB}', '\\u{1F1F5}\\u{1F1EC}', '\\u{1F1F5}\\u{1F1ED}', '\\u{1F1F5}\\u{1F1F0}', '\\u{1F1F5}\\u{1F1F1}', '\\u{1F1F5}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1F3}', '\\u{1F1F5}\\u{1F1F7}', '\\u{1F1F5}\\u{1F1F8}', '\\u{1F1F5}\\u{1F1F9}', '\\u{1F1F5}\\u{1F1FC}', '\\u{1F1F5}\\u{1F1FE}', '\\u{1F1F6}\\u{1F1E6}', '\\u{1F1F7}\\u{1F1EA}', '\\u{1F1F7}\\u{1F1F4}', '\\u{1F1F7}\\u{1F1F8}', '\\u{1F1F7}\\u{1F1FA}', '\\u{1F1F7}\\u{1F1FC}', '\\u{1F1F8}\\u{1F1E6}', '\\u{1F1F8}\\u{1F1E7}', '\\u{1F1F8}\\u{1F1E8}', '\\u{1F1F8}\\u{1F1E9}', '\\u{1F1F8}\\u{1F1EA}', '\\u{1F1F8}\\u{1F1EC}', '\\u{1F1F8}\\u{1F1ED}', '\\u{1F1F8}\\u{1F1EE}', '\\u{1F1F8}\\u{1F1EF}', '\\u{1F1F8}\\u{1F1F0}', '\\u{1F1F8}\\u{1F1F1}', '\\u{1F1F8}\\u{1F1F2}', '\\u{1F1F8}\\u{1F1F3}', '\\u{1F1F8}\\u{1F1F4}', '\\u{1F1F8}\\u{1F1F7}', '\\u{1F1F8}\\u{1F1F8}', '\\u{1F1F8}\\u{1F1F9}', '\\u{1F1F8}\\u{1F1FB}', '\\u{1F1F8}\\u{1F1FD}', '\\u{1F1F8}\\u{1F1FE}', '\\u{1F1F8}\\u{1F1FF}', '\\u{1F1F9}\\u{1F1E6}', '\\u{1F1F9}\\u{1F1E8}', '\\u{1F1F9}\\u{1F1E9}', '\\u{1F1F9}\\u{1F1EB}', '\\u{1F1F9}\\u{1F1EC}', '\\u{1F1F9}\\u{1F1ED}', '\\u{1F1F9}\\u{1F1EF}', '\\u{1F1F9}\\u{1F1F0}', '\\u{1F1F9}\\u{1F1F1}', '\\u{1F1F9}\\u{1F1F2}', '\\u{1F1F9}\\u{1F1F3}', '\\u{1F1F9}\\u{1F1F4}', '\\u{1F1F9}\\u{1F1F7}', '\\u{1F1F9}\\u{1F1F9}', '\\u{1F1F9}\\u{1F1FB}', '\\u{1F1F9}\\u{1F1FC}', '\\u{1F1F9}\\u{1F1FF}', '\\u{1F1FA}\\u{1F1E6}', '\\u{1F1FA}\\u{1F1EC}', '\\u{1F1FA}\\u{1F1F2}', '\\u{1F1FA}\\u{1F1F3}', '\\u{1F1FA}\\u{1F1F8}', '\\u{1F1FA}\\u{1F1FE}', '\\u{1F1FA}\\u{1F1FF}', '\\u{1F1FB}\\u{1F1E6}', '\\u{1F1FB}\\u{1F1E8}', '\\u{1F1FB}\\u{1F1EA}', '\\u{1F1FB}\\u{1F1EC}', '\\u{1F1FB}\\u{1F1EE}', '\\u{1F1FB}\\u{1F1F3}', '\\u{1F1FB}\\u{1F1FA}', '\\u{1F1FC}\\u{1F1EB}', '\\u{1F1FC}\\u{1F1F8}', '\\u{1F1FD}\\u{1F1F0}', '\\u{1F1FE}\\u{1F1EA}', '\\u{1F1FE}\\u{1F1F9}', '\\u{1F1FF}\\u{1F1E6}', '\\u{1F1FF}\\u{1F1F2}', '\\u{1F1FF}\\u{1F1FC}', '\\u{1F202}\\uFE0F', '\\u{1F237}\\uFE0F', '\\u{1F321}\\uFE0F', '\\u{1F324}\\uFE0F', '\\u{1F325}\\uFE0F', '\\u{1F326}\\uFE0F', '\\u{1F327}\\uFE0F', '\\u{1F328}\\uFE0F', '\\u{1F329}\\uFE0F', '\\u{1F32A}\\uFE0F', '\\u{1F32B}\\uFE0F', '\\u{1F32C}\\uFE0F', '\\u{1F336}\\uFE0F', '\\u{1F37D}\\uFE0F', '\\u{1F385}\\u{1F3FB}', '\\u{1F385}\\u{1F3FC}', '\\u{1F385}\\u{1F3FD}', '\\u{1F385}\\u{1F3FE}', '\\u{1F385}\\u{1F3FF}', '\\u{1F396}\\uFE0F', '\\u{1F397}\\uFE0F', '\\u{1F399}\\uFE0F', '\\u{1F39A}\\uFE0F', '\\u{1F39B}\\uFE0F', '\\u{1F39E}\\uFE0F', '\\u{1F39F}\\uFE0F', '\\u{1F3C2}\\u{1F3FB}', '\\u{1F3C2}\\u{1F3FC}', '\\u{1F3C2}\\u{1F3FD}', '\\u{1F3C2}\\u{1F3FE}', '\\u{1F3C2}\\u{1F3FF}', '\\u{1F3C3}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FB}', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FC}', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FD}', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FE}', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FF}', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FB}', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FC}', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FD}', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FE}', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FF}', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3C7}\\u{1F3FB}', '\\u{1F3C7}\\u{1F3FC}', '\\u{1F3C7}\\u{1F3FD}', '\\u{1F3C7}\\u{1F3FE}', '\\u{1F3C7}\\u{1F3FF}', '\\u{1F3CA}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FB}', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FC}', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FD}', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FE}', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FF}', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FB}', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FC}', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FD}', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FE}', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FF}', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FB}', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FC}', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FD}', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FE}', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FF}', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3CD}\\uFE0F', '\\u{1F3CE}\\uFE0F', '\\u{1F3D4}\\uFE0F', '\\u{1F3D5}\\uFE0F', '\\u{1F3D6}\\uFE0F', '\\u{1F3D7}\\uFE0F', '\\u{1F3D8}\\uFE0F', '\\u{1F3D9}\\uFE0F', '\\u{1F3DA}\\uFE0F', '\\u{1F3DB}\\uFE0F', '\\u{1F3DC}\\uFE0F', '\\u{1F3DD}\\uFE0F', '\\u{1F3DE}\\uFE0F', '\\u{1F3DF}\\uFE0F', '\\u{1F3F3}\\uFE0F', '\\u{1F3F3}\\uFE0F\\u200D\\u26A7\\uFE0F', '\\u{1F3F3}\\uFE0F\\u200D\\u{1F308}', '\\u{1F3F4}\\u200D\\u2620\\uFE0F', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0065}\\u{E006E}\\u{E0067}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0073}\\u{E0063}\\u{E0074}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0077}\\u{E006C}\\u{E0073}\\u{E007F}', '\\u{1F3F5}\\uFE0F', '\\u{1F3F7}\\uFE0F', '\\u{1F408}\\u200D\\u2B1B', '\\u{1F415}\\u200D\\u{1F9BA}', '\\u{1F426}\\u200D\\u2B1B', '\\u{1F43B}\\u200D\\u2744\\uFE0F', '\\u{1F43F}\\uFE0F', '\\u{1F441}\\uFE0F', '\\u{1F441}\\uFE0F\\u200D\\u{1F5E8}\\uFE0F', '\\u{1F442}\\u{1F3FB}', '\\u{1F442}\\u{1F3FC}', '\\u{1F442}\\u{1F3FD}', '\\u{1F442}\\u{1F3FE}', '\\u{1F442}\\u{1F3FF}', '\\u{1F443}\\u{1F3FB}', '\\u{1F443}\\u{1F3FC}', '\\u{1F443}\\u{1F3FD}', '\\u{1F443}\\u{1F3FE}', '\\u{1F443}\\u{1F3FF}', '\\u{1F446}\\u{1F3FB}', '\\u{1F446}\\u{1F3FC}', '\\u{1F446}\\u{1F3FD}', '\\u{1F446}\\u{1F3FE}', '\\u{1F446}\\u{1F3FF}', '\\u{1F447}\\u{1F3FB}', '\\u{1F447}\\u{1F3FC}', '\\u{1F447}\\u{1F3FD}', '\\u{1F447}\\u{1F3FE}', '\\u{1F447}\\u{1F3FF}', '\\u{1F448}\\u{1F3FB}', '\\u{1F448}\\u{1F3FC}', '\\u{1F448}\\u{1F3FD}', '\\u{1F448}\\u{1F3FE}', '\\u{1F448}\\u{1F3FF}', '\\u{1F449}\\u{1F3FB}', '\\u{1F449}\\u{1F3FC}', '\\u{1F449}\\u{1F3FD}', '\\u{1F449}\\u{1F3FE}', '\\u{1F449}\\u{1F3FF}', '\\u{1F44A}\\u{1F3FB}', '\\u{1F44A}\\u{1F3FC}', '\\u{1F44A}\\u{1F3FD}', '\\u{1F44A}\\u{1F3FE}', '\\u{1F44A}\\u{1F3FF}', '\\u{1F44B}\\u{1F3FB}', '\\u{1F44B}\\u{1F3FC}', '\\u{1F44B}\\u{1F3FD}', '\\u{1F44B}\\u{1F3FE}', '\\u{1F44B}\\u{1F3FF}', '\\u{1F44C}\\u{1F3FB}', '\\u{1F44C}\\u{1F3FC}', '\\u{1F44C}\\u{1F3FD}', '\\u{1F44C}\\u{1F3FE}', '\\u{1F44C}\\u{1F3FF}', '\\u{1F44D}\\u{1F3FB}', '\\u{1F44D}\\u{1F3FC}', '\\u{1F44D}\\u{1F3FD}', '\\u{1F44D}\\u{1F3FE}', '\\u{1F44D}\\u{1F3FF}', '\\u{1F44E}\\u{1F3FB}', '\\u{1F44E}\\u{1F3FC}', '\\u{1F44E}\\u{1F3FD}', '\\u{1F44E}\\u{1F3FE}', '\\u{1F44E}\\u{1F3FF}', '\\u{1F44F}\\u{1F3FB}', '\\u{1F44F}\\u{1F3FC}', '\\u{1F44F}\\u{1F3FD}', '\\u{1F44F}\\u{1F3FE}', '\\u{1F44F}\\u{1F3FF}', '\\u{1F450}\\u{1F3FB}', '\\u{1F450}\\u{1F3FC}', '\\u{1F450}\\u{1F3FD}', '\\u{1F450}\\u{1F3FE}', '\\u{1F450}\\u{1F3FF}', '\\u{1F466}\\u{1F3FB}', '\\u{1F466}\\u{1F3FC}', '\\u{1F466}\\u{1F3FD}', '\\u{1F466}\\u{1F3FE}', '\\u{1F466}\\u{1F3FF}', '\\u{1F467}\\u{1F3FB}', '\\u{1F467}\\u{1F3FC}', '\\u{1F467}\\u{1F3FD}', '\\u{1F467}\\u{1F3FE}', '\\u{1F467}\\u{1F3FF}', '\\u{1F468}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u{1F33E}', '\\u{1F468}\\u200D\\u{1F373}', '\\u{1F468}\\u200D\\u{1F37C}', '\\u{1F468}\\u200D\\u{1F393}', '\\u{1F468}\\u200D\\u{1F3A4}', '\\u{1F468}\\u200D\\u{1F3A8}', '\\u{1F468}\\u200D\\u{1F3EB}', '\\u{1F468}\\u200D\\u{1F3ED}', '\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F4BB}', '\\u{1F468}\\u200D\\u{1F4BC}', '\\u{1F468}\\u200D\\u{1F527}', '\\u{1F468}\\u200D\\u{1F52C}', '\\u{1F468}\\u200D\\u{1F680}', '\\u{1F468}\\u200D\\u{1F692}', '\\u{1F468}\\u200D\\u{1F9AF}', '\\u{1F468}\\u200D\\u{1F9B0}', '\\u{1F468}\\u200D\\u{1F9B1}', '\\u{1F468}\\u200D\\u{1F9B2}', '\\u{1F468}\\u200D\\u{1F9B3}', '\\u{1F468}\\u200D\\u{1F9BC}', '\\u{1F468}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F469}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u{1F33E}', '\\u{1F469}\\u200D\\u{1F373}', '\\u{1F469}\\u200D\\u{1F37C}', '\\u{1F469}\\u200D\\u{1F393}', '\\u{1F469}\\u200D\\u{1F3A4}', '\\u{1F469}\\u200D\\u{1F3A8}', '\\u{1F469}\\u200D\\u{1F3EB}', '\\u{1F469}\\u200D\\u{1F3ED}', '\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F4BB}', '\\u{1F469}\\u200D\\u{1F4BC}', '\\u{1F469}\\u200D\\u{1F527}', '\\u{1F469}\\u200D\\u{1F52C}', '\\u{1F469}\\u200D\\u{1F680}', '\\u{1F469}\\u200D\\u{1F692}', '\\u{1F469}\\u200D\\u{1F9AF}', '\\u{1F469}\\u200D\\u{1F9B0}', '\\u{1F469}\\u200D\\u{1F9B1}', '\\u{1F469}\\u200D\\u{1F9B2}', '\\u{1F469}\\u200D\\u{1F9B3}', '\\u{1F469}\\u200D\\u{1F9BC}', '\\u{1F469}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F46B}\\u{1F3FB}', '\\u{1F46B}\\u{1F3FC}', '\\u{1F46B}\\u{1F3FD}', '\\u{1F46B}\\u{1F3FE}', '\\u{1F46B}\\u{1F3FF}', '\\u{1F46C}\\u{1F3FB}', '\\u{1F46C}\\u{1F3FC}', '\\u{1F46C}\\u{1F3FD}', '\\u{1F46C}\\u{1F3FE}', '\\u{1F46C}\\u{1F3FF}', '\\u{1F46D}\\u{1F3FB}', '\\u{1F46D}\\u{1F3FC}', '\\u{1F46D}\\u{1F3FD}', '\\u{1F46D}\\u{1F3FE}', '\\u{1F46D}\\u{1F3FF}', '\\u{1F46E}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FB}', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FC}', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FD}', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FE}', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FF}', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F46F}\\u200D\\u2640\\uFE0F', '\\u{1F46F}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FB}', '\\u{1F470}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FC}', '\\u{1F470}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FD}', '\\u{1F470}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FE}', '\\u{1F470}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FF}', '\\u{1F470}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FB}', '\\u{1F471}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FC}', '\\u{1F471}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FD}', '\\u{1F471}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FE}', '\\u{1F471}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FF}', '\\u{1F471}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F472}\\u{1F3FB}', '\\u{1F472}\\u{1F3FC}', '\\u{1F472}\\u{1F3FD}', '\\u{1F472}\\u{1F3FE}', '\\u{1F472}\\u{1F3FF}', '\\u{1F473}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FB}', '\\u{1F473}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FC}', '\\u{1F473}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FD}', '\\u{1F473}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FE}', '\\u{1F473}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FF}', '\\u{1F473}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F474}\\u{1F3FB}', '\\u{1F474}\\u{1F3FC}', '\\u{1F474}\\u{1F3FD}', '\\u{1F474}\\u{1F3FE}', '\\u{1F474}\\u{1F3FF}', '\\u{1F475}\\u{1F3FB}', '\\u{1F475}\\u{1F3FC}', '\\u{1F475}\\u{1F3FD}', '\\u{1F475}\\u{1F3FE}', '\\u{1F475}\\u{1F3FF}', '\\u{1F476}\\u{1F3FB}', '\\u{1F476}\\u{1F3FC}', '\\u{1F476}\\u{1F3FD}', '\\u{1F476}\\u{1F3FE}', '\\u{1F476}\\u{1F3FF}', '\\u{1F477}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FB}', '\\u{1F477}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FC}', '\\u{1F477}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FD}', '\\u{1F477}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FE}', '\\u{1F477}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FF}', '\\u{1F477}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F478}\\u{1F3FB}', '\\u{1F478}\\u{1F3FC}', '\\u{1F478}\\u{1F3FD}', '\\u{1F478}\\u{1F3FE}', '\\u{1F478}\\u{1F3FF}', '\\u{1F47C}\\u{1F3FB}', '\\u{1F47C}\\u{1F3FC}', '\\u{1F47C}\\u{1F3FD}', '\\u{1F47C}\\u{1F3FE}', '\\u{1F47C}\\u{1F3FF}', '\\u{1F481}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FB}', '\\u{1F481}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FC}', '\\u{1F481}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FD}', '\\u{1F481}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FE}', '\\u{1F481}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FF}', '\\u{1F481}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FB}', '\\u{1F482}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FC}', '\\u{1F482}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FD}', '\\u{1F482}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FE}', '\\u{1F482}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FF}', '\\u{1F482}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F483}\\u{1F3FB}', '\\u{1F483}\\u{1F3FC}', '\\u{1F483}\\u{1F3FD}', '\\u{1F483}\\u{1F3FE}', '\\u{1F483}\\u{1F3FF}', '\\u{1F485}\\u{1F3FB}', '\\u{1F485}\\u{1F3FC}', '\\u{1F485}\\u{1F3FD}', '\\u{1F485}\\u{1F3FE}', '\\u{1F485}\\u{1F3FF}', '\\u{1F486}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FB}', '\\u{1F486}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FC}', '\\u{1F486}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FD}', '\\u{1F486}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FE}', '\\u{1F486}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FF}', '\\u{1F486}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FB}', '\\u{1F487}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FC}', '\\u{1F487}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FD}', '\\u{1F487}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FE}', '\\u{1F487}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FF}', '\\u{1F487}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F48F}\\u{1F3FB}', '\\u{1F48F}\\u{1F3FC}', '\\u{1F48F}\\u{1F3FD}', '\\u{1F48F}\\u{1F3FE}', '\\u{1F48F}\\u{1F3FF}', '\\u{1F491}\\u{1F3FB}', '\\u{1F491}\\u{1F3FC}', '\\u{1F491}\\u{1F3FD}', '\\u{1F491}\\u{1F3FE}', '\\u{1F491}\\u{1F3FF}', '\\u{1F4AA}\\u{1F3FB}', '\\u{1F4AA}\\u{1F3FC}', '\\u{1F4AA}\\u{1F3FD}', '\\u{1F4AA}\\u{1F3FE}', '\\u{1F4AA}\\u{1F3FF}', '\\u{1F4FD}\\uFE0F', '\\u{1F549}\\uFE0F', '\\u{1F54A}\\uFE0F', '\\u{1F56F}\\uFE0F', '\\u{1F570}\\uFE0F', '\\u{1F573}\\uFE0F', '\\u{1F574}\\u{1F3FB}', '\\u{1F574}\\u{1F3FC}', '\\u{1F574}\\u{1F3FD}', '\\u{1F574}\\u{1F3FE}', '\\u{1F574}\\u{1F3FF}', '\\u{1F574}\\uFE0F', '\\u{1F575}\\u{1F3FB}', '\\u{1F575}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FC}', '\\u{1F575}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FD}', '\\u{1F575}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FE}', '\\u{1F575}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FF}', '\\u{1F575}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F576}\\uFE0F', '\\u{1F577}\\uFE0F', '\\u{1F578}\\uFE0F', '\\u{1F579}\\uFE0F', '\\u{1F57A}\\u{1F3FB}', '\\u{1F57A}\\u{1F3FC}', '\\u{1F57A}\\u{1F3FD}', '\\u{1F57A}\\u{1F3FE}', '\\u{1F57A}\\u{1F3FF}', '\\u{1F587}\\uFE0F', '\\u{1F58A}\\uFE0F', '\\u{1F58B}\\uFE0F', '\\u{1F58C}\\uFE0F', '\\u{1F58D}\\uFE0F', '\\u{1F590}\\u{1F3FB}', '\\u{1F590}\\u{1F3FC}', '\\u{1F590}\\u{1F3FD}', '\\u{1F590}\\u{1F3FE}', '\\u{1F590}\\u{1F3FF}', '\\u{1F590}\\uFE0F', '\\u{1F595}\\u{1F3FB}', '\\u{1F595}\\u{1F3FC}', '\\u{1F595}\\u{1F3FD}', '\\u{1F595}\\u{1F3FE}', '\\u{1F595}\\u{1F3FF}', '\\u{1F596}\\u{1F3FB}', '\\u{1F596}\\u{1F3FC}', '\\u{1F596}\\u{1F3FD}', '\\u{1F596}\\u{1F3FE}', '\\u{1F596}\\u{1F3FF}', '\\u{1F5A5}\\uFE0F', '\\u{1F5A8}\\uFE0F', '\\u{1F5B1}\\uFE0F', '\\u{1F5B2}\\uFE0F', '\\u{1F5BC}\\uFE0F', '\\u{1F5C2}\\uFE0F', '\\u{1F5C3}\\uFE0F', '\\u{1F5C4}\\uFE0F', '\\u{1F5D1}\\uFE0F', '\\u{1F5D2}\\uFE0F', '\\u{1F5D3}\\uFE0F', '\\u{1F5DC}\\uFE0F', '\\u{1F5DD}\\uFE0F', '\\u{1F5DE}\\uFE0F', '\\u{1F5E1}\\uFE0F', '\\u{1F5E3}\\uFE0F', '\\u{1F5E8}\\uFE0F', '\\u{1F5EF}\\uFE0F', '\\u{1F5F3}\\uFE0F', '\\u{1F5FA}\\uFE0F', '\\u{1F62E}\\u200D\\u{1F4A8}', '\\u{1F635}\\u200D\\u{1F4AB}', '\\u{1F636}\\u200D\\u{1F32B}\\uFE0F', '\\u{1F645}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FB}', '\\u{1F645}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FC}', '\\u{1F645}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FD}', '\\u{1F645}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FE}', '\\u{1F645}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FF}', '\\u{1F645}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FB}', '\\u{1F646}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FC}', '\\u{1F646}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FD}', '\\u{1F646}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FE}', '\\u{1F646}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FF}', '\\u{1F646}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FB}', '\\u{1F647}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FC}', '\\u{1F647}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FD}', '\\u{1F647}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FE}', '\\u{1F647}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FF}', '\\u{1F647}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FB}', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FC}', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FD}', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FE}', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FF}', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64C}\\u{1F3FB}', '\\u{1F64C}\\u{1F3FC}', '\\u{1F64C}\\u{1F3FD}', '\\u{1F64C}\\u{1F3FE}', '\\u{1F64C}\\u{1F3FF}', '\\u{1F64D}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FB}', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FC}', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FD}', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FE}', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FF}', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FB}', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FC}', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FD}', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FE}', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FF}', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64F}\\u{1F3FB}', '\\u{1F64F}\\u{1F3FC}', '\\u{1F64F}\\u{1F3FD}', '\\u{1F64F}\\u{1F3FE}', '\\u{1F64F}\\u{1F3FF}', '\\u{1F6A3}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FB}', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FC}', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FD}', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FE}', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FF}', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FB}', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FC}', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FD}', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FE}', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FF}', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FB}', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FC}', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FD}', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FE}', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FF}', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FB}', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FC}', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FD}', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FE}', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FF}', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6C0}\\u{1F3FB}', '\\u{1F6C0}\\u{1F3FC}', '\\u{1F6C0}\\u{1F3FD}', '\\u{1F6C0}\\u{1F3FE}', '\\u{1F6C0}\\u{1F3FF}', '\\u{1F6CB}\\uFE0F', '\\u{1F6CC}\\u{1F3FB}', '\\u{1F6CC}\\u{1F3FC}', '\\u{1F6CC}\\u{1F3FD}', '\\u{1F6CC}\\u{1F3FE}', '\\u{1F6CC}\\u{1F3FF}', '\\u{1F6CD}\\uFE0F', '\\u{1F6CE}\\uFE0F', '\\u{1F6CF}\\uFE0F', '\\u{1F6E0}\\uFE0F', '\\u{1F6E1}\\uFE0F', '\\u{1F6E2}\\uFE0F', '\\u{1F6E3}\\uFE0F', '\\u{1F6E4}\\uFE0F', '\\u{1F6E5}\\uFE0F', '\\u{1F6E9}\\uFE0F', '\\u{1F6F0}\\uFE0F', '\\u{1F6F3}\\uFE0F', '\\u{1F90C}\\u{1F3FB}', '\\u{1F90C}\\u{1F3FC}', '\\u{1F90C}\\u{1F3FD}', '\\u{1F90C}\\u{1F3FE}', '\\u{1F90C}\\u{1F3FF}', '\\u{1F90F}\\u{1F3FB}', '\\u{1F90F}\\u{1F3FC}', '\\u{1F90F}\\u{1F3FD}', '\\u{1F90F}\\u{1F3FE}', '\\u{1F90F}\\u{1F3FF}', '\\u{1F918}\\u{1F3FB}', '\\u{1F918}\\u{1F3FC}', '\\u{1F918}\\u{1F3FD}', '\\u{1F918}\\u{1F3FE}', '\\u{1F918}\\u{1F3FF}', '\\u{1F919}\\u{1F3FB}', '\\u{1F919}\\u{1F3FC}', '\\u{1F919}\\u{1F3FD}', '\\u{1F919}\\u{1F3FE}', '\\u{1F919}\\u{1F3FF}', '\\u{1F91A}\\u{1F3FB}', '\\u{1F91A}\\u{1F3FC}', '\\u{1F91A}\\u{1F3FD}', '\\u{1F91A}\\u{1F3FE}', '\\u{1F91A}\\u{1F3FF}', '\\u{1F91B}\\u{1F3FB}', '\\u{1F91B}\\u{1F3FC}', '\\u{1F91B}\\u{1F3FD}', '\\u{1F91B}\\u{1F3FE}', '\\u{1F91B}\\u{1F3FF}', '\\u{1F91C}\\u{1F3FB}', '\\u{1F91C}\\u{1F3FC}', '\\u{1F91C}\\u{1F3FD}', '\\u{1F91C}\\u{1F3FE}', '\\u{1F91C}\\u{1F3FF}', '\\u{1F91D}\\u{1F3FB}', '\\u{1F91D}\\u{1F3FC}', '\\u{1F91D}\\u{1F3FD}', '\\u{1F91D}\\u{1F3FE}', '\\u{1F91D}\\u{1F3FF}', '\\u{1F91E}\\u{1F3FB}', '\\u{1F91E}\\u{1F3FC}', '\\u{1F91E}\\u{1F3FD}', '\\u{1F91E}\\u{1F3FE}', '\\u{1F91E}\\u{1F3FF}', '\\u{1F91F}\\u{1F3FB}', '\\u{1F91F}\\u{1F3FC}', '\\u{1F91F}\\u{1F3FD}', '\\u{1F91F}\\u{1F3FE}', '\\u{1F91F}\\u{1F3FF}', '\\u{1F926}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FB}', '\\u{1F926}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FC}', '\\u{1F926}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FD}', '\\u{1F926}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FE}', '\\u{1F926}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FF}', '\\u{1F926}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F930}\\u{1F3FB}', '\\u{1F930}\\u{1F3FC}', '\\u{1F930}\\u{1F3FD}', '\\u{1F930}\\u{1F3FE}', '\\u{1F930}\\u{1F3FF}', '\\u{1F931}\\u{1F3FB}', '\\u{1F931}\\u{1F3FC}', '\\u{1F931}\\u{1F3FD}', '\\u{1F931}\\u{1F3FE}', '\\u{1F931}\\u{1F3FF}', '\\u{1F932}\\u{1F3FB}', '\\u{1F932}\\u{1F3FC}', '\\u{1F932}\\u{1F3FD}', '\\u{1F932}\\u{1F3FE}', '\\u{1F932}\\u{1F3FF}', '\\u{1F933}\\u{1F3FB}', '\\u{1F933}\\u{1F3FC}', '\\u{1F933}\\u{1F3FD}', '\\u{1F933}\\u{1F3FE}', '\\u{1F933}\\u{1F3FF}', '\\u{1F934}\\u{1F3FB}', '\\u{1F934}\\u{1F3FC}', '\\u{1F934}\\u{1F3FD}', '\\u{1F934}\\u{1F3FE}', '\\u{1F934}\\u{1F3FF}', '\\u{1F935}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FB}', '\\u{1F935}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FC}', '\\u{1F935}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FD}', '\\u{1F935}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FE}', '\\u{1F935}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FF}', '\\u{1F935}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F936}\\u{1F3FB}', '\\u{1F936}\\u{1F3FC}', '\\u{1F936}\\u{1F3FD}', '\\u{1F936}\\u{1F3FE}', '\\u{1F936}\\u{1F3FF}', '\\u{1F937}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FB}', '\\u{1F937}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FC}', '\\u{1F937}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FD}', '\\u{1F937}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FE}', '\\u{1F937}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FF}', '\\u{1F937}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FB}', '\\u{1F938}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FC}', '\\u{1F938}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FD}', '\\u{1F938}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FE}', '\\u{1F938}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FF}', '\\u{1F938}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FB}', '\\u{1F939}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FC}', '\\u{1F939}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FD}', '\\u{1F939}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FE}', '\\u{1F939}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FF}', '\\u{1F939}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93C}\\u200D\\u2640\\uFE0F', '\\u{1F93C}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FB}', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FC}', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FD}', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FE}', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FF}', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FB}', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FC}', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FD}', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FE}', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FF}', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F977}\\u{1F3FB}', '\\u{1F977}\\u{1F3FC}', '\\u{1F977}\\u{1F3FD}', '\\u{1F977}\\u{1F3FE}', '\\u{1F977}\\u{1F3FF}', '\\u{1F9B5}\\u{1F3FB}', '\\u{1F9B5}\\u{1F3FC}', '\\u{1F9B5}\\u{1F3FD}', '\\u{1F9B5}\\u{1F3FE}', '\\u{1F9B5}\\u{1F3FF}', '\\u{1F9B6}\\u{1F3FB}', '\\u{1F9B6}\\u{1F3FC}', '\\u{1F9B6}\\u{1F3FD}', '\\u{1F9B6}\\u{1F3FE}', '\\u{1F9B6}\\u{1F3FF}', '\\u{1F9B8}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FB}', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FC}', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FD}', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FE}', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FF}', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FB}', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FC}', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FD}', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FE}', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FF}', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9BB}\\u{1F3FB}', '\\u{1F9BB}\\u{1F3FC}', '\\u{1F9BB}\\u{1F3FD}', '\\u{1F9BB}\\u{1F3FE}', '\\u{1F9BB}\\u{1F3FF}', '\\u{1F9CD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FB}', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FC}', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FD}', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FE}', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FF}', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FB}', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FC}', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FD}', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FE}', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FF}', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FB}', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FC}', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FD}', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FE}', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FF}', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D1}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u200D\\u{1F373}', '\\u{1F9D1}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u200D\\u{1F384}', '\\u{1F9D1}\\u200D\\u{1F393}', '\\u{1F9D1}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u200D\\u{1F527}', '\\u{1F9D1}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u200D\\u{1F680}', '\\u{1F9D1}\\u200D\\u{1F692}', '\\u{1F9D1}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}', '\\u{1F9D1}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F9D2}\\u{1F3FB}', '\\u{1F9D2}\\u{1F3FC}', '\\u{1F9D2}\\u{1F3FD}', '\\u{1F9D2}\\u{1F3FE}', '\\u{1F9D2}\\u{1F3FF}', '\\u{1F9D3}\\u{1F3FB}', '\\u{1F9D3}\\u{1F3FC}', '\\u{1F9D3}\\u{1F3FD}', '\\u{1F9D3}\\u{1F3FE}', '\\u{1F9D3}\\u{1F3FF}', '\\u{1F9D4}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FB}', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FC}', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FD}', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FE}', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FF}', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D5}\\u{1F3FB}', '\\u{1F9D5}\\u{1F3FC}', '\\u{1F9D5}\\u{1F3FD}', '\\u{1F9D5}\\u{1F3FE}', '\\u{1F9D5}\\u{1F3FF}', '\\u{1F9D6}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FB}', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FC}', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FD}', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FE}', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FF}', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FB}', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FC}', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FD}', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FE}', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FF}', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FB}', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FC}', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FD}', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FE}', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FF}', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FB}', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FC}', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FD}', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FE}', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FF}', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FB}', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FC}', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FD}', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FE}', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FF}', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FB}', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FC}', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FD}', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FE}', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FF}', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FB}', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FC}', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FD}', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FE}', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FF}', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FB}', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FC}', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FD}', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FE}', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FF}', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DE}\\u200D\\u2640\\uFE0F', '\\u{1F9DE}\\u200D\\u2642\\uFE0F', '\\u{1F9DF}\\u200D\\u2640\\uFE0F', '\\u{1F9DF}\\u200D\\u2642\\uFE0F', '\\u{1FAC3}\\u{1F3FB}', '\\u{1FAC3}\\u{1F3FC}', '\\u{1FAC3}\\u{1F3FD}', '\\u{1FAC3}\\u{1F3FE}', '\\u{1FAC3}\\u{1F3FF}', '\\u{1FAC4}\\u{1F3FB}', '\\u{1FAC4}\\u{1F3FC}', '\\u{1FAC4}\\u{1F3FD}', '\\u{1FAC4}\\u{1F3FE}', '\\u{1FAC4}\\u{1F3FF}', '\\u{1FAC5}\\u{1F3FB}', '\\u{1FAC5}\\u{1F3FC}', '\\u{1FAC5}\\u{1F3FD}', '\\u{1FAC5}\\u{1F3FE}', '\\u{1FAC5}\\u{1F3FF}', '\\u{1FAF0}\\u{1F3FB}', '\\u{1FAF0}\\u{1F3FC}', '\\u{1FAF0}\\u{1F3FD}', '\\u{1FAF0}\\u{1F3FE}', '\\u{1FAF0}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF3}\\u{1F3FB}', '\\u{1FAF3}\\u{1F3FC}', '\\u{1FAF3}\\u{1F3FD}', '\\u{1FAF3}\\u{1F3FE}', '\\u{1FAF3}\\u{1F3FF}', '\\u{1FAF4}\\u{1F3FB}', '\\u{1FAF4}\\u{1F3FC}', '\\u{1FAF4}\\u{1F3FD}', '\\u{1FAF4}\\u{1F3FE}', '\\u{1FAF4}\\u{1F3FF}', '\\u{1FAF5}\\u{1F3FB}', '\\u{1FAF5}\\u{1F3FC}', '\\u{1FAF5}\\u{1F3FD}', '\\u{1FAF5}\\u{1F3FE}', '\\u{1FAF5}\\u{1F3FF}', '\\u{1FAF6}\\u{1F3FB}', '\\u{1FAF6}\\u{1F3FC}', '\\u{1FAF6}\\u{1F3FD}', '\\u{1FAF6}\\u{1F3FE}', '\\u{1FAF6}\\u{1F3FF}', '\\u{1FAF7}\\u{1F3FB}', '\\u{1FAF7}\\u{1F3FC}', '\\u{1FAF7}\\u{1F3FD}', '\\u{1FAF7}\\u{1F3FE}', '\\u{1FAF7}\\u{1F3FF}', '\\u{1FAF8}\\u{1F3FB}', '\\u{1FAF8}\\u{1F3FC}', '\\u{1FAF8}\\u{1F3FD}', '\\u{1FAF8}\\u{1F3FE}', '\\u{1FAF8}\\u{1F3FF}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F1E6}\\u{1F1E8}', '\\u{1F1E6}\\u{1F1E9}', '\\u{1F1E6}\\u{1F1EA}', '\\u{1F1E6}\\u{1F1EB}', '\\u{1F1E6}\\u{1F1EC}', '\\u{1F1E6}\\u{1F1EE}', '\\u{1F1E6}\\u{1F1F1}', '\\u{1F1E6}\\u{1F1F2}', '\\u{1F1E6}\\u{1F1F4}', '\\u{1F1E6}\\u{1F1F6}', '\\u{1F1E6}\\u{1F1F7}', '\\u{1F1E6}\\u{1F1F8}', '\\u{1F1E6}\\u{1F1F9}', '\\u{1F1E6}\\u{1F1FA}', '\\u{1F1E6}\\u{1F1FC}', '\\u{1F1E6}\\u{1F1FD}', '\\u{1F1E6}\\u{1F1FF}', '\\u{1F1E7}\\u{1F1E6}', '\\u{1F1E7}\\u{1F1E7}', '\\u{1F1E7}\\u{1F1E9}', '\\u{1F1E7}\\u{1F1EA}', '\\u{1F1E7}\\u{1F1EB}', '\\u{1F1E7}\\u{1F1EC}', '\\u{1F1E7}\\u{1F1ED}', '\\u{1F1E7}\\u{1F1EE}', '\\u{1F1E7}\\u{1F1EF}', '\\u{1F1E7}\\u{1F1F1}', '\\u{1F1E7}\\u{1F1F2}', '\\u{1F1E7}\\u{1F1F3}', '\\u{1F1E7}\\u{1F1F4}', '\\u{1F1E7}\\u{1F1F6}', '\\u{1F1E7}\\u{1F1F7}', '\\u{1F1E7}\\u{1F1F8}', '\\u{1F1E7}\\u{1F1F9}', '\\u{1F1E7}\\u{1F1FB}', '\\u{1F1E7}\\u{1F1FC}', '\\u{1F1E7}\\u{1F1FE}', '\\u{1F1E7}\\u{1F1FF}', '\\u{1F1E8}\\u{1F1E6}', '\\u{1F1E8}\\u{1F1E8}', '\\u{1F1E8}\\u{1F1E9}', '\\u{1F1E8}\\u{1F1EB}', '\\u{1F1E8}\\u{1F1EC}', '\\u{1F1E8}\\u{1F1ED}', '\\u{1F1E8}\\u{1F1EE}', '\\u{1F1E8}\\u{1F1F0}', '\\u{1F1E8}\\u{1F1F1}', '\\u{1F1E8}\\u{1F1F2}', '\\u{1F1E8}\\u{1F1F3}', '\\u{1F1E8}\\u{1F1F4}', '\\u{1F1E8}\\u{1F1F5}', '\\u{1F1E8}\\u{1F1F7}', '\\u{1F1E8}\\u{1F1FA}', '\\u{1F1E8}\\u{1F1FB}', '\\u{1F1E8}\\u{1F1FC}', '\\u{1F1E8}\\u{1F1FD}', '\\u{1F1E8}\\u{1F1FE}', '\\u{1F1E8}\\u{1F1FF}', '\\u{1F1E9}\\u{1F1EA}', '\\u{1F1E9}\\u{1F1EC}', '\\u{1F1E9}\\u{1F1EF}', '\\u{1F1E9}\\u{1F1F0}', '\\u{1F1E9}\\u{1F1F2}', '\\u{1F1E9}\\u{1F1F4}', '\\u{1F1E9}\\u{1F1FF}', '\\u{1F1EA}\\u{1F1E6}', '\\u{1F1EA}\\u{1F1E8}', '\\u{1F1EA}\\u{1F1EA}', '\\u{1F1EA}\\u{1F1EC}', '\\u{1F1EA}\\u{1F1ED}', '\\u{1F1EA}\\u{1F1F7}', '\\u{1F1EA}\\u{1F1F8}', '\\u{1F1EA}\\u{1F1F9}', '\\u{1F1EA}\\u{1F1FA}', '\\u{1F1EB}\\u{1F1EE}', '\\u{1F1EB}\\u{1F1EF}', '\\u{1F1EB}\\u{1F1F0}', '\\u{1F1EB}\\u{1F1F2}', '\\u{1F1EB}\\u{1F1F4}', '\\u{1F1EB}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1E6}', '\\u{1F1EC}\\u{1F1E7}', '\\u{1F1EC}\\u{1F1E9}', '\\u{1F1EC}\\u{1F1EA}', '\\u{1F1EC}\\u{1F1EB}', '\\u{1F1EC}\\u{1F1EC}', '\\u{1F1EC}\\u{1F1ED}', '\\u{1F1EC}\\u{1F1EE}', '\\u{1F1EC}\\u{1F1F1}', '\\u{1F1EC}\\u{1F1F2}', '\\u{1F1EC}\\u{1F1F3}', '\\u{1F1EC}\\u{1F1F5}', '\\u{1F1EC}\\u{1F1F6}', '\\u{1F1EC}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1F8}', '\\u{1F1EC}\\u{1F1F9}', '\\u{1F1EC}\\u{1F1FA}', '\\u{1F1EC}\\u{1F1FC}', '\\u{1F1EC}\\u{1F1FE}', '\\u{1F1ED}\\u{1F1F0}', '\\u{1F1ED}\\u{1F1F2}', '\\u{1F1ED}\\u{1F1F3}', '\\u{1F1ED}\\u{1F1F7}', '\\u{1F1ED}\\u{1F1F9}', '\\u{1F1ED}\\u{1F1FA}', '\\u{1F1EE}\\u{1F1E8}', '\\u{1F1EE}\\u{1F1E9}', '\\u{1F1EE}\\u{1F1EA}', '\\u{1F1EE}\\u{1F1F1}', '\\u{1F1EE}\\u{1F1F2}', '\\u{1F1EE}\\u{1F1F3}', '\\u{1F1EE}\\u{1F1F4}', '\\u{1F1EE}\\u{1F1F6}', '\\u{1F1EE}\\u{1F1F7}', '\\u{1F1EE}\\u{1F1F8}', '\\u{1F1EE}\\u{1F1F9}', '\\u{1F1EF}\\u{1F1EA}', '\\u{1F1EF}\\u{1F1F2}', '\\u{1F1EF}\\u{1F1F4}', '\\u{1F1EF}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1EA}', '\\u{1F1F0}\\u{1F1EC}', '\\u{1F1F0}\\u{1F1ED}', '\\u{1F1F0}\\u{1F1EE}', '\\u{1F1F0}\\u{1F1F2}', '\\u{1F1F0}\\u{1F1F3}', '\\u{1F1F0}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1F7}', '\\u{1F1F0}\\u{1F1FC}', '\\u{1F1F0}\\u{1F1FE}', '\\u{1F1F0}\\u{1F1FF}', '\\u{1F1F1}\\u{1F1E6}', '\\u{1F1F1}\\u{1F1E7}', '\\u{1F1F1}\\u{1F1E8}', '\\u{1F1F1}\\u{1F1EE}', '\\u{1F1F1}\\u{1F1F0}', '\\u{1F1F1}\\u{1F1F7}', '\\u{1F1F1}\\u{1F1F8}', '\\u{1F1F1}\\u{1F1F9}', '\\u{1F1F1}\\u{1F1FA}', '\\u{1F1F1}\\u{1F1FB}', '\\u{1F1F1}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1E6}', '\\u{1F1F2}\\u{1F1E8}', '\\u{1F1F2}\\u{1F1E9}', '\\u{1F1F2}\\u{1F1EA}', '\\u{1F1F2}\\u{1F1EB}', '\\u{1F1F2}\\u{1F1EC}', '\\u{1F1F2}\\u{1F1ED}', '\\u{1F1F2}\\u{1F1F0}', '\\u{1F1F2}\\u{1F1F1}', '\\u{1F1F2}\\u{1F1F2}', '\\u{1F1F2}\\u{1F1F3}', '\\u{1F1F2}\\u{1F1F4}', '\\u{1F1F2}\\u{1F1F5}', '\\u{1F1F2}\\u{1F1F6}', '\\u{1F1F2}\\u{1F1F7}', '\\u{1F1F2}\\u{1F1F8}', '\\u{1F1F2}\\u{1F1F9}', '\\u{1F1F2}\\u{1F1FA}', '\\u{1F1F2}\\u{1F1FB}', '\\u{1F1F2}\\u{1F1FC}', '\\u{1F1F2}\\u{1F1FD}', '\\u{1F1F2}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1FF}', '\\u{1F1F3}\\u{1F1E6}', '\\u{1F1F3}\\u{1F1E8}', '\\u{1F1F3}\\u{1F1EA}', '\\u{1F1F3}\\u{1F1EB}', '\\u{1F1F3}\\u{1F1EC}', '\\u{1F1F3}\\u{1F1EE}', '\\u{1F1F3}\\u{1F1F1}', '\\u{1F1F3}\\u{1F1F4}', '\\u{1F1F3}\\u{1F1F5}', '\\u{1F1F3}\\u{1F1F7}', '\\u{1F1F3}\\u{1F1FA}', '\\u{1F1F3}\\u{1F1FF}', '\\u{1F1F4}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1E6}', '\\u{1F1F5}\\u{1F1EA}', '\\u{1F1F5}\\u{1F1EB}', '\\u{1F1F5}\\u{1F1EC}', '\\u{1F1F5}\\u{1F1ED}', '\\u{1F1F5}\\u{1F1F0}', '\\u{1F1F5}\\u{1F1F1}', '\\u{1F1F5}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1F3}', '\\u{1F1F5}\\u{1F1F7}', '\\u{1F1F5}\\u{1F1F8}', '\\u{1F1F5}\\u{1F1F9}', '\\u{1F1F5}\\u{1F1FC}', '\\u{1F1F5}\\u{1F1FE}', '\\u{1F1F6}\\u{1F1E6}', '\\u{1F1F7}\\u{1F1EA}', '\\u{1F1F7}\\u{1F1F4}', '\\u{1F1F7}\\u{1F1F8}', '\\u{1F1F7}\\u{1F1FA}', '\\u{1F1F7}\\u{1F1FC}', '\\u{1F1F8}\\u{1F1E6}', '\\u{1F1F8}\\u{1F1E7}', '\\u{1F1F8}\\u{1F1E8}', '\\u{1F1F8}\\u{1F1E9}', '\\u{1F1F8}\\u{1F1EA}', '\\u{1F1F8}\\u{1F1EC}', '\\u{1F1F8}\\u{1F1ED}', '\\u{1F1F8}\\u{1F1EE}', '\\u{1F1F8}\\u{1F1EF}', '\\u{1F1F8}\\u{1F1F0}', '\\u{1F1F8}\\u{1F1F1}', '\\u{1F1F8}\\u{1F1F2}', '\\u{1F1F8}\\u{1F1F3}', '\\u{1F1F8}\\u{1F1F4}', '\\u{1F1F8}\\u{1F1F7}', '\\u{1F1F8}\\u{1F1F8}', '\\u{1F1F8}\\u{1F1F9}', '\\u{1F1F8}\\u{1F1FB}', '\\u{1F1F8}\\u{1F1FD}', '\\u{1F1F8}\\u{1F1FE}', '\\u{1F1F8}\\u{1F1FF}', '\\u{1F1F9}\\u{1F1E6}', '\\u{1F1F9}\\u{1F1E8}', '\\u{1F1F9}\\u{1F1E9}', '\\u{1F1F9}\\u{1F1EB}', '\\u{1F1F9}\\u{1F1EC}', '\\u{1F1F9}\\u{1F1ED}', '\\u{1F1F9}\\u{1F1EF}', '\\u{1F1F9}\\u{1F1F0}', '\\u{1F1F9}\\u{1F1F1}', '\\u{1F1F9}\\u{1F1F2}', '\\u{1F1F9}\\u{1F1F3}', '\\u{1F1F9}\\u{1F1F4}', '\\u{1F1F9}\\u{1F1F7}', '\\u{1F1F9}\\u{1F1F9}', '\\u{1F1F9}\\u{1F1FB}', '\\u{1F1F9}\\u{1F1FC}', '\\u{1F1F9}\\u{1F1FF}', '\\u{1F1FA}\\u{1F1E6}', '\\u{1F1FA}\\u{1F1EC}', '\\u{1F1FA}\\u{1F1F2}', '\\u{1F1FA}\\u{1F1F3}', '\\u{1F1FA}\\u{1F1F8}', '\\u{1F1FA}\\u{1F1FE}', '\\u{1F1FA}\\u{1F1FF}', '\\u{1F1FB}\\u{1F1E6}', '\\u{1F1FB}\\u{1F1E8}', '\\u{1F1FB}\\u{1F1EA}', '\\u{1F1FB}\\u{1F1EC}', '\\u{1F1FB}\\u{1F1EE}', '\\u{1F1FB}\\u{1F1F3}', '\\u{1F1FB}\\u{1F1FA}', '\\u{1F1FC}\\u{1F1EB}', '\\u{1F1FC}\\u{1F1F8}', '\\u{1F1FD}\\u{1F1F0}', '\\u{1F1FE}\\u{1F1EA}', '\\u{1F1FE}\\u{1F1F9}', '\\u{1F1FF}\\u{1F1E6}', '\\u{1F1FF}\\u{1F1F2}', '\\u{1F1FF}\\u{1F1FC}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u261D\\u{1F3FB}', '\\u261D\\u{1F3FC}', '\\u261D\\u{1F3FD}', '\\u261D\\u{1F3FE}', '\\u261D\\u{1F3FF}', '\\u26F9\\u{1F3FB}', '\\u26F9\\u{1F3FC}', '\\u26F9\\u{1F3FD}', '\\u26F9\\u{1F3FE}', '\\u26F9\\u{1F3FF}', '\\u270A\\u{1F3FB}', '\\u270A\\u{1F3FC}', '\\u270A\\u{1F3FD}', '\\u270A\\u{1F3FE}', '\\u270A\\u{1F3FF}', '\\u270B\\u{1F3FB}', '\\u270B\\u{1F3FC}', '\\u270B\\u{1F3FD}', '\\u270B\\u{1F3FE}', '\\u270B\\u{1F3FF}', '\\u270C\\u{1F3FB}', '\\u270C\\u{1F3FC}', '\\u270C\\u{1F3FD}', '\\u270C\\u{1F3FE}', '\\u270C\\u{1F3FF}', '\\u270D\\u{1F3FB}', '\\u270D\\u{1F3FC}', '\\u270D\\u{1F3FD}', '\\u270D\\u{1F3FE}', '\\u270D\\u{1F3FF}', '\\u{1F385}\\u{1F3FB}', '\\u{1F385}\\u{1F3FC}', '\\u{1F385}\\u{1F3FD}', '\\u{1F385}\\u{1F3FE}', '\\u{1F385}\\u{1F3FF}', '\\u{1F3C2}\\u{1F3FB}', '\\u{1F3C2}\\u{1F3FC}', '\\u{1F3C2}\\u{1F3FD}', '\\u{1F3C2}\\u{1F3FE}', '\\u{1F3C2}\\u{1F3FF}', '\\u{1F3C3}\\u{1F3FB}', '\\u{1F3C3}\\u{1F3FC}', '\\u{1F3C3}\\u{1F3FD}', '\\u{1F3C3}\\u{1F3FE}', '\\u{1F3C3}\\u{1F3FF}', '\\u{1F3C4}\\u{1F3FB}', '\\u{1F3C4}\\u{1F3FC}', '\\u{1F3C4}\\u{1F3FD}', '\\u{1F3C4}\\u{1F3FE}', '\\u{1F3C4}\\u{1F3FF}', '\\u{1F3C7}\\u{1F3FB}', '\\u{1F3C7}\\u{1F3FC}', '\\u{1F3C7}\\u{1F3FD}', '\\u{1F3C7}\\u{1F3FE}', '\\u{1F3C7}\\u{1F3FF}', '\\u{1F3CA}\\u{1F3FB}', '\\u{1F3CA}\\u{1F3FC}', '\\u{1F3CA}\\u{1F3FD}', '\\u{1F3CA}\\u{1F3FE}', '\\u{1F3CA}\\u{1F3FF}', '\\u{1F3CB}\\u{1F3FB}', '\\u{1F3CB}\\u{1F3FC}', '\\u{1F3CB}\\u{1F3FD}', '\\u{1F3CB}\\u{1F3FE}', '\\u{1F3CB}\\u{1F3FF}', '\\u{1F3CC}\\u{1F3FB}', '\\u{1F3CC}\\u{1F3FC}', '\\u{1F3CC}\\u{1F3FD}', '\\u{1F3CC}\\u{1F3FE}', '\\u{1F3CC}\\u{1F3FF}', '\\u{1F442}\\u{1F3FB}', '\\u{1F442}\\u{1F3FC}', '\\u{1F442}\\u{1F3FD}', '\\u{1F442}\\u{1F3FE}', '\\u{1F442}\\u{1F3FF}', '\\u{1F443}\\u{1F3FB}', '\\u{1F443}\\u{1F3FC}', '\\u{1F443}\\u{1F3FD}', '\\u{1F443}\\u{1F3FE}', '\\u{1F443}\\u{1F3FF}', '\\u{1F446}\\u{1F3FB}', '\\u{1F446}\\u{1F3FC}', '\\u{1F446}\\u{1F3FD}', '\\u{1F446}\\u{1F3FE}', '\\u{1F446}\\u{1F3FF}', '\\u{1F447}\\u{1F3FB}', '\\u{1F447}\\u{1F3FC}', '\\u{1F447}\\u{1F3FD}', '\\u{1F447}\\u{1F3FE}', '\\u{1F447}\\u{1F3FF}', '\\u{1F448}\\u{1F3FB}', '\\u{1F448}\\u{1F3FC}', '\\u{1F448}\\u{1F3FD}', '\\u{1F448}\\u{1F3FE}', '\\u{1F448}\\u{1F3FF}', '\\u{1F449}\\u{1F3FB}', '\\u{1F449}\\u{1F3FC}', '\\u{1F449}\\u{1F3FD}', '\\u{1F449}\\u{1F3FE}', '\\u{1F449}\\u{1F3FF}', '\\u{1F44A}\\u{1F3FB}', '\\u{1F44A}\\u{1F3FC}', '\\u{1F44A}\\u{1F3FD}', '\\u{1F44A}\\u{1F3FE}', '\\u{1F44A}\\u{1F3FF}', '\\u{1F44B}\\u{1F3FB}', '\\u{1F44B}\\u{1F3FC}', '\\u{1F44B}\\u{1F3FD}', '\\u{1F44B}\\u{1F3FE}', '\\u{1F44B}\\u{1F3FF}', '\\u{1F44C}\\u{1F3FB}', '\\u{1F44C}\\u{1F3FC}', '\\u{1F44C}\\u{1F3FD}', '\\u{1F44C}\\u{1F3FE}', '\\u{1F44C}\\u{1F3FF}', '\\u{1F44D}\\u{1F3FB}', '\\u{1F44D}\\u{1F3FC}', '\\u{1F44D}\\u{1F3FD}', '\\u{1F44D}\\u{1F3FE}', '\\u{1F44D}\\u{1F3FF}', '\\u{1F44E}\\u{1F3FB}', '\\u{1F44E}\\u{1F3FC}', '\\u{1F44E}\\u{1F3FD}', '\\u{1F44E}\\u{1F3FE}', '\\u{1F44E}\\u{1F3FF}', '\\u{1F44F}\\u{1F3FB}', '\\u{1F44F}\\u{1F3FC}', '\\u{1F44F}\\u{1F3FD}', '\\u{1F44F}\\u{1F3FE}', '\\u{1F44F}\\u{1F3FF}', '\\u{1F450}\\u{1F3FB}', '\\u{1F450}\\u{1F3FC}', '\\u{1F450}\\u{1F3FD}', '\\u{1F450}\\u{1F3FE}', '\\u{1F450}\\u{1F3FF}', '\\u{1F466}\\u{1F3FB}', '\\u{1F466}\\u{1F3FC}', '\\u{1F466}\\u{1F3FD}', '\\u{1F466}\\u{1F3FE}', '\\u{1F466}\\u{1F3FF}', '\\u{1F467}\\u{1F3FB}', '\\u{1F467}\\u{1F3FC}', '\\u{1F467}\\u{1F3FD}', '\\u{1F467}\\u{1F3FE}', '\\u{1F467}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}', '\\u{1F46B}\\u{1F3FB}', '\\u{1F46B}\\u{1F3FC}', '\\u{1F46B}\\u{1F3FD}', '\\u{1F46B}\\u{1F3FE}', '\\u{1F46B}\\u{1F3FF}', '\\u{1F46C}\\u{1F3FB}', '\\u{1F46C}\\u{1F3FC}', '\\u{1F46C}\\u{1F3FD}', '\\u{1F46C}\\u{1F3FE}', '\\u{1F46C}\\u{1F3FF}', '\\u{1F46D}\\u{1F3FB}', '\\u{1F46D}\\u{1F3FC}', '\\u{1F46D}\\u{1F3FD}', '\\u{1F46D}\\u{1F3FE}', '\\u{1F46D}\\u{1F3FF}', '\\u{1F46E}\\u{1F3FB}', '\\u{1F46E}\\u{1F3FC}', '\\u{1F46E}\\u{1F3FD}', '\\u{1F46E}\\u{1F3FE}', '\\u{1F46E}\\u{1F3FF}', '\\u{1F470}\\u{1F3FB}', '\\u{1F470}\\u{1F3FC}', '\\u{1F470}\\u{1F3FD}', '\\u{1F470}\\u{1F3FE}', '\\u{1F470}\\u{1F3FF}', '\\u{1F471}\\u{1F3FB}', '\\u{1F471}\\u{1F3FC}', '\\u{1F471}\\u{1F3FD}', '\\u{1F471}\\u{1F3FE}', '\\u{1F471}\\u{1F3FF}', '\\u{1F472}\\u{1F3FB}', '\\u{1F472}\\u{1F3FC}', '\\u{1F472}\\u{1F3FD}', '\\u{1F472}\\u{1F3FE}', '\\u{1F472}\\u{1F3FF}', '\\u{1F473}\\u{1F3FB}', '\\u{1F473}\\u{1F3FC}', '\\u{1F473}\\u{1F3FD}', '\\u{1F473}\\u{1F3FE}', '\\u{1F473}\\u{1F3FF}', '\\u{1F474}\\u{1F3FB}', '\\u{1F474}\\u{1F3FC}', '\\u{1F474}\\u{1F3FD}', '\\u{1F474}\\u{1F3FE}', '\\u{1F474}\\u{1F3FF}', '\\u{1F475}\\u{1F3FB}', '\\u{1F475}\\u{1F3FC}', '\\u{1F475}\\u{1F3FD}', '\\u{1F475}\\u{1F3FE}', '\\u{1F475}\\u{1F3FF}', '\\u{1F476}\\u{1F3FB}', '\\u{1F476}\\u{1F3FC}', '\\u{1F476}\\u{1F3FD}', '\\u{1F476}\\u{1F3FE}', '\\u{1F476}\\u{1F3FF}', '\\u{1F477}\\u{1F3FB}', '\\u{1F477}\\u{1F3FC}', '\\u{1F477}\\u{1F3FD}', '\\u{1F477}\\u{1F3FE}', '\\u{1F477}\\u{1F3FF}', '\\u{1F478}\\u{1F3FB}', '\\u{1F478}\\u{1F3FC}', '\\u{1F478}\\u{1F3FD}', '\\u{1F478}\\u{1F3FE}', '\\u{1F478}\\u{1F3FF}', '\\u{1F47C}\\u{1F3FB}', '\\u{1F47C}\\u{1F3FC}', '\\u{1F47C}\\u{1F3FD}', '\\u{1F47C}\\u{1F3FE}', '\\u{1F47C}\\u{1F3FF}', '\\u{1F481}\\u{1F3FB}', '\\u{1F481}\\u{1F3FC}', '\\u{1F481}\\u{1F3FD}', '\\u{1F481}\\u{1F3FE}', '\\u{1F481}\\u{1F3FF}', '\\u{1F482}\\u{1F3FB}', '\\u{1F482}\\u{1F3FC}', '\\u{1F482}\\u{1F3FD}', '\\u{1F482}\\u{1F3FE}', '\\u{1F482}\\u{1F3FF}', '\\u{1F483}\\u{1F3FB}', '\\u{1F483}\\u{1F3FC}', '\\u{1F483}\\u{1F3FD}', '\\u{1F483}\\u{1F3FE}', '\\u{1F483}\\u{1F3FF}', '\\u{1F485}\\u{1F3FB}', '\\u{1F485}\\u{1F3FC}', '\\u{1F485}\\u{1F3FD}', '\\u{1F485}\\u{1F3FE}', '\\u{1F485}\\u{1F3FF}', '\\u{1F486}\\u{1F3FB}', '\\u{1F486}\\u{1F3FC}', '\\u{1F486}\\u{1F3FD}', '\\u{1F486}\\u{1F3FE}', '\\u{1F486}\\u{1F3FF}', '\\u{1F487}\\u{1F3FB}', '\\u{1F487}\\u{1F3FC}', '\\u{1F487}\\u{1F3FD}', '\\u{1F487}\\u{1F3FE}', '\\u{1F487}\\u{1F3FF}', '\\u{1F48F}\\u{1F3FB}', '\\u{1F48F}\\u{1F3FC}', '\\u{1F48F}\\u{1F3FD}', '\\u{1F48F}\\u{1F3FE}', '\\u{1F48F}\\u{1F3FF}', '\\u{1F491}\\u{1F3FB}', '\\u{1F491}\\u{1F3FC}', '\\u{1F491}\\u{1F3FD}', '\\u{1F491}\\u{1F3FE}', '\\u{1F491}\\u{1F3FF}', '\\u{1F4AA}\\u{1F3FB}', '\\u{1F4AA}\\u{1F3FC}', '\\u{1F4AA}\\u{1F3FD}', '\\u{1F4AA}\\u{1F3FE}', '\\u{1F4AA}\\u{1F3FF}', '\\u{1F574}\\u{1F3FB}', '\\u{1F574}\\u{1F3FC}', '\\u{1F574}\\u{1F3FD}', '\\u{1F574}\\u{1F3FE}', '\\u{1F574}\\u{1F3FF}', '\\u{1F575}\\u{1F3FB}', '\\u{1F575}\\u{1F3FC}', '\\u{1F575}\\u{1F3FD}', '\\u{1F575}\\u{1F3FE}', '\\u{1F575}\\u{1F3FF}', '\\u{1F57A}\\u{1F3FB}', '\\u{1F57A}\\u{1F3FC}', '\\u{1F57A}\\u{1F3FD}', '\\u{1F57A}\\u{1F3FE}', '\\u{1F57A}\\u{1F3FF}', '\\u{1F590}\\u{1F3FB}', '\\u{1F590}\\u{1F3FC}', '\\u{1F590}\\u{1F3FD}', '\\u{1F590}\\u{1F3FE}', '\\u{1F590}\\u{1F3FF}', '\\u{1F595}\\u{1F3FB}', '\\u{1F595}\\u{1F3FC}', '\\u{1F595}\\u{1F3FD}', '\\u{1F595}\\u{1F3FE}', '\\u{1F595}\\u{1F3FF}', '\\u{1F596}\\u{1F3FB}', '\\u{1F596}\\u{1F3FC}', '\\u{1F596}\\u{1F3FD}', '\\u{1F596}\\u{1F3FE}', '\\u{1F596}\\u{1F3FF}', '\\u{1F645}\\u{1F3FB}', '\\u{1F645}\\u{1F3FC}', '\\u{1F645}\\u{1F3FD}', '\\u{1F645}\\u{1F3FE}', '\\u{1F645}\\u{1F3FF}', '\\u{1F646}\\u{1F3FB}', '\\u{1F646}\\u{1F3FC}', '\\u{1F646}\\u{1F3FD}', '\\u{1F646}\\u{1F3FE}', '\\u{1F646}\\u{1F3FF}', '\\u{1F647}\\u{1F3FB}', '\\u{1F647}\\u{1F3FC}', '\\u{1F647}\\u{1F3FD}', '\\u{1F647}\\u{1F3FE}', '\\u{1F647}\\u{1F3FF}', '\\u{1F64B}\\u{1F3FB}', '\\u{1F64B}\\u{1F3FC}', '\\u{1F64B}\\u{1F3FD}', '\\u{1F64B}\\u{1F3FE}', '\\u{1F64B}\\u{1F3FF}', '\\u{1F64C}\\u{1F3FB}', '\\u{1F64C}\\u{1F3FC}', '\\u{1F64C}\\u{1F3FD}', '\\u{1F64C}\\u{1F3FE}', '\\u{1F64C}\\u{1F3FF}', '\\u{1F64D}\\u{1F3FB}', '\\u{1F64D}\\u{1F3FC}', '\\u{1F64D}\\u{1F3FD}', '\\u{1F64D}\\u{1F3FE}', '\\u{1F64D}\\u{1F3FF}', '\\u{1F64E}\\u{1F3FB}', '\\u{1F64E}\\u{1F3FC}', '\\u{1F64E}\\u{1F3FD}', '\\u{1F64E}\\u{1F3FE}', '\\u{1F64E}\\u{1F3FF}', '\\u{1F64F}\\u{1F3FB}', '\\u{1F64F}\\u{1F3FC}', '\\u{1F64F}\\u{1F3FD}', '\\u{1F64F}\\u{1F3FE}', '\\u{1F64F}\\u{1F3FF}', '\\u{1F6A3}\\u{1F3FB}', '\\u{1F6A3}\\u{1F3FC}', '\\u{1F6A3}\\u{1F3FD}', '\\u{1F6A3}\\u{1F3FE}', '\\u{1F6A3}\\u{1F3FF}', '\\u{1F6B4}\\u{1F3FB}', '\\u{1F6B4}\\u{1F3FC}', '\\u{1F6B4}\\u{1F3FD}', '\\u{1F6B4}\\u{1F3FE}', '\\u{1F6B4}\\u{1F3FF}', '\\u{1F6B5}\\u{1F3FB}', '\\u{1F6B5}\\u{1F3FC}', '\\u{1F6B5}\\u{1F3FD}', '\\u{1F6B5}\\u{1F3FE}', '\\u{1F6B5}\\u{1F3FF}', '\\u{1F6B6}\\u{1F3FB}', '\\u{1F6B6}\\u{1F3FC}', '\\u{1F6B6}\\u{1F3FD}', '\\u{1F6B6}\\u{1F3FE}', '\\u{1F6B6}\\u{1F3FF}', '\\u{1F6C0}\\u{1F3FB}', '\\u{1F6C0}\\u{1F3FC}', '\\u{1F6C0}\\u{1F3FD}', '\\u{1F6C0}\\u{1F3FE}', '\\u{1F6C0}\\u{1F3FF}', '\\u{1F6CC}\\u{1F3FB}', '\\u{1F6CC}\\u{1F3FC}', '\\u{1F6CC}\\u{1F3FD}', '\\u{1F6CC}\\u{1F3FE}', '\\u{1F6CC}\\u{1F3FF}', '\\u{1F90C}\\u{1F3FB}', '\\u{1F90C}\\u{1F3FC}', '\\u{1F90C}\\u{1F3FD}', '\\u{1F90C}\\u{1F3FE}', '\\u{1F90C}\\u{1F3FF}', '\\u{1F90F}\\u{1F3FB}', '\\u{1F90F}\\u{1F3FC}', '\\u{1F90F}\\u{1F3FD}', '\\u{1F90F}\\u{1F3FE}', '\\u{1F90F}\\u{1F3FF}', '\\u{1F918}\\u{1F3FB}', '\\u{1F918}\\u{1F3FC}', '\\u{1F918}\\u{1F3FD}', '\\u{1F918}\\u{1F3FE}', '\\u{1F918}\\u{1F3FF}', '\\u{1F919}\\u{1F3FB}', '\\u{1F919}\\u{1F3FC}', '\\u{1F919}\\u{1F3FD}', '\\u{1F919}\\u{1F3FE}', '\\u{1F919}\\u{1F3FF}', '\\u{1F91A}\\u{1F3FB}', '\\u{1F91A}\\u{1F3FC}', '\\u{1F91A}\\u{1F3FD}', '\\u{1F91A}\\u{1F3FE}', '\\u{1F91A}\\u{1F3FF}', '\\u{1F91B}\\u{1F3FB}', '\\u{1F91B}\\u{1F3FC}', '\\u{1F91B}\\u{1F3FD}', '\\u{1F91B}\\u{1F3FE}', '\\u{1F91B}\\u{1F3FF}', '\\u{1F91C}\\u{1F3FB}', '\\u{1F91C}\\u{1F3FC}', '\\u{1F91C}\\u{1F3FD}', '\\u{1F91C}\\u{1F3FE}', '\\u{1F91C}\\u{1F3FF}', '\\u{1F91D}\\u{1F3FB}', '\\u{1F91D}\\u{1F3FC}', '\\u{1F91D}\\u{1F3FD}', '\\u{1F91D}\\u{1F3FE}', '\\u{1F91D}\\u{1F3FF}', '\\u{1F91E}\\u{1F3FB}', '\\u{1F91E}\\u{1F3FC}', '\\u{1F91E}\\u{1F3FD}', '\\u{1F91E}\\u{1F3FE}', '\\u{1F91E}\\u{1F3FF}', '\\u{1F91F}\\u{1F3FB}', '\\u{1F91F}\\u{1F3FC}', '\\u{1F91F}\\u{1F3FD}', '\\u{1F91F}\\u{1F3FE}', '\\u{1F91F}\\u{1F3FF}', '\\u{1F926}\\u{1F3FB}', '\\u{1F926}\\u{1F3FC}', '\\u{1F926}\\u{1F3FD}', '\\u{1F926}\\u{1F3FE}', '\\u{1F926}\\u{1F3FF}', '\\u{1F930}\\u{1F3FB}', '\\u{1F930}\\u{1F3FC}', '\\u{1F930}\\u{1F3FD}', '\\u{1F930}\\u{1F3FE}', '\\u{1F930}\\u{1F3FF}', '\\u{1F931}\\u{1F3FB}', '\\u{1F931}\\u{1F3FC}', '\\u{1F931}\\u{1F3FD}', '\\u{1F931}\\u{1F3FE}', '\\u{1F931}\\u{1F3FF}', '\\u{1F932}\\u{1F3FB}', '\\u{1F932}\\u{1F3FC}', '\\u{1F932}\\u{1F3FD}', '\\u{1F932}\\u{1F3FE}', '\\u{1F932}\\u{1F3FF}', '\\u{1F933}\\u{1F3FB}', '\\u{1F933}\\u{1F3FC}', '\\u{1F933}\\u{1F3FD}', '\\u{1F933}\\u{1F3FE}', '\\u{1F933}\\u{1F3FF}', '\\u{1F934}\\u{1F3FB}', '\\u{1F934}\\u{1F3FC}', '\\u{1F934}\\u{1F3FD}', '\\u{1F934}\\u{1F3FE}', '\\u{1F934}\\u{1F3FF}', '\\u{1F935}\\u{1F3FB}', '\\u{1F935}\\u{1F3FC}', '\\u{1F935}\\u{1F3FD}', '\\u{1F935}\\u{1F3FE}', '\\u{1F935}\\u{1F3FF}', '\\u{1F936}\\u{1F3FB}', '\\u{1F936}\\u{1F3FC}', '\\u{1F936}\\u{1F3FD}', '\\u{1F936}\\u{1F3FE}', '\\u{1F936}\\u{1F3FF}', '\\u{1F937}\\u{1F3FB}', '\\u{1F937}\\u{1F3FC}', '\\u{1F937}\\u{1F3FD}', '\\u{1F937}\\u{1F3FE}', '\\u{1F937}\\u{1F3FF}', '\\u{1F938}\\u{1F3FB}', '\\u{1F938}\\u{1F3FC}', '\\u{1F938}\\u{1F3FD}', '\\u{1F938}\\u{1F3FE}', '\\u{1F938}\\u{1F3FF}', '\\u{1F939}\\u{1F3FB}', '\\u{1F939}\\u{1F3FC}', '\\u{1F939}\\u{1F3FD}', '\\u{1F939}\\u{1F3FE}', '\\u{1F939}\\u{1F3FF}', '\\u{1F93D}\\u{1F3FB}', '\\u{1F93D}\\u{1F3FC}', '\\u{1F93D}\\u{1F3FD}', '\\u{1F93D}\\u{1F3FE}', '\\u{1F93D}\\u{1F3FF}', '\\u{1F93E}\\u{1F3FB}', '\\u{1F93E}\\u{1F3FC}', '\\u{1F93E}\\u{1F3FD}', '\\u{1F93E}\\u{1F3FE}', '\\u{1F93E}\\u{1F3FF}', '\\u{1F977}\\u{1F3FB}', '\\u{1F977}\\u{1F3FC}', '\\u{1F977}\\u{1F3FD}', '\\u{1F977}\\u{1F3FE}', '\\u{1F977}\\u{1F3FF}', '\\u{1F9B5}\\u{1F3FB}', '\\u{1F9B5}\\u{1F3FC}', '\\u{1F9B5}\\u{1F3FD}', '\\u{1F9B5}\\u{1F3FE}', '\\u{1F9B5}\\u{1F3FF}', '\\u{1F9B6}\\u{1F3FB}', '\\u{1F9B6}\\u{1F3FC}', '\\u{1F9B6}\\u{1F3FD}', '\\u{1F9B6}\\u{1F3FE}', '\\u{1F9B6}\\u{1F3FF}', '\\u{1F9B8}\\u{1F3FB}', '\\u{1F9B8}\\u{1F3FC}', '\\u{1F9B8}\\u{1F3FD}', '\\u{1F9B8}\\u{1F3FE}', '\\u{1F9B8}\\u{1F3FF}', '\\u{1F9B9}\\u{1F3FB}', '\\u{1F9B9}\\u{1F3FC}', '\\u{1F9B9}\\u{1F3FD}', '\\u{1F9B9}\\u{1F3FE}', '\\u{1F9B9}\\u{1F3FF}', '\\u{1F9BB}\\u{1F3FB}', '\\u{1F9BB}\\u{1F3FC}', '\\u{1F9BB}\\u{1F3FD}', '\\u{1F9BB}\\u{1F3FE}', '\\u{1F9BB}\\u{1F3FF}', '\\u{1F9CD}\\u{1F3FB}', '\\u{1F9CD}\\u{1F3FC}', '\\u{1F9CD}\\u{1F3FD}', '\\u{1F9CD}\\u{1F3FE}', '\\u{1F9CD}\\u{1F3FF}', '\\u{1F9CE}\\u{1F3FB}', '\\u{1F9CE}\\u{1F3FC}', '\\u{1F9CE}\\u{1F3FD}', '\\u{1F9CE}\\u{1F3FE}', '\\u{1F9CE}\\u{1F3FF}', '\\u{1F9CF}\\u{1F3FB}', '\\u{1F9CF}\\u{1F3FC}', '\\u{1F9CF}\\u{1F3FD}', '\\u{1F9CF}\\u{1F3FE}', '\\u{1F9CF}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D2}\\u{1F3FB}', '\\u{1F9D2}\\u{1F3FC}', '\\u{1F9D2}\\u{1F3FD}', '\\u{1F9D2}\\u{1F3FE}', '\\u{1F9D2}\\u{1F3FF}', '\\u{1F9D3}\\u{1F3FB}', '\\u{1F9D3}\\u{1F3FC}', '\\u{1F9D3}\\u{1F3FD}', '\\u{1F9D3}\\u{1F3FE}', '\\u{1F9D3}\\u{1F3FF}', '\\u{1F9D4}\\u{1F3FB}', '\\u{1F9D4}\\u{1F3FC}', '\\u{1F9D4}\\u{1F3FD}', '\\u{1F9D4}\\u{1F3FE}', '\\u{1F9D4}\\u{1F3FF}', '\\u{1F9D5}\\u{1F3FB}', '\\u{1F9D5}\\u{1F3FC}', '\\u{1F9D5}\\u{1F3FD}', '\\u{1F9D5}\\u{1F3FE}', '\\u{1F9D5}\\u{1F3FF}', '\\u{1F9D6}\\u{1F3FB}', '\\u{1F9D6}\\u{1F3FC}', '\\u{1F9D6}\\u{1F3FD}', '\\u{1F9D6}\\u{1F3FE}', '\\u{1F9D6}\\u{1F3FF}', '\\u{1F9D7}\\u{1F3FB}', '\\u{1F9D7}\\u{1F3FC}', '\\u{1F9D7}\\u{1F3FD}', '\\u{1F9D7}\\u{1F3FE}', '\\u{1F9D7}\\u{1F3FF}', '\\u{1F9D8}\\u{1F3FB}', '\\u{1F9D8}\\u{1F3FC}', '\\u{1F9D8}\\u{1F3FD}', '\\u{1F9D8}\\u{1F3FE}', '\\u{1F9D8}\\u{1F3FF}', '\\u{1F9D9}\\u{1F3FB}', '\\u{1F9D9}\\u{1F3FC}', '\\u{1F9D9}\\u{1F3FD}', '\\u{1F9D9}\\u{1F3FE}', '\\u{1F9D9}\\u{1F3FF}', '\\u{1F9DA}\\u{1F3FB}', '\\u{1F9DA}\\u{1F3FC}', '\\u{1F9DA}\\u{1F3FD}', '\\u{1F9DA}\\u{1F3FE}', '\\u{1F9DA}\\u{1F3FF}', '\\u{1F9DB}\\u{1F3FB}', '\\u{1F9DB}\\u{1F3FC}', '\\u{1F9DB}\\u{1F3FD}', '\\u{1F9DB}\\u{1F3FE}', '\\u{1F9DB}\\u{1F3FF}', '\\u{1F9DC}\\u{1F3FB}', '\\u{1F9DC}\\u{1F3FC}', '\\u{1F9DC}\\u{1F3FD}', '\\u{1F9DC}\\u{1F3FE}', '\\u{1F9DC}\\u{1F3FF}', '\\u{1F9DD}\\u{1F3FB}', '\\u{1F9DD}\\u{1F3FC}', '\\u{1F9DD}\\u{1F3FD}', '\\u{1F9DD}\\u{1F3FE}', '\\u{1F9DD}\\u{1F3FF}', '\\u{1FAC3}\\u{1F3FB}', '\\u{1FAC3}\\u{1F3FC}', '\\u{1FAC3}\\u{1F3FD}', '\\u{1FAC3}\\u{1F3FE}', '\\u{1FAC3}\\u{1F3FF}', '\\u{1FAC4}\\u{1F3FB}', '\\u{1FAC4}\\u{1F3FC}', '\\u{1FAC4}\\u{1F3FD}', '\\u{1FAC4}\\u{1F3FE}', '\\u{1FAC4}\\u{1F3FF}', '\\u{1FAC5}\\u{1F3FB}', '\\u{1FAC5}\\u{1F3FC}', '\\u{1FAC5}\\u{1F3FD}', '\\u{1FAC5}\\u{1F3FE}', '\\u{1FAC5}\\u{1F3FF}', '\\u{1FAF0}\\u{1F3FB}', '\\u{1FAF0}\\u{1F3FC}', '\\u{1FAF0}\\u{1F3FD}', '\\u{1FAF0}\\u{1F3FE}', '\\u{1FAF0}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FF}', '\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF3}\\u{1F3FB}', '\\u{1FAF3}\\u{1F3FC}', '\\u{1FAF3}\\u{1F3FD}', '\\u{1FAF3}\\u{1F3FE}', '\\u{1FAF3}\\u{1F3FF}', '\\u{1FAF4}\\u{1F3FB}', '\\u{1FAF4}\\u{1F3FC}', '\\u{1FAF4}\\u{1F3FD}', '\\u{1FAF4}\\u{1F3FE}', '\\u{1FAF4}\\u{1F3FF}', '\\u{1FAF5}\\u{1F3FB}', '\\u{1FAF5}\\u{1F3FC}', '\\u{1FAF5}\\u{1F3FD}', '\\u{1FAF5}\\u{1F3FE}', '\\u{1FAF5}\\u{1F3FF}', '\\u{1FAF6}\\u{1F3FB}', '\\u{1FAF6}\\u{1F3FC}', '\\u{1FAF6}\\u{1F3FD}', '\\u{1FAF6}\\u{1F3FE}', '\\u{1FAF6}\\u{1F3FF}', '\\u{1FAF7}\\u{1F3FB}', '\\u{1FAF7}\\u{1F3FC}', '\\u{1FAF7}\\u{1F3FD}', '\\u{1FAF7}\\u{1F3FE}', '\\u{1FAF7}\\u{1F3FF}', '\\u{1FAF8}\\u{1F3FB}', '\\u{1FAF8}\\u{1F3FC}', '\\u{1FAF8}\\u{1F3FD}', '\\u{1FAF8}\\u{1F3FE}', '\\u{1FAF8}\\u{1F3FF}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0065}\\u{E006E}\\u{E0067}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0073}\\u{E0063}\\u{E0074}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0077}\\u{E006C}\\u{E0073}\\u{E007F}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F9D1}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1F468}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u200D\\u{1F33E}', '\\u{1F468}\\u200D\\u{1F373}', '\\u{1F468}\\u200D\\u{1F37C}', '\\u{1F468}\\u200D\\u{1F393}', '\\u{1F468}\\u200D\\u{1F3A4}', '\\u{1F468}\\u200D\\u{1F3A8}', '\\u{1F468}\\u200D\\u{1F3EB}', '\\u{1F468}\\u200D\\u{1F3ED}', '\\u{1F468}\\u200D\\u{1F4BB}', '\\u{1F468}\\u200D\\u{1F4BC}', '\\u{1F468}\\u200D\\u{1F527}', '\\u{1F468}\\u200D\\u{1F52C}', '\\u{1F468}\\u200D\\u{1F680}', '\\u{1F468}\\u200D\\u{1F692}', '\\u{1F468}\\u200D\\u{1F9AF}', '\\u{1F468}\\u200D\\u{1F9BC}', '\\u{1F468}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F469}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u200D\\u{1F33E}', '\\u{1F469}\\u200D\\u{1F373}', '\\u{1F469}\\u200D\\u{1F37C}', '\\u{1F469}\\u200D\\u{1F393}', '\\u{1F469}\\u200D\\u{1F3A4}', '\\u{1F469}\\u200D\\u{1F3A8}', '\\u{1F469}\\u200D\\u{1F3EB}', '\\u{1F469}\\u200D\\u{1F3ED}', '\\u{1F469}\\u200D\\u{1F4BB}', '\\u{1F469}\\u200D\\u{1F4BC}', '\\u{1F469}\\u200D\\u{1F527}', '\\u{1F469}\\u200D\\u{1F52C}', '\\u{1F469}\\u200D\\u{1F680}', '\\u{1F469}\\u200D\\u{1F692}', '\\u{1F469}\\u200D\\u{1F9AF}', '\\u{1F469}\\u200D\\u{1F9BC}', '\\u{1F469}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u200D\\u{1F373}', '\\u{1F9D1}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u200D\\u{1F393}', '\\u{1F9D1}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u200D\\u{1F527}', '\\u{1F9D1}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u200D\\u{1F680}', '\\u{1F9D1}\\u200D\\u{1F692}', '\\u{1F9D1}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u26F9\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F46F}\\u200D\\u2640\\uFE0F', '\\u{1F46F}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93C}\\u200D\\u2640\\uFE0F', '\\u{1F93C}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DE}\\u200D\\u2640\\uFE0F', '\\u{1F9DE}\\u200D\\u2642\\uFE0F', '\\u{1F9DF}\\u200D\\u2640\\uFE0F', '\\u{1F9DF}\\u200D\\u2642\\uFE0F', '\\u{1F468}\\u200D\\u{1F9B0}', '\\u{1F468}\\u200D\\u{1F9B1}', '\\u{1F468}\\u200D\\u{1F9B2}', '\\u{1F468}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F469}\\u200D\\u{1F9B0}', '\\u{1F469}\\u200D\\u{1F9B1}', '\\u{1F469}\\u200D\\u{1F9B2}', '\\u{1F469}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u2764\\uFE0F\\u200D\\u{1F525}', '\\u2764\\uFE0F\\u200D\\u{1FA79}', '\\u{1F3F3}\\uFE0F\\u200D\\u26A7\\uFE0F', '\\u{1F3F3}\\uFE0F\\u200D\\u{1F308}', '\\u{1F3F4}\\u200D\\u2620\\uFE0F', '\\u{1F408}\\u200D\\u2B1B', '\\u{1F415}\\u200D\\u{1F9BA}', '\\u{1F426}\\u200D\\u2B1B', '\\u{1F43B}\\u200D\\u2744\\uFE0F', '\\u{1F441}\\uFE0F\\u200D\\u{1F5E8}\\uFE0F', '\\u{1F62E}\\u200D\\u{1F4A8}', '\\u{1F635}\\u200D\\u{1F4AB}', '\\u{1F636}\\u200D\\u{1F32B}\\uFE0F', '\\u{1F9D1}\\u200D\\u{1F384}'];","const set = require('regenerate')();\n\nset.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);\nexports.characters = set;","const set = require('regenerate')();\n\nset.addRange(0x1E4D0, 0x1E4F9);\nexports.characters = set;","const set = require('regenerate')();\n\nset.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);\nexports.characters = set;","const set = require('regenerate')();\n\nset.addRange(0x1E4D0, 0x1E4F9);\nexports.characters = set;","/*! https://mths.be/regenerate v1.4.2 by @mathias | MIT license */\n;\n\n(function (root) {\n // Detect free variables `exports`.\n var freeExports = typeof exports == 'object' && exports; // Detect free variable `module`.\n\n var freeModule = typeof module == 'object' && module && module.exports == freeExports && module; // Detect free variable `global`, from Node.js/io.js or Browserified code,\n // and use it as `root`.\n\n var freeGlobal = typeof global == 'object' && global;\n\n if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n root = freeGlobal;\n }\n /*--------------------------------------------------------------------------*/\n\n\n var ERRORS = {\n 'rangeOrder': 'A range\\u2019s `stop` value must be greater than or equal ' + 'to the `start` value.',\n 'codePointRange': 'Invalid code point value. Code points range from ' + 'U+000000 to U+10FFFF.'\n }; // https://mathiasbynens.be/notes/javascript-encoding#surrogate-pairs\n\n var HIGH_SURROGATE_MIN = 0xD800;\n var HIGH_SURROGATE_MAX = 0xDBFF;\n var LOW_SURROGATE_MIN = 0xDC00;\n var LOW_SURROGATE_MAX = 0xDFFF; // In Regenerate output, `\\0` is never preceded by `\\` because we sort by\n // code point value, so let’s keep this regular expression simple.\n\n var regexNull = /\\\\x00([^0123456789]|$)/g;\n var object = {};\n var hasOwnProperty = object.hasOwnProperty;\n\n var extend = function (destination, source) {\n var key;\n\n for (key in source) {\n if (hasOwnProperty.call(source, key)) {\n destination[key] = source[key];\n }\n }\n\n return destination;\n };\n\n var forEach = function (array, callback) {\n var index = -1;\n var length = array.length;\n\n while (++index < length) {\n callback(array[index], index);\n }\n };\n\n var toString = object.toString;\n\n var isArray = function (value) {\n return toString.call(value) == '[object Array]';\n };\n\n var isNumber = function (value) {\n return typeof value == 'number' || toString.call(value) == '[object Number]';\n }; // This assumes that `number` is a positive integer that `toString()`s nicely\n // (which is the case for all code point values).\n\n\n var zeroes = '0000';\n\n var pad = function (number, totalCharacters) {\n var string = String(number);\n return string.length < totalCharacters ? (zeroes + string).slice(-totalCharacters) : string;\n };\n\n var hex = function (number) {\n return Number(number).toString(16).toUpperCase();\n };\n\n var slice = [].slice;\n /*--------------------------------------------------------------------------*/\n\n var dataFromCodePoints = function (codePoints) {\n var index = -1;\n var length = codePoints.length;\n var max = length - 1;\n var result = [];\n var isStart = true;\n var tmp;\n var previous = 0;\n\n while (++index < length) {\n tmp = codePoints[index];\n\n if (isStart) {\n result.push(tmp);\n previous = tmp;\n isStart = false;\n } else {\n if (tmp == previous + 1) {\n if (index != max) {\n previous = tmp;\n continue;\n } else {\n isStart = true;\n result.push(tmp + 1);\n }\n } else {\n // End the previous range and start a new one.\n result.push(previous + 1, tmp);\n previous = tmp;\n }\n }\n }\n\n if (!isStart) {\n result.push(tmp + 1);\n }\n\n return result;\n };\n\n var dataRemove = function (data, codePoint) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n if (codePoint >= start && codePoint < end) {\n // Modify this pair.\n if (codePoint == start) {\n if (end == start + 1) {\n // Just remove `start` and `end`.\n data.splice(index, 2);\n return data;\n } else {\n // Just replace `start` with a new value.\n data[index] = codePoint + 1;\n return data;\n }\n } else if (codePoint == end - 1) {\n // Just replace `end` with a new value.\n data[index + 1] = codePoint;\n return data;\n } else {\n // Replace `[start, end]` with `[startA, endA, startB, endB]`.\n data.splice(index, 2, start, codePoint, codePoint + 1, end);\n return data;\n }\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataRemoveRange = function (data, rangeStart, rangeEnd) {\n if (rangeEnd < rangeStart) {\n throw Error(ERRORS.rangeOrder);\n } // Iterate over the data per `(start, end)` pair.\n\n\n var index = 0;\n var start;\n var end;\n\n while (index < data.length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n // Exit as soon as no more matching pairs can be found.\n\n if (start > rangeEnd) {\n return data;\n } // Check if this range pair is equal to, or forms a subset of, the range\n // to be removed.\n // E.g. we have `[0, 11, 40, 51]` and want to remove 0-10 → `[40, 51]`.\n // E.g. we have `[40, 51]` and want to remove 0-100 → `[]`.\n\n\n if (rangeStart <= start && rangeEnd >= end) {\n // Remove this pair.\n data.splice(index, 2);\n continue;\n } // Check if both `rangeStart` and `rangeEnd` are within the bounds of\n // this pair.\n // E.g. we have `[0, 11]` and want to remove 4-6 → `[0, 4, 7, 11]`.\n\n\n if (rangeStart >= start && rangeEnd < end) {\n if (rangeStart == start) {\n // Replace `[start, end]` with `[startB, endB]`.\n data[index] = rangeEnd + 1;\n data[index + 1] = end + 1;\n return data;\n } // Replace `[start, end]` with `[startA, endA, startB, endB]`.\n\n\n data.splice(index, 2, start, rangeStart, rangeEnd + 1, end + 1);\n return data;\n } // Check if only `rangeStart` is within the bounds of this pair.\n // E.g. we have `[0, 11]` and want to remove 4-20 → `[0, 4]`.\n\n\n if (rangeStart >= start && rangeStart <= end) {\n // Replace `end` with `rangeStart`.\n data[index + 1] = rangeStart; // Note: we cannot `return` just yet, in case any following pairs still\n // contain matching code points.\n // E.g. we have `[0, 11, 14, 31]` and want to remove 4-20\n // → `[0, 4, 21, 31]`.\n } // Check if only `rangeEnd` is within the bounds of this pair.\n // E.g. we have `[14, 31]` and want to remove 4-20 → `[21, 31]`.\n else if (rangeEnd >= start && rangeEnd <= end) {\n // Just replace `start`.\n data[index] = rangeEnd + 1;\n return data;\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataAdd = function (data, codePoint) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var lastIndex = null;\n var length = data.length;\n\n if (codePoint < 0x0 || codePoint > 0x10FFFF) {\n throw RangeError(ERRORS.codePointRange);\n }\n\n while (index < length) {\n start = data[index];\n end = data[index + 1]; // Check if the code point is already in the set.\n\n if (codePoint >= start && codePoint < end) {\n return data;\n }\n\n if (codePoint == start - 1) {\n // Just replace `start` with a new value.\n data[index] = codePoint;\n return data;\n } // At this point, if `start` is `greater` than `codePoint`, insert a new\n // `[start, end]` pair before the current pair, or after the current pair\n // if there is a known `lastIndex`.\n\n\n if (start > codePoint) {\n data.splice(lastIndex != null ? lastIndex + 2 : 0, 0, codePoint, codePoint + 1);\n return data;\n }\n\n if (codePoint == end) {\n // Check if adding this code point causes two separate ranges to become\n // a single range, e.g. `dataAdd([0, 4, 5, 10], 4)` → `[0, 10]`.\n if (codePoint + 1 == data[index + 2]) {\n data.splice(index, 4, start, data[index + 3]);\n return data;\n } // Else, just replace `end` with a new value.\n\n\n data[index + 1] = codePoint + 1;\n return data;\n }\n\n lastIndex = index;\n index += 2;\n } // The loop has finished; add the new pair to the end of the data set.\n\n\n data.push(codePoint, codePoint + 1);\n return data;\n };\n\n var dataAddData = function (dataA, dataB) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var data = dataA.slice();\n var length = dataB.length;\n\n while (index < length) {\n start = dataB[index];\n end = dataB[index + 1] - 1;\n\n if (start == end) {\n data = dataAdd(data, start);\n } else {\n data = dataAddRange(data, start, end);\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataRemoveData = function (dataA, dataB) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var data = dataA.slice();\n var length = dataB.length;\n\n while (index < length) {\n start = dataB[index];\n end = dataB[index + 1] - 1;\n\n if (start == end) {\n data = dataRemove(data, start);\n } else {\n data = dataRemoveRange(data, start, end);\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataAddRange = function (data, rangeStart, rangeEnd) {\n if (rangeEnd < rangeStart) {\n throw Error(ERRORS.rangeOrder);\n }\n\n if (rangeStart < 0x0 || rangeStart > 0x10FFFF || rangeEnd < 0x0 || rangeEnd > 0x10FFFF) {\n throw RangeError(ERRORS.codePointRange);\n } // Iterate over the data per `(start, end)` pair.\n\n\n var index = 0;\n var start;\n var end;\n var added = false;\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n if (added) {\n // The range has already been added to the set; at this point, we just\n // need to get rid of the following ranges in case they overlap.\n // Check if this range can be combined with the previous range.\n if (start == rangeEnd + 1) {\n data.splice(index - 1, 2);\n return data;\n } // Exit as soon as no more possibly overlapping pairs can be found.\n\n\n if (start > rangeEnd) {\n return data;\n } // E.g. `[0, 11, 12, 16]` and we’ve added 5-15, so we now have\n // `[0, 16, 12, 16]`. Remove the `12,16` part, as it lies within the\n // `0,16` range that was previously added.\n\n\n if (start >= rangeStart && start <= rangeEnd) {\n // `start` lies within the range that was previously added.\n if (end > rangeStart && end - 1 <= rangeEnd) {\n // `end` lies within the range that was previously added as well,\n // so remove this pair.\n data.splice(index, 2);\n index -= 2; // Note: we cannot `return` just yet, as there may still be other\n // overlapping pairs.\n } else {\n // `start` lies within the range that was previously added, but\n // `end` doesn’t. E.g. `[0, 11, 12, 31]` and we’ve added 5-15, so\n // now we have `[0, 16, 12, 31]`. This must be written as `[0, 31]`.\n // Remove the previously added `end` and the current `start`.\n data.splice(index - 1, 2);\n index -= 2;\n } // Note: we cannot return yet.\n\n }\n } else if (start == rangeEnd + 1 || start == rangeEnd) {\n data[index] = rangeStart;\n return data;\n } // Check if a new pair must be inserted *before* the current one.\n else if (start > rangeEnd) {\n data.splice(index, 0, rangeStart, rangeEnd + 1);\n return data;\n } else if (rangeStart >= start && rangeStart < end && rangeEnd + 1 <= end) {\n // The new range lies entirely within an existing range pair. No action\n // needed.\n return data;\n } else if ( // E.g. `[0, 11]` and you add 5-15 → `[0, 16]`.\n rangeStart >= start && rangeStart < end || // E.g. `[0, 3]` and you add 3-6 → `[0, 7]`.\n end == rangeStart) {\n // Replace `end` with the new value.\n data[index + 1] = rangeEnd + 1; // Make sure the next range pair doesn’t overlap, e.g. `[0, 11, 12, 14]`\n // and you add 5-15 → `[0, 16]`, i.e. remove the `12,14` part.\n\n added = true; // Note: we cannot `return` just yet.\n } else if (rangeStart <= start && rangeEnd + 1 >= end) {\n // The new range is a superset of the old range.\n data[index] = rangeStart;\n data[index + 1] = rangeEnd + 1;\n added = true;\n }\n\n index += 2;\n } // The loop has finished without doing anything; add the new pair to the end\n // of the data set.\n\n\n if (!added) {\n data.push(rangeStart, rangeEnd + 1);\n }\n\n return data;\n };\n\n var dataContains = function (data, codePoint) {\n var index = 0;\n var length = data.length; // Exit early if `codePoint` is not within `data`’s overall range.\n\n var start = data[index];\n var end = data[length - 1];\n\n if (length >= 2) {\n if (codePoint < start || codePoint > end) {\n return false;\n }\n } // Iterate over the data per `(start, end)` pair.\n\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n if (codePoint >= start && codePoint < end) {\n return true;\n }\n\n index += 2;\n }\n\n return false;\n };\n\n var dataIntersection = function (data, codePoints) {\n var index = 0;\n var length = codePoints.length;\n var codePoint;\n var result = [];\n\n while (index < length) {\n codePoint = codePoints[index];\n\n if (dataContains(data, codePoint)) {\n result.push(codePoint);\n }\n\n ++index;\n }\n\n return dataFromCodePoints(result);\n };\n\n var dataIsEmpty = function (data) {\n return !data.length;\n };\n\n var dataIsSingleton = function (data) {\n // Check if the set only represents a single code point.\n return data.length == 2 && data[0] + 1 == data[1];\n };\n\n var dataToArray = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var result = [];\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n while (start < end) {\n result.push(start);\n ++start;\n }\n\n index += 2;\n }\n\n return result;\n };\n /*--------------------------------------------------------------------------*/\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\n\n var floor = Math.floor;\n\n var highSurrogate = function (codePoint) {\n return parseInt(floor((codePoint - 0x10000) / 0x400) + HIGH_SURROGATE_MIN, 10);\n };\n\n var lowSurrogate = function (codePoint) {\n return parseInt((codePoint - 0x10000) % 0x400 + LOW_SURROGATE_MIN, 10);\n };\n\n var stringFromCharCode = String.fromCharCode;\n\n var codePointToString = function (codePoint) {\n var string; // https://mathiasbynens.be/notes/javascript-escapes#single\n // Note: the `\\b` escape sequence for U+0008 BACKSPACE in strings has a\n // different meaning in regular expressions (word boundary), so it cannot\n // be used here.\n\n if (codePoint == 0x09) {\n string = '\\\\t';\n } // Note: IE < 9 treats `'\\v'` as `'v'`, so avoid using it.\n // else if (codePoint == 0x0B) {\n // \tstring = '\\\\v';\n // }\n else if (codePoint == 0x0A) {\n string = '\\\\n';\n } else if (codePoint == 0x0C) {\n string = '\\\\f';\n } else if (codePoint == 0x0D) {\n string = '\\\\r';\n } else if (codePoint == 0x2D) {\n // https://mathiasbynens.be/notes/javascript-escapes#hexadecimal\n // Note: `-` (U+002D HYPHEN-MINUS) is escaped in this way rather\n // than by backslash-escaping, in case the output is used outside\n // of a character class in a `u` RegExp. /\\-/u throws, but\n // /\\x2D/u is fine.\n string = '\\\\x2D';\n } else if (codePoint == 0x5C) {\n string = '\\\\\\\\';\n } else if (codePoint == 0x24 || codePoint >= 0x28 && codePoint <= 0x2B || codePoint == 0x2E || codePoint == 0x2F || codePoint == 0x3F || codePoint >= 0x5B && codePoint <= 0x5E || codePoint >= 0x7B && codePoint <= 0x7D) {\n // The code point maps to an unsafe printable ASCII character;\n // backslash-escape it. Here’s the list of those symbols:\n //\n // $()*+./?[\\]^{|}\n //\n // This matches SyntaxCharacters as well as `/` (U+002F SOLIDUS).\n // https://tc39.github.io/ecma262/#prod-SyntaxCharacter\n string = '\\\\' + stringFromCharCode(codePoint);\n } else if (codePoint >= 0x20 && codePoint <= 0x7E) {\n // The code point maps to one of these printable ASCII symbols\n // (including the space character):\n //\n // !\"#%&',/0123456789:;<=>@ABCDEFGHIJKLMNO\n // PQRSTUVWXYZ_`abcdefghijklmnopqrstuvwxyz~\n //\n // These can safely be used directly.\n string = stringFromCharCode(codePoint);\n } else if (codePoint <= 0xFF) {\n string = '\\\\x' + pad(hex(codePoint), 2);\n } else {\n // `codePoint <= 0xFFFF` holds true.\n // https://mathiasbynens.be/notes/javascript-escapes#unicode\n string = '\\\\u' + pad(hex(codePoint), 4);\n } // There’s no need to account for astral symbols / surrogate pairs here,\n // since `codePointToString` is private and only used for BMP code points.\n // But if that’s what you need, just add an `else` block with this code:\n //\n // string = '\\\\u' + pad(hex(highSurrogate(codePoint)), 4)\n // \t+ '\\\\u' + pad(hex(lowSurrogate(codePoint)), 4);\n\n\n return string;\n };\n\n var codePointToStringUnicode = function (codePoint) {\n if (codePoint <= 0xFFFF) {\n return codePointToString(codePoint);\n }\n\n return '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n };\n\n var symbolToCodePoint = function (symbol) {\n var length = symbol.length;\n var first = symbol.charCodeAt(0);\n var second;\n\n if (first >= HIGH_SURROGATE_MIN && first <= HIGH_SURROGATE_MAX && length > 1 // There is a next code unit.\n ) {\n // `first` is a high surrogate, and there is a next character. Assume\n // it’s a low surrogate (else it’s invalid usage of Regenerate anyway).\n second = symbol.charCodeAt(1); // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\n return (first - HIGH_SURROGATE_MIN) * 0x400 + second - LOW_SURROGATE_MIN + 0x10000;\n }\n\n return first;\n };\n\n var createBMPCharacterClasses = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var result = '';\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n if (dataIsSingleton(data)) {\n return codePointToString(data[0]);\n }\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n if (start == end) {\n result += codePointToString(start);\n } else if (start + 1 == end) {\n result += codePointToString(start) + codePointToString(end);\n } else {\n result += codePointToString(start) + '-' + codePointToString(end);\n }\n\n index += 2;\n }\n\n return '[' + result + ']';\n };\n\n var createUnicodeCharacterClasses = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var result = '';\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n if (dataIsSingleton(data)) {\n return codePointToStringUnicode(data[0]);\n }\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n if (start == end) {\n result += codePointToStringUnicode(start);\n } else if (start + 1 == end) {\n result += codePointToStringUnicode(start) + codePointToStringUnicode(end);\n } else {\n result += codePointToStringUnicode(start) + '-' + codePointToStringUnicode(end);\n }\n\n index += 2;\n }\n\n return '[' + result + ']';\n };\n\n var splitAtBMP = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var loneHighSurrogates = [];\n var loneLowSurrogates = [];\n var bmp = [];\n var astral = [];\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n if (start < HIGH_SURROGATE_MIN) {\n // The range starts and ends before the high surrogate range.\n // E.g. (0, 0x10).\n if (end < HIGH_SURROGATE_MIN) {\n bmp.push(start, end + 1);\n } // The range starts before the high surrogate range and ends within it.\n // E.g. (0, 0xD855).\n\n\n if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, end + 1);\n } // The range starts before the high surrogate range and ends in the low\n // surrogate range. E.g. (0, 0xDCFF).\n\n\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n } // The range starts before the high surrogate range and ends after the\n // low surrogate range. E.g. (0, 0x10FFFF).\n\n\n if (end > LOW_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start >= HIGH_SURROGATE_MIN && start <= HIGH_SURROGATE_MAX) {\n // The range starts and ends in the high surrogate range.\n // E.g. (0xD855, 0xD866).\n if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n loneHighSurrogates.push(start, end + 1);\n } // The range starts in the high surrogate range and ends in the low\n // surrogate range. E.g. (0xD855, 0xDCFF).\n\n\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n } // The range starts in the high surrogate range and ends after the low\n // surrogate range. E.g. (0xD855, 0x10FFFF).\n\n\n if (end > LOW_SURROGATE_MAX) {\n loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start >= LOW_SURROGATE_MIN && start <= LOW_SURROGATE_MAX) {\n // The range starts and ends in the low surrogate range.\n // E.g. (0xDCFF, 0xDDFF).\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n loneLowSurrogates.push(start, end + 1);\n } // The range starts in the low surrogate range and ends after the low\n // surrogate range. E.g. (0xDCFF, 0x10FFFF).\n\n\n if (end > LOW_SURROGATE_MAX) {\n loneLowSurrogates.push(start, LOW_SURROGATE_MAX + 1);\n\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start > LOW_SURROGATE_MAX && start <= 0xFFFF) {\n // The range starts and ends after the low surrogate range.\n // E.g. (0xFFAA, 0x10FFFF).\n if (end <= 0xFFFF) {\n bmp.push(start, end + 1);\n } else {\n bmp.push(start, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n } else {\n // The range starts and ends in the astral range.\n astral.push(start, end + 1);\n }\n\n index += 2;\n }\n\n return {\n 'loneHighSurrogates': loneHighSurrogates,\n 'loneLowSurrogates': loneLowSurrogates,\n 'bmp': bmp,\n 'astral': astral\n };\n };\n\n var optimizeSurrogateMappings = function (surrogateMappings) {\n var result = [];\n var tmpLow = [];\n var addLow = false;\n var mapping;\n var nextMapping;\n var highSurrogates;\n var lowSurrogates;\n var nextHighSurrogates;\n var nextLowSurrogates;\n var index = -1;\n var length = surrogateMappings.length;\n\n while (++index < length) {\n mapping = surrogateMappings[index];\n nextMapping = surrogateMappings[index + 1];\n\n if (!nextMapping) {\n result.push(mapping);\n continue;\n }\n\n highSurrogates = mapping[0];\n lowSurrogates = mapping[1];\n nextHighSurrogates = nextMapping[0];\n nextLowSurrogates = nextMapping[1]; // Check for identical high surrogate ranges.\n\n tmpLow = lowSurrogates;\n\n while (nextHighSurrogates && highSurrogates[0] == nextHighSurrogates[0] && highSurrogates[1] == nextHighSurrogates[1]) {\n // Merge with the next item.\n if (dataIsSingleton(nextLowSurrogates)) {\n tmpLow = dataAdd(tmpLow, nextLowSurrogates[0]);\n } else {\n tmpLow = dataAddRange(tmpLow, nextLowSurrogates[0], nextLowSurrogates[1] - 1);\n }\n\n ++index;\n mapping = surrogateMappings[index];\n highSurrogates = mapping[0];\n lowSurrogates = mapping[1];\n nextMapping = surrogateMappings[index + 1];\n nextHighSurrogates = nextMapping && nextMapping[0];\n nextLowSurrogates = nextMapping && nextMapping[1];\n addLow = true;\n }\n\n result.push([highSurrogates, addLow ? tmpLow : lowSurrogates]);\n addLow = false;\n }\n\n return optimizeByLowSurrogates(result);\n };\n\n var optimizeByLowSurrogates = function (surrogateMappings) {\n if (surrogateMappings.length == 1) {\n return surrogateMappings;\n }\n\n var index = -1;\n var innerIndex = -1;\n\n while (++index < surrogateMappings.length) {\n var mapping = surrogateMappings[index];\n var lowSurrogates = mapping[1];\n var lowSurrogateStart = lowSurrogates[0];\n var lowSurrogateEnd = lowSurrogates[1];\n innerIndex = index; // Note: the loop starts at the next index.\n\n while (++innerIndex < surrogateMappings.length) {\n var otherMapping = surrogateMappings[innerIndex];\n var otherLowSurrogates = otherMapping[1];\n var otherLowSurrogateStart = otherLowSurrogates[0];\n var otherLowSurrogateEnd = otherLowSurrogates[1];\n\n if (lowSurrogateStart == otherLowSurrogateStart && lowSurrogateEnd == otherLowSurrogateEnd && otherLowSurrogates.length === 2) {\n // Add the code points in the other item to this one.\n if (dataIsSingleton(otherMapping[0])) {\n mapping[0] = dataAdd(mapping[0], otherMapping[0][0]);\n } else {\n mapping[0] = dataAddRange(mapping[0], otherMapping[0][0], otherMapping[0][1] - 1);\n } // Remove the other, now redundant, item.\n\n\n surrogateMappings.splice(innerIndex, 1);\n --innerIndex;\n }\n }\n }\n\n return surrogateMappings;\n };\n\n var surrogateSet = function (data) {\n // Exit early if `data` is an empty set.\n if (!data.length) {\n return [];\n } // Iterate over the data per `(start, end)` pair.\n\n\n var index = 0;\n var start;\n var end;\n var startHigh;\n var startLow;\n var endHigh;\n var endLow;\n var surrogateMappings = [];\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1;\n startHigh = highSurrogate(start);\n startLow = lowSurrogate(start);\n endHigh = highSurrogate(end);\n endLow = lowSurrogate(end);\n var startsWithLowestLowSurrogate = startLow == LOW_SURROGATE_MIN;\n var endsWithHighestLowSurrogate = endLow == LOW_SURROGATE_MAX;\n var complete = false; // Append the previous high-surrogate-to-low-surrogate mappings.\n // Step 1: `(startHigh, startLow)` to `(startHigh, LOW_SURROGATE_MAX)`.\n\n if (startHigh == endHigh || startsWithLowestLowSurrogate && endsWithHighestLowSurrogate) {\n surrogateMappings.push([[startHigh, endHigh + 1], [startLow, endLow + 1]]);\n complete = true;\n } else {\n surrogateMappings.push([[startHigh, startHigh + 1], [startLow, LOW_SURROGATE_MAX + 1]]);\n } // Step 2: `(startHigh + 1, LOW_SURROGATE_MIN)` to\n // `(endHigh - 1, LOW_SURROGATE_MAX)`.\n\n\n if (!complete && startHigh + 1 < endHigh) {\n if (endsWithHighestLowSurrogate) {\n // Combine step 2 and step 3.\n surrogateMappings.push([[startHigh + 1, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);\n complete = true;\n } else {\n surrogateMappings.push([[startHigh + 1, endHigh], [LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1]]);\n }\n } // Step 3. `(endHigh, LOW_SURROGATE_MIN)` to `(endHigh, endLow)`.\n\n\n if (!complete) {\n surrogateMappings.push([[endHigh, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);\n }\n\n index += 2;\n } // The format of `surrogateMappings` is as follows:\n //\n // [ surrogateMapping1, surrogateMapping2 ]\n //\n // i.e.:\n //\n // [\n // [ highSurrogates1, lowSurrogates1 ],\n // [ highSurrogates2, lowSurrogates2 ]\n // ]\n\n\n return optimizeSurrogateMappings(surrogateMappings);\n };\n\n var createSurrogateCharacterClasses = function (surrogateMappings) {\n var result = [];\n forEach(surrogateMappings, function (surrogateMapping) {\n var highSurrogates = surrogateMapping[0];\n var lowSurrogates = surrogateMapping[1];\n result.push(createBMPCharacterClasses(highSurrogates) + createBMPCharacterClasses(lowSurrogates));\n });\n return result.join('|');\n };\n\n var createCharacterClassesFromData = function (data, bmpOnly, hasUnicodeFlag) {\n if (hasUnicodeFlag) {\n return createUnicodeCharacterClasses(data);\n }\n\n var result = [];\n var parts = splitAtBMP(data);\n var loneHighSurrogates = parts.loneHighSurrogates;\n var loneLowSurrogates = parts.loneLowSurrogates;\n var bmp = parts.bmp;\n var astral = parts.astral;\n var hasLoneHighSurrogates = !dataIsEmpty(loneHighSurrogates);\n var hasLoneLowSurrogates = !dataIsEmpty(loneLowSurrogates);\n var surrogateMappings = surrogateSet(astral);\n\n if (bmpOnly) {\n bmp = dataAddData(bmp, loneHighSurrogates);\n hasLoneHighSurrogates = false;\n bmp = dataAddData(bmp, loneLowSurrogates);\n hasLoneLowSurrogates = false;\n }\n\n if (!dataIsEmpty(bmp)) {\n // The data set contains BMP code points that are not high surrogates\n // needed for astral code points in the set.\n result.push(createBMPCharacterClasses(bmp));\n }\n\n if (surrogateMappings.length) {\n // The data set contains astral code points; append character classes\n // based on their surrogate pairs.\n result.push(createSurrogateCharacterClasses(surrogateMappings));\n } // https://gist.github.com/mathiasbynens/bbe7f870208abcfec860\n\n\n if (hasLoneHighSurrogates) {\n result.push(createBMPCharacterClasses(loneHighSurrogates) + // Make sure the high surrogates aren’t part of a surrogate pair.\n '(?![\\\\uDC00-\\\\uDFFF])');\n }\n\n if (hasLoneLowSurrogates) {\n result.push( // It is not possible to accurately assert the low surrogates aren’t\n // part of a surrogate pair, since JavaScript regular expressions do\n // not support lookbehind.\n '(?:[^\\\\uD800-\\\\uDBFF]|^)' + createBMPCharacterClasses(loneLowSurrogates));\n }\n\n return result.join('|');\n };\n /*--------------------------------------------------------------------------*/\n // `regenerate` can be used as a constructor (and new methods can be added to\n // its prototype) but also as a regular function, the latter of which is the\n // documented and most common usage. For that reason, it’s not capitalized.\n\n\n var regenerate = function (value) {\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n\n if (this instanceof regenerate) {\n this.data = [];\n return value ? this.add(value) : this;\n }\n\n return new regenerate().add(value);\n };\n\n regenerate.version = '1.4.2';\n var proto = regenerate.prototype;\n extend(proto, {\n 'add': function (value) {\n var $this = this;\n\n if (value == null) {\n return $this;\n }\n\n if (value instanceof regenerate) {\n // Allow passing other Regenerate instances.\n $this.data = dataAddData($this.data, value.data);\n return $this;\n }\n\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n\n if (isArray(value)) {\n forEach(value, function (item) {\n $this.add(item);\n });\n return $this;\n }\n\n $this.data = dataAdd($this.data, isNumber(value) ? value : symbolToCodePoint(value));\n return $this;\n },\n 'remove': function (value) {\n var $this = this;\n\n if (value == null) {\n return $this;\n }\n\n if (value instanceof regenerate) {\n // Allow passing other Regenerate instances.\n $this.data = dataRemoveData($this.data, value.data);\n return $this;\n }\n\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n\n if (isArray(value)) {\n forEach(value, function (item) {\n $this.remove(item);\n });\n return $this;\n }\n\n $this.data = dataRemove($this.data, isNumber(value) ? value : symbolToCodePoint(value));\n return $this;\n },\n 'addRange': function (start, end) {\n var $this = this;\n $this.data = dataAddRange($this.data, isNumber(start) ? start : symbolToCodePoint(start), isNumber(end) ? end : symbolToCodePoint(end));\n return $this;\n },\n 'removeRange': function (start, end) {\n var $this = this;\n var startCodePoint = isNumber(start) ? start : symbolToCodePoint(start);\n var endCodePoint = isNumber(end) ? end : symbolToCodePoint(end);\n $this.data = dataRemoveRange($this.data, startCodePoint, endCodePoint);\n return $this;\n },\n 'intersection': function (argument) {\n var $this = this; // Allow passing other Regenerate instances.\n // TODO: Optimize this by writing and using `dataIntersectionData()`.\n\n var array = argument instanceof regenerate ? dataToArray(argument.data) : argument;\n $this.data = dataIntersection($this.data, array);\n return $this;\n },\n 'contains': function (codePoint) {\n return dataContains(this.data, isNumber(codePoint) ? codePoint : symbolToCodePoint(codePoint));\n },\n 'clone': function () {\n var set = new regenerate();\n set.data = this.data.slice(0);\n return set;\n },\n 'toString': function (options) {\n var result = createCharacterClassesFromData(this.data, options ? options.bmpOnly : false, options ? options.hasUnicodeFlag : false);\n\n if (!result) {\n // For an empty set, return something that can be inserted `/here/` to\n // form a valid regular expression. Avoid `(?:)` since that matches the\n // empty string.\n return '[]';\n } // Use `\\0` instead of `\\x00` where possible.\n\n\n return result.replace(regexNull, '\\\\0$1');\n },\n 'toRegExp': function (flags) {\n var pattern = this.toString(flags && flags.indexOf('u') != -1 ? {\n 'hasUnicodeFlag': true\n } : null);\n return RegExp(pattern, flags || '');\n },\n 'valueOf': function () {\n // Note: `valueOf` is aliased as `toArray`.\n return dataToArray(this.data);\n }\n });\n proto.toArray = proto.valueOf; // Some AMD build optimizers, like r.js, check for specific condition patterns\n // like the following:\n\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n define(function () {\n return regenerate;\n });\n } else if (freeExports && !freeExports.nodeType) {\n if (freeModule) {\n // in Node.js, io.js, or RingoJS v0.8.0+\n freeModule.exports = regenerate;\n } else {\n // in Narwhal or RingoJS v0.7.0-\n freeExports.regenerate = regenerate;\n }\n } else {\n // in Rhino or a web browser\n root.regenerate = regenerate;\n }\n})(this);","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\nexport default isPropValid;","import { typeOf as e, isElement as t, isValidElementType as n } from \"react-is\";\nimport r, { useState as o, useContext as s, useMemo as i, useEffect as a, useRef as c, createElement as u, useDebugValue as l, useLayoutEffect as d } from \"react\";\nimport h from \"shallowequal\";\nimport p from \"@emotion/stylis\";\nimport f from \"@emotion/unitless\";\nimport m from \"@emotion/is-prop-valid\";\nimport y from \"hoist-non-react-statics\";\n\nfunction v() {\n return (v = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nvar g = function (e, t) {\n for (var n = [e[0]], r = 0, o = t.length; r < o; r += 1) n.push(t[r], e[r + 1]);\n\n return n;\n},\n S = function (t) {\n return null !== t && \"object\" == typeof t && \"[object Object]\" === (t.toString ? t.toString() : Object.prototype.toString.call(t)) && !e(t);\n},\n w = Object.freeze([]),\n E = Object.freeze({});\n\nfunction b(e) {\n return \"function\" == typeof e;\n}\n\nfunction _(e) {\n return \"production\" !== process.env.NODE_ENV && \"string\" == typeof e && e || e.displayName || e.name || \"Component\";\n}\n\nfunction N(e) {\n return e && \"string\" == typeof e.styledComponentId;\n}\n\nvar A = \"undefined\" != typeof process && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || \"data-styled\",\n C = \"5.3.6\",\n I = \"undefined\" != typeof window && \"HTMLElement\" in window,\n P = Boolean(\"boolean\" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && \"\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? \"false\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.SC_DISABLE_SPEEDY && \"\" !== process.env.SC_DISABLE_SPEEDY ? \"false\" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : \"production\" !== process.env.NODE_ENV),\n O = {},\n R = \"production\" !== process.env.NODE_ENV ? {\n 1: \"Cannot create styled-component for component: %s.\\n\\n\",\n 2: \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n 3: \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n 4: \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n 5: \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n 6: \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n 7: 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',\n 8: 'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',\n 9: \"Missing document ``\\n\\n\",\n 10: \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n 11: \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n 12: \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n 13: \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n 14: 'ThemeProvider: \"theme\" prop is required.\\n\\n',\n 15: \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n 16: \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n 17: \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n} : {};\n\nfunction D() {\n for (var e = arguments.length <= 0 ? void 0 : arguments[0], t = [], n = 1, r = arguments.length; n < r; n += 1) t.push(n < 0 || arguments.length <= n ? void 0 : arguments[n]);\n\n return t.forEach(function (t) {\n e = e.replace(/%[a-z]/, t);\n }), e;\n}\n\nfunction j(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n throw \"production\" === process.env.NODE_ENV ? new Error(\"An error occurred. See https://git.io/JUIaE#\" + e + \" for more information.\" + (n.length > 0 ? \" Args: \" + n.join(\", \") : \"\")) : new Error(D.apply(void 0, [R[e]].concat(n)).trim());\n}\n\nvar T = function () {\n function e(e) {\n this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e;\n }\n\n var t = e.prototype;\n return t.indexOfGroup = function (e) {\n for (var t = 0, n = 0; n < e; n++) t += this.groupSizes[n];\n\n return t;\n }, t.insertRules = function (e, t) {\n if (e >= this.groupSizes.length) {\n for (var n = this.groupSizes, r = n.length, o = r; e >= o;) (o <<= 1) < 0 && j(16, \"\" + e);\n\n this.groupSizes = new Uint32Array(o), this.groupSizes.set(n), this.length = o;\n\n for (var s = r; s < o; s++) this.groupSizes[s] = 0;\n }\n\n for (var i = this.indexOfGroup(e + 1), a = 0, c = t.length; a < c; a++) this.tag.insertRule(i, t[a]) && (this.groupSizes[e]++, i++);\n }, t.clearGroup = function (e) {\n if (e < this.length) {\n var t = this.groupSizes[e],\n n = this.indexOfGroup(e),\n r = n + t;\n this.groupSizes[e] = 0;\n\n for (var o = n; o < r; o++) this.tag.deleteRule(n);\n }\n }, t.getGroup = function (e) {\n var t = \"\";\n if (e >= this.length || 0 === this.groupSizes[e]) return t;\n\n for (var n = this.groupSizes[e], r = this.indexOfGroup(e), o = r + n, s = r; s < o; s++) t += this.tag.getRule(s) + \"/*!sc*/\\n\";\n\n return t;\n }, e;\n}(),\n x = new Map(),\n k = new Map(),\n V = 1,\n B = function (e) {\n if (x.has(e)) return x.get(e);\n\n for (; k.has(V);) V++;\n\n var t = V++;\n return \"production\" !== process.env.NODE_ENV && ((0 | t) < 0 || t > 1 << 30) && j(16, \"\" + t), x.set(e, t), k.set(t, e), t;\n},\n z = function (e) {\n return k.get(e);\n},\n M = function (e, t) {\n t >= V && (V = t + 1), x.set(e, t), k.set(t, e);\n},\n G = \"style[\" + A + '][data-styled-version=\"5.3.6\"]',\n L = new RegExp(\"^\" + A + '\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),\n F = function (e, t, n) {\n for (var r, o = n.split(\",\"), s = 0, i = o.length; s < i; s++) (r = o[s]) && e.registerName(t, r);\n},\n Y = function (e, t) {\n for (var n = (t.textContent || \"\").split(\"/*!sc*/\\n\"), r = [], o = 0, s = n.length; o < s; o++) {\n var i = n[o].trim();\n\n if (i) {\n var a = i.match(L);\n\n if (a) {\n var c = 0 | parseInt(a[1], 10),\n u = a[2];\n 0 !== c && (M(u, c), F(e, u, a[3]), e.getTag().insertRules(c, r)), r.length = 0;\n } else r.push(i);\n }\n }\n},\n q = function () {\n return \"undefined\" != typeof __webpack_nonce__ ? __webpack_nonce__ : null;\n},\n H = function (e) {\n var t = document.head,\n n = e || t,\n r = document.createElement(\"style\"),\n o = function (e) {\n for (var t = e.childNodes, n = t.length; n >= 0; n--) {\n var r = t[n];\n if (r && 1 === r.nodeType && r.hasAttribute(A)) return r;\n }\n }(n),\n s = void 0 !== o ? o.nextSibling : null;\n\n r.setAttribute(A, \"active\"), r.setAttribute(\"data-styled-version\", \"5.3.6\");\n var i = q();\n return i && r.setAttribute(\"nonce\", i), n.insertBefore(r, s), r;\n},\n $ = function () {\n function e(e) {\n var t = this.element = H(e);\n t.appendChild(document.createTextNode(\"\")), this.sheet = function (e) {\n if (e.sheet) return e.sheet;\n\n for (var t = document.styleSheets, n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n if (o.ownerNode === e) return o;\n }\n\n j(17);\n }(t), this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n try {\n return this.sheet.insertRule(t, e), this.length++, !0;\n } catch (e) {\n return !1;\n }\n }, t.deleteRule = function (e) {\n this.sheet.deleteRule(e), this.length--;\n }, t.getRule = function (e) {\n var t = this.sheet.cssRules[e];\n return void 0 !== t && \"string\" == typeof t.cssText ? t.cssText : \"\";\n }, e;\n}(),\n W = function () {\n function e(e) {\n var t = this.element = H(e);\n this.nodes = t.childNodes, this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n if (e <= this.length && e >= 0) {\n var n = document.createTextNode(t),\n r = this.nodes[e];\n return this.element.insertBefore(n, r || null), this.length++, !0;\n }\n\n return !1;\n }, t.deleteRule = function (e) {\n this.element.removeChild(this.nodes[e]), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.nodes[e].textContent : \"\";\n }, e;\n}(),\n U = function () {\n function e(e) {\n this.rules = [], this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n return e <= this.length && (this.rules.splice(e, 0, t), this.length++, !0);\n }, t.deleteRule = function (e) {\n this.rules.splice(e, 1), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.rules[e] : \"\";\n }, e;\n}(),\n J = I,\n X = {\n isServer: !I,\n useCSSOMInjection: !P\n},\n Z = function () {\n function e(e, t, n) {\n void 0 === e && (e = E), void 0 === t && (t = {}), this.options = v({}, X, {}, e), this.gs = t, this.names = new Map(n), this.server = !!e.isServer, !this.server && I && J && (J = !1, function (e) {\n for (var t = document.querySelectorAll(G), n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n o && \"active\" !== o.getAttribute(A) && (Y(e, o), o.parentNode && o.parentNode.removeChild(o));\n }\n }(this));\n }\n\n e.registerId = function (e) {\n return B(e);\n };\n\n var t = e.prototype;\n return t.reconstructWithOptions = function (t, n) {\n return void 0 === n && (n = !0), new e(v({}, this.options, {}, t), this.gs, n && this.names || void 0);\n }, t.allocateGSInstance = function (e) {\n return this.gs[e] = (this.gs[e] || 0) + 1;\n }, t.getTag = function () {\n return this.tag || (this.tag = (n = (t = this.options).isServer, r = t.useCSSOMInjection, o = t.target, e = n ? new U(o) : r ? new $(o) : new W(o), new T(e)));\n var e, t, n, r, o;\n }, t.hasNameForId = function (e, t) {\n return this.names.has(e) && this.names.get(e).has(t);\n }, t.registerName = function (e, t) {\n if (B(e), this.names.has(e)) this.names.get(e).add(t);else {\n var n = new Set();\n n.add(t), this.names.set(e, n);\n }\n }, t.insertRules = function (e, t, n) {\n this.registerName(e, t), this.getTag().insertRules(B(e), n);\n }, t.clearNames = function (e) {\n this.names.has(e) && this.names.get(e).clear();\n }, t.clearRules = function (e) {\n this.getTag().clearGroup(B(e)), this.clearNames(e);\n }, t.clearTag = function () {\n this.tag = void 0;\n }, t.toString = function () {\n return function (e) {\n for (var t = e.getTag(), n = t.length, r = \"\", o = 0; o < n; o++) {\n var s = z(o);\n\n if (void 0 !== s) {\n var i = e.names.get(s),\n a = t.getGroup(o);\n\n if (i && a && i.size) {\n var c = A + \".g\" + o + '[id=\"' + s + '\"]',\n u = \"\";\n void 0 !== i && i.forEach(function (e) {\n e.length > 0 && (u += e + \",\");\n }), r += \"\" + a + c + '{content:\"' + u + '\"}/*!sc*/\\n';\n }\n }\n }\n\n return r;\n }(this);\n }, e;\n}(),\n K = /(a)(d)/gi,\n Q = function (e) {\n return String.fromCharCode(e + (e > 25 ? 39 : 97));\n};\n\nfunction ee(e) {\n var t,\n n = \"\";\n\n for (t = Math.abs(e); t > 52; t = t / 52 | 0) n = Q(t % 52) + n;\n\n return (Q(t % 52) + n).replace(K, \"$1-$2\");\n}\n\nvar te = function (e, t) {\n for (var n = t.length; n;) e = 33 * e ^ t.charCodeAt(--n);\n\n return e;\n},\n ne = function (e) {\n return te(5381, e);\n};\n\nfunction re(e) {\n for (var t = 0; t < e.length; t += 1) {\n var n = e[t];\n if (b(n) && !N(n)) return !1;\n }\n\n return !0;\n}\n\nvar oe = ne(\"5.3.6\"),\n se = function () {\n function e(e, t, n) {\n this.rules = e, this.staticRulesId = \"\", this.isStatic = \"production\" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && re(e), this.componentId = t, this.baseHash = te(oe, t), this.baseStyle = n, Z.registerId(t);\n }\n\n return e.prototype.generateAndInjectStyles = function (e, t, n) {\n var r = this.componentId,\n o = [];\n if (this.baseStyle && o.push(this.baseStyle.generateAndInjectStyles(e, t, n)), this.isStatic && !n.hash) {\n if (this.staticRulesId && t.hasNameForId(r, this.staticRulesId)) o.push(this.staticRulesId);else {\n var s = Ne(this.rules, e, t, n).join(\"\"),\n i = ee(te(this.baseHash, s) >>> 0);\n\n if (!t.hasNameForId(r, i)) {\n var a = n(s, \".\" + i, void 0, r);\n t.insertRules(r, i, a);\n }\n\n o.push(i), this.staticRulesId = i;\n }\n } else {\n for (var c = this.rules.length, u = te(this.baseHash, n.hash), l = \"\", d = 0; d < c; d++) {\n var h = this.rules[d];\n if (\"string\" == typeof h) l += h, \"production\" !== process.env.NODE_ENV && (u = te(u, h + d));else if (h) {\n var p = Ne(h, e, t, n),\n f = Array.isArray(p) ? p.join(\"\") : p;\n u = te(u, f + d), l += f;\n }\n }\n\n if (l) {\n var m = ee(u >>> 0);\n\n if (!t.hasNameForId(r, m)) {\n var y = n(l, \".\" + m, void 0, r);\n t.insertRules(r, m, y);\n }\n\n o.push(m);\n }\n }\n return o.join(\" \");\n }, e;\n}(),\n ie = /^\\s*\\/\\/.*$/gm,\n ae = [\":\", \"[\", \".\", \"#\"];\n\nfunction ce(e) {\n var t,\n n,\n r,\n o,\n s = void 0 === e ? E : e,\n i = s.options,\n a = void 0 === i ? E : i,\n c = s.plugins,\n u = void 0 === c ? w : c,\n l = new p(a),\n d = [],\n h = function (e) {\n function t(t) {\n if (t) try {\n e(t + \"}\");\n } catch (e) {}\n }\n\n return function (n, r, o, s, i, a, c, u, l, d) {\n switch (n) {\n case 1:\n if (0 === l && 64 === r.charCodeAt(0)) return e(r + \";\"), \"\";\n break;\n\n case 2:\n if (0 === u) return r + \"/*|*/\";\n break;\n\n case 3:\n switch (u) {\n case 102:\n case 112:\n return e(o[0] + r), \"\";\n\n default:\n return r + (0 === d ? \"/*|*/\" : \"\");\n }\n\n case -2:\n r.split(\"/*|*/}\").forEach(t);\n }\n };\n }(function (e) {\n d.push(e);\n }),\n f = function (e, r, s) {\n return 0 === r && -1 !== ae.indexOf(s[n.length]) || s.match(o) ? e : \".\" + t;\n };\n\n function m(e, s, i, a) {\n void 0 === a && (a = \"&\");\n var c = e.replace(ie, \"\"),\n u = s && i ? i + \" \" + s + \" { \" + c + \" }\" : c;\n return t = a, n = s, r = new RegExp(\"\\\\\" + n + \"\\\\b\", \"g\"), o = new RegExp(\"(\\\\\" + n + \"\\\\b){2,}\"), l(i || !s ? \"\" : s, u);\n }\n\n return l.use([].concat(u, [function (e, t, o) {\n 2 === e && o.length && o[0].lastIndexOf(n) > 0 && (o[0] = o[0].replace(r, f));\n }, h, function (e) {\n if (-2 === e) {\n var t = d;\n return d = [], t;\n }\n }])), m.hash = u.length ? u.reduce(function (e, t) {\n return t.name || j(15), te(e, t.name);\n }, 5381).toString() : \"\", m;\n}\n\nvar ue = r.createContext(),\n le = ue.Consumer,\n de = r.createContext(),\n he = (de.Consumer, new Z()),\n pe = ce();\n\nfunction fe() {\n return s(ue) || he;\n}\n\nfunction me() {\n return s(de) || pe;\n}\n\nfunction ye(e) {\n var t = o(e.stylisPlugins),\n n = t[0],\n s = t[1],\n c = fe(),\n u = i(function () {\n var t = c;\n return e.sheet ? t = e.sheet : e.target && (t = t.reconstructWithOptions({\n target: e.target\n }, !1)), e.disableCSSOMInjection && (t = t.reconstructWithOptions({\n useCSSOMInjection: !1\n })), t;\n }, [e.disableCSSOMInjection, e.sheet, e.target]),\n l = i(function () {\n return ce({\n options: {\n prefix: !e.disableVendorPrefixes\n },\n plugins: n\n });\n }, [e.disableVendorPrefixes, n]);\n return a(function () {\n h(n, e.stylisPlugins) || s(e.stylisPlugins);\n }, [e.stylisPlugins]), r.createElement(ue.Provider, {\n value: u\n }, r.createElement(de.Provider, {\n value: l\n }, \"production\" !== process.env.NODE_ENV ? r.Children.only(e.children) : e.children));\n}\n\nvar ve = function () {\n function e(e, t) {\n var n = this;\n this.inject = function (e, t) {\n void 0 === t && (t = pe);\n var r = n.name + t.hash;\n e.hasNameForId(n.id, r) || e.insertRules(n.id, r, t(n.rules, r, \"@keyframes\"));\n }, this.toString = function () {\n return j(12, String(n.name));\n }, this.name = e, this.id = \"sc-keyframes-\" + e, this.rules = t;\n }\n\n return e.prototype.getName = function (e) {\n return void 0 === e && (e = pe), this.name + e.hash;\n }, e;\n}(),\n ge = /([A-Z])/,\n Se = /([A-Z])/g,\n we = /^ms-/,\n Ee = function (e) {\n return \"-\" + e.toLowerCase();\n};\n\nfunction be(e) {\n return ge.test(e) ? e.replace(Se, Ee).replace(we, \"-ms-\") : e;\n}\n\nvar _e = function (e) {\n return null == e || !1 === e || \"\" === e;\n};\n\nfunction Ne(e, n, r, o) {\n if (Array.isArray(e)) {\n for (var s, i = [], a = 0, c = e.length; a < c; a += 1) \"\" !== (s = Ne(e[a], n, r, o)) && (Array.isArray(s) ? i.push.apply(i, s) : i.push(s));\n\n return i;\n }\n\n if (_e(e)) return \"\";\n if (N(e)) return \".\" + e.styledComponentId;\n\n if (b(e)) {\n if (\"function\" != typeof (l = e) || l.prototype && l.prototype.isReactComponent || !n) return e;\n var u = e(n);\n return \"production\" !== process.env.NODE_ENV && t(u) && console.warn(_(e) + \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"), Ne(u, n, r, o);\n }\n\n var l;\n return e instanceof ve ? r ? (e.inject(r, o), e.getName(o)) : e : S(e) ? function e(t, n) {\n var r,\n o,\n s = [];\n\n for (var i in t) t.hasOwnProperty(i) && !_e(t[i]) && (Array.isArray(t[i]) && t[i].isCss || b(t[i]) ? s.push(be(i) + \":\", t[i], \";\") : S(t[i]) ? s.push.apply(s, e(t[i], i)) : s.push(be(i) + \": \" + (r = i, null == (o = t[i]) || \"boolean\" == typeof o || \"\" === o ? \"\" : \"number\" != typeof o || 0 === o || r in f ? String(o).trim() : o + \"px\") + \";\"));\n\n return n ? [n + \" {\"].concat(s, [\"}\"]) : s;\n }(e) : e.toString();\n}\n\nvar Ae = function (e) {\n return Array.isArray(e) && (e.isCss = !0), e;\n};\n\nfunction Ce(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n return b(e) || S(e) ? Ae(Ne(g(w, [e].concat(n)))) : 0 === n.length && 1 === e.length && \"string\" == typeof e[0] ? e : Ae(Ne(g(e, n)));\n}\n\nvar Ie = /invalid hook call/i,\n Pe = new Set(),\n Oe = function (e, t) {\n if (\"production\" !== process.env.NODE_ENV) {\n var n = \"The component \" + e + (t ? ' with the id of \"' + t + '\"' : \"\") + \" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",\n r = console.error;\n\n try {\n var o = !0;\n console.error = function (e) {\n if (Ie.test(e)) o = !1, Pe.delete(n);else {\n for (var t = arguments.length, s = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) s[i - 1] = arguments[i];\n\n r.apply(void 0, [e].concat(s));\n }\n }, c(), o && !Pe.has(n) && (console.warn(n), Pe.add(n));\n } catch (e) {\n Ie.test(e.message) && Pe.delete(n);\n } finally {\n console.error = r;\n }\n }\n},\n Re = function (e, t, n) {\n return void 0 === n && (n = E), e.theme !== n.theme && e.theme || t || n.theme;\n},\n De = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,\n je = /(^-|-$)/g;\n\nfunction Te(e) {\n return e.replace(De, \"-\").replace(je, \"\");\n}\n\nvar xe = function (e) {\n return ee(ne(e) >>> 0);\n};\n\nfunction ke(e) {\n return \"string\" == typeof e && (\"production\" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());\n}\n\nvar Ve = function (e) {\n return \"function\" == typeof e || \"object\" == typeof e && null !== e && !Array.isArray(e);\n},\n Be = function (e) {\n return \"__proto__\" !== e && \"constructor\" !== e && \"prototype\" !== e;\n};\n\nfunction ze(e, t, n) {\n var r = e[n];\n Ve(t) && Ve(r) ? Me(r, t) : e[n] = t;\n}\n\nfunction Me(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n for (var o = 0, s = n; o < s.length; o++) {\n var i = s[o];\n if (Ve(i)) for (var a in i) Be(a) && ze(e, i[a], a);\n }\n\n return e;\n}\n\nvar Ge = r.createContext(),\n Le = Ge.Consumer;\n\nfunction Fe(e) {\n var t = s(Ge),\n n = i(function () {\n return function (e, t) {\n if (!e) return j(14);\n\n if (b(e)) {\n var n = e(t);\n return \"production\" === process.env.NODE_ENV || null !== n && !Array.isArray(n) && \"object\" == typeof n ? n : j(7);\n }\n\n return Array.isArray(e) || \"object\" != typeof e ? j(8) : t ? v({}, t, {}, e) : e;\n }(e.theme, t);\n }, [e.theme, t]);\n return e.children ? r.createElement(Ge.Provider, {\n value: n\n }, e.children) : null;\n}\n\nvar Ye = {};\n\nfunction qe(e, t, n) {\n var o = N(e),\n i = !ke(e),\n a = t.attrs,\n c = void 0 === a ? w : a,\n d = t.componentId,\n h = void 0 === d ? function (e, t) {\n var n = \"string\" != typeof e ? \"sc\" : Te(e);\n Ye[n] = (Ye[n] || 0) + 1;\n var r = n + \"-\" + xe(\"5.3.6\" + n + Ye[n]);\n return t ? t + \"-\" + r : r;\n }(t.displayName, t.parentComponentId) : d,\n p = t.displayName,\n f = void 0 === p ? function (e) {\n return ke(e) ? \"styled.\" + e : \"Styled(\" + _(e) + \")\";\n }(e) : p,\n g = t.displayName && t.componentId ? Te(t.displayName) + \"-\" + t.componentId : t.componentId || h,\n S = o && e.attrs ? Array.prototype.concat(e.attrs, c).filter(Boolean) : c,\n A = t.shouldForwardProp;\n o && e.shouldForwardProp && (A = t.shouldForwardProp ? function (n, r, o) {\n return e.shouldForwardProp(n, r, o) && t.shouldForwardProp(n, r, o);\n } : e.shouldForwardProp);\n\n var C,\n I = new se(n, g, o ? e.componentStyle : void 0),\n P = I.isStatic && 0 === c.length,\n O = function (e, t) {\n return function (e, t, n, r) {\n var o = e.attrs,\n i = e.componentStyle,\n a = e.defaultProps,\n c = e.foldedComponentIds,\n d = e.shouldForwardProp,\n h = e.styledComponentId,\n p = e.target;\n \"production\" !== process.env.NODE_ENV && l(h);\n\n var f = function (e, t, n) {\n void 0 === e && (e = E);\n var r = v({}, t, {\n theme: e\n }),\n o = {};\n return n.forEach(function (e) {\n var t,\n n,\n s,\n i = e;\n\n for (t in b(i) && (i = i(r)), i) r[t] = o[t] = \"className\" === t ? (n = o[t], s = i[t], n && s ? n + \" \" + s : n || s) : i[t];\n }), [r, o];\n }(Re(t, s(Ge), a) || E, t, o),\n y = f[0],\n g = f[1],\n S = function (e, t, n, r) {\n var o = fe(),\n s = me(),\n i = t ? e.generateAndInjectStyles(E, o, s) : e.generateAndInjectStyles(n, o, s);\n return \"production\" !== process.env.NODE_ENV && l(i), \"production\" !== process.env.NODE_ENV && !t && r && r(i), i;\n }(i, r, y, \"production\" !== process.env.NODE_ENV ? e.warnTooManyClasses : void 0),\n w = n,\n _ = g.$as || t.$as || g.as || t.as || p,\n N = ke(_),\n A = g !== t ? v({}, t, {}, g) : t,\n C = {};\n\n for (var I in A) \"$\" !== I[0] && \"as\" !== I && (\"forwardedAs\" === I ? C.as = A[I] : (d ? d(I, m, _) : !N || m(I)) && (C[I] = A[I]));\n\n return t.style && g.style !== t.style && (C.style = v({}, t.style, {}, g.style)), C.className = Array.prototype.concat(c, h, S !== h ? S : null, t.className, g.className).filter(Boolean).join(\" \"), C.ref = w, u(_, C);\n }(C, e, t, P);\n };\n\n return O.displayName = f, (C = r.forwardRef(O)).attrs = S, C.componentStyle = I, C.displayName = f, C.shouldForwardProp = A, C.foldedComponentIds = o ? Array.prototype.concat(e.foldedComponentIds, e.styledComponentId) : w, C.styledComponentId = g, C.target = o ? e.target : e, C.withComponent = function (e) {\n var r = t.componentId,\n o = function (e, t) {\n if (null == e) return {};\n var n,\n r,\n o = {},\n s = Object.keys(e);\n\n for (r = 0; r < s.length; r++) n = s[r], t.indexOf(n) >= 0 || (o[n] = e[n]);\n\n return o;\n }(t, [\"componentId\"]),\n s = r && r + \"-\" + (ke(e) ? e : Te(_(e)));\n\n return qe(e, v({}, o, {\n attrs: S,\n componentId: s\n }), n);\n }, Object.defineProperty(C, \"defaultProps\", {\n get: function () {\n return this._foldedDefaultProps;\n },\n set: function (t) {\n this._foldedDefaultProps = o ? Me({}, e.defaultProps, t) : t;\n }\n }), \"production\" !== process.env.NODE_ENV && (Oe(f, g), C.warnTooManyClasses = function (e, t) {\n var n = {},\n r = !1;\n return function (o) {\n if (!r && (n[o] = !0, Object.keys(n).length >= 200)) {\n var s = t ? ' with the id of \"' + t + '\"' : \"\";\n console.warn(\"Over 200 classes were generated for component \" + e + s + \".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"), r = !0, n = {};\n }\n };\n }(f, g)), C.toString = function () {\n return \".\" + C.styledComponentId;\n }, i && y(C, e, {\n attrs: !0,\n componentStyle: !0,\n displayName: !0,\n foldedComponentIds: !0,\n shouldForwardProp: !0,\n styledComponentId: !0,\n target: !0,\n withComponent: !0\n }), C;\n}\n\nvar He = function (e) {\n return function e(t, r, o) {\n if (void 0 === o && (o = E), !n(r)) return j(1, String(r));\n\n var s = function () {\n return t(r, o, Ce.apply(void 0, arguments));\n };\n\n return s.withConfig = function (n) {\n return e(t, r, v({}, o, {}, n));\n }, s.attrs = function (n) {\n return e(t, r, v({}, o, {\n attrs: Array.prototype.concat(o.attrs, n).filter(Boolean)\n }));\n }, s;\n }(qe, e);\n};\n\n[\"a\", \"abbr\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"bdi\", \"bdo\", \"big\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"textPath\", \"tspan\"].forEach(function (e) {\n He[e] = He(e);\n});\n\nvar $e = function () {\n function e(e, t) {\n this.rules = e, this.componentId = t, this.isStatic = re(e), Z.registerId(this.componentId + 1);\n }\n\n var t = e.prototype;\n return t.createStyles = function (e, t, n, r) {\n var o = r(Ne(this.rules, t, n, r).join(\"\"), \"\"),\n s = this.componentId + e;\n n.insertRules(s, s, o);\n }, t.removeStyles = function (e, t) {\n t.clearRules(this.componentId + e);\n }, t.renderStyles = function (e, t, n, r) {\n e > 2 && Z.registerId(this.componentId + e), this.removeStyles(e, n), this.createStyles(e, t, n, r);\n }, e;\n}();\n\nfunction We(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) n[o - 1] = arguments[o];\n\n var i = Ce.apply(void 0, [e].concat(n)),\n a = \"sc-global-\" + xe(JSON.stringify(i)),\n u = new $e(i, a);\n\n function l(e) {\n var t = fe(),\n n = me(),\n o = s(Ge),\n l = c(t.allocateGSInstance(a)).current;\n return \"production\" !== process.env.NODE_ENV && r.Children.count(e.children) && console.warn(\"The global style component \" + a + \" was given child JSX. createGlobalStyle does not render children.\"), \"production\" !== process.env.NODE_ENV && i.some(function (e) {\n return \"string\" == typeof e && -1 !== e.indexOf(\"@import\");\n }) && console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"), t.server && h(l, e, t, o, n), d(function () {\n if (!t.server) return h(l, e, t, o, n), function () {\n return u.removeStyles(l, t);\n };\n }, [l, e, t, o, n]), null;\n }\n\n function h(e, t, n, r, o) {\n if (u.isStatic) u.renderStyles(e, O, n, o);else {\n var s = v({}, t, {\n theme: Re(t, r, l.defaultProps)\n });\n u.renderStyles(e, s, n, o);\n }\n }\n\n return \"production\" !== process.env.NODE_ENV && Oe(a), r.memo(l);\n}\n\nfunction Ue(e) {\n \"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");\n\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n var o = Ce.apply(void 0, [e].concat(n)).join(\"\"),\n s = xe(o);\n return new ve(s, o);\n}\n\nvar Je = function () {\n function e() {\n var e = this;\n this._emitSheetCSS = function () {\n var t = e.instance.toString();\n if (!t) return \"\";\n var n = q();\n return \"\";\n }, this.getStyleTags = function () {\n return e.sealed ? j(2) : e._emitSheetCSS();\n }, this.getStyleElement = function () {\n var t;\n if (e.sealed) return j(2);\n var n = ((t = {})[A] = \"\", t[\"data-styled-version\"] = \"5.3.6\", t.dangerouslySetInnerHTML = {\n __html: e.instance.toString()\n }, t),\n o = q();\n return o && (n.nonce = o), [r.createElement(\"style\", v({}, n, {\n key: \"sc-0-0\"\n }))];\n }, this.seal = function () {\n e.sealed = !0;\n }, this.instance = new Z({\n isServer: !0\n }), this.sealed = !1;\n }\n\n var t = e.prototype;\n return t.collectStyles = function (e) {\n return this.sealed ? j(2) : r.createElement(ye, {\n sheet: this.instance\n }, e);\n }, t.interleaveWithNodeStream = function (e) {\n return j(3);\n }, e;\n}(),\n Xe = function (e) {\n var t = r.forwardRef(function (t, n) {\n var o = s(Ge),\n i = e.defaultProps,\n a = Re(t, o, i);\n return \"production\" !== process.env.NODE_ENV && void 0 === a && console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + _(e) + '\"'), r.createElement(e, v({}, t, {\n theme: a,\n ref: n\n }));\n });\n return y(t, e), t.displayName = \"WithTheme(\" + _(e) + \")\", t;\n},\n Ze = function () {\n return s(Ge);\n},\n Ke = {\n StyleSheet: Z,\n masterSheet: he\n};\n\n\"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"), \"production\" !== process.env.NODE_ENV && \"test\" !== process.env.NODE_ENV && \"undefined\" != typeof window && (window[\"__styled-components-init__\"] = window[\"__styled-components-init__\"] || 0, 1 === window[\"__styled-components-init__\"] && console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"), window[\"__styled-components-init__\"] += 1);\nexport default He;\nexport { Je as ServerStyleSheet, le as StyleSheetConsumer, ue as StyleSheetContext, ye as StyleSheetManager, Le as ThemeConsumer, Ge as ThemeContext, Fe as ThemeProvider, Ke as __PRIVATE__, We as createGlobalStyle, Ce as css, N as isStyledComponent, Ue as keyframes, Ze as useTheme, C as version, Xe as withTheme };","module.exports = new Set([// Non-binary properties:\n'General_Category', 'Script', 'Script_Extensions', // Binary properties:\n'Alphabetic', 'Any', 'ASCII', 'ASCII_Hex_Digit', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'ID_Continue', 'ID_Start', 'Ideographic', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']);","'use strict';\n\nconst canonicalProperties = require('unicode-canonical-property-names-ecmascript');\n\nconst propertyAliases = require('unicode-property-aliases-ecmascript');\n\nconst matchProperty = function (property) {\n if (canonicalProperties.has(property)) {\n return property;\n }\n\n if (propertyAliases.has(property)) {\n return propertyAliases.get(property);\n }\n\n throw new Error(\"Unknown property: \".concat(property));\n};\n\nmodule.exports = matchProperty;","module.exports = new Map([['General_Category', new Map([['C', 'Other'], ['Cc', 'Control'], ['cntrl', 'Control'], ['Cf', 'Format'], ['Cn', 'Unassigned'], ['Co', 'Private_Use'], ['Cs', 'Surrogate'], ['L', 'Letter'], ['LC', 'Cased_Letter'], ['Ll', 'Lowercase_Letter'], ['Lm', 'Modifier_Letter'], ['Lo', 'Other_Letter'], ['Lt', 'Titlecase_Letter'], ['Lu', 'Uppercase_Letter'], ['M', 'Mark'], ['Combining_Mark', 'Mark'], ['Mc', 'Spacing_Mark'], ['Me', 'Enclosing_Mark'], ['Mn', 'Nonspacing_Mark'], ['N', 'Number'], ['Nd', 'Decimal_Number'], ['digit', 'Decimal_Number'], ['Nl', 'Letter_Number'], ['No', 'Other_Number'], ['P', 'Punctuation'], ['punct', 'Punctuation'], ['Pc', 'Connector_Punctuation'], ['Pd', 'Dash_Punctuation'], ['Pe', 'Close_Punctuation'], ['Pf', 'Final_Punctuation'], ['Pi', 'Initial_Punctuation'], ['Po', 'Other_Punctuation'], ['Ps', 'Open_Punctuation'], ['S', 'Symbol'], ['Sc', 'Currency_Symbol'], ['Sk', 'Modifier_Symbol'], ['Sm', 'Math_Symbol'], ['So', 'Other_Symbol'], ['Z', 'Separator'], ['Zl', 'Line_Separator'], ['Zp', 'Paragraph_Separator'], ['Zs', 'Space_Separator'], ['Other', 'Other'], ['Control', 'Control'], ['Format', 'Format'], ['Unassigned', 'Unassigned'], ['Private_Use', 'Private_Use'], ['Surrogate', 'Surrogate'], ['Letter', 'Letter'], ['Cased_Letter', 'Cased_Letter'], ['Lowercase_Letter', 'Lowercase_Letter'], ['Modifier_Letter', 'Modifier_Letter'], ['Other_Letter', 'Other_Letter'], ['Titlecase_Letter', 'Titlecase_Letter'], ['Uppercase_Letter', 'Uppercase_Letter'], ['Mark', 'Mark'], ['Spacing_Mark', 'Spacing_Mark'], ['Enclosing_Mark', 'Enclosing_Mark'], ['Nonspacing_Mark', 'Nonspacing_Mark'], ['Number', 'Number'], ['Decimal_Number', 'Decimal_Number'], ['Letter_Number', 'Letter_Number'], ['Other_Number', 'Other_Number'], ['Punctuation', 'Punctuation'], ['Connector_Punctuation', 'Connector_Punctuation'], ['Dash_Punctuation', 'Dash_Punctuation'], ['Close_Punctuation', 'Close_Punctuation'], ['Final_Punctuation', 'Final_Punctuation'], ['Initial_Punctuation', 'Initial_Punctuation'], ['Other_Punctuation', 'Other_Punctuation'], ['Open_Punctuation', 'Open_Punctuation'], ['Symbol', 'Symbol'], ['Currency_Symbol', 'Currency_Symbol'], ['Modifier_Symbol', 'Modifier_Symbol'], ['Math_Symbol', 'Math_Symbol'], ['Other_Symbol', 'Other_Symbol'], ['Separator', 'Separator'], ['Line_Separator', 'Line_Separator'], ['Paragraph_Separator', 'Paragraph_Separator'], ['Space_Separator', 'Space_Separator']])], ['Script', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])], ['Script_Extensions', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])]]);","'use strict';\n\nconst propertyToValueAliases = require('./data/mappings.js');\n\nconst matchPropertyValue = function (property, value) {\n const aliasToValue = propertyToValueAliases.get(property);\n\n if (!aliasToValue) {\n throw new Error(\"Unknown property `\".concat(property, \"`.\"));\n }\n\n const canonicalValue = aliasToValue.get(value);\n\n if (canonicalValue) {\n return canonicalValue;\n }\n\n throw new Error(\"Unknown value `\".concat(value, \"` for property `\").concat(property, \"`.\"));\n};\n\nmodule.exports = matchPropertyValue;","// Generated using `npm run build`. Do not edit!\nmodule.exports = new Map([['scx', 'Script_Extensions'], ['sc', 'Script'], ['gc', 'General_Category'], ['AHex', 'ASCII_Hex_Digit'], ['Alpha', 'Alphabetic'], ['Bidi_C', 'Bidi_Control'], ['Bidi_M', 'Bidi_Mirrored'], ['Cased', 'Cased'], ['CI', 'Case_Ignorable'], ['CWCF', 'Changes_When_Casefolded'], ['CWCM', 'Changes_When_Casemapped'], ['CWKCF', 'Changes_When_NFKC_Casefolded'], ['CWL', 'Changes_When_Lowercased'], ['CWT', 'Changes_When_Titlecased'], ['CWU', 'Changes_When_Uppercased'], ['Dash', 'Dash'], ['Dep', 'Deprecated'], ['DI', 'Default_Ignorable_Code_Point'], ['Dia', 'Diacritic'], ['EBase', 'Emoji_Modifier_Base'], ['EComp', 'Emoji_Component'], ['EMod', 'Emoji_Modifier'], ['Emoji', 'Emoji'], ['EPres', 'Emoji_Presentation'], ['Ext', 'Extender'], ['ExtPict', 'Extended_Pictographic'], ['Gr_Base', 'Grapheme_Base'], ['Gr_Ext', 'Grapheme_Extend'], ['Hex', 'Hex_Digit'], ['IDC', 'ID_Continue'], ['Ideo', 'Ideographic'], ['IDS', 'ID_Start'], ['IDSB', 'IDS_Binary_Operator'], ['IDST', 'IDS_Trinary_Operator'], ['Join_C', 'Join_Control'], ['LOE', 'Logical_Order_Exception'], ['Lower', 'Lowercase'], ['Math', 'Math'], ['NChar', 'Noncharacter_Code_Point'], ['Pat_Syn', 'Pattern_Syntax'], ['Pat_WS', 'Pattern_White_Space'], ['QMark', 'Quotation_Mark'], ['Radical', 'Radical'], ['RI', 'Regional_Indicator'], ['SD', 'Soft_Dotted'], ['STerm', 'Sentence_Terminal'], ['Term', 'Terminal_Punctuation'], ['UIdeo', 'Unified_Ideograph'], ['Upper', 'Uppercase'], ['VS', 'Variation_Selector'], ['WSpace', 'White_Space'], ['space', 'White_Space'], ['XIDC', 'XID_Continue'], ['XIDS', 'XID_Start']]);","var map = {\n\t\"./Binary_Property/ASCII.js\": 80055,\n\t\"./Binary_Property/ASCII_Hex_Digit.js\": 81731,\n\t\"./Binary_Property/Alphabetic.js\": 75244,\n\t\"./Binary_Property/Any.js\": 25929,\n\t\"./Binary_Property/Assigned.js\": 72573,\n\t\"./Binary_Property/Bidi_Control.js\": 83029,\n\t\"./Binary_Property/Bidi_Mirrored.js\": 50755,\n\t\"./Binary_Property/Case_Ignorable.js\": 86317,\n\t\"./Binary_Property/Cased.js\": 78087,\n\t\"./Binary_Property/Changes_When_Casefolded.js\": 61587,\n\t\"./Binary_Property/Changes_When_Casemapped.js\": 62518,\n\t\"./Binary_Property/Changes_When_Lowercased.js\": 50140,\n\t\"./Binary_Property/Changes_When_NFKC_Casefolded.js\": 97224,\n\t\"./Binary_Property/Changes_When_Titlecased.js\": 40835,\n\t\"./Binary_Property/Changes_When_Uppercased.js\": 95428,\n\t\"./Binary_Property/Dash.js\": 78233,\n\t\"./Binary_Property/Default_Ignorable_Code_Point.js\": 91357,\n\t\"./Binary_Property/Deprecated.js\": 18391,\n\t\"./Binary_Property/Diacritic.js\": 5198,\n\t\"./Binary_Property/Emoji.js\": 42117,\n\t\"./Binary_Property/Emoji_Component.js\": 97581,\n\t\"./Binary_Property/Emoji_Modifier.js\": 39030,\n\t\"./Binary_Property/Emoji_Modifier_Base.js\": 18618,\n\t\"./Binary_Property/Emoji_Presentation.js\": 29702,\n\t\"./Binary_Property/Extended_Pictographic.js\": 5667,\n\t\"./Binary_Property/Extender.js\": 9002,\n\t\"./Binary_Property/Grapheme_Base.js\": 96851,\n\t\"./Binary_Property/Grapheme_Extend.js\": 71054,\n\t\"./Binary_Property/Hex_Digit.js\": 80662,\n\t\"./Binary_Property/IDS_Binary_Operator.js\": 66910,\n\t\"./Binary_Property/IDS_Trinary_Operator.js\": 31548,\n\t\"./Binary_Property/ID_Continue.js\": 97301,\n\t\"./Binary_Property/ID_Start.js\": 47818,\n\t\"./Binary_Property/Ideographic.js\": 82217,\n\t\"./Binary_Property/Join_Control.js\": 15332,\n\t\"./Binary_Property/Logical_Order_Exception.js\": 55780,\n\t\"./Binary_Property/Lowercase.js\": 61091,\n\t\"./Binary_Property/Math.js\": 7146,\n\t\"./Binary_Property/Noncharacter_Code_Point.js\": 51752,\n\t\"./Binary_Property/Pattern_Syntax.js\": 76596,\n\t\"./Binary_Property/Pattern_White_Space.js\": 86436,\n\t\"./Binary_Property/Quotation_Mark.js\": 29467,\n\t\"./Binary_Property/Radical.js\": 68163,\n\t\"./Binary_Property/Regional_Indicator.js\": 16412,\n\t\"./Binary_Property/Sentence_Terminal.js\": 25496,\n\t\"./Binary_Property/Soft_Dotted.js\": 83045,\n\t\"./Binary_Property/Terminal_Punctuation.js\": 20991,\n\t\"./Binary_Property/Unified_Ideograph.js\": 15154,\n\t\"./Binary_Property/Uppercase.js\": 91909,\n\t\"./Binary_Property/Variation_Selector.js\": 64590,\n\t\"./Binary_Property/White_Space.js\": 42886,\n\t\"./Binary_Property/XID_Continue.js\": 83067,\n\t\"./Binary_Property/XID_Start.js\": 86524,\n\t\"./General_Category/Cased_Letter.js\": 94195,\n\t\"./General_Category/Close_Punctuation.js\": 42549,\n\t\"./General_Category/Connector_Punctuation.js\": 72437,\n\t\"./General_Category/Control.js\": 44467,\n\t\"./General_Category/Currency_Symbol.js\": 75431,\n\t\"./General_Category/Dash_Punctuation.js\": 86441,\n\t\"./General_Category/Decimal_Number.js\": 57965,\n\t\"./General_Category/Enclosing_Mark.js\": 89586,\n\t\"./General_Category/Final_Punctuation.js\": 32965,\n\t\"./General_Category/Format.js\": 32277,\n\t\"./General_Category/Initial_Punctuation.js\": 5900,\n\t\"./General_Category/Letter.js\": 63764,\n\t\"./General_Category/Letter_Number.js\": 43043,\n\t\"./General_Category/Line_Separator.js\": 19307,\n\t\"./General_Category/Lowercase_Letter.js\": 45025,\n\t\"./General_Category/Mark.js\": 76197,\n\t\"./General_Category/Math_Symbol.js\": 21803,\n\t\"./General_Category/Modifier_Letter.js\": 31022,\n\t\"./General_Category/Modifier_Symbol.js\": 46858,\n\t\"./General_Category/Nonspacing_Mark.js\": 85948,\n\t\"./General_Category/Number.js\": 78861,\n\t\"./General_Category/Open_Punctuation.js\": 38999,\n\t\"./General_Category/Other.js\": 30567,\n\t\"./General_Category/Other_Letter.js\": 52093,\n\t\"./General_Category/Other_Number.js\": 80180,\n\t\"./General_Category/Other_Punctuation.js\": 72919,\n\t\"./General_Category/Other_Symbol.js\": 57481,\n\t\"./General_Category/Paragraph_Separator.js\": 26400,\n\t\"./General_Category/Private_Use.js\": 55205,\n\t\"./General_Category/Punctuation.js\": 78350,\n\t\"./General_Category/Separator.js\": 66827,\n\t\"./General_Category/Space_Separator.js\": 29909,\n\t\"./General_Category/Spacing_Mark.js\": 67089,\n\t\"./General_Category/Surrogate.js\": 38703,\n\t\"./General_Category/Symbol.js\": 34345,\n\t\"./General_Category/Titlecase_Letter.js\": 87135,\n\t\"./General_Category/Unassigned.js\": 48068,\n\t\"./General_Category/Uppercase_Letter.js\": 54508,\n\t\"./Property_of_Strings/Basic_Emoji.js\": 7134,\n\t\"./Property_of_Strings/Emoji_Keycap_Sequence.js\": 1354,\n\t\"./Property_of_Strings/RGI_Emoji.js\": 64708,\n\t\"./Property_of_Strings/RGI_Emoji_Flag_Sequence.js\": 32530,\n\t\"./Property_of_Strings/RGI_Emoji_Modifier_Sequence.js\": 76685,\n\t\"./Property_of_Strings/RGI_Emoji_Tag_Sequence.js\": 80852,\n\t\"./Property_of_Strings/RGI_Emoji_ZWJ_Sequence.js\": 70523,\n\t\"./Script/Adlam.js\": 67309,\n\t\"./Script/Ahom.js\": 21824,\n\t\"./Script/Anatolian_Hieroglyphs.js\": 44251,\n\t\"./Script/Arabic.js\": 93703,\n\t\"./Script/Armenian.js\": 52003,\n\t\"./Script/Avestan.js\": 91194,\n\t\"./Script/Balinese.js\": 97148,\n\t\"./Script/Bamum.js\": 92508,\n\t\"./Script/Bassa_Vah.js\": 87398,\n\t\"./Script/Batak.js\": 70403,\n\t\"./Script/Bengali.js\": 60285,\n\t\"./Script/Bhaiksuki.js\": 10143,\n\t\"./Script/Bopomofo.js\": 25500,\n\t\"./Script/Brahmi.js\": 69672,\n\t\"./Script/Braille.js\": 67008,\n\t\"./Script/Buginese.js\": 32055,\n\t\"./Script/Buhid.js\": 90141,\n\t\"./Script/Canadian_Aboriginal.js\": 40912,\n\t\"./Script/Carian.js\": 68653,\n\t\"./Script/Caucasian_Albanian.js\": 47231,\n\t\"./Script/Chakma.js\": 38234,\n\t\"./Script/Cham.js\": 29076,\n\t\"./Script/Cherokee.js\": 47242,\n\t\"./Script/Chorasmian.js\": 91466,\n\t\"./Script/Common.js\": 2325,\n\t\"./Script/Coptic.js\": 4957,\n\t\"./Script/Cuneiform.js\": 51215,\n\t\"./Script/Cypriot.js\": 94221,\n\t\"./Script/Cypro_Minoan.js\": 77004,\n\t\"./Script/Cyrillic.js\": 49326,\n\t\"./Script/Deseret.js\": 2436,\n\t\"./Script/Devanagari.js\": 76224,\n\t\"./Script/Dives_Akuru.js\": 28156,\n\t\"./Script/Dogra.js\": 19019,\n\t\"./Script/Duployan.js\": 11233,\n\t\"./Script/Egyptian_Hieroglyphs.js\": 82904,\n\t\"./Script/Elbasan.js\": 50651,\n\t\"./Script/Elymaic.js\": 63404,\n\t\"./Script/Ethiopic.js\": 42249,\n\t\"./Script/Georgian.js\": 77113,\n\t\"./Script/Glagolitic.js\": 84922,\n\t\"./Script/Gothic.js\": 8047,\n\t\"./Script/Grantha.js\": 31338,\n\t\"./Script/Greek.js\": 74214,\n\t\"./Script/Gujarati.js\": 51130,\n\t\"./Script/Gunjala_Gondi.js\": 60046,\n\t\"./Script/Gurmukhi.js\": 37307,\n\t\"./Script/Han.js\": 77439,\n\t\"./Script/Hangul.js\": 73296,\n\t\"./Script/Hanifi_Rohingya.js\": 67439,\n\t\"./Script/Hanunoo.js\": 71394,\n\t\"./Script/Hatran.js\": 68092,\n\t\"./Script/Hebrew.js\": 24189,\n\t\"./Script/Hiragana.js\": 84371,\n\t\"./Script/Imperial_Aramaic.js\": 10780,\n\t\"./Script/Inherited.js\": 71122,\n\t\"./Script/Inscriptional_Pahlavi.js\": 53431,\n\t\"./Script/Inscriptional_Parthian.js\": 580,\n\t\"./Script/Javanese.js\": 37174,\n\t\"./Script/Kaithi.js\": 77983,\n\t\"./Script/Kannada.js\": 29485,\n\t\"./Script/Katakana.js\": 3962,\n\t\"./Script/Kawi.js\": 99140,\n\t\"./Script/Kayah_Li.js\": 88425,\n\t\"./Script/Kharoshthi.js\": 11648,\n\t\"./Script/Khitan_Small_Script.js\": 67968,\n\t\"./Script/Khmer.js\": 21205,\n\t\"./Script/Khojki.js\": 5794,\n\t\"./Script/Khudawadi.js\": 95492,\n\t\"./Script/Lao.js\": 29088,\n\t\"./Script/Latin.js\": 59992,\n\t\"./Script/Lepcha.js\": 66891,\n\t\"./Script/Limbu.js\": 33324,\n\t\"./Script/Linear_A.js\": 74596,\n\t\"./Script/Linear_B.js\": 1620,\n\t\"./Script/Lisu.js\": 42747,\n\t\"./Script/Lycian.js\": 1657,\n\t\"./Script/Lydian.js\": 79038,\n\t\"./Script/Mahajani.js\": 58990,\n\t\"./Script/Makasar.js\": 31935,\n\t\"./Script/Malayalam.js\": 15666,\n\t\"./Script/Mandaic.js\": 81458,\n\t\"./Script/Manichaean.js\": 49002,\n\t\"./Script/Marchen.js\": 38394,\n\t\"./Script/Masaram_Gondi.js\": 13910,\n\t\"./Script/Medefaidrin.js\": 91850,\n\t\"./Script/Meetei_Mayek.js\": 43034,\n\t\"./Script/Mende_Kikakui.js\": 51271,\n\t\"./Script/Meroitic_Cursive.js\": 70039,\n\t\"./Script/Meroitic_Hieroglyphs.js\": 28978,\n\t\"./Script/Miao.js\": 41801,\n\t\"./Script/Modi.js\": 28146,\n\t\"./Script/Mongolian.js\": 34848,\n\t\"./Script/Mro.js\": 75485,\n\t\"./Script/Multani.js\": 45988,\n\t\"./Script/Myanmar.js\": 76042,\n\t\"./Script/Nabataean.js\": 81263,\n\t\"./Script/Nag_Mundari.js\": 17318,\n\t\"./Script/Nandinagari.js\": 16087,\n\t\"./Script/New_Tai_Lue.js\": 93938,\n\t\"./Script/Newa.js\": 12645,\n\t\"./Script/Nko.js\": 41687,\n\t\"./Script/Nushu.js\": 19566,\n\t\"./Script/Nyiakeng_Puachue_Hmong.js\": 57324,\n\t\"./Script/Ogham.js\": 28054,\n\t\"./Script/Ol_Chiki.js\": 50326,\n\t\"./Script/Old_Hungarian.js\": 89704,\n\t\"./Script/Old_Italic.js\": 81737,\n\t\"./Script/Old_North_Arabian.js\": 60623,\n\t\"./Script/Old_Permic.js\": 84547,\n\t\"./Script/Old_Persian.js\": 4062,\n\t\"./Script/Old_Sogdian.js\": 91435,\n\t\"./Script/Old_South_Arabian.js\": 17744,\n\t\"./Script/Old_Turkic.js\": 85004,\n\t\"./Script/Old_Uyghur.js\": 56299,\n\t\"./Script/Oriya.js\": 61702,\n\t\"./Script/Osage.js\": 66820,\n\t\"./Script/Osmanya.js\": 68741,\n\t\"./Script/Pahawh_Hmong.js\": 43421,\n\t\"./Script/Palmyrene.js\": 71540,\n\t\"./Script/Pau_Cin_Hau.js\": 1646,\n\t\"./Script/Phags_Pa.js\": 79532,\n\t\"./Script/Phoenician.js\": 17297,\n\t\"./Script/Psalter_Pahlavi.js\": 59563,\n\t\"./Script/Rejang.js\": 15670,\n\t\"./Script/Runic.js\": 15180,\n\t\"./Script/Samaritan.js\": 85123,\n\t\"./Script/Saurashtra.js\": 40061,\n\t\"./Script/Sharada.js\": 72487,\n\t\"./Script/Shavian.js\": 59504,\n\t\"./Script/Siddham.js\": 565,\n\t\"./Script/SignWriting.js\": 19877,\n\t\"./Script/Sinhala.js\": 66662,\n\t\"./Script/Sogdian.js\": 11761,\n\t\"./Script/Sora_Sompeng.js\": 35055,\n\t\"./Script/Soyombo.js\": 62187,\n\t\"./Script/Sundanese.js\": 78461,\n\t\"./Script/Syloti_Nagri.js\": 74405,\n\t\"./Script/Syriac.js\": 15815,\n\t\"./Script/Tagalog.js\": 2333,\n\t\"./Script/Tagbanwa.js\": 38249,\n\t\"./Script/Tai_Le.js\": 29852,\n\t\"./Script/Tai_Tham.js\": 59997,\n\t\"./Script/Tai_Viet.js\": 92465,\n\t\"./Script/Takri.js\": 95234,\n\t\"./Script/Tamil.js\": 59527,\n\t\"./Script/Tangsa.js\": 946,\n\t\"./Script/Tangut.js\": 86011,\n\t\"./Script/Telugu.js\": 4866,\n\t\"./Script/Thaana.js\": 36876,\n\t\"./Script/Thai.js\": 71517,\n\t\"./Script/Tibetan.js\": 49897,\n\t\"./Script/Tifinagh.js\": 71384,\n\t\"./Script/Tirhuta.js\": 51862,\n\t\"./Script/Toto.js\": 79830,\n\t\"./Script/Ugaritic.js\": 92019,\n\t\"./Script/Vai.js\": 57677,\n\t\"./Script/Vithkuqi.js\": 10301,\n\t\"./Script/Wancho.js\": 12679,\n\t\"./Script/Warang_Citi.js\": 79917,\n\t\"./Script/Yezidi.js\": 33172,\n\t\"./Script/Yi.js\": 94344,\n\t\"./Script/Zanabazar_Square.js\": 90753,\n\t\"./Script_Extensions/Adlam.js\": 38937,\n\t\"./Script_Extensions/Ahom.js\": 9811,\n\t\"./Script_Extensions/Anatolian_Hieroglyphs.js\": 11878,\n\t\"./Script_Extensions/Arabic.js\": 98988,\n\t\"./Script_Extensions/Armenian.js\": 50944,\n\t\"./Script_Extensions/Avestan.js\": 96478,\n\t\"./Script_Extensions/Balinese.js\": 28898,\n\t\"./Script_Extensions/Bamum.js\": 42809,\n\t\"./Script_Extensions/Bassa_Vah.js\": 36382,\n\t\"./Script_Extensions/Batak.js\": 18210,\n\t\"./Script_Extensions/Bengali.js\": 39762,\n\t\"./Script_Extensions/Bhaiksuki.js\": 69666,\n\t\"./Script_Extensions/Bopomofo.js\": 87754,\n\t\"./Script_Extensions/Brahmi.js\": 94830,\n\t\"./Script_Extensions/Braille.js\": 65528,\n\t\"./Script_Extensions/Buginese.js\": 3789,\n\t\"./Script_Extensions/Buhid.js\": 53126,\n\t\"./Script_Extensions/Canadian_Aboriginal.js\": 61228,\n\t\"./Script_Extensions/Carian.js\": 26604,\n\t\"./Script_Extensions/Caucasian_Albanian.js\": 68874,\n\t\"./Script_Extensions/Chakma.js\": 57717,\n\t\"./Script_Extensions/Cham.js\": 50272,\n\t\"./Script_Extensions/Cherokee.js\": 48334,\n\t\"./Script_Extensions/Chorasmian.js\": 61166,\n\t\"./Script_Extensions/Common.js\": 73219,\n\t\"./Script_Extensions/Coptic.js\": 33538,\n\t\"./Script_Extensions/Cuneiform.js\": 59678,\n\t\"./Script_Extensions/Cypriot.js\": 45995,\n\t\"./Script_Extensions/Cypro_Minoan.js\": 19536,\n\t\"./Script_Extensions/Cyrillic.js\": 18638,\n\t\"./Script_Extensions/Deseret.js\": 77756,\n\t\"./Script_Extensions/Devanagari.js\": 85640,\n\t\"./Script_Extensions/Dives_Akuru.js\": 97606,\n\t\"./Script_Extensions/Dogra.js\": 80650,\n\t\"./Script_Extensions/Duployan.js\": 4539,\n\t\"./Script_Extensions/Egyptian_Hieroglyphs.js\": 41585,\n\t\"./Script_Extensions/Elbasan.js\": 40751,\n\t\"./Script_Extensions/Elymaic.js\": 8933,\n\t\"./Script_Extensions/Ethiopic.js\": 56370,\n\t\"./Script_Extensions/Georgian.js\": 60656,\n\t\"./Script_Extensions/Glagolitic.js\": 22125,\n\t\"./Script_Extensions/Gothic.js\": 56298,\n\t\"./Script_Extensions/Grantha.js\": 86631,\n\t\"./Script_Extensions/Greek.js\": 80161,\n\t\"./Script_Extensions/Gujarati.js\": 41962,\n\t\"./Script_Extensions/Gunjala_Gondi.js\": 46189,\n\t\"./Script_Extensions/Gurmukhi.js\": 8194,\n\t\"./Script_Extensions/Han.js\": 5545,\n\t\"./Script_Extensions/Hangul.js\": 94337,\n\t\"./Script_Extensions/Hanifi_Rohingya.js\": 25890,\n\t\"./Script_Extensions/Hanunoo.js\": 54191,\n\t\"./Script_Extensions/Hatran.js\": 62640,\n\t\"./Script_Extensions/Hebrew.js\": 26210,\n\t\"./Script_Extensions/Hiragana.js\": 4645,\n\t\"./Script_Extensions/Imperial_Aramaic.js\": 47790,\n\t\"./Script_Extensions/Inherited.js\": 65719,\n\t\"./Script_Extensions/Inscriptional_Pahlavi.js\": 58626,\n\t\"./Script_Extensions/Inscriptional_Parthian.js\": 50167,\n\t\"./Script_Extensions/Javanese.js\": 29743,\n\t\"./Script_Extensions/Kaithi.js\": 11958,\n\t\"./Script_Extensions/Kannada.js\": 26161,\n\t\"./Script_Extensions/Katakana.js\": 58831,\n\t\"./Script_Extensions/Kawi.js\": 93386,\n\t\"./Script_Extensions/Kayah_Li.js\": 65916,\n\t\"./Script_Extensions/Kharoshthi.js\": 97319,\n\t\"./Script_Extensions/Khitan_Small_Script.js\": 82273,\n\t\"./Script_Extensions/Khmer.js\": 21654,\n\t\"./Script_Extensions/Khojki.js\": 60840,\n\t\"./Script_Extensions/Khudawadi.js\": 84937,\n\t\"./Script_Extensions/Lao.js\": 3895,\n\t\"./Script_Extensions/Latin.js\": 34462,\n\t\"./Script_Extensions/Lepcha.js\": 55753,\n\t\"./Script_Extensions/Limbu.js\": 82970,\n\t\"./Script_Extensions/Linear_A.js\": 61456,\n\t\"./Script_Extensions/Linear_B.js\": 7475,\n\t\"./Script_Extensions/Lisu.js\": 82841,\n\t\"./Script_Extensions/Lycian.js\": 25245,\n\t\"./Script_Extensions/Lydian.js\": 40610,\n\t\"./Script_Extensions/Mahajani.js\": 71461,\n\t\"./Script_Extensions/Makasar.js\": 90995,\n\t\"./Script_Extensions/Malayalam.js\": 4201,\n\t\"./Script_Extensions/Mandaic.js\": 85976,\n\t\"./Script_Extensions/Manichaean.js\": 61361,\n\t\"./Script_Extensions/Marchen.js\": 51089,\n\t\"./Script_Extensions/Masaram_Gondi.js\": 75850,\n\t\"./Script_Extensions/Medefaidrin.js\": 35394,\n\t\"./Script_Extensions/Meetei_Mayek.js\": 65222,\n\t\"./Script_Extensions/Mende_Kikakui.js\": 56734,\n\t\"./Script_Extensions/Meroitic_Cursive.js\": 48438,\n\t\"./Script_Extensions/Meroitic_Hieroglyphs.js\": 63315,\n\t\"./Script_Extensions/Miao.js\": 89426,\n\t\"./Script_Extensions/Modi.js\": 56126,\n\t\"./Script_Extensions/Mongolian.js\": 48441,\n\t\"./Script_Extensions/Mro.js\": 96237,\n\t\"./Script_Extensions/Multani.js\": 12152,\n\t\"./Script_Extensions/Myanmar.js\": 88384,\n\t\"./Script_Extensions/Nabataean.js\": 22445,\n\t\"./Script_Extensions/Nag_Mundari.js\": 48651,\n\t\"./Script_Extensions/Nandinagari.js\": 54947,\n\t\"./Script_Extensions/New_Tai_Lue.js\": 25650,\n\t\"./Script_Extensions/Newa.js\": 997,\n\t\"./Script_Extensions/Nko.js\": 35334,\n\t\"./Script_Extensions/Nushu.js\": 38408,\n\t\"./Script_Extensions/Nyiakeng_Puachue_Hmong.js\": 53615,\n\t\"./Script_Extensions/Ogham.js\": 72435,\n\t\"./Script_Extensions/Ol_Chiki.js\": 6286,\n\t\"./Script_Extensions/Old_Hungarian.js\": 10512,\n\t\"./Script_Extensions/Old_Italic.js\": 7259,\n\t\"./Script_Extensions/Old_North_Arabian.js\": 79715,\n\t\"./Script_Extensions/Old_Permic.js\": 84513,\n\t\"./Script_Extensions/Old_Persian.js\": 29058,\n\t\"./Script_Extensions/Old_Sogdian.js\": 22883,\n\t\"./Script_Extensions/Old_South_Arabian.js\": 25750,\n\t\"./Script_Extensions/Old_Turkic.js\": 38028,\n\t\"./Script_Extensions/Old_Uyghur.js\": 82038,\n\t\"./Script_Extensions/Oriya.js\": 93543,\n\t\"./Script_Extensions/Osage.js\": 55599,\n\t\"./Script_Extensions/Osmanya.js\": 6499,\n\t\"./Script_Extensions/Pahawh_Hmong.js\": 87093,\n\t\"./Script_Extensions/Palmyrene.js\": 33203,\n\t\"./Script_Extensions/Pau_Cin_Hau.js\": 32175,\n\t\"./Script_Extensions/Phags_Pa.js\": 80475,\n\t\"./Script_Extensions/Phoenician.js\": 88683,\n\t\"./Script_Extensions/Psalter_Pahlavi.js\": 13132,\n\t\"./Script_Extensions/Rejang.js\": 10643,\n\t\"./Script_Extensions/Runic.js\": 92370,\n\t\"./Script_Extensions/Samaritan.js\": 62803,\n\t\"./Script_Extensions/Saurashtra.js\": 69504,\n\t\"./Script_Extensions/Sharada.js\": 57957,\n\t\"./Script_Extensions/Shavian.js\": 15581,\n\t\"./Script_Extensions/Siddham.js\": 45898,\n\t\"./Script_Extensions/SignWriting.js\": 73338,\n\t\"./Script_Extensions/Sinhala.js\": 54400,\n\t\"./Script_Extensions/Sogdian.js\": 69554,\n\t\"./Script_Extensions/Sora_Sompeng.js\": 82168,\n\t\"./Script_Extensions/Soyombo.js\": 55339,\n\t\"./Script_Extensions/Sundanese.js\": 17361,\n\t\"./Script_Extensions/Syloti_Nagri.js\": 7453,\n\t\"./Script_Extensions/Syriac.js\": 49190,\n\t\"./Script_Extensions/Tagalog.js\": 78050,\n\t\"./Script_Extensions/Tagbanwa.js\": 6896,\n\t\"./Script_Extensions/Tai_Le.js\": 30486,\n\t\"./Script_Extensions/Tai_Tham.js\": 43272,\n\t\"./Script_Extensions/Tai_Viet.js\": 2338,\n\t\"./Script_Extensions/Takri.js\": 15222,\n\t\"./Script_Extensions/Tamil.js\": 25234,\n\t\"./Script_Extensions/Tangsa.js\": 14113,\n\t\"./Script_Extensions/Tangut.js\": 12606,\n\t\"./Script_Extensions/Telugu.js\": 60209,\n\t\"./Script_Extensions/Thaana.js\": 34190,\n\t\"./Script_Extensions/Thai.js\": 24815,\n\t\"./Script_Extensions/Tibetan.js\": 65333,\n\t\"./Script_Extensions/Tifinagh.js\": 98578,\n\t\"./Script_Extensions/Tirhuta.js\": 25740,\n\t\"./Script_Extensions/Toto.js\": 20190,\n\t\"./Script_Extensions/Ugaritic.js\": 41418,\n\t\"./Script_Extensions/Vai.js\": 95619,\n\t\"./Script_Extensions/Vithkuqi.js\": 4862,\n\t\"./Script_Extensions/Wancho.js\": 80134,\n\t\"./Script_Extensions/Warang_Citi.js\": 61158,\n\t\"./Script_Extensions/Yezidi.js\": 25,\n\t\"./Script_Extensions/Yi.js\": 47685,\n\t\"./Script_Extensions/Zanabazar_Square.js\": 92290,\n\t\"./index.js\": 31714,\n\t\"./unicode-version.js\": 35362\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 38531;","var parent = require('../../stable/object/assign');\n\nmodule.exports = parent;\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","module.exports = require('../../full/object/assign');\n","var parent = require('../../actual/object/assign');\n\nmodule.exports = parent;\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = function (fn) {\n return NATIVE_BIND ? uncurryThisWithBind(fn) : function () {\n return call.apply(fn, arguments);\n };\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","var call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.string.replace-all');\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","const listOfMetricsSend = new Set();\n\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(fn, timeout, ...args);\n };\n}\n\nfunction sendWebVitals() {\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n\n listOfMetricsSend.add(data.name);\n sendToGoogleAnalytics(data);\n }\n\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000); // we don't need to debounce FID - we send it when it happens\n\n const debouncedFID = sendData; // LCP can occur multiple times so we debounce it\n\n const debouncedLCP = debounce(sendData, 3000); // With the true flag, we measure all previous occurences too, in case we start listening to late.\n\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\n}\n\nfunction sendToGoogleAnalytics({\n name,\n value,\n id\n}) {\n window.ga(`send`, `event`, {\n eventCategory: `Web Vitals`,\n eventAction: name,\n // The `id` value will be unique to the current page load. When sending\n // multiple values from the same page (e.g. for CLS), Google Analytics can\n // compute a total by grouping on this ID (note: requires `eventLabel` to\n // be a dimension in your report).\n eventLabel: id,\n // Google Analytics metrics must be integers, so the value is rounded.\n // For CLS the value is first multiplied by 1000 for greater precision\n // (note: increase the multiplier for greater precision if needed).\n eventValue: Math.round(name === `CLS` ? value * 1000 : value),\n // Use a non-interaction event to avoid affecting bounce rate.\n nonInteraction: true,\n // Use `sendBeacon()` if the browser supports it.\n transport: `beacon`\n });\n}\n\nexport const onRouteUpdate = ({\n location\n}, pluginOptions = {}) => {\n const ga = window.ga;\n\n if (process.env.NODE_ENV !== `production` || typeof ga !== `function`) {\n return null;\n }\n\n const pathIsExcluded = location && typeof window.excludeGAPaths !== `undefined` && window.excludeGAPaths.some(rx => rx.test(location.pathname));\n if (pathIsExcluded) return null; // wrap inside a timeout to make sure react-helmet is done with it's changes (https://github.com/gatsbyjs/gatsby/issues/9139)\n // reactHelmet is using requestAnimationFrame: https://github.com/nfl/react-helmet/blob/5.2.0/src/HelmetUtils.js#L296-L299\n\n const sendPageView = () => {\n const pagePath = location ? location.pathname + location.search + location.hash : undefined;\n ga(`set`, `page`, pagePath);\n ga(`send`, `pageview`);\n }; // Minimum delay for reactHelmet's requestAnimationFrame\n\n\n const delay = Math.max(32, pluginOptions.pageTransitionDelay || 0);\n setTimeout(sendPageView, delay);\n return null;\n};\nexport function onInitialClientRender(_, pluginOptions) {\n if (process.env.NODE_ENV === `production` && typeof ga === `function` && pluginOptions.enableWebVitalsTracking) {\n sendWebVitals();\n }\n}","import React, { useEffect } from 'react'\r\nimport { graphql, StaticQuery } from 'gatsby'\r\nimport styled, { createGlobalStyle } from '@xstyled/styled-components'\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n #carbonads {\r\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu,\r\n Cantarell, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\r\n }\r\n\r\n #carbonads {\r\n display: inline-flex;\r\n background-color: background-light;\r\n border: 1;\r\n border-color: layout-border;\r\n box-shadow: none;\r\n }\r\n\r\n #carbonads a {\r\n color: inherit;\r\n text-decoration: none;\r\n }\r\n\r\n #carbonads a:hover {\r\n color: inherit;\r\n }\r\n\r\n #carbonads span {\r\n position: relative;\r\n display: block;\r\n overflow: hidden;\r\n }\r\n\r\n #carbonads .carbon-wrap {\r\n display: flex;\r\n }\r\n\r\n .carbon-img {\r\n display: block;\r\n margin: 0;\r\n line-height: 1;\r\n }\r\n\r\n .carbon-img img {\r\n display: block;\r\n }\r\n\r\n .carbon-text {\r\n font-size: 13px;\r\n padding: 10px;\r\n line-height: 1.5;\r\n text-align: left;\r\n }\r\n\r\n .carbon-poweredby {\r\n display: block;\r\n padding: 8px 10px;\r\n background: repeating-linear-gradient(-45deg, transparent, transparent 5px, hsla(0, 0%, 0%, .025) 5px, hsla(0, 0%, 0%, .025) 10px) hsla(203, 11%, 95%, .4);\r\n text-align: center;\r\n text-transform: uppercase;\r\n letter-spacing: .5px;\r\n font-weight: 600;\r\n font-size: 9px;\r\n line-height: 1;\r\n }\r\n`\r\n\r\nconst QUERY = graphql`\r\n query CodeFund {\r\n site {\r\n siteMetadata {\r\n carbonAdsURL\r\n }\r\n }\r\n }\r\n`\r\n\r\nconst AdContainer = styled.aside`\r\n display: block;\r\n height: 125;\r\n min-width: 1;\r\n margin: 3 0;\r\n`\r\n\r\nfunction InnerCarbonAd({ url }) {\r\n const ref = React.useRef()\r\n useEffect(() => {\r\n const wrapper = ref.current\r\n const script = document.createElement('script')\r\n script.src = url\r\n script.async = true\r\n script.id = '_carbonads_js'\r\n wrapper.appendChild(script)\r\n return () => {\r\n wrapper.removeChild(script)\r\n }\r\n }, [url])\r\n return (\r\n <>\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport function CarbonAd() {\r\n return (\r\n \r\n data.site.siteMetadata.carbonAdsURL ? (\r\n \r\n \r\n \r\n ) : null\r\n }\r\n />\r\n )\r\n}\r\n","import styled, { up, css } from '@xstyled/styled-components'\r\n\r\nexport const TableContainer = styled.div`\r\n overflow-y: auto;\r\n margin: 3 0 2;\r\n\r\n ${up(\r\n 'lg',\r\n css`\r\n max-height: 480;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Table = styled.table`\r\n width: 100%;\r\n text-align: left;\r\n border-collapse: collapse;\r\n font-size: 90%;\r\n\r\n tr {\r\n background-color: transparent;\r\n }\r\n\r\n td,\r\n th {\r\n padding: 2 3;\r\n }\r\n\r\n th {\r\n color: on-background-light;\r\n background-color: background-light;\r\n font-weight: 600;\r\n z-index: 20;\r\n position: sticky;\r\n top: 0;\r\n }\r\n\r\n td {\r\n font-size: 85%;\r\n border-top: 1;\r\n border-bottom: 1;\r\n border-color: layout-border;\r\n }\r\n`\r\n","import React from 'react'\r\nimport { MDXProvider as BaseMDXProvider } from '@mdx-js/react'\r\nimport { Code } from './Code'\r\nimport { CarbonAd } from './CarbonAd'\r\nimport { Table, TableContainer } from './Table'\r\n\r\nfunction transformCode({ children, className, ...props }) {\r\n const lang = className && className.split('-')[1]\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nfunction getCodeChild(children) {\r\n const childrenArray = React.Children.toArray(children)\r\n if (childrenArray.length !== 1) return null\r\n const [firstChild] = childrenArray\r\n if (firstChild.type !== 'code') return null\r\n return firstChild\r\n}\r\n\r\nexport const mdxComponents = {\r\n 'carbon-ad': () => ,\r\n pre: ({ children }) => {\r\n const codeChild = getCodeChild(children)\r\n return codeChild ? transformCode(codeChild.props) :
{children}
\r\n },\r\n table: ({ children }) => {\r\n return (\r\n \r\n {children}
\r\n
\r\n )\r\n },\r\n}\r\n\r\nexport function MDXProvider({ children, components }) {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultSymbols = {\n symbols: {\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n }\n }\n};\nvar defaultSymbolMap = defaultSymbols; // based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\n\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultSymbolMap.symbols, additionalSymbols.symbols) : _extends({}, defaultSymbolMap.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable in the :root scope, or otherwise returns a defaultValue if provided.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, defaultValue) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else if (defaultValue) {\n return defaultValue;\n }\n\n throw new PolishedError(74);\n} // @private\n\n\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap$1 = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap$1[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n } // prettier-ignore\n\n\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n/**\n * Check if a string ends with something\n * @private\n */\n\n\nfunction endsWith(string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value) {\n if (typeof value !== 'string') return value;\n var matchedValue = value.match(cssRegex$1);\n return matchedValue ? parseFloat(value) : value;\n}\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\nvar pixelsto = pxtoFactory;\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pixelsto('em');\nvar em$1 = em;\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n/**\n * Helper for targeting rules in a style block generated by polished modules that need !important-level specificity. Can optionally specify a rule (or rules) to target specific rules.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...important(cover())\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${important(cover())}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute !important',\n * 'top': '0 !important',\n * 'right: '0 !important',\n * 'bottom': '0 !important',\n * 'left: '0 !important'\n * }\n */\n\n\nfunction important(styleBlock, rules) {\n if (typeof styleBlock !== 'object' || styleBlock === null) {\n throw new PolishedError(75, typeof styleBlock);\n }\n\n var newStyleBlock = {};\n Object.keys(styleBlock).forEach(function (key) {\n if (typeof styleBlock[key] === 'object' && styleBlock[key] !== null) {\n newStyleBlock[key] = important(styleBlock[key], rules);\n } else if (!rules || rules && (rules === key || rules.indexOf(key) >= 0)) {\n newStyleBlock[key] = styleBlock[key] + \" !important\";\n } else {\n newStyleBlock[key] = styleBlock[key];\n }\n });\n return newStyleBlock;\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\n\nvar rem = /*#__PURE__*/pixelsto('rem');\nvar rem$1 = rem;\nvar defaultFontSize = 16;\n\nfunction convertBase(base) {\n var deconstructedValue = getValueAndUnit(base);\n\n if (deconstructedValue[1] === 'px') {\n return parseFloat(base);\n }\n\n if (deconstructedValue[1] === '%') {\n return parseFloat(base) / 100 * defaultFontSize;\n }\n\n throw new PolishedError(78, deconstructedValue[1]);\n}\n\nfunction getBaseFromDoc() {\n /* eslint-disable */\n\n /* istanbul ignore next */\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n var rootFontSize = getComputedStyle(document.documentElement).fontSize;\n return rootFontSize ? convertBase(rootFontSize) : defaultFontSize;\n }\n /* eslint-enable */\n\n /* istanbul ignore next */\n\n\n return defaultFontSize;\n}\n/**\n * Convert rem values to px. By default, the base value is pulled from the font-size property on the root element (if it is set in % or px). It defaults to 16px if not found on the root. You can also override the base value by providing your own base in % or px.\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': remToPx('1.6rem')\n * 'height': remToPx('1.6rem', '10px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${remToPx('1.6rem')}\n * height: ${remToPx('1.6rem', '10px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '25.6px',\n * 'height': '16px',\n * }\n */\n\n\nfunction remToPx(value, base) {\n var deconstructedValue = getValueAndUnit(value);\n\n if (deconstructedValue[1] !== 'rem' && deconstructedValue[1] !== '') {\n throw new PolishedError(77, deconstructedValue[1]);\n }\n\n var newBase = base ? convertBase(base) : getBaseFromDoc();\n return deconstructedValue[0] * newBase + \"px\";\n}\n\nvar functionsMap$3 = {\n back: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n circ: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n cubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n expo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n quad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n quart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n quint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n sine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeIn('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeIn('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\nfunction easeIn(functionName) {\n return functionsMap$3[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$2 = {\n back: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n circ: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n cubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n expo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n quad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n quart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n quint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n sine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeInOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeInOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n * }\n */\n\nfunction easeInOut(functionName) {\n return functionsMap$2[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$1 = {\n back: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n cubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n circ: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n expo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n quad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n quart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n quint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n sine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n * }\n */\n\nfunction easeOut(functionName) {\n return functionsMap$1[functionName.toLowerCase().trim()];\n}\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n throw new PolishedError(76);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\n\n\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\n\n\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n/**\n * CSS to represent truncated text with an ellipsis. You can optionally pass a max-width and number of lines before truncating.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\n\n\nfunction ellipsis(width, lines) {\n if (lines === void 0) {\n lines = 1;\n }\n\n var styles = {\n display: 'inline-block',\n maxWidth: width || '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n return lines > 1 ? _extends({}, styles, {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n display: '-webkit-box',\n whiteSpace: 'normal'\n }) : styles;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\n\n\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration. Defaults to check for local copies of the font on the user's machine. You can disable this by passing `null` to localFonts.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n _ref$localFonts = _ref.localFonts,\n localFonts = _ref$localFonts === void 0 ? [fontFamily] : _ref$localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings; // Error Handling\n\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\n\n\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\n\n\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\n\n\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nvar _templateObject$1;\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\n\n\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\n\n\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nvar _templateObject;\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\n\n\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n };\n}\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\n\n\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n/* eslint-disable key-spacing */\n\n\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @deprecated - This will be deprecated in v5 in favor of `easeIn`, `easeOut`, `easeInOut`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return {\n borderBottomColor: foregroundColor\n };\n\n case 'right':\n case 'bottomLeft':\n return {\n borderLeftColor: foregroundColor\n };\n\n case 'bottom':\n case 'topLeft':\n return {\n borderTopColor: foregroundColor\n };\n\n case 'left':\n case 'topRight':\n return {\n borderRightColor: foregroundColor\n };\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return _extends({\n width: '0',\n height: '0',\n borderColor: backgroundColor\n }, getBorderColor(pointingDirection, foregroundColor), {\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n });\n}\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\n\n\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4]) > 1 ? parseFloat(\"\" + rgbaMatched[4]) / 100 : parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4]) > 1 ? parseFloat(\"\" + hslaMatched[4]) / 100 : parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\n\n\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\n\n\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nvar reduceHexValue$1 = reduceHexValue;\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue$1(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\n\n\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\n\n\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\n\n\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue$1(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue$1(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\n\n\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n} // Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\n\n\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\nvar curriedAdjustHue$1 = curriedAdjustHue;\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\nvar curriedDarken$1 = curriedDarken;\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\nvar curriedDesaturate$1 = curriedDesaturate;\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\nvar curriedLighten$1 = curriedLighten;\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\n\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * parseFloat(weight) + color2.alpha * (1 - parseFloat(weight))\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\nvar mix$1 = curriedMix;\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\nvar curriedOpacify$1 = curriedOpacify;\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n\n if (strict === void 0) {\n strict = true;\n }\n\n var isColorLight = getLuminance(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\n\n\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\nvar curriedSaturate$1 = curriedSaturate;\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\nvar curriedSetHue$1 = curriedSetHue;\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\nvar curriedSetLightness$1 = curriedSetLightness;\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\nvar curriedSetSaturation$1 = curriedSetSaturation;\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\nvar curriedShade$1 = curriedShade;\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\nvar curriedTint$1 = curriedTint;\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff'),\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')};\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\nvar curriedTransparentize$1 = curriedTransparentize;\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\n\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n } // Allow single or multiple animations passed\n\n\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\n\n\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\n\n\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\n\n\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\n\n\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\n\n\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\n\n\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\n\n\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\n\n\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue$1 as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken$1 as darken, curriedDesaturate$1 as desaturate, directionalProperty, easeIn, easeInOut, easeOut, ellipsis, em$1 as em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, important, invert, curriedLighten$1 as lighten, linearGradient, margin, math, meetsContrastGuidelines, mix$1 as mix, modularScale, normalize, curriedOpacify$1 as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem$1 as rem, remToPx, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate$1 as saturate, curriedSetHue$1 as setHue, curriedSetLightness$1 as setLightness, curriedSetSaturation$1 as setSaturation, curriedShade$1 as shade, size, stripUnit, textInputs, timingFunctions, curriedTint$1 as tint, toColorString, transitions, curriedTransparentize$1 as transparentize, triangle, wordWrap };","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import { transparentize } from 'polished'\r\nimport { css, th, defaultTheme, aliasColor } from '@xstyled/styled-components'\r\n\r\nexport function primaryColor(color) {\r\n return aliasColor('primary', color)\r\n}\r\n\r\nexport const theme = {\r\n initialColorModeName: 'light',\r\n ...defaultTheme,\r\n global: css`\r\n html,\r\n body {\r\n transition: 300ms ease-in color, 300ms ease-in background-color;\r\n margin: 0;\r\n font-family: base;\r\n background-color: background;\r\n color: on-background;\r\n line-height: base;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n \r\n img {\r\n display: inline-block;\r\n }\r\n\r\n :focus {\r\n outline-color: primary-500;\r\n }\r\n blockquote.quote {\r\n background-color: var(--xstyled-colors-editor-background,#18181b);\r\n margin: 3vw 3vw;\r\n box-sizing: border-box;\r\n position: relative;\r\n font-size: 24px;\r\n padding: 1vw 5vw;\r\n border-radius: 8px;\r\n \r\n font-style: italic;\r\n }\r\n @media (min-width: 768px) {\r\n blockquote.quote:before {\r\n width: 6vw;\r\n height: 7vw;\r\n top: 50%;\r\n left: 0;\r\n transform: translate(-50%, -50%);\r\n }\r\n .only-small {\r\n display: none;\r\n }\r\n }\r\n @media (max-width: 768px) {\r\n .only-wide {\r\n display: none;\r\n }\r\n }\r\n blockquote.quote:before {\r\n content: \"\";\r\n background-image: url(/resources/quote.svg);\r\n position: absolute;\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n }\r\n .xstyled-color-mode-light blockquote.quote {\r\n color: black;\r\n background-color: #d4d4d8;\r\n border-color: #a8a8af;\r\n }\r\n \r\n .wide-feature-text h3 {\r\n font-size: 38px;\r\n text-align: center;\r\n }\r\n .wide-feature-text p {\r\n font-size: 24px;\r\n margin: 0.5em auto;\r\n }\r\n .wide-feature-text ul {\r\n font-size: 24px;\r\n list-style-type: \"👉 \";\r\n margin-left: 3rem;\r\n }\r\n .wide-feature-text li {\r\n margin: 0.5em auto;\r\n }\r\n .wide-feature-text strong,\r\n strong.orange {\r\n color: #F2A41F;\r\n // font-weight: normal;\r\n }\r\n \r\n .home-screenshots {\r\n margin-bottom: 2rem;\r\n }\r\n .home-screenshots h2 {\r\n font-size: 34px;\r\n font-weight: 400;\r\n margin-top: 3rem;\r\n margin-bottom: 1rem;\r\n text-align: center;\r\n }\r\n .home-screenshots img {\r\n width: 80%;\r\n }\r\n \r\n \r\n .home-links {\r\n text-align: center;\r\n display: flex;\r\n }\r\n .home-links > * {\r\n width:30%;\r\n padding: 1rem;\r\n }\r\n\r\n .home-links a {\r\n color: var(--xstyled-colors-on-background, #ffffff)!important;\r\n }\r\n \r\n h3 {\r\n font-size: 1.17em;\r\n margin-bottom: 0.5em;\r\n }\r\n \r\n .carousel__back-button, .carousel__next-button {\r\n background: transparent;\r\n }\r\n\r\n `,\r\n 'prism-theme': () => ({\r\n styles: [\r\n {\r\n types: ['comment'],\r\n style: {\r\n color: 'rgb(106, 171, 115)',\r\n fontStyle: 'italic',\r\n },\r\n },\r\n {\r\n types: ['line-comment'],\r\n style: {\r\n color: 'rgb(99,103,100)',\r\n fontStyle: 'italic',\r\n },\r\n },\r\n {\r\n types: ['zdl-keyword', 'keyword'],\r\n style: {\r\n color: 'rgb(207, 142, 107)',\r\n },\r\n },\r\n {\r\n types: ['zdl-annotation', 'zdl-validation'],\r\n style: {\r\n color: 'rgb(179, 174, 96)',\r\n },\r\n },\r\n {\r\n types: ['zdl-class-name'],\r\n style: {\r\n color: 'rgb(102,127,209)',\r\n },\r\n },\r\n {\r\n types: ['zdl-field'],\r\n style: {\r\n color: 'rgb(198, 120, 221)',\r\n },\r\n },\r\n {\r\n types: ['punctuation'],\r\n style: {\r\n color: 'rgb(230,233,236)', // fixme\r\n },\r\n },\r\n {\r\n types: ['boolean', 'bool', 'char', 'number'],\r\n style: {\r\n color: 'rgb(33,51,157)',// fixme\r\n },\r\n },\r\n {\r\n types: ['tag'],\r\n style: {\r\n color: 'rgb(229, 192, 123)',\r\n },\r\n },\r\n {\r\n types: ['operator'],\r\n style: {\r\n color: 'rgb(171, 178, 191)',\r\n },\r\n },\r\n {\r\n types: ['string'],\r\n style: {\r\n color: 'rgb(152, 195, 121)',\r\n },\r\n },\r\n {\r\n types: ['attr-name', 'comment'],\r\n style: {\r\n fontStyle: 'italic',\r\n },\r\n },\r\n {\r\n types: ['function'],\r\n style: {\r\n color: 'rgb(97, 175, 239)',\r\n },\r\n },\r\n ],\r\n }),\r\n fonts: {\r\n base: '-apple-system,system-ui,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif',\r\n },\r\n lineHeights: {\r\n base: 1.4,\r\n control: th.lineHeight('base'),\r\n },\r\n transitions: {\r\n base: '300ms ease all',\r\n fast: '150ms cubic-bezier(0.215, 0.61, 0.355, 1) all',\r\n control: th.transition('base'),\r\n },\r\n radii: {\r\n base: 4,\r\n control: th.radius('base'),\r\n editor: th.radius('base'),\r\n blockquote: th.radius('base'),\r\n },\r\n borderWidths: {\r\n base: 1,\r\n control: th.borderWidth('base'),\r\n },\r\n shadows: {\r\n focus: (p) => `0 0 0 ${th.px(2)(p)} ${th.color('primary-a500')(p)}`,\r\n 'control-focus': th.shadow('focus'),\r\n },\r\n sizes: {\r\n screen: 1669, // 1440,\r\n },\r\n space: {\r\n 0: 0,\r\n 1: 4,\r\n 2: 8,\r\n 3: 16,\r\n 4: 24,\r\n 5: 48,\r\n 6: 96,\r\n 7: 144,\r\n 8: 192,\r\n 9: 240,\r\n 'preview-padding-y': 16,\r\n 'preview-padding-x': 24,\r\n },\r\n colors: {\r\n ...defaultTheme.colors,\r\n\r\n // Primary = indigo\r\n ...aliasColor('primary', 'indigo'),\r\n\r\n primary: th.color('primary-500'),\r\n 'primary-a500': (p) => transparentize(0.5, th.color('primary-500')(p)),\r\n\r\n background: th.color('white'),\r\n 'background-light': th.color('gray-100'),\r\n 'background-primary': th.color('primary-100'),\r\n 'background-mark': th.color('yellow-200'),\r\n 'background-light-a50': (p) =>\r\n transparentize(0.05, th.color('background-light')(p)),\r\n 'on-background': th.color('black'),\r\n 'on-background-light': th.color('gray-700'),\r\n 'on-background-primary': th.color('primary-700'),\r\n 'on-background-primary-dark': th.color('primary-800'),\r\n\r\n 'layout-border': th.color('gray-300'),\r\n\r\n 'control-background': th.color('gray-100'),\r\n 'control-placeholder': th.color('gray-600'),\r\n 'control-on': th.color('gray-900'),\r\n 'control-border': th.color('layout-border'),\r\n 'control-border-hover': th.color('gray-500'),\r\n 'control-border-active': th.color('primary-400'),\r\n\r\n 'editor-background': th.color('gray-900'),\r\n 'editor-on': th.color('gray-100'),\r\n 'editor-border': th.color('layout-border'),\r\n\r\n 'blockquote-link': th.color('yellow-800'),\r\n 'blockquote-background': th.color('yellow-200'),\r\n 'blockquote-border': th.color('yellow'),\r\n\r\n 'doc-search-suggestion-highlight-background': th.color('primary-200'),\r\n 'doc-search-suggestion-highlight-on-background': th.color('primary-800'),\r\n 'doc-search-suggestion-content-background': th.color('primary-100'),\r\n 'doc-search-suggestion-content-underline': th.color('primary-700'),\r\n\r\n modes: {\r\n dark: {\r\n background: th.color('gray-900'),\r\n 'editor-background': th.color('black'),\r\n 'background-light': th.color('gray-800'),\r\n 'background-primary': th.color('primary-900'),\r\n 'background-mark': th.color('yellow-500'),\r\n 'background-light-a50': (p) =>\r\n transparentize(0.05, th.color('background-light')(p)),\r\n 'on-background': th.color('white'),\r\n 'on-background-light': th.color('gray-300'),\r\n 'on-background-primary': th.color('primary-300'),\r\n 'on-background-primary-dark': th.color('primary-200'),\r\n\r\n 'layout-border': th.color('gray-700'),\r\n\r\n 'control-background': th.color('gray-800'),\r\n 'control-placeholder': th.color('gray-400'),\r\n 'control-on': th.color('gray-100'),\r\n 'control-border': th.color('layout-border'),\r\n 'control-border-hover': th.color('gray-500'),\r\n 'control-border-active': th.color('primary-600'),\r\n\r\n 'blockquote-link': th.color('yellow-200'),\r\n 'blockquote-background': th.color('yellow-900'),\r\n 'blockquote-border': th.color('yellow-300'),\r\n\r\n 'doc-search-suggestion-highlight-background': th.color('primary-800'),\r\n 'doc-search-suggestion-highlight-on-background':\r\n th.color('primary-200'),\r\n 'doc-search-suggestion-content-background': th.color('primary-900'),\r\n 'doc-search-suggestion-content-underline': th.color('primary-300'),\r\n },\r\n },\r\n },\r\n}\r\n","import React from 'react'\r\nimport {\r\n createGlobalStyle,\r\n ThemeProvider as SCThemeProvider,\r\n th,\r\n} from '@xstyled/styled-components'\r\nimport { theme } from '../theme'\r\n\r\nexport const GlobalStyle = createGlobalStyle`\r\n ${th('global')}\r\n`\r\n\r\nexport function ThemeProvider({ children }) {\r\n return {children}\r\n}\r\n","import React from 'react'\r\nimport { ColorModeProvider, Preflight } from '@xstyled/styled-components'\r\nimport { MDXProvider } from './MDX'\r\nimport { GlobalStyle, ThemeProvider } from './Theme'\r\n\r\nexport function RootWrapper({ children }) {\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n )\r\n}\r\n","import { useDisclosureState } from '../disclosure/disclosure-state.js';\n/**\n * Provides state for the `Dialog` components.\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * \n * Content\n * ```\n */\n\nfunction useDialogState(props) {\n if (props === void 0) {\n props = {};\n }\n\n const disclosure = useDisclosureState(props);\n return disclosure;\n}\n\nexport { useDialogState };","import { useRef, useState, useCallback, useMemo } from 'react';\nimport { useControlledState, usePreviousValue } from 'ariakit-utils/hooks';\n/**\n * Provides state for the `Disclosure` components.\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\n\nfunction useDisclosureState(_temp) {\n var _props$defaultOpen;\n\n let {\n animated = false,\n ...props\n } = _temp === void 0 ? {} : _temp;\n const disclosureRef = useRef(null);\n const [open, setOpen] = useControlledState((_props$defaultOpen = props.defaultOpen) != null ? _props$defaultOpen : false, props.open, props.setOpen);\n const [contentElement, setContentElement] = useState(null);\n const [animating, setAnimating] = useState(!!animated && open);\n const prevOpen = usePreviousValue(open);\n const mounted = open || animating;\n\n if (animated && !animating && prevOpen !== open) {\n setAnimating(true);\n }\n\n const show = useCallback(() => setOpen(true), [setOpen]);\n const hide = useCallback(() => setOpen(false), [setOpen]);\n const toggle = useCallback(() => setOpen(v => !v), [setOpen]);\n const stopAnimation = useCallback(() => setAnimating(false), []);\n const state = useMemo(() => ({\n disclosureRef,\n open,\n mounted,\n animated,\n animating,\n contentElement,\n setContentElement,\n setOpen,\n show,\n hide,\n toggle,\n stopAnimation\n }), [open, mounted, animated, animating, contentElement, setContentElement, setOpen, show, hide, toggle, stopAnimation]);\n return state;\n}\n\nexport { useDisclosureState };","import { useState } from 'react';\nimport { useId, useSafeLayoutEffect, useForkRef } from 'ariakit-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { flushSync } from 'react-dom';\n\nfunction afterTimeout(timeoutMs, cb) {\n const timeoutId = setTimeout(cb, timeoutMs);\n return () => clearTimeout(timeoutId);\n}\n\nfunction afterPaint(cb) {\n let raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(cb);\n });\n return () => cancelAnimationFrame(raf);\n}\n\nfunction parseCSSTime() {\n for (var _len = arguments.length, times = new Array(_len), _key = 0; _key < _len; _key++) {\n times[_key] = arguments[_key];\n }\n\n return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n const currentTime = parseFloat(currentTimeString || \"0s\") * 1000; // When multiple times are specified, we want to use the longest one so we\n // wait until the longest transition has finished.\n\n if (currentTime > longestTime) return currentTime;\n return longestTime;\n }, 0);\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that can be shown or hidden.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const state = useDisclosureState();\n * const props = useDisclosureContent({ state });\n * Disclosure\n * Content\n * ```\n */\n\n\nconst useDisclosureContent = createHook(_ref => {\n let {\n state,\n ...props\n } = _ref;\n const id = useId(props.id);\n const [transition, setTransition] = useState(null);\n useSafeLayoutEffect(() => {\n var _state$contentElement;\n\n if (!state.animated) return; // When the disclosure content element is rendered in a portal, we need to\n // wait for the portal to be mounted and connected to the DOM before we\n // can start the animation.\n\n if (!((_state$contentElement = state.contentElement) != null && _state$contentElement.isConnected)) {\n setTransition(null);\n return;\n } // Double requestAnimationFrame is necessary here to avoid potential bugs\n // when the data attribute is added before the element is fully rendered\n // in the DOM, which wouldn't trigger the animation.\n\n\n return afterPaint(() => {\n setTransition(state.open ? \"enter\" : \"leave\");\n });\n }, [state.animated, state.contentElement, state.open]);\n useSafeLayoutEffect(() => {\n if (!state.animated) return;\n if (!state.contentElement) return;\n if (!transition) return;\n if (transition === \"enter\" && !state.open) return;\n if (transition === \"leave\" && state.open) return; // When the animated state is a number, the user has manually set the\n // animation timeout, so we just respect it.\n\n if (typeof state.animated === \"number\") {\n const timeoutMs = state.animated;\n return afterTimeout(timeoutMs, () => flushSync(state.stopAnimation));\n } // Otherwise, we need to parse the CSS transition/animation duration and\n // delay to know when the animation ends. This is safer than relying on\n // the transitionend/animationend events because it's not guaranteed that\n // these events will fire. For example, if the element is removed from the\n // DOM before the animation ends or if the animation wasn't triggered in\n // the first place, the events won't fire.\n\n\n const {\n transitionDuration,\n animationDuration,\n transitionDelay,\n animationDelay\n } = getComputedStyle(state.contentElement);\n const delay = parseCSSTime(transitionDelay, animationDelay);\n const duration = parseCSSTime(transitionDuration, animationDuration);\n const timeoutMs = delay + duration; // If the animation/transition delay and duration are 0, this means the\n // element is not animated with CSS (they may be using framer-motion,\n // react-spring, or something else). In this case, the user is responsible\n // for calling `stopAnimation` when the animation ends.\n\n if (!timeoutMs) return; // TODO: We should probably warn if `stopAnimation` hasn't been called\n // after X seconds.\n\n return afterTimeout(timeoutMs, () => flushSync(state.stopAnimation));\n }, [state.animated, state.contentElement, transition, state.open, state.stopAnimation]);\n const style = state.mounted || props.hidden === false ? props.style : { ...props.style,\n display: \"none\"\n };\n props = {\n id,\n \"data-enter\": transition === \"enter\" ? \"\" : undefined,\n \"data-leave\": transition === \"leave\" ? \"\" : undefined,\n hidden: !state.mounted,\n ...props,\n ref: useForkRef(id ? state.setContentElement : null, props.ref),\n style\n };\n return props;\n});\n/**\n * A component that renders an element that can be shown or hidden.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\n\nconst DisclosureContent = createComponent(props => {\n const htmlProps = useDisclosureContent(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n DisclosureContent.displayName = \"DisclosureContent\";\n}\n\nexport { DisclosureContent, useDisclosureContent };","import { createHook, createComponent, createElement } from 'ariakit-utils/system';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component. When applying the props returned by this hook to a\n * component, the component will be visually hidden, but still accessible to\n * screen readers.\n * @see https://ariakit.org/components/visually-hidden\n * @example\n * ```jsx\n * const props = useVisuallyHidden();\n * \n * Learn more about the Solar System.\n * \n * ```\n */\n\nconst useVisuallyHidden = createHook(props => {\n props = { ...props,\n style: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n ...props.style\n }\n };\n return props;\n});\n/**\n * A component that renders an element that's visually hidden, but still\n * accessible to screen readers.\n * @see https://ariakit.org/components/visually-hidden\n * @example\n * ```jsx\n * \n * Learn more about the Solar System.\n * \n * ```\n */\n\nconst VisuallyHidden = createComponent(props => {\n const htmlProps = useVisuallyHidden(props);\n return createElement(\"span\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n}\n\nexport { VisuallyHidden, useVisuallyHidden };","import { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useVisuallyHidden } from '../visually-hidden/visually-hidden.js';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a focus trap element.\n * @see https://ariakit.org/components/focus-trap\n * @example\n * ```jsx\n * const props = useFocusTrap();\n * \n * ```\n */\n\nconst useFocusTrap = createHook(props => {\n props = {\n \"data-focus-trap\": \"\",\n tabIndex: 0,\n \"aria-hidden\": true,\n ...props,\n style: {\n // Prevents unintended scroll jumps.\n position: \"fixed\",\n top: 0,\n left: 0,\n ...props.style\n }\n };\n props = useVisuallyHidden(props);\n return props;\n});\n/**\n * A component that renders a focus trap element.\n * @see https://ariakit.org/components/focus-trap\n * @example\n * ```jsx\n * \n * ```\n */\n\nconst FocusTrap = createComponent(props => {\n const htmlProps = useFocusTrap(props);\n return createElement(\"span\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FocusTrap.displayName = \"FocusTrap\";\n}\n\nexport { FocusTrap, useFocusTrap };","import { useRef } from 'react';\nimport { getAllTabbableIn } from 'ariakit-utils/focus';\nimport { useWrapElement, useForkRef } from 'ariakit-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { FocusTrap } from './focus-trap.js';\nimport { jsxs, Fragment, jsx } from 'react/jsx-runtime';\nconst useFocusTrapRegion = createHook(_ref => {\n let {\n enabled = false,\n ...props\n } = _ref;\n const ref = useRef(null);\n props = useWrapElement(props, element => {\n const renderFocusTrap = () => {\n if (!enabled) return null;\n return /*#__PURE__*/jsx(FocusTrap, {\n onFocus: event => {\n const container = ref.current;\n if (!container) return;\n const tabbables = getAllTabbableIn(container, true);\n const first = tabbables[0];\n const last = tabbables[tabbables.length - 1]; // Fallbacks to the container element\n\n if (!tabbables.length) {\n container.focus();\n return;\n }\n\n if (event.relatedTarget === first) {\n last == null ? void 0 : last.focus();\n } else {\n first == null ? void 0 : first.focus();\n }\n }\n });\n };\n\n return /*#__PURE__*/jsxs(Fragment, {\n children: [renderFocusTrap(), element, renderFocusTrap()]\n });\n }, [enabled]);\n props = { ...props,\n ref: useForkRef(ref, props.ref)\n };\n return props;\n});\n/**\n * A component that renders a focus trap region element.\n * @see https://ariakit.org/components/focus-trap-region\n * @example\n * ```jsx\n * \n * \n * \n * \n * \n * ```\n */\n\nconst FocusTrapRegion = createComponent(props => {\n const htmlProps = useFocusTrapRegion(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FocusTrapRegion.displayName = \"FocusTrapRegion\";\n}\n\nexport { FocusTrapRegion, useFocusTrapRegion };","import { createContext } from 'react';\nconst HeadingContext = /*#__PURE__*/createContext(0);\nexport { HeadingContext as H };","import { useContext } from 'react';\nimport { H as HeadingContext } from '../__utils-5a52896b.js';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction HeadingLevel(_ref) {\n let {\n level,\n children\n } = _ref;\n const contextLevel = useContext(HeadingContext);\n const nextLevel = Math.max(Math.min(level || contextLevel + 1, 6), 1);\n return /*#__PURE__*/jsx(HeadingContext.Provider, {\n value: nextLevel,\n children: children\n });\n}\n\nexport { HeadingLevel };","import { createContext } from 'react';\n/**\n * Stores the element that will contain the portal. By default, it will be the\n * body of the document.\n * @example\n * ```jsx\n * const container = document.getElementById(\"container\");\n *\n * function App() {\n * return (\n * \n * \n * \n * );\n * }\n * ```\n */\n\nconst PortalContext = /*#__PURE__*/createContext(null);\nexport { PortalContext };","import { useRef, useContext, useState, useEffect } from 'react';\nimport { getDocument } from 'ariakit-utils/dom';\nimport { isFocusEventOutside } from 'ariakit-utils/events';\nimport { getNextTabbable, getPreviousTabbable, restoreFocusIn, disableFocusIn } from 'ariakit-utils/focus';\nimport { useForkRef, useSafeLayoutEffect, useWrapElement } from 'ariakit-utils/hooks';\nimport { setRef, queueMicrotask } from 'ariakit-utils/misc';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { createPortal } from 'react-dom';\nimport { PortalContext } from './portal-context.js';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { FocusTrap } from '../focus-trap/focus-trap.js';\n\nfunction getRootElement(element) {\n return getDocument(element).body;\n}\n\nfunction getPortalElement(element, portalElement) {\n if (!portalElement) {\n return getDocument(element).createElement(\"div\");\n }\n\n if (typeof portalElement === \"function\") {\n return portalElement(element);\n }\n\n return portalElement;\n}\n\nfunction getRandomId(prefix) {\n if (prefix === void 0) {\n prefix = \"id\";\n }\n\n return \"\" + (prefix ? prefix + \"-\" : \"\") + Math.random().toString(36).substr(2, 6);\n}\n\nfunction queueFocus(element) {\n queueMicrotask(() => {\n element == null ? void 0 : element.focus();\n });\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element using `ReactDOM.createPortal`.\n * @see https://ariakit.org/components/portal\n * @example\n * ```jsx\n * const props = usePortal();\n * Content\n * ```\n */\n\n\nconst usePortal = createHook(_ref => {\n let {\n preserveTabOrder,\n portalElement,\n portalRef,\n portal = true,\n ...props\n } = _ref;\n const ref = useRef(null);\n const refProp = useForkRef(ref, props.ref);\n const context = useContext(PortalContext);\n const [portalNode, setPortalNode] = useState(null);\n const beforeOutsideRef = useRef(null);\n const beforeInsideRef = useRef(null);\n const afterInsideRef = useRef(null);\n const afterOutsideRef = useRef(null); // Create the portal node and attach it to the DOM.\n\n useSafeLayoutEffect(() => {\n const element = ref.current;\n\n if (!element || !portal) {\n setPortalNode(null);\n return;\n }\n\n const portalEl = getPortalElement(element, portalElement); // TODO: Warn about portals as the document.body element.\n\n if (!portalEl) {\n setPortalNode(null);\n return;\n }\n\n const isPortalInDocument = portalEl.isConnected;\n\n if (!isPortalInDocument) {\n const rootElement = context || getRootElement(element);\n rootElement.appendChild(portalEl);\n } // If the portal element doesn't have an id already, set one.\n\n\n if (!portalEl.id) {\n // Use the element's id so rendering will\n // produce predictable results.\n portalEl.id = element.id ? element.id + \"-portal\" : getRandomId();\n } // Set the internal portal node state and the portalRef prop.\n\n\n setPortalNode(portalEl);\n setRef(portalRef, portalEl); // If the portal element was already in the document, we don't need to\n // remove it when the element is unmounted, so we just return.\n\n if (isPortalInDocument) return; // Otherwise, we need to remove the portal from the DOM.\n\n return () => {\n portalEl.remove();\n setRef(portalRef, null);\n };\n }, [portal, portalElement, context, portalRef]); // When preserveTabOrder is true, make sure elements inside the portal\n // element are tabbable only when the portal has already been focused,\n // either by tabbing into a focus trap element outside or using the mouse.\n\n useEffect(() => {\n if (!portalNode) return;\n if (!preserveTabOrder) return;\n let raf = 0;\n\n const onFocus = event => {\n if (isFocusEventOutside(event)) {\n const focusing = event.type === \"focusin\";\n if (focusing) return restoreFocusIn(portalNode); // Wait for the next frame to allow tabindex changes after the focus\n // event.\n\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n disableFocusIn(portalNode, true);\n });\n }\n }; // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n\n\n portalNode.addEventListener(\"focusin\", onFocus, true);\n portalNode.addEventListener(\"focusout\", onFocus, true);\n return () => {\n portalNode.removeEventListener(\"focusin\", onFocus, true);\n portalNode.removeEventListener(\"focusout\", onFocus, true);\n };\n }, [portalNode, preserveTabOrder]);\n props = useWrapElement(props, element => {\n element =\n /*#__PURE__*/\n // While the portal node is not in the DOM, we need to pass the\n // current context to the portal context, otherwise it's going to\n // reset to the body element on nested portals.\n jsx(PortalContext.Provider, {\n value: portalNode || context,\n children: element\n });\n if (!portal) return element;\n\n if (!portalNode) {\n // If the element should be rendered within a portal, but the portal\n // node is not yet in the DOM, we'll return an empty div element. We\n // assign the id to the element so we can use it to set the portal id\n // later on. We're using position: fixed here so that the browser\n // doesn't add margin to the element when setting gap on a parent\n // element.\n return /*#__PURE__*/jsx(\"span\", {\n ref: refProp,\n id: props.id,\n style: {\n position: \"fixed\"\n }\n });\n }\n\n element = /*#__PURE__*/jsxs(Fragment, {\n children: [preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: beforeInsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(getNextTabbable());\n } else {\n queueFocus(beforeOutsideRef.current);\n }\n }\n }), element, preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: afterInsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(getPreviousTabbable());\n } else {\n queueFocus(afterOutsideRef.current);\n }\n }\n })]\n });\n\n if (portalNode) {\n element = /*#__PURE__*/createPortal(element, portalNode);\n }\n\n element = /*#__PURE__*/jsxs(Fragment, {\n children: [preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(beforeInsideRef.current);\n } else {\n queueFocus(getPreviousTabbable());\n }\n }\n }), preserveTabOrder &&\n /*#__PURE__*/\n // We're using position: fixed here so that the browser doesn't\n // add margin to the element when setting gap on a parent element.\n jsx(\"span\", {\n \"aria-owns\": portalNode == null ? void 0 : portalNode.id,\n style: {\n position: \"fixed\"\n }\n }), element, preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: afterOutsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(afterInsideRef.current);\n } else {\n queueFocus(getNextTabbable());\n }\n }\n })]\n });\n return element;\n }, [portalNode, context, portal, props.id, preserveTabOrder]);\n props = { ...props,\n ref: refProp\n };\n return props;\n});\n/**\n * A component that renders an element using `ReactDOM.createPortal`.\n * @see https://ariakit.org/components/portal\n * @example\n * ```jsx\n * Content\n * ```\n */\n\nconst Portal = createComponent(props => {\n const htmlProps = usePortal(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n}\n\nexport { Portal, usePortal };","import { createContext } from 'react';\nconst DialogContext = /*#__PURE__*/createContext(undefined);\nconst DialogHeadingContext = /*#__PURE__*/createContext(undefined);\nconst DialogDescriptionContext = /*#__PURE__*/createContext(undefined);\nexport { DialogContext as D, DialogHeadingContext as a, DialogDescriptionContext as b };","import { useRef, useEffect, useMemo, useCallback, useContext, useState, createContext } from 'react';\nimport { getDocument, contains, getActiveElement, getWindow, isButton, closest } from 'ariakit-utils/dom';\nimport { addGlobalEventListener, isSelfTarget, queueBeforeEvent } from 'ariakit-utils/events';\nimport { getFirstTabbableIn, focusIfNeeded, isFocusable } from 'ariakit-utils/focus';\nimport { useSafeLayoutEffect, useBooleanEvent, useEvent, useForkRef, useForceUpdate, useLiveRef, usePortalRef, useId, useWrapElement } from 'ariakit-utils/hooks';\nimport { noop, chain } from 'ariakit-utils/misc';\nimport { isApple, isMac, isSafari } from 'ariakit-utils/platform';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useDisclosureContent } from '../disclosure/disclosure-content.js';\nimport { useFocusTrapRegion } from '../focus-trap/focus-trap-region.js';\nimport { useFocusable } from '../focusable/focusable.js';\nimport { HeadingLevel } from '../heading/heading-level.js';\nimport { usePortal } from '../portal/portal.js';\nimport { jsx } from 'react/jsx-runtime';\nimport { D as DialogContext, a as DialogHeadingContext, b as DialogDescriptionContext } from '../dialog-context-f963dd70.js';\nimport { flushSync } from 'react-dom';\n\nfunction usePreviousMouseDownRef(enabled) {\n const previousMouseDownRef = useRef();\n useEffect(() => {\n if (!enabled) {\n previousMouseDownRef.current = null;\n return;\n }\n\n const onMouseDown = event => {\n previousMouseDownRef.current = event.target;\n };\n\n return addGlobalEventListener(\"mousedown\", onMouseDown, true);\n }, [enabled]);\n return previousMouseDownRef;\n}\n\nfunction DialogBackdrop(_ref) {\n var _state$contentElement;\n\n let {\n state,\n backdrop,\n backdropProps,\n hideOnInteractOutside = true,\n hideOnEscape = true,\n hidden,\n children\n } = _ref;\n const ref = useRef(null);\n state = useMemo(() => ({ ...state,\n // Override the setContentElement method to prevent the backdrop from\n // overwriting the dialog's content element.\n setContentElement: noop\n }), [state]);\n useSafeLayoutEffect(() => {\n const backdrop = ref.current;\n const dialog = state.contentElement;\n if (!backdrop) return;\n if (!dialog) return;\n backdrop.style.zIndex = getComputedStyle(dialog).zIndex;\n }, [state.contentElement]);\n const onClickProp = backdropProps == null ? void 0 : backdropProps.onClick;\n const hideOnInteractOutsideProp = useBooleanEvent(hideOnInteractOutside);\n const previousMouseDownRef = usePreviousMouseDownRef(state.mounted);\n const onClick = useEvent(event => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (previousMouseDownRef.current !== event.currentTarget) return;\n if (!hideOnInteractOutsideProp(event)) return;\n event.stopPropagation();\n state.hide();\n });\n const onKeyDownProp = backdropProps == null ? void 0 : backdropProps.onKeyDown;\n const hideOnEscapeProp = useBooleanEvent(hideOnEscape); // When hideOnInteractOutside is false and the backdrop is clicked, the\n // backdrop will receive focus (because we set the tabIndex on it). Therefore,\n // the Escape key will not be captured by the Dialog component. So we listen\n // to it here.\n\n const onKeyDown = useEvent(event => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented) return;\n if (event.key !== \"Escape\") return;\n if (!isSelfTarget(event)) return;\n if (!hideOnEscapeProp(event)) return;\n state.hide();\n });\n const props = useDisclosureContent({\n state,\n id: undefined,\n role: \"presentation\",\n tabIndex: -1,\n hidden,\n ...backdropProps,\n ref: useForkRef(backdropProps == null ? void 0 : backdropProps.ref, ref),\n onClick,\n onKeyDown,\n style: {\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...(backdropProps == null ? void 0 : backdropProps.style)\n }\n });\n const Component = typeof backdrop !== \"boolean\" ? backdrop || \"div\" : \"div\";\n return /*#__PURE__*/jsx(Component, { ...props,\n \"data-backdrop\": (_state$contentElement = state.contentElement) == null ? void 0 : _state$contentElement.id,\n children: children\n });\n} // We don't need to walk through certain tags.\n\n\nconst ignoreTags = [\"SCRIPT\", \"STYLE\"];\n\nfunction isValidElement(element, ignoredElements) {\n if (ignoreTags.includes(element.tagName)) return false;\n return !ignoredElements.some(enabledElement => enabledElement && contains(element, enabledElement));\n}\n\nfunction walkTreeOutside(elements, callback) {\n for (let element of elements) {\n const document = getDocument(element); // Loops through the parent elements and then through each of their\n // children.\n\n while ((_element = element) != null && _element.parentElement && element !== document.body) {\n var _element;\n\n for (const child of element.parentElement.children) {\n if (isValidElement(child, elements)) {\n callback(child);\n }\n }\n\n element = element.parentElement;\n }\n }\n}\n\nfunction disableElement$1(element) {\n const previousAriaHidden = element.getAttribute(\"aria-hidden\") || \"\";\n element.setAttribute(\"aria-hidden\", \"true\");\n\n const enableElement = () => {\n if (previousAriaHidden) {\n element.setAttribute(\"aria-hidden\", previousAriaHidden);\n } else {\n element.removeAttribute(\"aria-hidden\");\n }\n };\n\n return enableElement;\n}\n\nfunction disableAccessibilityTreeOutside() {\n const cleanups = [];\n\n for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {\n elements[_key] = arguments[_key];\n }\n\n walkTreeOutside(elements, element => {\n cleanups.unshift(disableElement$1(element));\n });\n\n const restoreAccessibilityTree = () => {\n cleanups.forEach(fn => fn());\n };\n\n return restoreAccessibilityTree;\n}\n\nfunction disableElement(element) {\n if (!(\"style\" in element)) return noop;\n const previousPointerEvents = element.style.pointerEvents;\n element.style.pointerEvents = \"none\";\n\n const enableElement = () => {\n element.style.pointerEvents = previousPointerEvents != null ? previousPointerEvents : \"\";\n };\n\n return enableElement;\n}\n\nfunction disablePointerEventsOutside() {\n const cleanups = [];\n\n for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {\n elements[_key] = arguments[_key];\n }\n\n walkTreeOutside(elements, element => {\n cleanups.unshift(disableElement(element));\n });\n\n const restorePointerEvents = () => {\n cleanups.forEach(fn => fn());\n };\n\n return restorePointerEvents;\n}\n\nfunction prependHiddenDismiss(container, onClick) {\n const document = getDocument(container);\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.tabIndex = -1;\n button.textContent = \"Dismiss popup\"; // Visually hidden styles\n\n button.style.border = \"0px\";\n button.style.clip = \"rect(0 0 0 0)\";\n button.style.height = \"1px\";\n button.style.margin = \"-1px\";\n button.style.overflow = \"hidden\";\n button.style.padding = \"0px\";\n button.style.position = \"absolute\";\n button.style.whiteSpace = \"nowrap\";\n button.style.width = \"1px\";\n button.addEventListener(\"click\", onClick);\n container.prepend(button);\n\n const removeHiddenDismiss = () => {\n button.removeEventListener(\"click\", onClick);\n button.remove();\n };\n\n return removeHiddenDismiss;\n}\n/**\n * Controls which dialog is the champion that will control global behavior such\n * as body scrolling and accessibility tree outside.\n */\n\n\nfunction useChampionDialog(dialogRef, attribute, enabled) {\n const [updated, retry] = useForceUpdate();\n const isChampionDialog = useCallback(() => {\n if (!enabled) return false;\n const dialog = dialogRef.current;\n if (!dialog) return false;\n const {\n body\n } = getDocument(dialog);\n const id = body.getAttribute(attribute);\n return !id || id === dialog.id;\n }, [updated, enabled, attribute]);\n useSafeLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!enabled) return;\n const {\n body\n } = getDocument(dialog);\n\n if (!isChampionDialog()) {\n const observer = new MutationObserver(() => flushSync(retry));\n observer.observe(body, {\n attributeFilter: [attribute]\n });\n return () => observer.disconnect();\n }\n\n body.setAttribute(attribute, dialog.id);\n return () => {\n body.removeAttribute(attribute);\n };\n }, [updated, dialogRef, enabled, isChampionDialog, attribute]);\n return isChampionDialog;\n}\n/**\n * When the focused child gets removed from the DOM, we make sure to move focus\n * to the dialog.\n */\n\n\nfunction useFocusOnChildUnmount(dialogRef, state) {\n useEffect(() => {\n if (!state.open) return;\n const dialog = dialogRef.current;\n if (!dialog) return;\n const observer = new MutationObserver(_ref => {\n let [mutation] = _ref;\n if (!mutation) return; // If target is not dialog, then this observer was triggered by a nested\n // dialog, so we just ignore it here and let the nested dialog handle it.\n\n if (mutation.target !== dialog) return;\n const document = getDocument(dialog);\n const activeElement = getActiveElement(dialog); // We can check if the current focused element is the document body.\n\n if (activeElement === document.body) {\n dialog.focus();\n }\n });\n observer.observe(dialog, {\n childList: true,\n subtree: true\n });\n return () => observer.disconnect();\n }, [state.open, dialogRef]);\n}\n\nfunction isInDocument(target) {\n if (target.tagName === \"HTML\") return true;\n return contains(getDocument(target).body, target);\n}\n\nfunction isDisclosure(disclosure, target) {\n if (contains(disclosure, target)) return true;\n const activeId = target.getAttribute(\"aria-activedescendant\");\n\n if (activeId) {\n const activeElement = getDocument(disclosure).getElementById(activeId);\n\n if (activeElement) {\n return contains(disclosure, activeElement);\n }\n }\n\n return false;\n}\n\nfunction isBackdrop$1(dialog, target) {\n if (!dialog) return false;\n if (!target) return false;\n return target.hasAttribute(\"data-backdrop\") && target.getAttribute(\"data-backdrop\") === dialog.id;\n}\n\nfunction dialogContains(target) {\n return dialogRef => {\n const dialog = dialogRef.current;\n if (!dialog) return false;\n if (contains(dialog, target)) return true;\n if (isBackdrop$1(dialog, target)) return true;\n return false;\n };\n}\n\nfunction useEventOutside(_ref) {\n let {\n type,\n listener,\n dialogRef,\n nestedDialogs,\n disclosureRef,\n enabled,\n capture\n } = _ref;\n const callListener = useEvent(listener);\n const nestedDialogsRef = useLiveRef(nestedDialogs);\n useEffect(() => {\n if (!enabled) return;\n\n const onEvent = event => {\n const container = dialogRef.current;\n const disclosure = disclosureRef == null ? void 0 : disclosureRef.current;\n const target = event.target;\n if (!container) return;\n if (!target) return; // When an element is unmounted right after it receives focus, the focus\n // event is triggered after that, when the element isn't part of the\n // current document anymore. We just ignore it.\n\n if (!isInDocument(target)) return; // Event inside dialog\n\n if (contains(container, target)) return; // Event on disclosure\n\n if (disclosure && isDisclosure(disclosure, target)) return; // Event on focus trap\n\n if (target.hasAttribute(\"data-focus-trap\")) return; // Event inside a nested dialog\n\n if (nestedDialogsRef.current.some(dialogContains(target))) return;\n callListener(event);\n };\n\n return addGlobalEventListener(type, onEvent, capture);\n }, [enabled, dialogRef, disclosureRef, callListener, capture]);\n}\n\nfunction shouldHideOnInteractOutside(hideOnInteractOutside, event) {\n if (typeof hideOnInteractOutside === \"function\") {\n return hideOnInteractOutside(event);\n }\n\n return !!hideOnInteractOutside;\n}\n\nfunction useHideOnInteractOutside(dialogRef, nestedDialogs, _ref2) {\n let {\n state,\n modal,\n hideOnInteractOutside,\n enabled = state.open\n } = _ref2;\n const previousMouseDownRef = usePreviousMouseDownRef(enabled);\n const props = {\n disclosureRef: state.disclosureRef,\n enabled,\n dialogRef,\n nestedDialogs,\n capture: true\n };\n useEventOutside({ ...props,\n type: \"mousedown\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (modal && !shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n // If the dialog is modal and the user clicked outside the dialog, but\n // shouldHideOnInteractOutside is false, we don't hide the dialog, but\n // ensure focus is placed on it. Otherwise the focus might end up on an\n // element outside of the dialog or the body element itself.\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n });\n useEventOutside({ ...props,\n type: \"click\",\n listener: event => {\n const previousMouseDown = previousMouseDownRef.current; // If there's no previously mousedown'd element, this probably means that\n // the dialog opened with a mousedown event, and a subsequent click event\n // was dispatched outside of the dialog. See form-select example. We just\n // ignore this.\n\n if (!previousMouseDown) return;\n\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return;\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n const dialog = dialogRef.current;\n const draggingFromDialog = dialog && contains(dialog, previousMouseDown); // This prevents the dialog from closing by dragging the cursor (for\n // example, selecting some text inside the dialog and releasing the mouse\n // outside of it). See https://github.com/ariakit/ariakit/issues/1336\n\n if (draggingFromDialog) return;\n state.hide();\n }\n });\n useEventOutside({ ...props,\n type: \"focusin\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return; // Same as the mousedown listener.\n\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n return;\n } // Fix for https://github.com/ariakit/ariakit/issues/619\n\n\n if (event.target === getDocument(dialog)) return;\n state.hide();\n }\n });\n useEventOutside({ ...props,\n type: \"contextmenu\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return; // Same as the mousedown listener.\n\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n state.hide();\n }\n });\n}\n\nconst NestedDialogsContext = /*#__PURE__*/createContext({});\n/**\n * Handles nested dialogs.\n */\n\nfunction useNestedDialogs(dialogRef, _ref) {\n let {\n state,\n modal\n } = _ref;\n const context = useContext(NestedDialogsContext);\n const [openModals, setOpenModals] = useState([]);\n const [nestedDialogs, setNestedDialogs] = useState([]);\n const addDialog = useCallback(ref => {\n const removeFromContext = context.addDialog == null ? void 0 : context.addDialog(ref);\n setNestedDialogs(dialogs => [...dialogs, ref]);\n return () => {\n removeFromContext == null ? void 0 : removeFromContext();\n setNestedDialogs(dialogs => dialogs.filter(dialog => dialog !== ref));\n };\n }, [context.addDialog]);\n const showModal = useCallback(ref => {\n const hideModal = context.showModal == null ? void 0 : context.showModal(ref);\n setOpenModals(modals => [...modals, ref]);\n return () => {\n hideModal == null ? void 0 : hideModal();\n setOpenModals(modals => modals.filter(modal => modal !== ref));\n };\n }, [context.showModal]); // If this is a nested dialog, add it to the context.\n\n useSafeLayoutEffect(() => {\n return context.addDialog == null ? void 0 : context.addDialog(dialogRef);\n }, [context.addDialog, dialogRef]);\n useSafeLayoutEffect(() => {\n if (!modal) return;\n if (!state.open) return;\n return context.showModal == null ? void 0 : context.showModal(dialogRef);\n }, [modal, state.open, context.showModal, dialogRef]); // Close all nested dialogs when parent dialog closes.\n\n useSafeLayoutEffect(() => {\n if (context.open === false && state.open) {\n state.hide();\n }\n }, [context.open, state.open, state.hide]); // Provider\n\n const providerValue = useMemo(() => ({\n open: state.open,\n addDialog,\n showModal\n }), [state.open, addDialog, showModal]);\n const wrapElement = useCallback(element => /*#__PURE__*/jsx(NestedDialogsContext.Provider, {\n value: providerValue,\n children: element\n }), [providerValue]);\n return {\n nestedDialogs,\n openModals,\n wrapElement\n };\n} // Based on https://github.com/floating-ui/floating-ui/blob/1201e72e67a80e479122293d46d96c9bbc8f156d/packages/react-dom-interactions/src/FloatingOverlay.tsx\n\n\nfunction assignStyle(element, style) {\n if (!element) return () => {};\n const previousStyle = element.style.cssText;\n Object.assign(element.style, style);\n return () => {\n element.style.cssText = previousStyle;\n };\n}\n\nfunction setCSSProperty(element, property, value) {\n if (!element) return () => {};\n const previousValue = element.style.getPropertyValue(property);\n element.style.setProperty(property, value);\n return () => {\n if (previousValue) {\n element.style.setProperty(property, previousValue);\n } else {\n element.style.removeProperty(property);\n }\n };\n}\n\nfunction getPaddingProperty(documentElement) {\n // RTL scrollbar\n const documentLeft = documentElement.getBoundingClientRect().left;\n const scrollbarX = Math.round(documentLeft) + documentElement.scrollLeft;\n return scrollbarX ? \"paddingLeft\" : \"paddingRight\";\n}\n\nfunction usePreventBodyScroll(dialogRef, enabled) {\n const isChampionDialog = useChampionDialog(dialogRef, \"data-dialog-body-scroll\", enabled);\n useSafeLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!isChampionDialog()) return;\n const doc = getDocument(dialog);\n const win = getWindow(dialog);\n const {\n documentElement,\n body\n } = doc;\n const scrollbarWidth = win.innerWidth - documentElement.clientWidth;\n\n const setScrollbarWidthProperty = () => setCSSProperty(documentElement, \"--scrollbar-width\", scrollbarWidth + \"px\");\n\n const paddingProperty = getPaddingProperty(documentElement);\n\n const setStyle = () => assignStyle(body, {\n overflow: \"hidden\",\n [paddingProperty]: scrollbarWidth + \"px\"\n }); // Only iOS doesn't respect `overflow: hidden` on document.body\n\n\n const setIOSStyle = () => {\n var _visualViewport$offse, _visualViewport$offse2;\n\n const {\n scrollX,\n scrollY,\n visualViewport\n } = win; // iOS 12 does not support `visuaViewport`.\n\n const offsetLeft = (_visualViewport$offse = visualViewport == null ? void 0 : visualViewport.offsetLeft) != null ? _visualViewport$offse : 0;\n const offsetTop = (_visualViewport$offse2 = visualViewport == null ? void 0 : visualViewport.offsetTop) != null ? _visualViewport$offse2 : 0;\n const restoreStyle = assignStyle(body, {\n position: \"fixed\",\n overflow: \"hidden\",\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: \"0\",\n [paddingProperty]: scrollbarWidth + \"px\"\n });\n return () => {\n restoreStyle(); // istanbul ignore next: JSDOM doesn't implement window.scrollTo\n\n if (process.env.NODE_ENV !== \"test\") {\n win.scrollTo(scrollX, scrollY);\n }\n };\n };\n\n const isIOS = isApple() && !isMac();\n return chain(setScrollbarWidthProperty(), isIOS ? setIOSStyle() : setStyle());\n }, [dialogRef, isChampionDialog]);\n}\n\nconst isSafariBrowser = isSafari();\n\nfunction isBackdrop(dialog, element) {\n const id = dialog.id;\n if (!id) return;\n return element.getAttribute(\"data-backdrop\") === id;\n}\n\nfunction isInDialog(element) {\n return dialogRef => dialogRef.current && contains(dialogRef.current, element);\n}\n\nfunction isAlreadyFocusingAnotherElement(dialog, nestedDialogs) {\n const activeElement = getActiveElement();\n if (!activeElement) return false;\n if (contains(dialog, activeElement)) return false;\n if (isBackdrop(dialog, activeElement)) return false;\n if (nestedDialogs != null && nestedDialogs.some(isInDialog(activeElement))) return false;\n if (isFocusable(activeElement)) return true;\n return false;\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a dialog element.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const state = useDialogState();\n * const props = useDialog({ state });\n * Dialog\n * ```\n */\n\n\nconst useDialog = createHook(_ref => {\n let {\n state,\n focusable = true,\n modal = true,\n portal = !!modal,\n backdrop = !!modal,\n backdropProps,\n hideOnEscape = true,\n hideOnInteractOutside = true,\n preventBodyScroll = !!modal,\n autoFocusOnShow = true,\n autoFocusOnHide = true,\n initialFocusRef,\n finalFocusRef,\n ...props\n } = _ref;\n const ref = useRef(null);\n const openRef = useRef(state.open); // domReady can be also the portal node element so it's updated when the\n // portal node changes (like in between re-renders), triggering effects\n // again.\n\n const {\n portalRef,\n portalNode,\n domReady\n } = usePortalRef(portal, props.portalRef); // Sets preserveTabOrder to true only if the dialog is not a modal and is\n // open.\n\n const preserveTabOrder = props.preserveTabOrder && !modal && state.mounted;\n const openStable = state.open && !state.animating; // Usually, we only want to disable the accessibility tree outside if the\n // dialog is a modal. But the Portal component can't preserve the tab order\n // on Safari/VoiceOver. By allowing only the dialog/portal to be accessible,\n // we provide a similar tab order flow. We don't need to disable pointer\n // events because it's just for screen readers.\n\n const shouldDisableAccessibilityTree = modal || portal && preserveTabOrder && isSafari();\n const id = useId(props.id); // Sets disclosure ref. It needs to be a layout effect so we get the focused\n // element right before the dialog is mounted.\n\n useSafeLayoutEffect(() => {\n if (!openStable) return;\n const dialog = ref.current;\n const activeElement = getActiveElement(dialog, true);\n if (!activeElement) return;\n if (activeElement.tagName === \"BODY\") return; // The disclosure element can't be inside the dialog.\n\n if (dialog && contains(dialog, activeElement)) return;\n state.disclosureRef.current = activeElement;\n }, [openStable]);\n const nested = useNestedDialogs(ref, {\n state,\n modal\n });\n const {\n nestedDialogs,\n openModals,\n wrapElement\n } = nested;\n const nestedDialogsRef = useLiveRef(nestedDialogs);\n usePreventBodyScroll(ref, preventBodyScroll && state.mounted); // When a focused child element is removed, focus will be placed on the\n // document's body. This will focus on the dialog instead.\n\n useFocusOnChildUnmount(ref, state);\n useHideOnInteractOutside(ref, nestedDialogs, {\n state,\n modal,\n hideOnInteractOutside,\n enabled: state.open\n }); // Safari does not focus on native buttons on mousedown. The\n // DialogDisclosure component normalizes this behavior using the\n // useFocusable hook, but the disclosure button may use a custom component,\n // and not DialogDisclosure. In this case, we need to make sure the\n // disclosure button gets focused here.\n\n if (isSafariBrowser) {\n useEffect(() => {\n if (!state.mounted) return;\n const disclosure = state.disclosureRef.current;\n if (!disclosure) return;\n if (!isButton(disclosure)) return;\n\n const onMouseDown = () => {\n let receivedFocus = false;\n\n const onFocus = () => {\n receivedFocus = true;\n };\n\n const options = {\n capture: true,\n once: true\n };\n disclosure.addEventListener(\"focusin\", onFocus, options);\n queueBeforeEvent(disclosure, \"mouseup\", () => {\n disclosure.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus) return;\n focusIfNeeded(disclosure);\n });\n };\n\n disclosure.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n disclosure.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [state.mounted, state.disclosureRef]);\n } // Renders a hidden dismiss button at the top of the modal dialog element.\n // So that screen reader users aren't trapped in the dialog when there's no\n // visible dismiss button.\n\n\n useEffect(() => {\n if (!state.mounted) return;\n if (!domReady) return;\n const dialog = ref.current;\n if (!dialog) return; // Usually, we only want to force the presence of a dismiss button if the\n // dialog is a modal. But, on Safari, since we're disabling the\n // accessibility tree outside, we need to ensure the user will be able to\n // close the dialog.\n\n if (shouldDisableAccessibilityTree) {\n // If there's already a DialogDismiss component, it does nothing.\n const existingDismiss = dialog.querySelector(\"[data-dialog-dismiss]\");\n if (existingDismiss) return;\n return prependHiddenDismiss(dialog, state.hide);\n }\n\n return;\n }, [state.mounted, domReady, shouldDisableAccessibilityTree, state.hide]);\n const shouldDisableOutside = useChampionDialog(ref, \"data-dialog-disable-outside\", openStable && !openModals.length && shouldDisableAccessibilityTree); // Disables/enables the element tree around the modal dialog element.\n\n useSafeLayoutEffect(() => {\n // When the dialog is animating, we immediately restore the element tree\n // outside. This means the element tree will be enabled when the focus is\n // moved back to the disclosure element.\n if (!shouldDisableOutside()) return; // If portal is enabled, we get the portalNode instead of the dialog\n // element. This will consider nested dialogs as they will be children of\n // the portal node, but not the dialog. This also accounts for the tiny\n // delay before the dialog element is appended to the portal node, and the\n // portal node is added to the DOM.\n\n const element = portal ? portalNode : ref.current;\n\n if (modal) {\n return chain(disableAccessibilityTreeOutside(element), // When the backdrop is not visible, we also need to disable pointer\n // events outside of the modal dialog.\n !backdrop ? disablePointerEventsOutside(element) : null);\n }\n\n return disableAccessibilityTreeOutside(element);\n }, [shouldDisableOutside, portal, portalNode, modal, backdrop]);\n const prevInitialFocusRef = useRef();\n const mayAutoFocusOnShow = !!autoFocusOnShow;\n const autoFocusOnShowProp = useBooleanEvent(autoFocusOnShow); // Auto focus on show.\n\n useEffect(() => {\n var _nestedDialogsRef$cur;\n\n if (!openStable) return;\n if (!mayAutoFocusOnShow) return; // Makes sure to wait for the portalNode to be created before moving\n // focus. This is useful for when the Dialog component is unmounted\n // when hidden.\n\n if (!domReady) return; // If there are open nested dialogs, let them handle the focus.\n\n const hasNestedOpenDialog = (_nestedDialogsRef$cur = nestedDialogsRef.current) == null ? void 0 : _nestedDialogsRef$cur.some(child => child.current && !child.current.hidden);\n if (hasNestedOpenDialog) return; // The dialog element may change for different reasons. For example, when\n // the `modal`, `portal` or `backdrop` props change, the HTML structure\n // will also change, which will affect the dialog element reference.\n // That's why we're listening to `state.contentElement` here instead of\n // getting the `ref.current` value. This ensures this effect will re-run\n // when the dialog element reference changes.\n\n const dialog = state.contentElement;\n if (!(dialog != null && dialog.isConnected)) return;\n const initialFocus = initialFocusRef == null ? void 0 : initialFocusRef.current;\n const element = initialFocus || // We have to fallback to the first focusable element otherwise portaled\n // dialogs with preserveTabOrder set to true will not receive focus\n // properly because the elements aren't tabbable until the dialog\n // receives focus.\n getFirstTabbableIn(dialog, true, portal && preserveTabOrder) || dialog;\n const prevInitialFocus = prevInitialFocusRef.current;\n prevInitialFocusRef.current = initialFocus; // If the initial focus is the same as the previous initial focus and\n // there's already an element with focus inside the dialog, we don't\n // change focus here.\n\n if (initialFocus === prevInitialFocus) {\n const activeElement = getActiveElement(dialog, true);\n if (activeElement && contains(dialog, activeElement)) return;\n }\n\n if (!autoFocusOnShowProp(element)) return;\n element.focus();\n }, [openStable, mayAutoFocusOnShow, domReady, state.contentElement, initialFocusRef, portal, preserveTabOrder, autoFocusOnShowProp]);\n const mayAutoFocusOnHide = !!autoFocusOnHide;\n const autoFocusOnHideProp = useBooleanEvent(autoFocusOnHide); // Auto focus on hide.\n\n useEffect(() => {\n const dialog = ref.current;\n const prevOpen = openRef.current;\n openRef.current = state.open; // We only want to auto focus on hide if the dialog was open before.\n\n if (!prevOpen) return;\n if (!mayAutoFocusOnHide) return;\n if (!dialog) return; // A function so we can use it on the effect setup and cleanup phases.\n\n const focusOnHide = () => {\n const dialogs = nestedDialogsRef.current; // Hide was triggered by a click/focus on a tabbable element outside\n // the dialog or on another dialog. We won't change focus then.\n\n if (isAlreadyFocusingAnotherElement(dialog, dialogs)) return;\n let element = (finalFocusRef == null ? void 0 : finalFocusRef.current) || state.disclosureRef.current;\n\n if (element) {\n if (element.id) {\n const doc = getDocument(element);\n const selector = \"[aria-activedescendant=\\\"\" + element.id + \"\\\"]\";\n const composite = doc.querySelector(selector); // If the element is an item in a composite widget that handles\n // focus with the `aria-activedescendant` attribute, we want to\n // focus on the composite element itself.\n\n if (composite) {\n element = composite;\n }\n } // If the element is not focusable by the time the dialog is hidden,\n // it's probably because it's an element inside another popover or\n // menu that also got hidden when this dialog was shown. We'll try to\n // focus on their disclosure element instead.\n\n\n if (!isFocusable(element)) {\n const parentDialog = closest(element, \"[data-dialog]\");\n\n if (parentDialog && parentDialog.id) {\n const doc = getDocument(parentDialog);\n const selector = \"[aria-controls~=\\\"\" + parentDialog.id + \"\\\"]\";\n const control = doc.querySelector(selector);\n\n if (control) {\n element = control;\n }\n }\n }\n\n if (!autoFocusOnHideProp(element)) return;\n element.focus();\n }\n };\n\n if (!state.open) {\n // If this effect is running while state.open is false, this means\n // that the Dialog component doesn't get unmounted when it's not\n // open, so we can immediatelly move focus.\n return focusOnHide();\n } // Otherwise, we just return the focusOnHide function so it's going to\n // be executed when the Dialog component gets unmounted. This is useful\n // so we can support both mounting and unmounting Dialog components.\n\n\n return focusOnHide;\n }, [mayAutoFocusOnHide, state.open, finalFocusRef, state.disclosureRef, autoFocusOnHideProp]);\n const hideOnEscapeProp = useBooleanEvent(hideOnEscape); // Hide on Escape.\n\n useEffect(() => {\n if (!domReady) return;\n if (!state.mounted) return;\n\n const onKeyDown = event => {\n const dialog = ref.current;\n if (!dialog) return;\n const target = event.target;\n const disclosure = state.disclosureRef.current;\n if (event.key !== \"Escape\") return;\n if (event.defaultPrevented) return;\n if (!target) return; // This considers valid targets only the disclosure element or\n // descendants of the dialog element that are not descendants of nested\n // dialogs.\n\n const isValidTarget = () => {\n if (contains(dialog, target)) {\n const dialogs = nestedDialogsRef.current; // Since this is a native DOM event, it won't be triggered by\n // keystrokes on nested dialogs inside portals. But we still need to\n // check if the target is inside a nested non-portal dialog.\n\n const inNestedDialog = dialogs.some(isInDialog(target));\n if (inNestedDialog) return false;\n return true;\n }\n\n if (disclosure && contains(disclosure, target)) return true;\n return false;\n };\n\n if (isValidTarget() && hideOnEscapeProp(event)) {\n state.hide();\n }\n }; // We're attatching the listener to the document instead of the dialog\n // element so we can also listen to keystrokes on the disclosure element.\n // We can't do this on a onKeyDown prop on the disclosure element because\n // we don't have access to the hideOnEscape prop there.\n\n\n return addGlobalEventListener(\"keydown\", onKeyDown);\n }, [domReady, state.mounted, state.disclosureRef, hideOnEscapeProp, state.hide]); // Wraps the element with the nested dialog context.\n\n props = useWrapElement(props, wrapElement, [wrapElement]); // Resets the heading levels inside the modal dialog so they start with h1.\n\n props = useWrapElement(props, element => /*#__PURE__*/jsx(HeadingLevel, {\n level: modal ? 1 : undefined,\n children: element\n }), [modal]); // Focus traps.\n\n props = useFocusTrapRegion({ ...props,\n enabled: state.open && modal && !openModals.length\n });\n const hiddenProp = props.hidden; // Wraps the dialog with a backdrop element if the backdrop prop is truthy.\n\n props = useWrapElement(props, element => {\n if (backdrop) {\n return /*#__PURE__*/jsx(DialogBackdrop, {\n state: state,\n backdrop: backdrop,\n backdropProps: backdropProps,\n hideOnInteractOutside: hideOnInteractOutside,\n hideOnEscape: hideOnEscape,\n hidden: hiddenProp,\n children: element\n });\n }\n\n return element;\n }, [state, backdrop, backdropProps, hideOnInteractOutside, hideOnEscape, hiddenProp]);\n const [headingId, setHeadingId] = useState();\n const [descriptionId, setDescriptionId] = useState();\n props = useWrapElement(props, element => /*#__PURE__*/jsx(DialogContext.Provider, {\n value: state,\n children: /*#__PURE__*/jsx(DialogHeadingContext.Provider, {\n value: setHeadingId,\n children: /*#__PURE__*/jsx(DialogDescriptionContext.Provider, {\n value: setDescriptionId,\n children: element\n })\n })\n }), [state]);\n props = {\n id,\n \"data-dialog\": \"\",\n role: \"dialog\",\n tabIndex: focusable ? -1 : undefined,\n \"aria-labelledby\": headingId,\n \"aria-describedby\": descriptionId,\n ...props,\n ref: useForkRef(ref, props.ref)\n };\n props = useDisclosureContent({\n state,\n ...props\n });\n props = useFocusable({ ...props,\n focusable\n });\n props = usePortal({\n portal,\n ...props,\n portalRef,\n preserveTabOrder\n });\n return props;\n});\n/**\n * A component that renders a dialog element.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * \n * Dialog\n * ```\n */\n\nconst Dialog = createComponent(props => {\n const htmlProps = useDialog(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Dialog.displayName = \"Dialog\";\n}\n\nexport { Dialog, useDialog };","import { useRef, useState } from 'react';\nimport { useSafeLayoutEffect, useEvent, useBooleanEvent, useForkRef } from 'ariakit-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useButton } from '../button/button.js';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that controls the visibility of a\n * disclosure content element.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const state = useDisclosureState();\n * const props = useDisclosure({ state });\n * Disclosure\n * Content\n * ```\n */\n\nconst useDisclosure = createHook(_ref => {\n var _state$contentElement;\n\n let {\n state,\n toggleOnClick = true,\n ...props\n } = _ref;\n const ref = useRef(null);\n const [expanded, setExpanded] = useState(false); // Assigns the disclosureRef whenever it's undefined or disconnected from\n // the DOM. If this disclosure element is the disclosureRef, this element\n // will get the `aria-expanded` attribute set to `true` when the disclosure\n // content is open.\n\n useSafeLayoutEffect(() => {\n const currentDisclosure = state.disclosureRef.current;\n\n if (!currentDisclosure || !currentDisclosure.isConnected) {\n state.disclosureRef.current = ref.current;\n }\n\n const isCurrentDisclosure = state.disclosureRef.current === ref.current;\n setExpanded(state.open && isCurrentDisclosure);\n }, [state.disclosureRef, state.open]);\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent(event => {\n state.disclosureRef.current = event.currentTarget;\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n });\n const onClickProp = props.onClick;\n const toggleOnClickProp = useBooleanEvent(toggleOnClick);\n const isDuplicate = (\"data-disclosure\" in props);\n const onClick = useEvent(event => {\n state.disclosureRef.current = event.currentTarget;\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented) return;\n if (isDuplicate) return;\n if (!toggleOnClickProp(event)) return;\n state.toggle();\n });\n props = {\n \"data-disclosure\": \"\",\n \"aria-expanded\": expanded,\n \"aria-controls\": (_state$contentElement = state.contentElement) == null ? void 0 : _state$contentElement.id,\n ...props,\n ref: useForkRef(ref, props.ref),\n onMouseDown,\n onClick\n };\n props = useButton(props);\n return props;\n});\n/**\n * A component that renders an element that controls the visibility of a\n * disclosure content element.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\n\nconst Disclosure = createComponent(props => {\n const htmlProps = useDisclosure(props);\n return createElement(\"button\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Disclosure.displayName = \"Disclosure\";\n}\n\nexport { Disclosure, useDisclosure };","import { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useDisclosure } from '../disclosure/disclosure.js';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a button that shows/hides a dialog.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const state = useDialogState();\n * const props = useDialogDisclosure({ state });\n * Disclosure\n * Content\n * ```\n */\n\nconst useDialogDisclosure = createHook(_ref => {\n let {\n state,\n ...props\n } = _ref;\n props = useDisclosure({\n state,\n ...props\n });\n return props;\n});\n/**\n * A component that renders a button that shows/hides a dialog.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * Disclosure\n * Content\n * ```\n */\n\nconst DialogDisclosure = createComponent(props => {\n const htmlProps = useDialogDisclosure(props);\n return createElement(\"button\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n DialogDisclosure.displayName = \"DialogDisclosure\";\n}\n\nexport { DialogDisclosure, useDialogDisclosure };","import React from 'react'\r\nimport { useStaticQuery, graphql, Link, withPrefix } from 'gatsby'\r\nimport styled from '@xstyled/styled-components'\r\n// eslint-disable-next-line import/no-unresolved\r\nimport { useLocation } from '@reach/router'\r\n\r\nconst SideNavQuery = graphql`\r\n query SideNavQuery {\r\n allMdx(filter: { fields: { pageType: { eq: \"doc\" }, title: { ne: \"\" } } }) {\r\n edges {\r\n node {\r\n id\r\n fields {\r\n title\r\n pageType\r\n section\r\n order\r\n slug\r\n }\r\n }\r\n }\r\n }\r\n\r\n site {\r\n siteMetadata {\r\n sections\r\n }\r\n }\r\n }\r\n`\r\n\r\nconst createOrFindGroup = (name, groups) => {\r\n const existingGroup = groups.find((group) => group.name === name)\r\n if (existingGroup) return existingGroup\r\n\r\n const group = { name, nodes: [] }\r\n groups.push(group)\r\n return group\r\n}\r\n\r\nconst DEFAULT_ORDER_VALUE = -9999\r\n\r\nconst sortNodes = (a, b) => {\r\n const diff =\r\n a.fields.order !== DEFAULT_ORDER_VALUE &&\r\n b.fields.order !== DEFAULT_ORDER_VALUE\r\n ? a.fields.order - b.fields.order\r\n : a.fields.order !== DEFAULT_ORDER_VALUE\r\n ? -1\r\n : b.fields.order !== DEFAULT_ORDER_VALUE\r\n ? 1\r\n : a.fields.title.localeCompare(b.fields.title)\r\n return diff === 0 ? 0 : diff > 0 ? 1 : -1\r\n}\r\n\r\nconst groupNodes = (nodes) =>\r\n nodes.reduce((groups, node) => {\r\n if (!node.fields.title) return groups\r\n const group = createOrFindGroup(node.fields.section || '', groups)\r\n group.nodes.push(node)\r\n group.nodes.sort(sortNodes)\r\n return groups\r\n }, [])\r\n\r\nconst Nav = styled.nav`\r\n padding: 4 3 5;\r\n`\r\n\r\nconst NavGroup = styled.div`\r\n margin-bottom: 4;\r\n`\r\n\r\nconst NavGroupTitle = styled.h4`\r\n font-size: 14;\r\n font-weight: 500;\r\n color: on-background-light;\r\n text-transform: uppercase;\r\n margin: 0 0 3 0;\r\n`\r\n\r\nconst NavGroupMenu = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n border-left: 1;\r\n border-left-color: layout-border;\r\n`\r\n\r\nconst NavGroupMenuItem = styled.li`\r\n list-style-type: none;\r\n margin: 2 0 0 -2px;\r\n padding: 0;\r\n font-size: 14;\r\n font-weight: 500;\r\n\r\n a {\r\n color: on-background-light;\r\n display: block;\r\n transition: fast;\r\n transition-property: color, border-color;\r\n padding: 2px 0 2px 2;\r\n border-left: 3;\r\n border-color: transparent;\r\n text-decoration: none;\r\n opacity: 0.85;\r\n\r\n &:hover {\r\n color: on-background;\r\n opacity: 1;\r\n }\r\n\r\n &[aria-current='page'] {\r\n font-weight: 600;\r\n border-color: primary;\r\n color: on-background;\r\n opacity: 1;\r\n }\r\n }\r\n`\r\n\r\nconst sortGroupsWithConfig = (section) => (a, b) => {\r\n const indexA = section.indexOf(a.name)\r\n const indexB = section.indexOf(b.name)\r\n const diff = indexA - indexB\r\n return diff === 0 ? 0 : diff < 0 ? -1 : 1\r\n}\r\n\r\nexport function useSideNavState() {\r\n const data = useStaticQuery(SideNavQuery)\r\n return React.useMemo(() => {\r\n const navGroups = groupNodes(data.allMdx.edges.map((edge) => edge.node))\r\n navGroups.sort(sortGroupsWithConfig(data.site.siteMetadata.sections))\r\n return { navGroups }\r\n }, [data])\r\n}\r\n\r\nexport function useSideNavPrevNext({ navGroups }) {\r\n const { pathname } = useLocation()\r\n const nodes = navGroups.flatMap((group) => group.nodes)\r\n const nodeIndex = nodes.findIndex(\r\n (node) => withPrefix(node.fields.slug) === pathname,\r\n )\r\n return {\r\n prev: nodeIndex > -1 ? nodes[nodeIndex - 1] : null,\r\n next: nodeIndex > -1 ? nodes[nodeIndex + 1] : null,\r\n }\r\n}\r\n\r\nexport function SideNav({ navGroups }) {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\n// eslint-disable-next-line import/no-unresolved\r\nimport { useLocation } from '@reach/router'\r\nimport styled, { th } from '@xstyled/styled-components'\r\n\r\nconst TOP_OFFSET = 100\r\n\r\nfunction getHeaderAnchors() {\r\n return Array.prototype.filter.call(\r\n document.getElementsByClassName('anchor'),\r\n (testElement) =>\r\n testElement.parentNode.nodeName === 'H2' ||\r\n testElement.parentNode.nodeName === 'H3',\r\n )\r\n}\r\n\r\nfunction getHeaderDataFromAnchor(el) {\r\n return {\r\n url: el.getAttribute('href'),\r\n text: el.parentElement?.innerText,\r\n depth: Number(el.parentElement?.nodeName.replace('H', '')),\r\n }\r\n}\r\n\r\nfunction getAnchorHeaderIdentifier(el) {\r\n return el?.parentElement?.id\r\n}\r\n\r\nexport function useTocHighlight(ref) {\r\n const { pathname } = useLocation()\r\n const [lastActiveLink, setLastActiveLink] = React.useState(undefined)\r\n const [headings, setHeadings] = React.useState([])\r\n\r\n React.useEffect(() => {\r\n setHeadings(getHeaderAnchors().map(getHeaderDataFromAnchor))\r\n }, [pathname])\r\n\r\n React.useEffect(() => {\r\n let headersAnchors = []\r\n let links = []\r\n\r\n function setActiveLink() {\r\n function getActiveHeaderAnchor() {\r\n let index = 0\r\n let activeHeaderAnchor = null\r\n\r\n headersAnchors = getHeaderAnchors()\r\n while (index < headersAnchors.length && !activeHeaderAnchor) {\r\n const headerAnchor = headersAnchors[index]\r\n const { top } = headerAnchor.getBoundingClientRect()\r\n\r\n if (top >= 0 && top <= TOP_OFFSET) {\r\n activeHeaderAnchor = headerAnchor\r\n }\r\n\r\n index += 1\r\n }\r\n\r\n return activeHeaderAnchor\r\n }\r\n\r\n const activeHeaderAnchor = getActiveHeaderAnchor()\r\n\r\n if (activeHeaderAnchor) {\r\n let index = 0\r\n let itemHighlighted = false\r\n\r\n links = ref.current ? ref.current.querySelectorAll('a') : []\r\n\r\n while (index < links.length && !itemHighlighted) {\r\n const link = links[index]\r\n const { href } = link\r\n const anchorValue = decodeURIComponent(\r\n href.substring(href.indexOf('#') + 1),\r\n )\r\n\r\n if (getAnchorHeaderIdentifier(activeHeaderAnchor) === anchorValue) {\r\n if (lastActiveLink) {\r\n lastActiveLink.removeAttribute('aria-current')\r\n }\r\n\r\n link.setAttribute('aria-current', 'true')\r\n\r\n setLastActiveLink(link)\r\n itemHighlighted = true\r\n }\r\n\r\n index += 1\r\n }\r\n }\r\n }\r\n\r\n document.addEventListener('scroll', setActiveLink)\r\n document.addEventListener('resize', setActiveLink)\r\n\r\n setActiveLink()\r\n\r\n return () => {\r\n document.removeEventListener('scroll', setActiveLink)\r\n document.removeEventListener('resize', setActiveLink)\r\n }\r\n })\r\n\r\n return headings\r\n}\r\n\r\nconst TocContainer = styled.div`\r\n position: sticky;\r\n top: ${th.px(50)};\r\n padding: 5 3 4; // 5 0 4;\r\n overflow-y: auto;\r\n height: calc(100vh - 50px);\r\n font-size: 15;\r\n\r\n h4 {\r\n margin: 0;\r\n font-size: 14;\r\n font-weight: 500;\r\n text-transform: uppercase;\r\n color: on-background-light;\r\n }\r\n\r\n ul {\r\n list-style-type: none;\r\n padding: 0;\r\n\r\n li {\r\n margin: 2 0;\r\n\r\n &[data-depth='3'] {\r\n padding-left: 2;\r\n }\r\n }\r\n }\r\n\r\n a {\r\n display: inline-block;\r\n transition: fast;\r\n color: on-background-light;\r\n text-decoration: none;\r\n opacity: 0.85;\r\n\r\n &[aria-current] {\r\n font-weight: 500;\r\n color: on-background;\r\n transform: translateX(2px);\r\n opacity: 1;\r\n }\r\n\r\n &:hover {\r\n color: on-background;\r\n transform: translateX(2px);\r\n opacity: 1;\r\n }\r\n }\r\n`\r\n\r\nexport function TableOfContents() {\r\n const ref = React.useRef()\r\n const headings = useTocHighlight(ref)\r\n if (!headings.length) return null\r\n return (\r\n \r\n

On this page

\r\n
    \r\n {headings.map((heading, i) =>\r\n heading.url ? (\r\n
  • \r\n {heading.text}\r\n
  • \r\n ) : null,\r\n )}\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled, { x, css, up, down, th, useUp } from '@xstyled/styled-components'\r\nimport { useDialogState, Dialog, DialogDisclosure } from 'ariakit/dialog'\r\nimport { Portal } from 'ariakit/portal'\r\nimport { VscChevronUp } from 'react-icons/vsc'\r\nimport { RiPencilLine } from 'react-icons/ri'\r\nimport { ScreenContainer } from '../ScreenContainer'\r\nimport { SideNav, useSideNavState, useSideNavPrevNext } from '../SideNav'\r\nimport { SiblingNav, SiblingNavLink } from '../SiblingNav'\r\nimport { Article } from '../Article'\r\nimport { TableOfContents } from '../TableOfContents'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\n\r\nconst SidebarDialog = styled.div`\r\n background-color: background-light-a50;\r\n backdrop-filter: blur(3px);\r\n position: fixed;\r\n top: 50;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 20;\r\n overflow: auto;\r\n transition: base;\r\n opacity: 0;\r\n transition: opacity 250ms ease-in-out, transform 250ms ease-in-out;\r\n transform: translate3d(0, 10vh, 0);\r\n\r\n &[data-enter] {\r\n opacity: 1;\r\n transform: translate3d(0, 0, 0);\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n`\r\n\r\nconst Container = styled.div`\r\n z-index: 0;\r\n position: relative;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n display: grid;\r\n grid-template-columns: 288px minmax(0, 1fr);\r\n // grid-gap: ${th.space(5)};\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n grid-template-columns: 288px minmax(0, 1fr) 288px;\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n )}\r\n`\r\n\r\nconst TocContainer = styled.div`\r\n ${down(\r\n 'xl',\r\n css`\r\n display: none;\r\n `,\r\n )}\r\n`\r\n\r\nconst SidebarSticky = styled.aside`\r\n position: sticky;\r\n top: ${th.px(50)};\r\n padding: 4 0;\r\n overflow-y: auto;\r\n height: calc(100vh - 50px);\r\n width: 288px;\r\n\r\n ${down(\r\n 'md',\r\n css`\r\n display: none;\r\n `,\r\n )}\r\n`\r\n\r\nconst MenuButton = styled.button`\r\n appearance: none;\r\n border: 0;\r\n border-radius: 50%;\r\n width: 60;\r\n height: 60;\r\n position: fixed;\r\n right: ${th.size(8)};\r\n bottom: ${th.size(8)};\r\n z-index: 25;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n color: background;\r\n background-color: on-background;\r\n transition: base;\r\n transition-property: color;\r\n\r\n &:focus {\r\n color: background;\r\n }\r\n\r\n > svg {\r\n width: 24;\r\n height: 24;\r\n transition: transform 200ms ease-in-out;\r\n\r\n &:first-child {\r\n transform: translateX(-1px);\r\n }\r\n\r\n &:last-child {\r\n transform: translate(-1px) rotate(180deg);\r\n }\r\n }\r\n\r\n &[aria-expanded='true'] {\r\n > svg:first-child {\r\n transform: translate(-1px, 16px);\r\n }\r\n\r\n > svg:last-child {\r\n transform: translate(-1px, -16px) rotate(180deg);\r\n }\r\n }\r\n`\r\n\r\nfunction MobileSidebar({ children }) {\r\n const dialog = useDialogState({ animated: true })\r\n return (\r\n <>\r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nfunction PrevNextLinks(props) {\r\n const { prev, next } = useSideNavPrevNext(props)\r\n if (!prev && !next) return null\r\n return (\r\n \r\n {prev && (\r\n \r\n {prev.fields.title}\r\n \r\n )}\r\n {next && (\r\n \r\n {next.fields.title}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport function DocLayout({ children, tableOfContents, ...props }) {\r\n props.isDoc = true;\r\n const upMd = useUp('md')\r\n const sideNav = useSideNavState()\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!upMd && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n {children}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled, { x, css, up, down, th } from '@xstyled/styled-components'\r\nimport { Article } from '../Article'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\nimport { TableOfContents } from \"../TableOfContents\";\r\nimport PostHero from \"../blog/PostHero\";\r\nimport PostTitle from \"../blog/PostTitle\";\r\nimport PostDate from \"../blog/PostDate\";\r\n\r\nconst Container = styled.div`\r\n background-color: background;\r\n flex: 1;\r\n\r\n width: 100%;\r\n max-width: 1440px;\r\n margin: 0 auto;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n \r\n z-index: 0;\r\n position: relative;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr);\r\n // grid-gap: ${th.space(5)};\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n grid-template-columns: minmax(0, 1fr) 288px;\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n`\r\n\r\nconst TocContainer = styled.div`\r\n ${down(\r\n 'xl',\r\n css`\r\n display: none;\r\n `,\r\n )}\r\n`\r\n\r\nexport function PostLayout({ children, tableOfContents, ...props }) {\r\n const post = children?.props?.pageContext?.frontmatter || {}\r\n const canonical = post.canonical || ''\r\n // console.log(`PostLayout.js`, `post ${JSON.stringify(post)}`)\r\n return (\r\n \r\n \r\n \r\n
\r\n {/*
*/}\r\n {/*

{post.title}

*/}\r\n {/*

{post.date}

*/}\r\n {/*
*/}\r\n {children}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled, { x, css, up, down, th } from '@xstyled/styled-components'\r\nimport { Article } from '../Article'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\nimport { TableOfContents } from \"../TableOfContents\";\r\n\r\nconst Container = styled.div`\r\n background-color: background;\r\n flex: 1;\r\n\r\n width: 100%;\r\n max-width: 1440px;\r\n margin: 0 auto;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n \r\n z-index: 0;\r\n position: relative;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr);\r\n // grid-gap: ${th.space(5)};\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n grid-template-columns: minmax(0, 1fr) 288px;\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n`\r\n\r\nconst TocContainer = styled.div`\r\n ${down(\r\n 'xl',\r\n css`\r\n display: none;\r\n `,\r\n)}\r\n`\r\n\r\nexport function PageLayout({ children, tableOfContents, editLink, ...props }) {\r\n console.log(`PageLayout.js`)\r\n return (\r\n \r\n \r\n \r\n
{children}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled from '@xstyled/styled-components'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\n\r\nconst HomeMain = styled.main`\r\n background-color: background;\r\n flex: 1;\r\n \r\n width: 100%;\r\n max-width: 1440px;\r\n margin: 0 auto;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n`\r\n\r\nexport function HomeLayout({ children, tableOfContents, ...props }) {\r\n props.isDoc = false;\r\n props.isHome = children.key === '/';\r\n return \r\n {children}\r\n \r\n}\r\n","import React from 'react'\r\nimport { DocLayout } from './layouts/DocLayout'\r\nimport { PostLayout } from './layouts/PostLayout'\r\nimport {PageLayout} from \"./layouts/PageLayout\";\r\nimport {HomeLayout} from \"./layouts/HomeLayout\";\r\n\r\nexport function PageWrapper({\r\n children,\r\n props: {\r\n data: { mdx },\r\n },\r\n}) {\r\n console.log(`PageWrapper.js ${mdx?.fields?.pageType}`)\r\n if (!mdx?.fields?.pageType) return children\r\n switch (mdx.fields.pageType) {\r\n case 'doc':\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n case 'page':\r\n console.log(\"PageWrapper\", children);\r\n if(children.key === '/') {\r\n return {children}\r\n } else {\r\n return {children}\r\n }\r\n case 'post':\r\n return {children}\r\n default:\r\n return children\r\n }\r\n}\r\n","import React from 'react'\r\nimport { RootWrapper } from './src/components/RootWrapper'\r\nimport { PageWrapper } from './src/components/PageWrapper'\r\n\r\nexport const wrapRootElement = ({ element }) => {\r\n return {element}\r\n}\r\n\r\nexport const wrapPageElement = ({ element, props }) => {\r\n return {element}\r\n}\r\n","import styled, { css, up, down } from '@xstyled/styled-components'\r\n\r\nexport const Article = styled.article`\r\n .anchor {\r\n margin-left: calc(-1em - 4px);\r\n > svg {\r\n fill: on-background;\r\n width: 1em;\r\n height: 1em;\r\n display: inline;\r\n vertical-align: -15%;\r\n }\r\n }\r\n\r\n code {\r\n background-color: background-light;\r\n color: on-background-primary;\r\n border-radius: base;\r\n padding: 0 1;\r\n }\r\n\r\n mark {\r\n background-color: background-mark;\r\n }\r\n\r\n > p {\r\n margin: 3 0;\r\n font-size: 16;\r\n line-height: 1.6;\r\n // max-width: 52em;\r\n }\r\n\r\n /* Intro */\r\n > h1 + p {\r\n font-size: 18;\r\n font-weight: 300;\r\n color: on-background-light;\r\n margin: 2 0 !important;\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 22;\r\n line-height: 1.2;\r\n `,\r\n )};\r\n\r\n a,\r\n strong {\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n > hr {\r\n margin: 0;\r\n height: 0;\r\n border: 0;\r\n border-top: 1;\r\n border-color: layout-border;\r\n margin: 4 0;\r\n\r\n &:first-child {\r\n margin-top: 0;\r\n }\r\n }\r\n\r\n > h1 {\r\n font-size: 32;\r\n line-height: 1.1;\r\n font-weight: 600;\r\n margin: 40 0 2;\r\n }\r\n\r\n > h2 {\r\n font-size: 24;\r\n line-height: 1.2;\r\n font-weight: 600;\r\n margin: 4 0;\r\n padding-top: 3;\r\n border-top: 1;\r\n border-color: layout-border;\r\n }\r\n\r\n > h1 + h2,\r\n > h2:first-child {\r\n border-top: 0;\r\n margin-top: 0;\r\n padding-top: 0;\r\n }\r\n\r\n > h3 {\r\n font-size: 18;\r\n line-height: 1.2;\r\n font-weight: 600;\r\n margin: 4 0 3;\r\n\r\n ${down(\r\n 'sm',\r\n css`\r\n overflow-wrap: break-word;\r\n word-break: break-word;\r\n `,\r\n )}\r\n }\r\n\r\n > h4 {\r\n font-weight: 500;\r\n font-size: 16;\r\n line-height: 1.2;\r\n margin: 3 0;\r\n }\r\n\r\n > h4 + p {\r\n margin-top: 3;\r\n }\r\n\r\n > ul + p {\r\n margin-top: 2;\r\n }\r\n\r\n .editor {\r\n background-color: editor-background;\r\n color: editor-text;\r\n padding: 3 4;\r\n margin: 4 -3;\r\n overflow: auto;\r\n font-size: 14;\r\n line-height: 1.45;\r\n border-radius: base;\r\n\r\n ${down(\r\n 'sm',\r\n css`\r\n margin-left: -4;\r\n margin-right: -4;\r\n border-radius: 0;\r\n `,\r\n )}\r\n }\r\n\r\n > code {\r\n background-color: editor-background;\r\n border-radius: base;\r\n color: inherit;\r\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono,\r\n Courier New, monospace;\r\n font-size: 85%;\r\n padding: 1 2;\r\n }\r\n\r\n img {\r\n max-width: 100%;\r\n }\r\n\r\n ol,\r\n ul {\r\n margin-top: 4;\r\n font-size: 16;\r\n padding-left: 4;\r\n\r\n p,\r\n p:first-of-type {\r\n font-size: 16;\r\n margin-top: 0;\r\n line-height: 1.2;\r\n }\r\n\r\n li {\r\n margin-top: 2;\r\n }\r\n\r\n ol,\r\n ul {\r\n margin-left: 4;\r\n margin-top: 2;\r\n }\r\n }\r\n\r\n ol {\r\n list-style: decimal;\r\n }\r\n\r\n ul {\r\n list-style: disc;\r\n }\r\n\r\n > blockquote {\r\n font-size: 16;\r\n background-color: blockquote-background;\r\n border-left: 8;\r\n border-color: blockquote-border;\r\n padding: 3;\r\n margin: 3 -2;\r\n border-radius: blockquote;\r\n\r\n code {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n background-blend-mode: color;\r\n color: on-background;\r\n border-radius: base;\r\n padding: 0 1;\r\n }\r\n\r\n p {\r\n margin-top: 3;\r\n\r\n &:first-of-type {\r\n margin-top: 0;\r\n }\r\n\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n a {\r\n transition: fast;\r\n color: blockquote-link;\r\n text-decoration: underline;\r\n\r\n &:hover {\r\n color: on-background;\r\n }\r\n }\r\n }\r\n\r\n a {\r\n transition: fast;\r\n text-decoration: underline;\r\n color: on-background-primary;\r\n\r\n &:hover {\r\n color: on-background-primary-dark;\r\n }\r\n }\r\n`\r\n","/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\n\n/**\n * prism-react-renderer:\n * This file has been modified to remove:\n * - globals and window dependency\n * - worker support\n * - highlightAll and other element dependent methods\n * - _.hooks helpers\n * - UMD/node-specific hacks\n * It has also been run through prettier\n */\nvar Prism = function () {\n // Private helper vars\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0; // The grammar object for plaintext\n\n var plainTextGrammar = {};\n var _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, '&').replace(/} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone =\n /** @type {Record} */\n {};\n visited[id] = clone;\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n\n return (\n /** @type {any} */\n clone\n );\n\n case 'Array':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone = [];\n visited[id] = clone;\n\n /** @type {Array} */\n\n /** @type {any} */\n o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (\n /** @type {any} */\n clone\n );\n\n default:\n return o;\n }\n },\n\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function (element) {\n while (element) {\n var m = lang.exec(element.className);\n\n if (m) {\n return m[1].toLowerCase();\n }\n\n element = element.parentElement;\n }\n\n return 'none';\n },\n\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function (element, language) {\n // remove all `language-xxxx` classes\n // (this might leave behind a leading space)\n element.className = element.className.replace(RegExp(lang, 'gi'), ''); // add the new `language-xxxx` class\n // (using `classList` will automatically clean up spaces for us)\n\n element.classList.add('language-' + language);\n },\n\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function (element, className, defaultActivation) {\n var no = 'no-' + className;\n\n while (element) {\n var classList = element.classList;\n\n if (classList.contains(className)) {\n return true;\n }\n\n if (classList.contains(no)) {\n return false;\n }\n\n element = element.parentElement;\n }\n\n return !!defaultActivation;\n }\n },\n\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id]);\n\n for (var key in redef) {\n lang[key] = redef[key];\n }\n\n return lang;\n },\n\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `"},this.getStyleTags=function(){return e.sealed?C(2):e._emitSheetCSS()},this.getStyleElement=function(){var a;if(e.sealed)return C(2);var n=((a={})[w]="",a["data-styled-version"]="5.3.6",a.dangerouslySetInnerHTML={__html:e.instance.toString()},a),d=M();return d&&(n.nonce=d),[t.createElement("style",l({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new W({isServer:!0}),this.sealed=!1}var a=e.prototype;return a.collectStyles=function(e){return this.sealed?C(2):t.createElement(ce,{sheet:this.instance},e)},a.interleaveWithNodeStream=function(e){return C(3)},e}(),ze=function(e){var a=t.forwardRef((function(a,n){var d=(0,t.useContext)(je),r=e.defaultProps,o=we(a,d,r);return t.createElement(e,l({},a,{theme:o,ref:n}))}));return R()(a,e),a.displayName="WithTheme("+b(e)+")",a},He=function(){return(0,t.useContext)(je)},Ue={StyleSheet:W,masterSheet:oe},qe=Be},98883:function(e){e.exports=new Set(["General_Category","Script","Script_Extensions","Alphabetic","Any","ASCII","ASCII_Hex_Digit","Assigned","Bidi_Control","Bidi_Mirrored","Case_Ignorable","Cased","Changes_When_Casefolded","Changes_When_Casemapped","Changes_When_Lowercased","Changes_When_NFKC_Casefolded","Changes_When_Titlecased","Changes_When_Uppercased","Dash","Default_Ignorable_Code_Point","Deprecated","Diacritic","Emoji","Emoji_Component","Emoji_Modifier","Emoji_Modifier_Base","Emoji_Presentation","Extended_Pictographic","Extender","Grapheme_Base","Grapheme_Extend","Hex_Digit","ID_Continue","ID_Start","Ideographic","IDS_Binary_Operator","IDS_Trinary_Operator","Join_Control","Logical_Order_Exception","Lowercase","Math","Noncharacter_Code_Point","Pattern_Syntax","Pattern_White_Space","Quotation_Mark","Radical","Regional_Indicator","Sentence_Terminal","Soft_Dotted","Terminal_Punctuation","Unified_Ideograph","Uppercase","Variation_Selector","White_Space","XID_Continue","XID_Start"])},60020:function(e,a,n){"use strict";const d=n(98883),t=n(68297);e.exports=function(e){if(d.has(e))return e;if(t.has(e))return t.get(e);throw new Error("Unknown property: ".concat(e))}},21663:function(e){e.exports=new Map([["General_Category",new Map([["C","Other"],["Cc","Control"],["cntrl","Control"],["Cf","Format"],["Cn","Unassigned"],["Co","Private_Use"],["Cs","Surrogate"],["L","Letter"],["LC","Cased_Letter"],["Ll","Lowercase_Letter"],["Lm","Modifier_Letter"],["Lo","Other_Letter"],["Lt","Titlecase_Letter"],["Lu","Uppercase_Letter"],["M","Mark"],["Combining_Mark","Mark"],["Mc","Spacing_Mark"],["Me","Enclosing_Mark"],["Mn","Nonspacing_Mark"],["N","Number"],["Nd","Decimal_Number"],["digit","Decimal_Number"],["Nl","Letter_Number"],["No","Other_Number"],["P","Punctuation"],["punct","Punctuation"],["Pc","Connector_Punctuation"],["Pd","Dash_Punctuation"],["Pe","Close_Punctuation"],["Pf","Final_Punctuation"],["Pi","Initial_Punctuation"],["Po","Other_Punctuation"],["Ps","Open_Punctuation"],["S","Symbol"],["Sc","Currency_Symbol"],["Sk","Modifier_Symbol"],["Sm","Math_Symbol"],["So","Other_Symbol"],["Z","Separator"],["Zl","Line_Separator"],["Zp","Paragraph_Separator"],["Zs","Space_Separator"],["Other","Other"],["Control","Control"],["Format","Format"],["Unassigned","Unassigned"],["Private_Use","Private_Use"],["Surrogate","Surrogate"],["Letter","Letter"],["Cased_Letter","Cased_Letter"],["Lowercase_Letter","Lowercase_Letter"],["Modifier_Letter","Modifier_Letter"],["Other_Letter","Other_Letter"],["Titlecase_Letter","Titlecase_Letter"],["Uppercase_Letter","Uppercase_Letter"],["Mark","Mark"],["Spacing_Mark","Spacing_Mark"],["Enclosing_Mark","Enclosing_Mark"],["Nonspacing_Mark","Nonspacing_Mark"],["Number","Number"],["Decimal_Number","Decimal_Number"],["Letter_Number","Letter_Number"],["Other_Number","Other_Number"],["Punctuation","Punctuation"],["Connector_Punctuation","Connector_Punctuation"],["Dash_Punctuation","Dash_Punctuation"],["Close_Punctuation","Close_Punctuation"],["Final_Punctuation","Final_Punctuation"],["Initial_Punctuation","Initial_Punctuation"],["Other_Punctuation","Other_Punctuation"],["Open_Punctuation","Open_Punctuation"],["Symbol","Symbol"],["Currency_Symbol","Currency_Symbol"],["Modifier_Symbol","Modifier_Symbol"],["Math_Symbol","Math_Symbol"],["Other_Symbol","Other_Symbol"],["Separator","Separator"],["Line_Separator","Line_Separator"],["Paragraph_Separator","Paragraph_Separator"],["Space_Separator","Space_Separator"]])],["Script",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Chrs","Chorasmian"],["Copt","Coptic"],["Qaac","Coptic"],["Cpmn","Cypro_Minoan"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Diak","Dives_Akuru"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Elym","Elymaic"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hmnp","Nyiakeng_Puachue_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Kits","Khitan_Small_Script"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Nand","Nandinagari"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Ougr","Old_Uyghur"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Tnsa","Tangsa"],["Toto","Toto"],["Ugar","Ugaritic"],["Vaii","Vai"],["Vith","Vithkuqi"],["Wara","Warang_Citi"],["Wcho","Wancho"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yezi","Yezidi"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Chorasmian","Chorasmian"],["Coptic","Coptic"],["Cypro_Minoan","Cypro_Minoan"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dives_Akuru","Dives_Akuru"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Elymaic","Elymaic"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Nyiakeng_Puachue_Hmong","Nyiakeng_Puachue_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Khitan_Small_Script","Khitan_Small_Script"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Nandinagari","Nandinagari"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Old_Uyghur","Old_Uyghur"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Tangsa","Tangsa"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Vithkuqi","Vithkuqi"],["Warang_Citi","Warang_Citi"],["Wancho","Wancho"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yezidi","Yezidi"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])],["Script_Extensions",new Map([["Adlm","Adlam"],["Aghb","Caucasian_Albanian"],["Ahom","Ahom"],["Arab","Arabic"],["Armi","Imperial_Aramaic"],["Armn","Armenian"],["Avst","Avestan"],["Bali","Balinese"],["Bamu","Bamum"],["Bass","Bassa_Vah"],["Batk","Batak"],["Beng","Bengali"],["Bhks","Bhaiksuki"],["Bopo","Bopomofo"],["Brah","Brahmi"],["Brai","Braille"],["Bugi","Buginese"],["Buhd","Buhid"],["Cakm","Chakma"],["Cans","Canadian_Aboriginal"],["Cari","Carian"],["Cham","Cham"],["Cher","Cherokee"],["Chrs","Chorasmian"],["Copt","Coptic"],["Qaac","Coptic"],["Cpmn","Cypro_Minoan"],["Cprt","Cypriot"],["Cyrl","Cyrillic"],["Deva","Devanagari"],["Diak","Dives_Akuru"],["Dogr","Dogra"],["Dsrt","Deseret"],["Dupl","Duployan"],["Egyp","Egyptian_Hieroglyphs"],["Elba","Elbasan"],["Elym","Elymaic"],["Ethi","Ethiopic"],["Geor","Georgian"],["Glag","Glagolitic"],["Gong","Gunjala_Gondi"],["Gonm","Masaram_Gondi"],["Goth","Gothic"],["Gran","Grantha"],["Grek","Greek"],["Gujr","Gujarati"],["Guru","Gurmukhi"],["Hang","Hangul"],["Hani","Han"],["Hano","Hanunoo"],["Hatr","Hatran"],["Hebr","Hebrew"],["Hira","Hiragana"],["Hluw","Anatolian_Hieroglyphs"],["Hmng","Pahawh_Hmong"],["Hmnp","Nyiakeng_Puachue_Hmong"],["Hrkt","Katakana_Or_Hiragana"],["Hung","Old_Hungarian"],["Ital","Old_Italic"],["Java","Javanese"],["Kali","Kayah_Li"],["Kana","Katakana"],["Khar","Kharoshthi"],["Khmr","Khmer"],["Khoj","Khojki"],["Kits","Khitan_Small_Script"],["Knda","Kannada"],["Kthi","Kaithi"],["Lana","Tai_Tham"],["Laoo","Lao"],["Latn","Latin"],["Lepc","Lepcha"],["Limb","Limbu"],["Lina","Linear_A"],["Linb","Linear_B"],["Lisu","Lisu"],["Lyci","Lycian"],["Lydi","Lydian"],["Mahj","Mahajani"],["Maka","Makasar"],["Mand","Mandaic"],["Mani","Manichaean"],["Marc","Marchen"],["Medf","Medefaidrin"],["Mend","Mende_Kikakui"],["Merc","Meroitic_Cursive"],["Mero","Meroitic_Hieroglyphs"],["Mlym","Malayalam"],["Modi","Modi"],["Mong","Mongolian"],["Mroo","Mro"],["Mtei","Meetei_Mayek"],["Mult","Multani"],["Mymr","Myanmar"],["Nand","Nandinagari"],["Narb","Old_North_Arabian"],["Nbat","Nabataean"],["Newa","Newa"],["Nkoo","Nko"],["Nshu","Nushu"],["Ogam","Ogham"],["Olck","Ol_Chiki"],["Orkh","Old_Turkic"],["Orya","Oriya"],["Osge","Osage"],["Osma","Osmanya"],["Ougr","Old_Uyghur"],["Palm","Palmyrene"],["Pauc","Pau_Cin_Hau"],["Perm","Old_Permic"],["Phag","Phags_Pa"],["Phli","Inscriptional_Pahlavi"],["Phlp","Psalter_Pahlavi"],["Phnx","Phoenician"],["Plrd","Miao"],["Prti","Inscriptional_Parthian"],["Rjng","Rejang"],["Rohg","Hanifi_Rohingya"],["Runr","Runic"],["Samr","Samaritan"],["Sarb","Old_South_Arabian"],["Saur","Saurashtra"],["Sgnw","SignWriting"],["Shaw","Shavian"],["Shrd","Sharada"],["Sidd","Siddham"],["Sind","Khudawadi"],["Sinh","Sinhala"],["Sogd","Sogdian"],["Sogo","Old_Sogdian"],["Sora","Sora_Sompeng"],["Soyo","Soyombo"],["Sund","Sundanese"],["Sylo","Syloti_Nagri"],["Syrc","Syriac"],["Tagb","Tagbanwa"],["Takr","Takri"],["Tale","Tai_Le"],["Talu","New_Tai_Lue"],["Taml","Tamil"],["Tang","Tangut"],["Tavt","Tai_Viet"],["Telu","Telugu"],["Tfng","Tifinagh"],["Tglg","Tagalog"],["Thaa","Thaana"],["Thai","Thai"],["Tibt","Tibetan"],["Tirh","Tirhuta"],["Tnsa","Tangsa"],["Toto","Toto"],["Ugar","Ugaritic"],["Vaii","Vai"],["Vith","Vithkuqi"],["Wara","Warang_Citi"],["Wcho","Wancho"],["Xpeo","Old_Persian"],["Xsux","Cuneiform"],["Yezi","Yezidi"],["Yiii","Yi"],["Zanb","Zanabazar_Square"],["Zinh","Inherited"],["Qaai","Inherited"],["Zyyy","Common"],["Zzzz","Unknown"],["Adlam","Adlam"],["Caucasian_Albanian","Caucasian_Albanian"],["Arabic","Arabic"],["Imperial_Aramaic","Imperial_Aramaic"],["Armenian","Armenian"],["Avestan","Avestan"],["Balinese","Balinese"],["Bamum","Bamum"],["Bassa_Vah","Bassa_Vah"],["Batak","Batak"],["Bengali","Bengali"],["Bhaiksuki","Bhaiksuki"],["Bopomofo","Bopomofo"],["Brahmi","Brahmi"],["Braille","Braille"],["Buginese","Buginese"],["Buhid","Buhid"],["Chakma","Chakma"],["Canadian_Aboriginal","Canadian_Aboriginal"],["Carian","Carian"],["Cherokee","Cherokee"],["Chorasmian","Chorasmian"],["Coptic","Coptic"],["Cypro_Minoan","Cypro_Minoan"],["Cypriot","Cypriot"],["Cyrillic","Cyrillic"],["Devanagari","Devanagari"],["Dives_Akuru","Dives_Akuru"],["Dogra","Dogra"],["Deseret","Deseret"],["Duployan","Duployan"],["Egyptian_Hieroglyphs","Egyptian_Hieroglyphs"],["Elbasan","Elbasan"],["Elymaic","Elymaic"],["Ethiopic","Ethiopic"],["Georgian","Georgian"],["Glagolitic","Glagolitic"],["Gunjala_Gondi","Gunjala_Gondi"],["Masaram_Gondi","Masaram_Gondi"],["Gothic","Gothic"],["Grantha","Grantha"],["Greek","Greek"],["Gujarati","Gujarati"],["Gurmukhi","Gurmukhi"],["Hangul","Hangul"],["Han","Han"],["Hanunoo","Hanunoo"],["Hatran","Hatran"],["Hebrew","Hebrew"],["Hiragana","Hiragana"],["Anatolian_Hieroglyphs","Anatolian_Hieroglyphs"],["Pahawh_Hmong","Pahawh_Hmong"],["Nyiakeng_Puachue_Hmong","Nyiakeng_Puachue_Hmong"],["Katakana_Or_Hiragana","Katakana_Or_Hiragana"],["Old_Hungarian","Old_Hungarian"],["Old_Italic","Old_Italic"],["Javanese","Javanese"],["Kayah_Li","Kayah_Li"],["Katakana","Katakana"],["Kharoshthi","Kharoshthi"],["Khmer","Khmer"],["Khojki","Khojki"],["Khitan_Small_Script","Khitan_Small_Script"],["Kannada","Kannada"],["Kaithi","Kaithi"],["Tai_Tham","Tai_Tham"],["Lao","Lao"],["Latin","Latin"],["Lepcha","Lepcha"],["Limbu","Limbu"],["Linear_A","Linear_A"],["Linear_B","Linear_B"],["Lycian","Lycian"],["Lydian","Lydian"],["Mahajani","Mahajani"],["Makasar","Makasar"],["Mandaic","Mandaic"],["Manichaean","Manichaean"],["Marchen","Marchen"],["Medefaidrin","Medefaidrin"],["Mende_Kikakui","Mende_Kikakui"],["Meroitic_Cursive","Meroitic_Cursive"],["Meroitic_Hieroglyphs","Meroitic_Hieroglyphs"],["Malayalam","Malayalam"],["Mongolian","Mongolian"],["Mro","Mro"],["Meetei_Mayek","Meetei_Mayek"],["Multani","Multani"],["Myanmar","Myanmar"],["Nandinagari","Nandinagari"],["Old_North_Arabian","Old_North_Arabian"],["Nabataean","Nabataean"],["Nko","Nko"],["Nushu","Nushu"],["Ogham","Ogham"],["Ol_Chiki","Ol_Chiki"],["Old_Turkic","Old_Turkic"],["Oriya","Oriya"],["Osage","Osage"],["Osmanya","Osmanya"],["Old_Uyghur","Old_Uyghur"],["Palmyrene","Palmyrene"],["Pau_Cin_Hau","Pau_Cin_Hau"],["Old_Permic","Old_Permic"],["Phags_Pa","Phags_Pa"],["Inscriptional_Pahlavi","Inscriptional_Pahlavi"],["Psalter_Pahlavi","Psalter_Pahlavi"],["Phoenician","Phoenician"],["Miao","Miao"],["Inscriptional_Parthian","Inscriptional_Parthian"],["Rejang","Rejang"],["Hanifi_Rohingya","Hanifi_Rohingya"],["Runic","Runic"],["Samaritan","Samaritan"],["Old_South_Arabian","Old_South_Arabian"],["Saurashtra","Saurashtra"],["SignWriting","SignWriting"],["Shavian","Shavian"],["Sharada","Sharada"],["Siddham","Siddham"],["Khudawadi","Khudawadi"],["Sinhala","Sinhala"],["Sogdian","Sogdian"],["Old_Sogdian","Old_Sogdian"],["Sora_Sompeng","Sora_Sompeng"],["Soyombo","Soyombo"],["Sundanese","Sundanese"],["Syloti_Nagri","Syloti_Nagri"],["Syriac","Syriac"],["Tagbanwa","Tagbanwa"],["Takri","Takri"],["Tai_Le","Tai_Le"],["New_Tai_Lue","New_Tai_Lue"],["Tamil","Tamil"],["Tangut","Tangut"],["Tai_Viet","Tai_Viet"],["Telugu","Telugu"],["Tifinagh","Tifinagh"],["Tagalog","Tagalog"],["Thaana","Thaana"],["Tibetan","Tibetan"],["Tirhuta","Tirhuta"],["Tangsa","Tangsa"],["Ugaritic","Ugaritic"],["Vai","Vai"],["Vithkuqi","Vithkuqi"],["Warang_Citi","Warang_Citi"],["Wancho","Wancho"],["Old_Persian","Old_Persian"],["Cuneiform","Cuneiform"],["Yezidi","Yezidi"],["Yi","Yi"],["Zanabazar_Square","Zanabazar_Square"],["Inherited","Inherited"],["Common","Common"],["Unknown","Unknown"]])]])},13314:function(e,a,n){"use strict";const d=n(21663);e.exports=function(e,a){const n=d.get(e);if(!n)throw new Error("Unknown property `".concat(e,"`."));const t=n.get(a);if(t)return t;throw new Error("Unknown value `".concat(a,"` for property `").concat(e,"`."))}},68297:function(e){e.exports=new Map([["scx","Script_Extensions"],["sc","Script"],["gc","General_Category"],["AHex","ASCII_Hex_Digit"],["Alpha","Alphabetic"],["Bidi_C","Bidi_Control"],["Bidi_M","Bidi_Mirrored"],["Cased","Cased"],["CI","Case_Ignorable"],["CWCF","Changes_When_Casefolded"],["CWCM","Changes_When_Casemapped"],["CWKCF","Changes_When_NFKC_Casefolded"],["CWL","Changes_When_Lowercased"],["CWT","Changes_When_Titlecased"],["CWU","Changes_When_Uppercased"],["Dash","Dash"],["Dep","Deprecated"],["DI","Default_Ignorable_Code_Point"],["Dia","Diacritic"],["EBase","Emoji_Modifier_Base"],["EComp","Emoji_Component"],["EMod","Emoji_Modifier"],["Emoji","Emoji"],["EPres","Emoji_Presentation"],["Ext","Extender"],["ExtPict","Extended_Pictographic"],["Gr_Base","Grapheme_Base"],["Gr_Ext","Grapheme_Extend"],["Hex","Hex_Digit"],["IDC","ID_Continue"],["Ideo","Ideographic"],["IDS","ID_Start"],["IDSB","IDS_Binary_Operator"],["IDST","IDS_Trinary_Operator"],["Join_C","Join_Control"],["LOE","Logical_Order_Exception"],["Lower","Lowercase"],["Math","Math"],["NChar","Noncharacter_Code_Point"],["Pat_Syn","Pattern_Syntax"],["Pat_WS","Pattern_White_Space"],["QMark","Quotation_Mark"],["Radical","Radical"],["RI","Regional_Indicator"],["SD","Soft_Dotted"],["STerm","Sentence_Terminal"],["Term","Terminal_Punctuation"],["UIdeo","Unified_Ideograph"],["Upper","Uppercase"],["VS","Variation_Selector"],["WSpace","White_Space"],["space","White_Space"],["XIDC","XID_Continue"],["XIDS","XID_Start"]])},38531:function(e,a,n){var d={"./Binary_Property/ASCII.js":80055,"./Binary_Property/ASCII_Hex_Digit.js":81731,"./Binary_Property/Alphabetic.js":75244,"./Binary_Property/Any.js":25929,"./Binary_Property/Assigned.js":72573,"./Binary_Property/Bidi_Control.js":83029,"./Binary_Property/Bidi_Mirrored.js":50755,"./Binary_Property/Case_Ignorable.js":86317,"./Binary_Property/Cased.js":78087,"./Binary_Property/Changes_When_Casefolded.js":61587,"./Binary_Property/Changes_When_Casemapped.js":62518,"./Binary_Property/Changes_When_Lowercased.js":50140,"./Binary_Property/Changes_When_NFKC_Casefolded.js":97224,"./Binary_Property/Changes_When_Titlecased.js":40835,"./Binary_Property/Changes_When_Uppercased.js":95428,"./Binary_Property/Dash.js":78233,"./Binary_Property/Default_Ignorable_Code_Point.js":91357,"./Binary_Property/Deprecated.js":18391,"./Binary_Property/Diacritic.js":5198,"./Binary_Property/Emoji.js":42117,"./Binary_Property/Emoji_Component.js":97581,"./Binary_Property/Emoji_Modifier.js":39030,"./Binary_Property/Emoji_Modifier_Base.js":18618,"./Binary_Property/Emoji_Presentation.js":29702,"./Binary_Property/Extended_Pictographic.js":5667,"./Binary_Property/Extender.js":9002,"./Binary_Property/Grapheme_Base.js":96851,"./Binary_Property/Grapheme_Extend.js":71054,"./Binary_Property/Hex_Digit.js":80662,"./Binary_Property/IDS_Binary_Operator.js":66910,"./Binary_Property/IDS_Trinary_Operator.js":31548,"./Binary_Property/ID_Continue.js":97301,"./Binary_Property/ID_Start.js":47818,"./Binary_Property/Ideographic.js":82217,"./Binary_Property/Join_Control.js":15332,"./Binary_Property/Logical_Order_Exception.js":55780,"./Binary_Property/Lowercase.js":61091,"./Binary_Property/Math.js":7146,"./Binary_Property/Noncharacter_Code_Point.js":51752,"./Binary_Property/Pattern_Syntax.js":76596,"./Binary_Property/Pattern_White_Space.js":86436,"./Binary_Property/Quotation_Mark.js":29467,"./Binary_Property/Radical.js":68163,"./Binary_Property/Regional_Indicator.js":16412,"./Binary_Property/Sentence_Terminal.js":25496,"./Binary_Property/Soft_Dotted.js":83045,"./Binary_Property/Terminal_Punctuation.js":20991,"./Binary_Property/Unified_Ideograph.js":15154,"./Binary_Property/Uppercase.js":91909,"./Binary_Property/Variation_Selector.js":64590,"./Binary_Property/White_Space.js":42886,"./Binary_Property/XID_Continue.js":83067,"./Binary_Property/XID_Start.js":86524,"./General_Category/Cased_Letter.js":94195,"./General_Category/Close_Punctuation.js":42549,"./General_Category/Connector_Punctuation.js":72437,"./General_Category/Control.js":44467,"./General_Category/Currency_Symbol.js":75431,"./General_Category/Dash_Punctuation.js":86441,"./General_Category/Decimal_Number.js":57965,"./General_Category/Enclosing_Mark.js":89586,"./General_Category/Final_Punctuation.js":32965,"./General_Category/Format.js":32277,"./General_Category/Initial_Punctuation.js":5900,"./General_Category/Letter.js":63764,"./General_Category/Letter_Number.js":43043,"./General_Category/Line_Separator.js":19307,"./General_Category/Lowercase_Letter.js":45025,"./General_Category/Mark.js":76197,"./General_Category/Math_Symbol.js":21803,"./General_Category/Modifier_Letter.js":31022,"./General_Category/Modifier_Symbol.js":46858,"./General_Category/Nonspacing_Mark.js":85948,"./General_Category/Number.js":78861,"./General_Category/Open_Punctuation.js":38999,"./General_Category/Other.js":30567,"./General_Category/Other_Letter.js":52093,"./General_Category/Other_Number.js":80180,"./General_Category/Other_Punctuation.js":72919,"./General_Category/Other_Symbol.js":57481,"./General_Category/Paragraph_Separator.js":26400,"./General_Category/Private_Use.js":55205,"./General_Category/Punctuation.js":78350,"./General_Category/Separator.js":66827,"./General_Category/Space_Separator.js":29909,"./General_Category/Spacing_Mark.js":67089,"./General_Category/Surrogate.js":38703,"./General_Category/Symbol.js":34345,"./General_Category/Titlecase_Letter.js":87135,"./General_Category/Unassigned.js":48068,"./General_Category/Uppercase_Letter.js":54508,"./Property_of_Strings/Basic_Emoji.js":7134,"./Property_of_Strings/Emoji_Keycap_Sequence.js":1354,"./Property_of_Strings/RGI_Emoji.js":64708,"./Property_of_Strings/RGI_Emoji_Flag_Sequence.js":32530,"./Property_of_Strings/RGI_Emoji_Modifier_Sequence.js":76685,"./Property_of_Strings/RGI_Emoji_Tag_Sequence.js":80852,"./Property_of_Strings/RGI_Emoji_ZWJ_Sequence.js":70523,"./Script/Adlam.js":67309,"./Script/Ahom.js":21824,"./Script/Anatolian_Hieroglyphs.js":44251,"./Script/Arabic.js":93703,"./Script/Armenian.js":52003,"./Script/Avestan.js":91194,"./Script/Balinese.js":97148,"./Script/Bamum.js":92508,"./Script/Bassa_Vah.js":87398,"./Script/Batak.js":70403,"./Script/Bengali.js":60285,"./Script/Bhaiksuki.js":10143,"./Script/Bopomofo.js":25500,"./Script/Brahmi.js":69672,"./Script/Braille.js":67008,"./Script/Buginese.js":32055,"./Script/Buhid.js":90141,"./Script/Canadian_Aboriginal.js":40912,"./Script/Carian.js":68653,"./Script/Caucasian_Albanian.js":47231,"./Script/Chakma.js":38234,"./Script/Cham.js":29076,"./Script/Cherokee.js":47242,"./Script/Chorasmian.js":91466,"./Script/Common.js":2325,"./Script/Coptic.js":4957,"./Script/Cuneiform.js":51215,"./Script/Cypriot.js":94221,"./Script/Cypro_Minoan.js":77004,"./Script/Cyrillic.js":49326,"./Script/Deseret.js":2436,"./Script/Devanagari.js":76224,"./Script/Dives_Akuru.js":28156,"./Script/Dogra.js":19019,"./Script/Duployan.js":11233,"./Script/Egyptian_Hieroglyphs.js":82904,"./Script/Elbasan.js":50651,"./Script/Elymaic.js":63404,"./Script/Ethiopic.js":42249,"./Script/Georgian.js":77113,"./Script/Glagolitic.js":84922,"./Script/Gothic.js":8047,"./Script/Grantha.js":31338,"./Script/Greek.js":74214,"./Script/Gujarati.js":51130,"./Script/Gunjala_Gondi.js":60046,"./Script/Gurmukhi.js":37307,"./Script/Han.js":77439,"./Script/Hangul.js":73296,"./Script/Hanifi_Rohingya.js":67439,"./Script/Hanunoo.js":71394,"./Script/Hatran.js":68092,"./Script/Hebrew.js":24189,"./Script/Hiragana.js":84371,"./Script/Imperial_Aramaic.js":10780,"./Script/Inherited.js":71122,"./Script/Inscriptional_Pahlavi.js":53431,"./Script/Inscriptional_Parthian.js":580,"./Script/Javanese.js":37174,"./Script/Kaithi.js":77983,"./Script/Kannada.js":29485,"./Script/Katakana.js":3962,"./Script/Kawi.js":99140,"./Script/Kayah_Li.js":88425,"./Script/Kharoshthi.js":11648,"./Script/Khitan_Small_Script.js":67968,"./Script/Khmer.js":21205,"./Script/Khojki.js":5794,"./Script/Khudawadi.js":95492,"./Script/Lao.js":29088,"./Script/Latin.js":59992,"./Script/Lepcha.js":66891,"./Script/Limbu.js":33324,"./Script/Linear_A.js":74596,"./Script/Linear_B.js":1620,"./Script/Lisu.js":42747,"./Script/Lycian.js":1657,"./Script/Lydian.js":79038,"./Script/Mahajani.js":58990,"./Script/Makasar.js":31935,"./Script/Malayalam.js":15666,"./Script/Mandaic.js":81458,"./Script/Manichaean.js":49002,"./Script/Marchen.js":38394,"./Script/Masaram_Gondi.js":13910,"./Script/Medefaidrin.js":91850,"./Script/Meetei_Mayek.js":43034,"./Script/Mende_Kikakui.js":51271,"./Script/Meroitic_Cursive.js":70039,"./Script/Meroitic_Hieroglyphs.js":28978,"./Script/Miao.js":41801,"./Script/Modi.js":28146,"./Script/Mongolian.js":34848,"./Script/Mro.js":75485,"./Script/Multani.js":45988,"./Script/Myanmar.js":76042,"./Script/Nabataean.js":81263,"./Script/Nag_Mundari.js":17318,"./Script/Nandinagari.js":16087,"./Script/New_Tai_Lue.js":93938,"./Script/Newa.js":12645,"./Script/Nko.js":41687,"./Script/Nushu.js":19566,"./Script/Nyiakeng_Puachue_Hmong.js":57324,"./Script/Ogham.js":28054,"./Script/Ol_Chiki.js":50326,"./Script/Old_Hungarian.js":89704,"./Script/Old_Italic.js":81737,"./Script/Old_North_Arabian.js":60623,"./Script/Old_Permic.js":84547,"./Script/Old_Persian.js":4062,"./Script/Old_Sogdian.js":91435,"./Script/Old_South_Arabian.js":17744,"./Script/Old_Turkic.js":85004,"./Script/Old_Uyghur.js":56299,"./Script/Oriya.js":61702,"./Script/Osage.js":66820,"./Script/Osmanya.js":68741,"./Script/Pahawh_Hmong.js":43421,"./Script/Palmyrene.js":71540,"./Script/Pau_Cin_Hau.js":1646,"./Script/Phags_Pa.js":79532,"./Script/Phoenician.js":17297,"./Script/Psalter_Pahlavi.js":59563,"./Script/Rejang.js":15670,"./Script/Runic.js":15180,"./Script/Samaritan.js":85123,"./Script/Saurashtra.js":40061,"./Script/Sharada.js":72487,"./Script/Shavian.js":59504,"./Script/Siddham.js":565,"./Script/SignWriting.js":19877,"./Script/Sinhala.js":66662,"./Script/Sogdian.js":11761,"./Script/Sora_Sompeng.js":35055,"./Script/Soyombo.js":62187,"./Script/Sundanese.js":78461,"./Script/Syloti_Nagri.js":74405,"./Script/Syriac.js":15815,"./Script/Tagalog.js":2333,"./Script/Tagbanwa.js":38249,"./Script/Tai_Le.js":29852,"./Script/Tai_Tham.js":59997,"./Script/Tai_Viet.js":92465,"./Script/Takri.js":95234,"./Script/Tamil.js":59527,"./Script/Tangsa.js":946,"./Script/Tangut.js":86011,"./Script/Telugu.js":4866,"./Script/Thaana.js":36876,"./Script/Thai.js":71517,"./Script/Tibetan.js":49897,"./Script/Tifinagh.js":71384,"./Script/Tirhuta.js":51862,"./Script/Toto.js":79830,"./Script/Ugaritic.js":92019,"./Script/Vai.js":57677,"./Script/Vithkuqi.js":10301,"./Script/Wancho.js":12679,"./Script/Warang_Citi.js":79917,"./Script/Yezidi.js":33172,"./Script/Yi.js":94344,"./Script/Zanabazar_Square.js":90753,"./Script_Extensions/Adlam.js":38937,"./Script_Extensions/Ahom.js":9811,"./Script_Extensions/Anatolian_Hieroglyphs.js":11878,"./Script_Extensions/Arabic.js":98988,"./Script_Extensions/Armenian.js":50944,"./Script_Extensions/Avestan.js":96478,"./Script_Extensions/Balinese.js":28898,"./Script_Extensions/Bamum.js":42809,"./Script_Extensions/Bassa_Vah.js":36382,"./Script_Extensions/Batak.js":18210,"./Script_Extensions/Bengali.js":39762,"./Script_Extensions/Bhaiksuki.js":69666,"./Script_Extensions/Bopomofo.js":87754,"./Script_Extensions/Brahmi.js":94830,"./Script_Extensions/Braille.js":65528,"./Script_Extensions/Buginese.js":3789,"./Script_Extensions/Buhid.js":53126,"./Script_Extensions/Canadian_Aboriginal.js":61228,"./Script_Extensions/Carian.js":26604,"./Script_Extensions/Caucasian_Albanian.js":68874,"./Script_Extensions/Chakma.js":57717,"./Script_Extensions/Cham.js":50272,"./Script_Extensions/Cherokee.js":48334,"./Script_Extensions/Chorasmian.js":61166,"./Script_Extensions/Common.js":73219,"./Script_Extensions/Coptic.js":33538,"./Script_Extensions/Cuneiform.js":59678,"./Script_Extensions/Cypriot.js":45995,"./Script_Extensions/Cypro_Minoan.js":19536,"./Script_Extensions/Cyrillic.js":18638,"./Script_Extensions/Deseret.js":77756,"./Script_Extensions/Devanagari.js":85640,"./Script_Extensions/Dives_Akuru.js":97606,"./Script_Extensions/Dogra.js":80650,"./Script_Extensions/Duployan.js":4539,"./Script_Extensions/Egyptian_Hieroglyphs.js":41585,"./Script_Extensions/Elbasan.js":40751,"./Script_Extensions/Elymaic.js":8933,"./Script_Extensions/Ethiopic.js":56370,"./Script_Extensions/Georgian.js":60656,"./Script_Extensions/Glagolitic.js":22125,"./Script_Extensions/Gothic.js":56298,"./Script_Extensions/Grantha.js":86631,"./Script_Extensions/Greek.js":80161,"./Script_Extensions/Gujarati.js":41962,"./Script_Extensions/Gunjala_Gondi.js":46189,"./Script_Extensions/Gurmukhi.js":8194,"./Script_Extensions/Han.js":5545,"./Script_Extensions/Hangul.js":94337,"./Script_Extensions/Hanifi_Rohingya.js":25890,"./Script_Extensions/Hanunoo.js":54191,"./Script_Extensions/Hatran.js":62640,"./Script_Extensions/Hebrew.js":26210,"./Script_Extensions/Hiragana.js":4645,"./Script_Extensions/Imperial_Aramaic.js":47790,"./Script_Extensions/Inherited.js":65719,"./Script_Extensions/Inscriptional_Pahlavi.js":58626,"./Script_Extensions/Inscriptional_Parthian.js":50167,"./Script_Extensions/Javanese.js":29743,"./Script_Extensions/Kaithi.js":11958,"./Script_Extensions/Kannada.js":26161,"./Script_Extensions/Katakana.js":58831,"./Script_Extensions/Kawi.js":93386,"./Script_Extensions/Kayah_Li.js":65916,"./Script_Extensions/Kharoshthi.js":97319,"./Script_Extensions/Khitan_Small_Script.js":82273,"./Script_Extensions/Khmer.js":21654,"./Script_Extensions/Khojki.js":60840,"./Script_Extensions/Khudawadi.js":84937,"./Script_Extensions/Lao.js":3895,"./Script_Extensions/Latin.js":34462,"./Script_Extensions/Lepcha.js":55753,"./Script_Extensions/Limbu.js":82970,"./Script_Extensions/Linear_A.js":61456,"./Script_Extensions/Linear_B.js":7475,"./Script_Extensions/Lisu.js":82841,"./Script_Extensions/Lycian.js":25245,"./Script_Extensions/Lydian.js":40610,"./Script_Extensions/Mahajani.js":71461,"./Script_Extensions/Makasar.js":90995,"./Script_Extensions/Malayalam.js":4201,"./Script_Extensions/Mandaic.js":85976,"./Script_Extensions/Manichaean.js":61361,"./Script_Extensions/Marchen.js":51089,"./Script_Extensions/Masaram_Gondi.js":75850,"./Script_Extensions/Medefaidrin.js":35394,"./Script_Extensions/Meetei_Mayek.js":65222,"./Script_Extensions/Mende_Kikakui.js":56734,"./Script_Extensions/Meroitic_Cursive.js":48438,"./Script_Extensions/Meroitic_Hieroglyphs.js":63315,"./Script_Extensions/Miao.js":89426,"./Script_Extensions/Modi.js":56126,"./Script_Extensions/Mongolian.js":48441,"./Script_Extensions/Mro.js":96237,"./Script_Extensions/Multani.js":12152,"./Script_Extensions/Myanmar.js":88384,"./Script_Extensions/Nabataean.js":22445,"./Script_Extensions/Nag_Mundari.js":48651,"./Script_Extensions/Nandinagari.js":54947,"./Script_Extensions/New_Tai_Lue.js":25650,"./Script_Extensions/Newa.js":997,"./Script_Extensions/Nko.js":35334,"./Script_Extensions/Nushu.js":38408,"./Script_Extensions/Nyiakeng_Puachue_Hmong.js":53615,"./Script_Extensions/Ogham.js":72435,"./Script_Extensions/Ol_Chiki.js":6286,"./Script_Extensions/Old_Hungarian.js":10512,"./Script_Extensions/Old_Italic.js":7259,"./Script_Extensions/Old_North_Arabian.js":79715,"./Script_Extensions/Old_Permic.js":84513,"./Script_Extensions/Old_Persian.js":29058,"./Script_Extensions/Old_Sogdian.js":22883,"./Script_Extensions/Old_South_Arabian.js":25750,"./Script_Extensions/Old_Turkic.js":38028,"./Script_Extensions/Old_Uyghur.js":82038,"./Script_Extensions/Oriya.js":93543,"./Script_Extensions/Osage.js":55599,"./Script_Extensions/Osmanya.js":6499,"./Script_Extensions/Pahawh_Hmong.js":87093,"./Script_Extensions/Palmyrene.js":33203,"./Script_Extensions/Pau_Cin_Hau.js":32175,"./Script_Extensions/Phags_Pa.js":80475,"./Script_Extensions/Phoenician.js":88683,"./Script_Extensions/Psalter_Pahlavi.js":13132,"./Script_Extensions/Rejang.js":10643,"./Script_Extensions/Runic.js":92370,"./Script_Extensions/Samaritan.js":62803,"./Script_Extensions/Saurashtra.js":69504,"./Script_Extensions/Sharada.js":57957,"./Script_Extensions/Shavian.js":15581,"./Script_Extensions/Siddham.js":45898,"./Script_Extensions/SignWriting.js":73338,"./Script_Extensions/Sinhala.js":54400,"./Script_Extensions/Sogdian.js":69554,"./Script_Extensions/Sora_Sompeng.js":82168,"./Script_Extensions/Soyombo.js":55339,"./Script_Extensions/Sundanese.js":17361,"./Script_Extensions/Syloti_Nagri.js":7453,"./Script_Extensions/Syriac.js":49190,"./Script_Extensions/Tagalog.js":78050,"./Script_Extensions/Tagbanwa.js":6896,"./Script_Extensions/Tai_Le.js":30486,"./Script_Extensions/Tai_Tham.js":43272,"./Script_Extensions/Tai_Viet.js":2338,"./Script_Extensions/Takri.js":15222,"./Script_Extensions/Tamil.js":25234,"./Script_Extensions/Tangsa.js":14113,"./Script_Extensions/Tangut.js":12606,"./Script_Extensions/Telugu.js":60209,"./Script_Extensions/Thaana.js":34190,"./Script_Extensions/Thai.js":24815,"./Script_Extensions/Tibetan.js":65333,"./Script_Extensions/Tifinagh.js":98578,"./Script_Extensions/Tirhuta.js":25740,"./Script_Extensions/Toto.js":20190,"./Script_Extensions/Ugaritic.js":41418,"./Script_Extensions/Vai.js":95619,"./Script_Extensions/Vithkuqi.js":4862,"./Script_Extensions/Wancho.js":80134,"./Script_Extensions/Warang_Citi.js":61158,"./Script_Extensions/Yezidi.js":25,"./Script_Extensions/Yi.js":47685,"./Script_Extensions/Zanabazar_Square.js":92290,"./index.js":31714,"./unicode-version.js":35362};function t(e){var a=r(e);return n(a)}function r(e){if(!n.o(d,e)){var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}return d[e]}t.keys=function(){return Object.keys(d)},t.resolve=r,e.exports=t,t.id=38531},64956:function(e,a,n){var d=n(97826);e.exports=d},73645:function(e,a,n){n(48410);var d=n(79775);e.exports=d.Object.assign},8924:function(e,a,n){e.exports=n(16980)},16980:function(e,a,n){var d=n(64956);e.exports=d},45089:function(e,a,n){var d=n(90930),t=n(9268),r=TypeError;e.exports=function(e){if(d(e))return e;throw r(t(e)+" is not a function")}},41449:function(e,a,n){var d=n(41956),t=n(9268),r=TypeError;e.exports=function(e){if(d(e))return e;throw r(t(e)+" is not a constructor")}},78669:function(e,a,n){var d=n(50211),t=n(44710),r=n(77826).f,o=d("unscopables"),i=Array.prototype;null==i[o]&&r(i,o,{configurable:!0,value:t(null)}),e.exports=function(e){i[o][e]=!0}},56112:function(e,a,n){var d=n(28759),t=String,r=TypeError;e.exports=function(e){if(d(e))return e;throw r(t(e)+" is not an object")}},56198:function(e,a,n){var d=n(64088),t=n(7740),r=n(82871),o=function(e){return function(a,n,o){var i,g=d(a),s=r(g),c=t(o,s);if(e&&n!=n){for(;s>c;)if((i=g[c++])!=i)return!0}else for(;s>c;c++)if((e||c in g)&&g[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},52306:function(e,a,n){var d=n(74130),t=d({}.toString),r=d("".slice);e.exports=function(e){return r(t(e),8,-1)}},90375:function(e,a,n){var d=n(12371),t=n(90930),r=n(52306),o=n(50211)("toStringTag"),i=Object,g="Arguments"==r(function(){return arguments}());e.exports=d?r:function(e){var a,n,d;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,a){try{return e[a]}catch(n){}}(a=i(e),o))?n:g?r(a):"Object"==(d=r(a))&&t(a.callee)?"Arguments":d}},48474:function(e,a,n){var d=n(49606),t=n(46095),r=n(94399),o=n(77826);e.exports=function(e,a,n){for(var i=t(a),g=o.f,s=r.f,c=0;c0&&d[0]<4?1:+(d[0]+d[1])),!t&&o&&(!(d=o.match(/Edge\/(\d+)/))||d[1]>=74)&&(d=o.match(/Chrome\/(\d+)/))&&(t=+d[1]),e.exports=t},58684:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},51695:function(e,a,n){var d=n(22086),t=n(94399).f,r=n(72585),o=n(1343),i=n(79444),g=n(48474),s=n(67189);e.exports=function(e,a){var n,c,u,R,l,p=e.target,f=e.global,h=e.stat;if(n=f?d:h?d[p]||i(p,{}):(d[p]||{}).prototype)for(c in a){if(R=a[c],u=e.dontCallGetSet?(l=t(n,c))&&l.value:n[c],!s(f?c:p+(h?".":"#")+c,e.forced)&&void 0!==u){if(typeof R==typeof u)continue;g(R,u)}(e.sham||u&&u.sham)&&r(R,"sham",!0),o(n,c,R,e)}}},63677:function(e){e.exports=function(e){try{return!!e()}catch(a){return!0}}},86059:function(e,a,n){var d=n(63677);e.exports=!d((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},59413:function(e,a,n){var d=n(86059),t=Function.prototype.call;e.exports=d?t.bind(t):function(){return t.apply(t,arguments)}},94398:function(e,a,n){var d=n(25283),t=n(49606),r=Function.prototype,o=d&&Object.getOwnPropertyDescriptor,i=t(r,"name"),g=i&&"something"===function(){}.name,s=i&&(!d||d&&o(r,"name").configurable);e.exports={EXISTS:i,PROPER:g,CONFIGURABLE:s}},74130:function(e,a,n){var d=n(86059),t=Function.prototype,r=t.call,o=d&&t.bind.bind(r,r);e.exports=function(e){return d?o(e):function(){return r.apply(e,arguments)}}},78240:function(e,a,n){var d=n(52306),t=n(74130);e.exports=function(e){if("Function"===d(e))return t(e)}},10563:function(e,a,n){var d=n(22086),t=n(90930),r=function(e){return t(e)?e:void 0};e.exports=function(e,a){return arguments.length<2?r(d[e]):d[e]&&d[e][a]}},2964:function(e,a,n){var d=n(45089),t=n(71858);e.exports=function(e,a){var n=e[a];return t(n)?void 0:d(n)}},18509:function(e,a,n){var d=n(78240),t=n(3060),r=Math.floor,o=d("".charAt),i=d("".replace),g=d("".slice),s=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,c=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,a,n,d,u,R){var l=n+e.length,p=d.length,f=c;return void 0!==u&&(u=t(u),f=s),i(R,f,(function(t,i){var s;switch(o(i,0)){case"$":return"$";case"&":return e;case"`":return g(a,0,n);case"'":return g(a,l);case"<":s=u[g(i,1,-1)];break;default:var c=+i;if(0===c)return t;if(c>p){var R=r(c/10);return 0===R?t:R<=p?void 0===d[R-1]?o(i,1):d[R-1]+o(i,1):t}s=d[c-1]}return void 0===s?"":s}))}},22086:function(e,a,n){var d=function(e){return e&&e.Math==Math&&e};e.exports=d("object"==typeof globalThis&&globalThis)||d("object"==typeof window&&window)||d("object"==typeof self&&self)||d("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},49606:function(e,a,n){var d=n(78240),t=n(3060),r=d({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,a){return r(t(e),a)}},7153:function(e){e.exports={}},25963:function(e,a,n){var d=n(10563);e.exports=d("document","documentElement")},26761:function(e,a,n){var d=n(25283),t=n(63677),r=n(20821);e.exports=!d&&!t((function(){return 7!=Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},95974:function(e,a,n){var d=n(78240),t=n(63677),r=n(52306),o=Object,i=d("".split);e.exports=t((function(){return!o("z").propertyIsEnumerable(0)}))?function(e){return"String"==r(e)?i(e,""):o(e)}:o},39277:function(e,a,n){var d=n(78240),t=n(90930),r=n(74489),o=d(Function.toString);t(r.inspectSource)||(r.inspectSource=function(e){return o(e)}),e.exports=r.inspectSource},83278:function(e,a,n){var d,t,r,o=n(40640),i=n(22086),g=n(28759),s=n(72585),c=n(49606),u=n(74489),R=n(88944),l=n(7153),p="Object already initialized",f=i.TypeError,h=i.WeakMap;if(o||u.state){var m=u.state||(u.state=new h);m.get=m.get,m.has=m.has,m.set=m.set,d=function(e,a){if(m.has(e))throw f(p);return a.facade=e,m.set(e,a),a},t=function(e){return m.get(e)||{}},r=function(e){return m.has(e)}}else{var y=R("state");l[y]=!0,d=function(e,a){if(c(e,y))throw f(p);return a.facade=e,s(e,y,a),a},t=function(e){return c(e,y)?e[y]:{}},r=function(e){return c(e,y)}}e.exports={set:d,get:t,has:r,enforce:function(e){return r(e)?t(e):d(e,{})},getterFor:function(e){return function(a){var n;if(!g(a)||(n=t(a)).type!==e)throw f("Incompatible receiver, "+e+" required");return n}}}},90930:function(e,a,n){var d=n(27886),t=d.all;e.exports=d.IS_HTMLDDA?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},41956:function(e,a,n){var d=n(78240),t=n(63677),r=n(90930),o=n(90375),i=n(10563),g=n(39277),s=function(){},c=[],u=i("Reflect","construct"),R=/^\s*(?:class|function)\b/,l=d(R.exec),p=!R.exec(s),f=function(e){if(!r(e))return!1;try{return u(s,c,e),!0}catch(a){return!1}},h=function(e){if(!r(e))return!1;switch(o(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return p||!!l(R,g(e))}catch(a){return!0}};h.sham=!0,e.exports=!u||t((function(){var e;return f(f.call)||!f(Object)||!f((function(){e=!0}))||e}))?h:f},67189:function(e,a,n){var d=n(63677),t=n(90930),r=/#|\.prototype\./,o=function(e,a){var n=g[i(e)];return n==c||n!=s&&(t(a)?d(a):!!a)},i=o.normalize=function(e){return String(e).replace(r,".").toLowerCase()},g=o.data={},s=o.NATIVE="N",c=o.POLYFILL="P";e.exports=o},71858:function(e){e.exports=function(e){return null==e}},28759:function(e,a,n){var d=n(90930),t=n(27886),r=t.all;e.exports=t.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:d(e)||e===r}:function(e){return"object"==typeof e?null!==e:d(e)}},43296:function(e){e.exports=!1},67994:function(e,a,n){var d=n(28759),t=n(52306),r=n(50211)("match");e.exports=function(e){var a;return d(e)&&(void 0!==(a=e[r])?!!a:"RegExp"==t(e))}},92071:function(e,a,n){var d=n(10563),t=n(90930),r=n(95516),o=n(91876),i=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var a=d("Symbol");return t(a)&&r(a.prototype,i(e))}},82871:function(e,a,n){var d=n(24005);e.exports=function(e){return d(e.length)}},83712:function(e,a,n){var d=n(63677),t=n(90930),r=n(49606),o=n(25283),i=n(94398).CONFIGURABLE,g=n(39277),s=n(83278),c=s.enforce,u=s.get,R=Object.defineProperty,l=o&&!d((function(){return 8!==R((function(){}),"length",{value:8}).length})),p=String(String).split("String"),f=e.exports=function(e,a,n){"Symbol("===String(a).slice(0,7)&&(a="["+String(a).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(a="get "+a),n&&n.setter&&(a="set "+a),(!r(e,"name")||i&&e.name!==a)&&(o?R(e,"name",{value:a,configurable:!0}):e.name=a),l&&n&&r(n,"arity")&&e.length!==n.arity&&R(e,"length",{value:n.arity});try{n&&r(n,"constructor")&&n.constructor?o&&R(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(t){}var d=c(e);return r(d,"source")||(d.source=p.join("string"==typeof a?a:"")),e};Function.prototype.toString=f((function(){return t(this)&&u(this).source||g(this)}),"toString")},55681:function(e){var a=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var d=+e;return(d>0?n:a)(d)}},98722:function(e,a,n){"use strict";var d=n(45089),t=TypeError,r=function(e){var a,n;this.promise=new e((function(e,d){if(void 0!==a||void 0!==n)throw t("Bad Promise constructor");a=e,n=d})),this.resolve=d(a),this.reject=d(n)};e.exports.f=function(e){return new r(e)}},88675:function(e,a,n){"use strict";var d=n(25283),t=n(78240),r=n(59413),o=n(63677),i=n(68779),g=n(66952),s=n(7446),c=n(3060),u=n(95974),R=Object.assign,l=Object.defineProperty,p=t([].concat);e.exports=!R||o((function(){if(d&&1!==R({b:1},R(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},a={},n=Symbol(),t="abcdefghijklmnopqrst";return e[n]=7,t.split("").forEach((function(e){a[e]=e})),7!=R({},e)[n]||i(R({},a)).join("")!=t}))?function(e,a){for(var n=c(e),t=arguments.length,o=1,R=g.f,l=s.f;t>o;)for(var f,h=u(arguments[o++]),m=R?p(i(h),R(h)):i(h),y=m.length,b=0;y>b;)f=m[b++],d&&!r(l,h,f)||(n[f]=h[f]);return n}:R},44710:function(e,a,n){var d,t=n(56112),r=n(77711),o=n(58684),i=n(7153),g=n(25963),s=n(20821),c=n(88944),u=c("IE_PROTO"),R=function(){},l=function(e){return"\");\n}\n\nfunction createBox() {\n return [\"&&{\", system, \"}\"];\n}\n\ncreateBox.meta = system.meta;\n\nconst getMediaWidth = getBreakpointBound => value => props => {\n const v = getBreakpointBound(getScreens(props), value);\n return v === null ? \"0\" : v || value;\n};\n\nconst mediaGetters = {\n \"min-width\": getMediaWidth(getBreakpointMin),\n \"max-width\": getMediaWidth(getBreakpointMax)\n};\nconst PROP_CHAR = \"[-\\\\w]\";\nconst VALUE_CHAR = \"(?:\\\\\\\\[\\\\s\\\\S]|[^\\\\\\\\;{}])\";\nconst PROP_PATT = \"(\".concat(PROP_CHAR, \"+)(\\\\s*:\\\\s*)(?=\\\\S)(\").concat(VALUE_CHAR, \"*?)(\\\\s*!important)?(\\\\s*;)\");\nconst MEDIA_CHAR = \"[^{]\";\nconst MEDIA_PATT = \"(@media\\\\b\\\\s*)(?=\\\\S)(\".concat(MEDIA_CHAR, \"+?)(\\\\s*\\\\{)\");\nconst MATCH_REGEXP = new RegExp(\"(?:\".concat(PROP_PATT, \"|\").concat(MEDIA_PATT, \")\"), \"g\");\nconst QUERY_REGEXP = new RegExp(\"(\\\\(\\\\s*)(\".concat(PROP_CHAR, \"+)(\\\\s*:\\\\s*)([^\\\\)]*?)(\\\\s*\\\\))\"), \"g\");\n\nconst mediaTransform = rawValue => {\n let matches;\n let lastIndex = 0;\n const values = [];\n\n while (matches = QUERY_REGEXP.exec(rawValue)) {\n const [, open, prop, colon, value, close] = matches;\n const getter = mediaGetters[prop];\n\n if (getter) {\n values.push(rawValue.slice(lastIndex, matches.index));\n values.push(p => \"\".concat(open).concat(prop).concat(colon).concat(getter(value)(p)).concat(close));\n lastIndex = matches.index + matches[0].length;\n }\n }\n\n values.push(rawValue.slice(lastIndex, rawValue.length));\n return values;\n};\n\nconst createTransform = generator => rawValue => {\n if (typeof rawValue !== \"string\") return rawValue;\n let matches;\n let lastIndex = 0;\n const values = [];\n\n while (matches = MATCH_REGEXP.exec(rawValue)) {\n const [, prop, colon, value, imp, semi, media, query, brace] = matches;\n\n if (media) {\n values.push(rawValue.slice(lastIndex, matches.index));\n values.push(media);\n mediaTransform(query).forEach(v => values.push(v));\n values.push(brace);\n lastIndex = matches.index + matches[0].length;\n } else {\n const getter = generator.meta.cssGetters[prop];\n\n if (getter) {\n values.push(rawValue.slice(lastIndex, matches.index));\n values.push(p => \"\".concat(prop).concat(colon).concat(getter(value)(p)).concat(imp || \"\").concat(semi));\n lastIndex = matches.index + matches[0].length;\n }\n }\n }\n\n values.push(rawValue.slice(lastIndex, rawValue.length));\n return values;\n};\n\nconst createUseGetter = (getter, useTheme) => (value, defaultValue) => {\n const theme = useTheme();\n return useMemo(() => getter(value, defaultValue)({\n theme\n }), [value, defaultValue, theme]);\n};\n\nexport { ColorModeContext, createBox, createColorModeProvider, createColorStyles, createTransform, createUseGetter, getColorModeInitScriptElement, getColorModeInitScriptTag, useColorMode, useColorModeState, useColorModeTheme, useThemeBreakpoint, useThemeDown, useThemeScreens, useThemeUp, useViewportWidth };","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import _taggedTemplateLiteral from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js\";\n\nvar _templateObject, _templateObject2, _templateObject3;\n\nimport styled$1, { createGlobalStyle as createGlobalStyle$1, ThemeContext, ThemeProvider, css as css$1 } from 'styled-components';\nexport { ServerStyleSheet, StyleSheetManager, ThemeConsumer, ThemeContext, ThemeProvider, isStyledComponent, keyframes, withTheme } from 'styled-components';\nimport { createColorStyles, createColorModeProvider, createUseGetter, useThemeScreens, useThemeBreakpoint, useThemeUp, useThemeDown, createTransform } from '@xstyled/core';\nexport { getColorModeInitScriptElement, getColorModeInitScriptTag, useColorMode, useViewportWidth } from '@xstyled/core';\nimport { useContext } from 'react';\nimport { th, getPreflightStyles, system as system$1 } from '@xstyled/system';\nexport * from '@xstyled/system';\nimport { flattenStrings, string } from '@xstyled/util';\nconst ColorModeStyle = createGlobalStyle$1(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\", \"\"])), p => createColorStyles(p.theme, {\n targetSelector: p.targetSelector\n}));\nconst ColorModeProvider = createColorModeProvider({\n ThemeContext,\n ThemeProvider,\n ColorModeStyle\n});\n\nconst useTheme = () => {\n return useContext(ThemeContext);\n};\n\nconst useTh = createUseGetter(th, useTheme);\nconst useAngle = createUseGetter(th.angle, useTheme);\nconst useAnimation = createUseGetter(th.animation, useTheme);\nconst useBorder = createUseGetter(th.border, useTheme);\nconst useBorderColor = createUseGetter(th.borderColor, useTheme);\nconst useBorderStyle = createUseGetter(th.borderStyle, useTheme);\nconst useBorderWidth = createUseGetter(th.borderWidth, useTheme);\nconst useColor = createUseGetter(th.color, useTheme);\nconst useDuration = createUseGetter(th.duration, useTheme);\nconst useFont = createUseGetter(th.font, useTheme);\nconst useFontSize = createUseGetter(th.fontSize, useTheme);\nconst useFontWeight = createUseGetter(th.fontWeight, useTheme);\nconst useInset = createUseGetter(th.inset, useTheme);\nconst useLetterSpacing = createUseGetter(th.letterSpacing, useTheme);\nconst useLineHeight = createUseGetter(th.lineHeight, useTheme);\nconst usePercent = createUseGetter(th.percent, useTheme);\nconst usePx = createUseGetter(th.px, useTheme);\nconst useRadius = createUseGetter(th.radius, useTheme);\nconst useRingWidth = createUseGetter(th.ringWidth, useTheme);\nconst useShadow = createUseGetter(th.shadow, useTheme);\nconst useSize = createUseGetter(th.size, useTheme);\nconst useSpace = createUseGetter(th.space, useTheme);\nconst useTimingFunction = createUseGetter(th.timingFunction, useTheme);\nconst useTransform = createUseGetter(th.transform, useTheme);\nconst useTransition = createUseGetter(th.transition, useTheme);\nconst useTransitionProperty = createUseGetter(th.transitionProperty, useTheme);\nconst useZIndex = createUseGetter(th.zIndex, useTheme);\n\nconst useScreens = () => {\n return useThemeScreens(useTheme());\n};\n\nconst useBreakpoint = () => {\n return useThemeBreakpoint(useTheme());\n};\n\nconst useUp = key => {\n return useThemeUp(useTheme(), key);\n};\n\nconst useDown = key => {\n return useThemeDown(useTheme(), key);\n};\n\nconst Preflight = createGlobalStyle$1(_ref => {\n let {\n theme\n } = _ref;\n return getPreflightStyles(theme);\n});\n\nconst createCssFunction = generator => {\n const transform = createTransform(generator);\n return function () {\n const scCssArgs = css$1(...arguments);\n const flattenedArgs = flattenStrings(scCssArgs);\n return flattenedArgs.map(transform);\n };\n};\n\nconst scStyled = typeof styled$1 === \"function\" ? styled$1 : styled$1.default;\n\nconst getCreateStyle = (baseCreateStyle, css, generator) => {\n const createStyle = function () {\n return baseCreateStyle(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\", \"\", \"\"])), css(...arguments), generator);\n };\n\n createStyle.attrs = attrs => getCreateStyle(baseCreateStyle.attrs(attrs), css, generator);\n\n createStyle.withConfig = config => getCreateStyle(baseCreateStyle.withConfig(config), css, generator);\n\n return createStyle;\n};\n\nconst createShouldForwardProp = generator => {\n const propSet = new Set(generator.meta.props);\n return (prop, defaultValidatorFn, elementToBeCreated) => {\n if (string(prop) && propSet.has(prop)) {\n return false;\n }\n\n if (typeof elementToBeCreated === \"string\") {\n return defaultValidatorFn(prop);\n }\n\n return true;\n };\n};\n\nconst createBaseStyled = (css, generator) => {\n const config = generator ? {\n shouldForwardProp: createShouldForwardProp(generator)\n } : {};\n return component => {\n const baseStyled = scStyled(component);\n return getCreateStyle(config ? baseStyled.withConfig(config) : baseStyled, css, generator);\n };\n};\n\nconst createStyled = generator => {\n const css = createCssFunction(generator);\n const styled = createBaseStyled(css);\n const xstyled = createBaseStyled(css, generator);\n styled.box = xstyled(\"div\");\n Object.keys(scStyled).forEach(key => {\n styled[key] = styled(key);\n styled[\"\".concat(key, \"Box\")] = xstyled(key);\n });\n return styled;\n};\n\nconst createX = generator => {\n const xstyled = createBaseStyled(createCssFunction(generator), generator);\n const x = {};\n Object.keys(scStyled).forEach(tag => {\n x[tag] = xstyled(tag)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\"])));\n });\n return x;\n};\n\nconst createCreateGlobalStyle = generator => {\n const css = createCssFunction(generator);\n return function () {\n return createGlobalStyle$1([css(...arguments)]);\n };\n};\n\nconst createCss = generator => {\n return {\n css: createCssFunction(generator),\n x: createX(generator),\n styled: createStyled(generator),\n createGlobalStyle: createCreateGlobalStyle(generator)\n };\n};\n\nconst {\n css,\n styled,\n x,\n createGlobalStyle\n} = createCss(system$1);\nexport { ColorModeProvider, Preflight, createCss, createGlobalStyle, css, styled as default, styled, useAngle, useAnimation, useBorder, useBorderColor, useBorderStyle, useBorderWidth, useBreakpoint, useColor, useDown, useDuration, useFont, useFontSize, useFontWeight, useInset, useLetterSpacing, useLineHeight, usePercent, usePx, useRadius, useRingWidth, useScreens, useShadow, useSize, useSpace, useTh, useTheme, useTimingFunction, useTransform, useTransition, useTransitionProperty, useUp, useZIndex, x };","import { num, string, getThemeValue, negative, warn, merge, assign, func, is, obj, cascade } from '@xstyled/util';\nvar __pow = Math.pow;\n\nconst round = value => Math.round(value * __pow(10, 4)) / __pow(10, 4);\n\nconst unit = unit2 => value => num(value) && value !== 0 ? \"\".concat(value).concat(unit2) : value;\n\nconst ms = unit(\"ms\");\nconst px$1 = unit(\"px\");\nconst deg = unit(\"deg\");\n\nconst pxToRem = function (value) {\n let {\n rootFontSize = 16\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return round(value / rootFontSize);\n};\n\nconst remPx = (value, options) => {\n const num2 = Number(value);\n if (Number.isNaN(num2) || num2 === 0) return value;\n return \"\".concat(pxToRem(num2, options), \"rem\");\n};\n\nconst rpx = (value, options) => {\n if (!string(value) || value.length < 4) return value;\n const unit2 = value.slice(-3);\n if (unit2 !== \"rpx\") return value;\n const n = Number(value.slice(0, value.length - 3));\n if (n === 0) return 0;\n return \"\".concat(pxToRem(n, options), \"rem\");\n};\n\nconst percent = n => num(n) && n !== 0 && n >= -1 && n <= 1 ? \"\".concat(round(n * 100), \"%\") : n;\n\nconst transformNegative = (_, _ref) => {\n let {\n rawValue,\n variants,\n props\n } = _ref;\n\n if (string(rawValue)) {\n const neg = rawValue.startsWith(\"-\");\n const abs = neg ? rawValue.substr(1) : rawValue;\n const varVal = getThemeValue(props, abs, variants);\n const value = string(varVal) || num(varVal) ? varVal : abs;\n return neg ? \"-\".concat(value) : value;\n }\n\n if (num(rawValue)) {\n const neg = negative(rawValue);\n const abs = Math.abs(rawValue);\n const varVal = variants ? variants[abs] : void 0;\n if (string(varVal)) return neg ? \"-\".concat(varVal) : varVal;\n const value = num(varVal) ? varVal : abs;\n return neg ? value * -1 : value;\n }\n\n return void 0;\n};\n\nconst mediaMinWidth = value => value ? \"@media (min-width: \".concat(value, \")\") : null;\n\nconst mediaMaxWidth = value => value ? \"@media (max-width: \".concat(value, \")\") : null;\n\nconst mediaBetweenWidth = (min, max) => min && max ? \"@media (min-width: \".concat(min, \") and (max-width: \").concat(max, \")\") : null;\n\nconst getBreakpointMin = (screens, key) => {\n const value = screens[key];\n return value === 0 ? null : px$1(value);\n};\n\nconst getBreakpointMax = (screens, key) => {\n const value = screens[key];\n return value === 0 ? null : px$1(value - 0.02);\n};\n\nvar __defProp$6 = Object.defineProperty;\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$6.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$6) for (var prop of __getOwnPropSymbols$6(b)) {\n if (__propIsEnum$6.call(b, prop)) __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\n\nconst getScreens = props => {\n return props.theme && props.theme.screens ? props.theme.screens : {};\n};\n\nconst getStates = props => {\n return props.theme && props.theme.states ? props.theme.states : {};\n};\n\nconst getVariants = props => {\n const screens = getScreens(props);\n const states = getStates(props);\n const medias = {};\n\n for (const value in screens) {\n medias[value] = mediaMinWidth(getBreakpointMin(screens, value));\n }\n\n const variants = __spreadValues$6(__spreadValues$6({}, medias), states);\n\n for (const [value, selector] of Object.entries(variants)) {\n if (selector && selector.startsWith(\"@\")) {\n delete variants[value];\n variants[value] = selector;\n }\n }\n\n return variants;\n};\n\nconst getCachedVariants = (props, cache) => {\n if (cache.has(\"_variants\")) return cache.get(\"_variants\");\n const states = getVariants(props);\n cache.set(\"_variants\", states);\n return states;\n};\n\nconst cacheSupported = typeof Map !== \"undefined\" && typeof WeakMap !== \"undefined\";\nconst caches = cacheSupported ? new WeakMap() : null;\n\nconst getThemeCache = theme => {\n if (caches === null) return null;\n if (caches.has(theme)) return caches.get(theme) || null;\n const cache = {};\n caches.set(theme, cache);\n return cache;\n};\n\nconst noopCache = {\n has: () => false,\n set: () => void 0,\n get: () => void 0\n};\n\nconst getCache = (theme, namespace) => {\n if (!theme) return noopCache;\n const cache = getThemeCache(theme);\n if (!cache || !theme) return noopCache;\n cache[namespace] = cache[namespace] || new Map();\n return cache[namespace];\n};\n\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$5 = (obj2, key, value) => key in obj2 ? __defProp$5(obj2, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj2[key] = value;\n\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$5.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$5) for (var prop of __getOwnPropSymbols$5(b)) {\n if (__propIsEnum$5.call(b, prop)) __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\n\nlet themeGetterId = 0;\nconst SPLITTERS = {\n shorthand: [/\\s+/, \" \"],\n multiple: [/\\s*,\\s*/, \",\"]\n};\n\nconst splitValue = (splitter, transform) => value => value.split(splitter[0]).map(transform).join(splitter[1]);\n\nconst themeGetter = _ref2 => {\n let {\n name,\n transform: defaultTransform,\n key,\n compose: compose2,\n shorthand,\n multiple\n } = _ref2;\n const id = themeGetterId++;\n\n const getter = (value, defaultValue) => props => {\n let res = value;\n\n if (!string(value) && !num(value) && value !== true) {\n return res;\n }\n\n const cacheKey = \"\".concat(typeof value, \"-\").concat(value, \"-\").concat(defaultValue);\n const cache = getCache(props.theme, \"__themeGetter\".concat(id));\n if (cache.has(cacheKey)) return cache.get(cacheKey);\n\n const getValue = value2 => {\n const localDefaultValue = is(defaultValue) ? defaultValue : value2;\n let res2 = value2;\n const variants = is(key) ? getThemeValue(props, key) : null;\n\n if (is(variants)) {\n const path = value2 === true ? \"default\" : string(value2) || num(value2) ? value2 : null;\n\n if (is(path)) {\n const fromTheme = getThemeValue(props, path, variants);\n res2 = Array.isArray(fromTheme) ? fromTheme.join(\",\") : fromTheme;\n }\n }\n\n let rawValue = value2;\n\n if (!is(res2)) {\n rawValue = localDefaultValue;\n res2 = localDefaultValue;\n }\n\n const transform = (name && props.theme && props.theme.transformers ? props.theme.transformers[name] : null) || defaultTransform;\n\n if (transform) {\n res2 = transform(res2, {\n rawValue,\n variants,\n props\n });\n }\n\n return compose2 ? compose2(res2)(props) : res2;\n };\n\n if ((shorthand || multiple) && string(value)) {\n let transform = getValue;\n if (shorthand) transform = splitValue(SPLITTERS.shorthand, transform);\n if (multiple) transform = splitValue(SPLITTERS.multiple, transform);\n res = transform(value);\n } else {\n res = getValue(value);\n }\n\n cache.set(cacheKey, res);\n return res;\n };\n\n getter.meta = {\n name,\n transform: defaultTransform\n };\n return getter;\n};\n\nconst createStyleGenerator = _ref3 => {\n let {\n getStyle,\n props,\n cssGetters = {},\n generators\n } = _ref3;\n const generator = getStyle;\n generator.meta = {\n props,\n cssGetters,\n getStyle: generator,\n generators\n };\n\n generator.apply = values => _ref4 => {\n let {\n theme\n } = _ref4;\n return generator(__spreadValues$5({\n theme\n }, values));\n };\n\n return generator;\n};\n\nconst reduceVariants = (props, values, getStyle) => {\n const cache = getCache(props.theme, \"__variants\");\n const variants = getCachedVariants(props, cache);\n let styles = {};\n\n for (const value in values) {\n const style2 = getStyle(values[value]);\n if (style2 === null) continue;\n const state = value in variants ? variants[value] : value;\n if (state === void 0) continue;\n\n if (state === null) {\n styles = merge(styles, style2);\n } else {\n styles[state] = styles[state] ? assign(styles[state], style2) : style2;\n }\n }\n\n return styles;\n};\n\nconst getStyleFactory = (prop, mixin, themeGet) => {\n return props => {\n const fromValue = value2 => {\n if (!is(value2)) return null;\n if (obj(value2)) return reduceVariants(props, value2, fromValue);\n return cascade(mixin(themeGet ? themeGet(value2)(props) : value2), props);\n };\n\n const value = props[prop];\n if (!is(value)) return null;\n const cache = getCache(props.theme, prop);\n if (cache.has(value)) return cache.get(value);\n const style2 = fromValue(props[prop]);\n cache.set(value, style2);\n return style2;\n };\n};\n\nconst indexGeneratorsByProp = generators => {\n const index = {};\n\n for (let i = 0; i < generators.length; i++) {\n const style2 = generators[i];\n\n if (style2 && style2.meta) {\n for (let j = 0; j < style2.meta.props.length; j++) {\n const prop = style2.meta.props[j];\n index[prop] = style2;\n }\n }\n }\n\n return index;\n};\n\nconst sortStyles = (styles, variants) => {\n for (const key in variants) {\n const variant = variants[key];\n const style2 = styles[variant];\n if (!style2) continue;\n delete styles[variant];\n styles[variant] = style2;\n }\n\n return styles;\n};\n\nfunction compose() {\n let flatGenerators = [];\n\n for (var _len = arguments.length, generators = new Array(_len), _key = 0; _key < _len; _key++) {\n generators[_key] = arguments[_key];\n }\n\n generators.forEach(gen => {\n warn(Boolean(gen), \"Undefined generator in \\\"compose\\\" method\");\n if (!gen) return;\n\n if (gen.meta.generators) {\n flatGenerators = [...flatGenerators, ...gen.meta.generators];\n } else {\n flatGenerators.push(gen);\n }\n });\n const generatorsByProp = indexGeneratorsByProp(flatGenerators);\n\n const getStyle = function (props2) {\n let sort = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n const styles = {};\n let merged;\n\n for (const key in props2) {\n const generator = generatorsByProp[key];\n\n if (generator) {\n const style2 = generator.meta.getStyle(props2, false);\n merge(styles, style2);\n merged = true;\n }\n }\n\n if (!merged || !sort) return styles;\n const medias = getCachedVariants(props2, getCache(props2.theme, \"__states\"));\n return sortStyles(styles, medias);\n };\n\n const props = [];\n const cssGetters = {};\n\n for (let i = 0; i < flatGenerators.length; i++) {\n const generator = flatGenerators[i];\n props.push(...generator.meta.props);\n Object.assign(cssGetters, generator.meta.cssGetters);\n }\n\n return createStyleGenerator({\n getStyle,\n props,\n cssGetters,\n generators\n });\n}\n\nconst getMixinFromCSSProperties = properties => value => {\n if (string(properties)) return {\n [properties]: value\n };\n const style2 = {};\n\n for (const key in properties) {\n style2[properties[key]] = value;\n }\n\n return style2;\n};\n\nconst getMixinFromCSSOption = css => {\n if (func(css)) return css;\n return getMixinFromCSSProperties(css);\n};\n\nconst dasherize = key => key.replace(/[A-Z]/g, \"-$&\").toLowerCase();\n\nconst style = _ref5 => {\n let {\n prop,\n css,\n themeGet,\n key,\n transform,\n cssProps: cssPropsOption\n } = _ref5;\n const getter = themeGet || (key || transform ? themeGetter({\n key,\n transform\n }) : void 0);\n const cssProps = cssPropsOption || (string(css) ? [css] : Array.isArray(css) ? css : string(prop) ? [prop] : Array.isArray(prop) ? prop : []);\n\n if (Array.isArray(prop)) {\n const mixin2 = css ? getMixinFromCSSOption(css) : css;\n const generators2 = prop.map(prop2 => style({\n prop: prop2,\n css: mixin2,\n cssProps,\n themeGet: getter\n }));\n return compose(...generators2);\n }\n\n const props = [prop];\n const mixin = getMixinFromCSSOption(css || props);\n const generators = [];\n const getStyle = getStyleFactory(prop, mixin, getter);\n const cssGetters = getter ? cssProps.reduce((getters, cssProp) => {\n getters[dasherize(cssProp)] = getter;\n return getters;\n }, {}) : {};\n const generator = createStyleGenerator({\n getStyle,\n props,\n cssGetters\n });\n generators.push(generator);\n return compose(...generators);\n};\n\nconst getPx = themeGetter({\n name: \"px\",\n transform: (value, _ref6) => {\n let {\n props\n } = _ref6;\n\n var _a, _b, _c;\n\n const rootFontSize = (_c = (_b = (_a = props == null ? void 0 : props.theme) == null ? void 0 : _a.settings) == null ? void 0 : _b.rootFontSize) != null ? _c : void 0;\n const num = Number(value);\n return px$1(rpx(Number.isNaN(num) ? value : num, {\n rootFontSize\n }));\n }\n});\nconst getDuration = themeGetter({\n name: \"duration\",\n key: \"durations\",\n transform: value => {\n const num = Number(value);\n return ms(Number.isNaN(num) ? value : num);\n }\n});\nconst getAngle = themeGetter({\n name: \"angle\",\n transform: value => {\n const num = Number(value);\n return deg(Number.isNaN(num) ? value : num);\n }\n});\nconst getPercent = themeGetter({\n name: \"percent\",\n compose: getPx,\n transform: percent\n});\nconst getTransition = themeGetter({\n name: \"transition\",\n key: \"transitions\"\n});\nconst getTransitionProperty = themeGetter({\n name: \"transitionProperty\",\n key: \"transitionProperties\"\n});\nconst getTimingFunction = themeGetter({\n name: \"timingFunction\",\n key: \"timingFunctions\"\n});\nconst transition = style({\n prop: \"transition\",\n themeGet: getTransition\n});\nconst transitionProperty = style({\n prop: \"transitionProperty\",\n themeGet: getTransitionProperty\n});\nconst transitionDuration = style({\n prop: \"transitionDuration\",\n themeGet: getDuration\n});\nconst transitionTimingFunction = style({\n prop: \"transitionTimingFunction\",\n themeGet: getTimingFunction\n});\nconst transitionDelay = style({\n prop: \"transitionDelay\",\n themeGet: getDuration\n});\nconst transitions$1 = compose(transition, transitionProperty, transitionDuration, transitionTimingFunction, transitionDelay);\nconst getAnimation = themeGetter({\n name: \"animation\",\n key: \"animations\"\n});\nconst animation = style({\n prop: \"animation\",\n themeGet: getAnimation\n});\nconst animationDuration = style({\n prop: \"animationDuration\",\n themeGet: getDuration\n});\nconst animationTimingFunction = style({\n prop: \"animationTimingFunction\",\n themeGet: getTimingFunction\n});\nconst animations = compose(animation, animationDuration, animationTimingFunction);\nconst getColor = themeGetter({\n name: \"color\",\n key: \"colors\"\n});\nconst gradientBackgrounds = {\n \"gradient-to-t\": \"linear-gradient(to top, var(--x-gradient-stops))\",\n \"gradient-to-tr\": \"linear-gradient(to top right, var(--x-gradient-stops))\",\n \"gradient-to-r\": \"linear-gradient(to right, var(--x-gradient-stops))\",\n \"gradient-to-br\": \"linear-gradient(to bottom right, var(--x-gradient-stops))\",\n \"gradient-to-b\": \"linear-gradient(to bottom, var(--x-gradient-stops))\",\n \"gradient-to-bl\": \"linear-gradient(to bottom left, var(--x-gradient-stops))\",\n \"gradient-to-l\": \"linear-gradient(to left, var(--x-gradient-stops))\",\n \"gradient-to-tl\": \"linear-gradient(to top left, var(--x-gradient-stops))\"\n};\nconst background = style({\n prop: \"background\",\n css: value => ({\n background: gradientBackgrounds[value] || value\n })\n});\nconst backgroundColor = style({\n prop: [\"backgroundColor\", \"bg\"],\n css: \"backgroundColor\",\n themeGet: getColor\n});\nconst backgroundImage = style({\n prop: \"backgroundImage\",\n css: value => ({\n backgroundImage: gradientBackgrounds[value] || value\n })\n});\nconst backgroundSize = style({\n prop: \"backgroundSize\"\n});\nconst backgroundPosition = style({\n prop: \"backgroundPosition\"\n});\nconst backgroundRepeat = style({\n prop: \"backgroundRepeat\"\n});\nconst backgroundAttachment = style({\n prop: \"backgroundAttachment\"\n});\nconst backgroundClip = style({\n prop: \"backgroundClip\",\n css: [\"backgroundClip\", \"-webkitBackgroundClip\"]\n});\nconst gradientFrom = style({\n prop: \"gradientFrom\",\n themeGet: getColor,\n css: value => {\n return {\n \"--x-gradient-from\": value,\n \"--x-gradient-stops\": \"var(--x-gradient-from), var(--x-gradient-to, transparent)\"\n };\n }\n});\nconst gradientVia = style({\n prop: \"gradientVia\",\n themeGet: getColor,\n css: value => ({\n \"--x-gradient-stops\": \"var(--x-gradient-from), \".concat(value, \", var(--x-gradient-to, transparent)\")\n })\n});\nconst gradientTo = style({\n prop: \"gradientTo\",\n themeGet: getColor,\n css: \"--x-gradient-to\"\n});\nconst backgrounds = compose(background, backgroundColor, backgroundImage, backgroundSize, backgroundPosition, backgroundRepeat, backgroundAttachment, backgroundClip, gradientFrom, gradientVia, gradientTo);\nconst getBorder = themeGetter({\n name: \"border\",\n key: \"borders\",\n transform: value => {\n const num = Number(value);\n return num > 0 ? \"\".concat(px$1(num), \" solid\") : value;\n }\n});\nconst getBorderWidth = themeGetter({\n name: \"borderWidth\",\n key: \"borderWidths\",\n compose: getPx,\n shorthand: true\n});\nconst getBorderColor = themeGetter({\n name: \"borderColor\",\n compose: getColor,\n shorthand: true\n});\nconst getBorderStyle = themeGetter({\n name: \"borderStyle\",\n key: \"borderStyles\"\n});\nconst border = style({\n prop: \"border\",\n themeGet: getBorder\n});\nconst borderTop = style({\n prop: \"borderTop\",\n themeGet: getBorder\n});\nconst borderRight = style({\n prop: \"borderRight\",\n themeGet: getBorder\n});\nconst borderBottom = style({\n prop: \"borderBottom\",\n themeGet: getBorder\n});\nconst borderLeft = style({\n prop: \"borderLeft\",\n themeGet: getBorder\n});\nconst borderColor = style({\n prop: \"borderColor\",\n themeGet: getBorderColor\n});\nconst borderTopColor = style({\n prop: \"borderTopColor\",\n themeGet: getColor\n});\nconst borderRightColor = style({\n prop: \"borderRightColor\",\n themeGet: getColor\n});\nconst borderBottomColor = style({\n prop: \"borderBottomColor\",\n themeGet: getColor\n});\nconst borderLeftColor = style({\n prop: \"borderLeftColor\",\n themeGet: getColor\n});\nconst borderWidth = style({\n prop: \"borderWidth\",\n themeGet: getBorderWidth\n});\nconst borderTopWidth = style({\n prop: \"borderTopWidth\",\n themeGet: getBorderWidth\n});\nconst borderRightWidth = style({\n prop: \"borderRightWidth\",\n themeGet: getBorderWidth\n});\nconst borderBottomWidth = style({\n prop: \"borderBottomWidth\",\n themeGet: getBorderWidth\n});\nconst borderLeftWidth = style({\n prop: \"borderLeftWidth\",\n themeGet: getBorderWidth\n});\nconst borderStyle = style({\n prop: \"borderStyle\",\n themeGet: getBorderStyle,\n cssProps: [\"borderStyle\", \"borderTopStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderLeftStyle\"]\n});\nconst borderTopStyle = style({\n prop: \"borderTopStyle\",\n themeGet: getBorderStyle\n});\nconst borderRightStyle = style({\n prop: \"borderRightStyle\",\n themeGet: getBorderStyle\n});\nconst borderBottomStyle = style({\n prop: \"borderBottomStyle\",\n themeGet: getBorderStyle\n});\nconst borderLeftStyle = style({\n prop: \"borderLeftStyle\",\n themeGet: getBorderStyle\n});\nconst outline = style({\n prop: \"outline\",\n themeGet: getBorder\n});\nconst outlineColor = style({\n prop: \"outlineColor\",\n themeGet: getColor\n});\nconst outlineWidth = style({\n prop: \"outlineWidth\",\n themeGet: getBorderWidth\n});\nconst outlineStyle = style({\n prop: \"outlineStyle\",\n themeGet: getBorderStyle\n});\nconst outlineOffset = style({\n prop: \"outlineOffset\",\n themeGet: getBorderWidth\n});\nconst getRadius = themeGetter({\n name: \"radius\",\n key: \"radii\",\n compose: getPx,\n shorthand: true\n});\nconst borderRadius = style({\n prop: \"borderRadius\",\n themeGet: getRadius,\n cssProps: [\"borderRadius\", \"borderTopLeftRadius\", \"borderTopRightRadius\", \"borderBottomRightRadius\", \"borderBottomLeftRadius\"]\n});\nconst divideSelector = \"& > :not([hidden]) ~ :not([hidden])\";\nconst divideY = style({\n prop: \"divideY\",\n themeGet: getBorderWidth,\n css: value => {\n const v = value === true ? 1 : value;\n return {\n [divideSelector]: {\n \"--x-divide-y-reverse\": 0,\n borderTopWidth: \"calc(\".concat(v, \" * calc(1 - var(--x-divide-y-reverse)))\"),\n borderBottomWidth: \"calc(\".concat(v, \" * var(--x-divide-y-reverse))\")\n }\n };\n }\n});\nconst divideX = style({\n prop: \"divideX\",\n themeGet: getBorderWidth,\n css: value => {\n const v = value === true ? 1 : value;\n return {\n [divideSelector]: {\n \"--x-divide-x-reverse\": 0,\n borderRightWidth: \"calc(\".concat(v, \" * var(--x-divide-x-reverse))\"),\n borderLeftWidth: \"calc(\".concat(v, \" * calc(1 - var(--x-divide-x-reverse)))\")\n }\n };\n }\n});\nconst divideXReverse = style({\n prop: \"divideXReverse\",\n css: () => ({\n [divideSelector]: {\n \"--x-divide-x-reverse\": \"1\"\n }\n })\n});\nconst divideYReverse = style({\n prop: \"divideYReverse\",\n css: () => ({\n [divideSelector]: {\n \"--x-divide-y-reverse\": \"1\"\n }\n })\n});\nconst divideColor = style({\n prop: \"divideColor\",\n themeGet: getColor,\n css: value => ({\n [divideSelector]: {\n borderColor: value\n }\n })\n});\nconst divideStyle = style({\n prop: \"divideStyle\",\n themeGet: getBorderStyle,\n css: value => ({\n [divideSelector]: {\n borderStyle: value\n }\n })\n});\nconst getRingWidth = themeGetter({\n name: \"ringWidth\",\n key: \"ringWidths\",\n compose: getPx\n});\nconst ring = style({\n prop: \"ring\",\n themeGet: getRingWidth,\n css: value => ({\n \"--x-ring-shadow\": \"var(--x-ring-inset, /*!*/ /*!*/) 0 0 0 \".concat(value, \" var(--x-ring-color)\"),\n boxShadow: \"var(--x-ring-shadow, 0 0 #0000), var(--x-shadow, 0 0 #0000)\"\n })\n});\nconst ringInset = style({\n prop: \"ringInset\",\n css: () => ({\n \"--x-ring-inset\": \"inset\"\n })\n});\nconst ringColor = style({\n prop: \"ringColor\",\n themeGet: getColor,\n css: value => ({\n \"--x-ring-color\": value\n })\n});\nconst borders = compose(border, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderTopColor, borderRightColor, borderBottomColor, borderLeftColor, borderWidth, borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, borderStyle, borderTopStyle, borderRightStyle, borderBottomStyle, borderLeftStyle, borderRadius, outline, outlineColor, outlineWidth, outlineStyle, outlineOffset, divideX, divideY, divideXReverse, divideYReverse, divideColor, divideStyle, ring, ringInset, ringColor);\nconst getShadow = themeGetter({\n name: \"shadow\",\n key: \"shadows\",\n multiple: true\n});\nconst opacity = style({\n prop: \"opacity\"\n});\nconst boxShadow = style({\n prop: \"boxShadow\",\n themeGet: getShadow,\n css: value => ({\n \"--x-shadow\": value,\n boxShadow: \"var(--x-ring-shadow, 0 0 #0000), var(--x-shadow)\"\n })\n});\nconst textShadow = style({\n prop: \"textShadow\",\n themeGet: getShadow\n});\nconst effects = compose(opacity, boxShadow, textShadow);\nvar __defProp$4 = Object.defineProperty;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$4 = (obj2, key, value) => key in obj2 ? __defProp$4(obj2, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj2[key] = value;\n\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$4) for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop)) __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\n\nconst row = style({\n prop: \"row\",\n css: () => ({\n boxSizing: \"border-box\",\n flexGrow: 1,\n flexWrap: \"wrap\",\n display: \"flex\"\n })\n});\n\nconst getColStyle = (props, size) => {\n if (!is(size)) return null;\n\n if (size === true) {\n return {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: \"100%\"\n };\n }\n\n if (size === \"auto\") {\n return {\n flex: \"0 0 auto\",\n maxWidth: \"none\",\n width: \"auto\"\n };\n }\n\n const sizeWidth = getPercent(size)(props);\n return {\n flex: \"0 0 \".concat(sizeWidth),\n maxWidth: sizeWidth\n };\n};\n\nconst col = createStyleGenerator({\n getStyle: props => {\n const value = props.col;\n const common = {\n boxSizing: \"border-box\",\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: \"100%\"\n };\n\n if (obj(value)) {\n const breakpointsStyle = reduceVariants(props, value, v => getColStyle(props, v));\n return __spreadValues$4(__spreadValues$4({}, common), breakpointsStyle);\n }\n\n return __spreadValues$4(__spreadValues$4({}, common), getColStyle(props, value));\n },\n props: [\"col\"]\n});\nconst flexboxGrids = compose(row, col);\nvar __defProp$3 = Object.defineProperty;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$3 = (obj2, key, value) => key in obj2 ? __defProp$3(obj2, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj2[key] = value;\n\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$3) for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\n\nconst display = style({\n prop: \"display\"\n});\nconst float = style({\n prop: \"float\"\n});\nconst boxSizing = style({\n prop: \"boxSizing\"\n});\nconst container = createStyleGenerator({\n getStyle: props => {\n if (!props.container) return null;\n const breakpoints = getScreens(props);\n let styles = reduceVariants(props, breakpoints, v => v !== 0 ? {\n maxWidth: v\n } : {});\n\n if (obj(props.container)) {\n styles = reduceVariants(props, props.container, () => styles);\n }\n\n return __spreadValues$3({\n width: \"100%\"\n }, styles);\n },\n props: [\"container\"]\n});\nconst overflow = style({\n prop: \"overflow\"\n});\nconst overflowX = style({\n prop: \"overflowX\"\n});\nconst overflowY = style({\n prop: \"overflowY\"\n});\nconst getZIndex = themeGetter({\n name: \"zIndex\",\n key: \"zIndices\"\n});\nconst zIndex = style({\n prop: \"zIndex\",\n themeGet: getZIndex\n});\nconst position = style({\n prop: \"position\"\n});\nconst getInset = themeGetter({\n name: \"inset\",\n key: \"inset\",\n compose: getPx,\n transform: transformNegative\n});\nconst top = style({\n prop: \"top\",\n themeGet: getInset\n});\nconst right = style({\n prop: \"right\",\n themeGet: getInset\n});\nconst bottom = style({\n prop: \"bottom\",\n themeGet: getInset\n});\nconst left = style({\n prop: \"left\",\n themeGet: getInset\n});\nconst visibility = style({\n prop: \"visibility\"\n});\nconst overscrollBehavior = style({\n prop: \"overscrollBehavior\"\n});\nconst objectFit = style({\n prop: \"objectFit\"\n});\nconst layout = compose(boxSizing, display, float, container, overflow, overflowX, overflowY, position, zIndex, top, right, bottom, left, visibility, overscrollBehavior, objectFit);\nconst alignItems = style({\n prop: \"alignItems\"\n});\nconst alignContent = style({\n prop: \"alignContent\"\n});\nconst justifyContent = style({\n prop: \"justifyContent\"\n});\nconst justifyItems = style({\n prop: \"justifyItems\"\n});\nconst flexWrap = style({\n prop: \"flexWrap\"\n});\nconst flexGrow = style({\n prop: \"flexGrow\"\n});\nconst flexShrink = style({\n prop: \"flexShrink\"\n});\nconst flexBasis = style({\n prop: \"flexBasis\",\n themeGet: getPercent\n});\nconst flexDirection = style({\n prop: \"flexDirection\"\n});\nconst flex = style({\n prop: \"flex\"\n});\nconst justifySelf = style({\n prop: \"justifySelf\"\n});\nconst alignSelf = style({\n prop: \"alignSelf\"\n});\nconst order = style({\n prop: \"order\"\n});\nconst flexboxes = compose(display, alignItems, alignContent, justifyContent, justifyItems, flexWrap, flexBasis, flexShrink, flexGrow, flexDirection, flex, justifySelf, alignSelf, order);\nconst getSpace = themeGetter({\n name: \"space\",\n key: \"space\",\n compose: getPx,\n shorthand: true,\n transform: transformNegative\n});\nconst margin = style({\n prop: [\"margin\", \"m\"],\n themeGet: getSpace,\n css: \"margin\"\n});\nconst marginTop = style({\n prop: [\"marginTop\", \"mt\"],\n themeGet: getSpace,\n css: \"marginTop\"\n});\nconst marginRight = style({\n prop: [\"marginRight\", \"mr\"],\n themeGet: getSpace,\n css: \"marginRight\"\n});\nconst marginBottom = style({\n prop: [\"marginBottom\", \"mb\"],\n themeGet: getSpace,\n css: \"marginBottom\"\n});\nconst marginLeft = style({\n prop: [\"marginLeft\", \"ml\"],\n themeGet: getSpace,\n css: \"marginLeft\"\n});\nconst mx = style({\n prop: \"mx\",\n themeGet: getSpace,\n css: [\"marginRight\", \"marginLeft\"]\n});\nconst my = style({\n prop: \"my\",\n themeGet: getSpace,\n css: [\"marginTop\", \"marginBottom\"]\n});\nconst padding = style({\n prop: [\"padding\", \"p\"],\n themeGet: getSpace,\n css: \"padding\"\n});\nconst paddingTop = style({\n prop: [\"paddingTop\", \"pt\"],\n themeGet: getSpace,\n css: \"paddingTop\"\n});\nconst paddingRight = style({\n prop: [\"paddingRight\", \"pr\"],\n themeGet: getSpace,\n css: \"paddingRight\"\n});\nconst paddingBottom = style({\n prop: [\"paddingBottom\", \"pb\"],\n themeGet: getSpace,\n css: \"paddingBottom\"\n});\nconst paddingLeft = style({\n prop: [\"paddingLeft\", \"pl\"],\n themeGet: getSpace,\n css: \"paddingLeft\"\n});\nconst px = style({\n prop: \"px\",\n themeGet: getSpace,\n css: [\"paddingRight\", \"paddingLeft\"]\n});\nconst py = style({\n prop: \"py\",\n themeGet: getSpace,\n css: [\"paddingTop\", \"paddingBottom\"]\n});\nconst spaceY = style({\n prop: \"spaceY\",\n themeGet: getSpace,\n css: value => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-y-reverse\": 0,\n marginTop: \"calc(\".concat(value, \" * calc(1 - var(--x-space-y-reverse)))\"),\n marginBottom: \"calc(\".concat(value, \" * var(--x-space-y-reverse))\")\n }\n })\n});\nconst spaceX = style({\n prop: \"spaceX\",\n themeGet: getSpace,\n css: value => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-x-reverse\": 0,\n marginRight: \"calc(\".concat(value, \" * var(--x-space-x-reverse))\"),\n marginLeft: \"calc(\".concat(value, \" * calc(1 - var(--x-space-x-reverse)))\")\n }\n })\n});\nconst spaceXReverse = style({\n prop: \"spaceXReverse\",\n css: () => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-x-reverse\": \"1\"\n }\n })\n});\nconst spaceYReverse = style({\n prop: \"spaceYReverse\",\n css: () => ({\n \"& > :not([hidden]) ~ :not([hidden])\": {\n \"--x-space-y-reverse\": \"1\"\n }\n })\n});\nconst space$1 = compose(margin, marginTop, marginRight, marginBottom, marginLeft, mx, my, padding, paddingTop, paddingRight, paddingBottom, paddingLeft, px, py, spaceX, spaceY, spaceXReverse, spaceYReverse);\nconst gap = style({\n prop: \"gap\",\n themeGet: getSpace\n});\nconst columnGap = style({\n prop: \"columnGap\",\n themeGet: getSpace\n});\nconst rowGap = style({\n prop: \"rowGap\",\n themeGet: getSpace\n});\nconst gridColumn = style({\n prop: \"gridColumn\"\n});\nconst gridRow = style({\n prop: \"gridRow\"\n});\nconst gridAutoFlow = style({\n prop: \"gridAutoFlow\"\n});\nconst gridAutoColumns = style({\n prop: \"gridAutoColumns\"\n});\nconst gridAutoRows = style({\n prop: \"gridAutoRows\"\n});\nconst gridTemplateColumns = style({\n prop: \"gridTemplateColumns\",\n key: \"gridTemplateColumns\"\n});\nconst gridTemplateRows = style({\n prop: \"gridTemplateRows\",\n key: \"gridTemplateRows\"\n});\nconst gridTemplateAreas = style({\n prop: \"gridTemplateAreas\"\n});\nconst gridArea = style({\n prop: \"gridArea\"\n});\nconst grids = compose(gap, columnGap, rowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridArea);\nconst appearance = style({\n prop: \"appearance\"\n});\nconst cursor = style({\n prop: \"cursor\"\n});\nconst pointerEvents = style({\n prop: \"pointerEvents\"\n});\nconst resize = style({\n prop: \"resize\"\n});\nconst userSelect = style({\n prop: \"userSelect\"\n});\nconst interactivity = compose(appearance, cursor, pointerEvents, resize, userSelect);\nconst getSize = themeGetter({\n name: \"size\",\n key: \"sizes\",\n compose: getPercent\n});\nconst width = style({\n prop: \"w\",\n themeGet: getSize,\n css: \"width\"\n});\nconst height = style({\n prop: \"h\",\n themeGet: getSize,\n css: \"height\"\n});\nconst maxWidth = style({\n prop: [\"maxWidth\", \"maxW\"],\n themeGet: getSize,\n css: \"maxWidth\"\n});\nconst maxHeight = style({\n prop: [\"maxHeight\", \"maxH\"],\n themeGet: getSize,\n css: \"maxHeight\"\n});\nconst minWidth = style({\n prop: [\"minWidth\", \"minW\"],\n themeGet: getSize,\n css: \"minWidth\"\n});\nconst minHeight = style({\n prop: [\"minHeight\", \"minH\"],\n themeGet: getSize,\n css: \"minHeight\"\n});\nconst maskSize = style({\n prop: \"maskSize\",\n themeGet: themeGetter({\n name: \"size\",\n key: \"sizes\",\n compose: getPercent,\n multiple: true,\n shorthand: true\n })\n});\nconst sizing = compose(width, height, maxWidth, maxHeight, minWidth, minHeight, maskSize);\nconst fill = style({\n prop: \"fill\",\n themeGet: getColor\n});\nconst stroke = style({\n prop: \"stroke\",\n themeGet: getColor\n});\nconst svg = compose(fill, stroke);\nconst borderCollapse = style({\n prop: \"borderCollapse\"\n});\nconst tableLayout = style({\n prop: \"tableLayout\"\n});\nconst tables = compose(borderCollapse, tableLayout);\nconst getTransform = themeGetter({\n name: \"transform\",\n key: \"transforms\"\n});\nconst transform = style({\n prop: \"transform\",\n themeGet: getTransform,\n css: value => {\n if (value === true) {\n return {\n \"--x-translate-x\": 0,\n \"--x-translate-y\": 0,\n \"--x-rotate\": 0,\n \"--x-skew-x\": 0,\n \"--x-skew-y\": 0,\n \"--x-scale-x\": \"1\",\n \"--x-scale-y\": \"1\",\n transform: \"translate3d(var(--x-translate-x), var(--x-translate-y), 0) rotate(var(--x-rotate)) skewX(var(--x-skew-x)) skewY(var(--x-skew-y)) scaleX(var(--x-scale-x)) scaleY(var(--x-scale-y))\"\n };\n }\n\n return {\n transform: value\n };\n }\n});\nconst transformOrigin = style({\n prop: \"transformOrigin\"\n});\nconst translateX = style({\n prop: \"translateX\",\n themeGet: getSpace,\n css: \"--x-translate-x\"\n});\nconst translateY = style({\n prop: \"translateY\",\n themeGet: getSpace,\n css: \"--x-translate-y\"\n});\nconst rotate = style({\n prop: \"rotate\",\n themeGet: getAngle,\n css: \"--x-rotate\"\n});\nconst skewX = style({\n prop: \"skewX\",\n themeGet: getAngle,\n css: \"--x-skew-x\"\n});\nconst skewY = style({\n prop: \"skewY\",\n themeGet: getAngle,\n css: \"--x-skew-y\"\n});\nconst scale = style({\n prop: \"scale\",\n transform: v => String(v),\n css: [\"--x-scale-x\", \"--x-scale-y\"]\n});\nconst scaleX = style({\n prop: \"scaleX\",\n transform: v => String(v),\n css: \"--x-scale-x\"\n});\nconst scaleY = style({\n prop: \"scaleY\",\n transform: v => String(v),\n css: \"--x-scale-y\"\n});\nconst transforms = compose(transform, transformOrigin, translateX, translateY, rotate, skewX, skewY, scale, scaleX, scaleY);\nvar __defProp$2 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$2) for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\n\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\n\nconst getFont = themeGetter({\n name: \"font\",\n key: \"fonts\"\n});\nconst getLineHeight = themeGetter({\n name: \"lineHeight\",\n key: \"lineHeights\",\n transform: (value, _ref7) => {\n let {\n props\n } = _ref7;\n\n var _a, _b, _c;\n\n const rootFontSize = (_c = (_b = (_a = props == null ? void 0 : props.theme) == null ? void 0 : _a.settings) == null ? void 0 : _b.rootFontSize) != null ? _c : void 0;\n return rpx(value, {\n rootFontSize\n });\n }\n});\nconst getFontWeight = themeGetter({\n name: \"fontWeight\",\n key: \"fontWeights\"\n});\nconst getLetterSpacing = themeGetter({\n name: \"letterSpacing\",\n key: \"letterSpacings\",\n compose: getPx\n});\nconst getFontSize = themeGetter({\n name: \"fontSize\",\n key: \"fontSizes\",\n compose: getPx\n});\nconst fontFamily = style({\n prop: \"fontFamily\",\n themeGet: getFont\n});\nconst fontSize = style({\n prop: \"fontSize\",\n themeGet: getFontSize\n});\nconst lineHeight = style({\n prop: \"lineHeight\",\n themeGet: getLineHeight\n});\nconst fontWeight = style({\n prop: \"fontWeight\",\n themeGet: getFontWeight\n});\nconst fontStyle = style({\n prop: \"fontStyle\"\n});\nconst letterSpacing = style({\n prop: \"letterSpacing\",\n themeGet: getLetterSpacing\n});\nconst color = style({\n prop: \"color\",\n themeGet: getColor\n});\nconst textTransform = style({\n prop: \"textTransform\"\n});\nconst textDecoration = style({\n prop: \"textDecoration\"\n});\nconst textAlign = style({\n prop: \"textAlign\"\n});\nconst verticalAlign = style({\n prop: \"verticalAlign\"\n});\nconst whiteSpace = style({\n prop: \"whiteSpace\"\n});\nconst textOverflow = style({\n prop: \"textOverflow\"\n});\nconst listStyleType = style({\n prop: \"listStyleType\"\n});\nconst listStylePosition = style({\n prop: \"listStylePosition\"\n});\nconst all = compose(space$1, fontFamily, fontSize, fontStyle, lineHeight, fontWeight, textAlign, letterSpacing, color, textTransform, textDecoration, verticalAlign, whiteSpace, textOverflow, listStyleType, listStylePosition);\nconst text = style({\n prop: \"text\",\n key: \"texts\",\n css: value => _ref8 => {\n let {\n theme\n } = _ref8;\n return all(__spreadProps$1(__spreadValues$2({}, value), {\n theme\n }));\n }\n});\nconst typography = compose(all, text);\nconst system = compose(animations, backgrounds, borders, effects, flexboxGrids, flexboxes, grids, interactivity, layout, sizing, space$1, svg, tables, transforms, transitions$1, typography);\n\nconst th = (path, defaultValue) => props => {\n const value = getThemeValue(props, path);\n if (is(value)) return value;\n if (is(defaultValue)) return defaultValue;\n return path;\n};\n\n[getAngle, getAnimation, getBorder, getBorderColor, getBorderStyle, getBorderWidth, getColor, getDuration, getFont, getFontSize, getFontWeight, getInset, getLetterSpacing, getLineHeight, getPercent, getPx, getRadius, getRingWidth, getShadow, getSize, getSpace, getTimingFunction, getTransform, getTransition, getTransitionProperty, getZIndex].forEach(themeGetter => {\n th[themeGetter.meta.name] = themeGetter;\n});\n\nconst up = (key, rules) => props => {\n const screens = getScreens(props);\n const value = getBreakpointMin(screens, key);\n if (value === null) return rules;\n return [\"\".concat(mediaMinWidth(value), \" {\"), rules, \"}\"];\n};\n\nconst down = (key, rules) => props => {\n const screens = getScreens(props);\n const value = getBreakpointMax(screens, key);\n if (value === null) return null;\n return [\"\".concat(mediaMaxWidth(value), \" {\"), rules, \"}\"];\n};\n\nconst between = (lower, upper, rules) => props => {\n const screens = getScreens(props);\n const min = getBreakpointMin(screens, lower);\n const max = getBreakpointMax(screens, upper);\n if (max === null) return up(lower, rules)(props);\n if (min === null) return down(upper, rules)(props);\n return [\"\".concat(mediaBetweenWidth(min, max), \" {\"), rules, \"}\"];\n};\n\nconst breakpoints = values => props => {\n const allRules = [];\n const keys = Object.keys(values);\n const keysLength = keys.length;\n\n for (let i = 0; i < keysLength; i++) {\n const key = keys[i];\n const rules = values[key];\n const result = up(key, rules)(props);\n\n if (Array.isArray(result)) {\n result.forEach(v => allRules.push(v));\n } else {\n allRules.push(result);\n }\n }\n\n return allRules;\n};\n\nconst rpxTransformers = {\n px: value => remPx(rpx(value)),\n border: value => num(value) && value > 0 ? \"\".concat(remPx(value), \" solid\") : value\n};\nvar __defProp$1 = Object.defineProperty;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n\n if (__getOwnPropSymbols$1) for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\n\nconst defaultAlphaVariants = [0, 5, 10, 20, 25, 30, 40, 50, 60, 70, 75, 80, 90, 95, 100];\n\nconst generateHexAlphaVariants = function (colors) {\n let variants = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultAlphaVariants;\n\n const transform = (value, variant) => \"\".concat(value).concat(Math.round(variant / 100 * 255).toString(16));\n\n const alphaColors = Object.keys(colors).reduce((obj, key) => {\n variants.forEach(variant => {\n const value = colors[key];\n const variantKey = \"\".concat(key, \"-a\").concat(variant);\n obj[variantKey] = string(value) ? transform(value, variant) : generateHexAlphaVariants(value, variants);\n });\n return obj;\n }, {});\n return __spreadValues$1(__spreadValues$1({}, colors), alphaColors);\n};\n\nconst defaultTones = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900];\n\nconst aliasColor = function (alias, color) {\n let tones = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultTones;\n let variants = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : defaultAlphaVariants;\n return tones.reduce((obj, tone) => {\n obj[\"\".concat(alias, \"-\").concat(tone)] = th.color(\"\".concat(color, \"-\").concat(tone));\n variants.forEach(i => {\n obj[\"\".concat(alias, \"-\").concat(tone, \"-a\").concat(i)] = th.color(\"\".concat(color, \"-\").concat(tone, \"-a\").concat(i));\n });\n return obj;\n }, {});\n};\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\n\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {\n enumerable: true,\n configurable: true,\n writable: true,\n value\n}) : obj[key] = value;\n\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n\n if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\n\nconst space = {\n 0.5: \"0.125rem\",\n 1: \"0.25rem\",\n 1.5: \"0.375rem\",\n 2: \"0.5rem\",\n 2.5: \"0.625rem\",\n 3: \"0.75rem\",\n 3.5: \"0.875rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 7: \"1.75rem\",\n 8: \"2rem\",\n 9: \"2.25rem\",\n 10: \"2.5rem\",\n 11: \"2.75rem\",\n 12: \"3rem\",\n 14: \"3.5rem\",\n 16: \"4rem\",\n 20: \"5rem\",\n 24: \"6rem\",\n 28: \"7rem\",\n 32: \"8rem\",\n 36: \"9rem\",\n 40: \"10rem\",\n 44: \"11rem\",\n 48: \"12rem\",\n 52: \"13rem\",\n 56: \"14rem\",\n 60: \"15rem\",\n 64: \"16rem\",\n 72: \"18rem\",\n 80: \"20rem\",\n 96: \"24rem\"\n};\nconst timingFunctions = {\n \"ease-in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"ease-out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"ease-in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\"\n};\nconst transitionProperties = {\n default: [\"background-color\", \"border-color\", \"color\", \"fill\", \"stroke\", \"opacity\", \"box-shadow\", \"transform\"],\n colors: [\"background-color\", \"border-color\", \"color\", \"fill\", \"stroke\"],\n opacity: [\"opacity\"],\n shadow: [\"box-shadow\"],\n transform: [\"transform\"]\n};\nconst transitions = Object.keys(transitionProperties).reduce((obj, key) => {\n obj[key] = transitionProperties[key].map(property => \"\".concat(property, \" \").concat(timingFunctions[\"ease-in-out\"], \" 150ms\")).join(\",\");\n return obj;\n}, {});\nconst colors = {\n black: \"#000000\",\n white: \"#ffffff\",\n \"blue-gray-50\": \"#f8fafc\",\n \"blue-gray-100\": \"#f1f5f9\",\n \"blue-gray-200\": \"#e2e8f0\",\n \"blue-gray-300\": \"#cbd5e1\",\n \"blue-gray-400\": \"#94a3b8\",\n \"blue-gray-500\": \"#64748b\",\n \"blue-gray-600\": \"#475569\",\n \"blue-gray-700\": \"#334155\",\n \"blue-gray-800\": \"#1e293b\",\n \"blue-gray-900\": \"#0f172a\",\n \"cool-gray-50\": \"#f9fafb\",\n \"cool-gray-100\": \"#f3f4f6\",\n \"cool-gray-200\": \"#e5e7eb\",\n \"cool-gray-300\": \"#d1d5db\",\n \"cool-gray-400\": \"#9ca3af\",\n \"cool-gray-500\": \"#6b7280\",\n \"cool-gray-600\": \"#4b5563\",\n \"cool-gray-700\": \"#374151\",\n \"cool-gray-800\": \"#1f2937\",\n \"cool-gray-900\": \"#111827\",\n \"gray-50\": \"#fafafa\",\n \"gray-100\": \"#f4f4f5\",\n \"gray-200\": \"#e4e4e7\",\n \"gray-300\": \"#d4d4d8\",\n \"gray-400\": \"#a1a1aa\",\n \"gray-500\": \"#71717a\",\n \"gray-600\": \"#52525b\",\n \"gray-700\": \"#3f3f46\",\n \"gray-800\": \"#27272a\",\n \"gray-900\": \"#18181b\",\n \"true-gray-50\": \"#fafafa\",\n \"true-gray-100\": \"#f5f5f5\",\n \"true-gray-200\": \"#e5e5e5\",\n \"true-gray-300\": \"#d4d4d4\",\n \"true-gray-400\": \"#a3a3a3\",\n \"true-gray-500\": \"#737373\",\n \"true-gray-600\": \"#525252\",\n \"true-gray-700\": \"#404040\",\n \"true-gray-800\": \"#262626\",\n \"true-gray-900\": \"#171717\",\n \"warm-gray-50\": \"#fafaf9\",\n \"warm-gray-100\": \"#f5f5f4\",\n \"warm-gray-200\": \"#e7e5e4\",\n \"warm-gray-300\": \"#d6d3d1\",\n \"warm-gray-400\": \"#a8a29e\",\n \"warm-gray-500\": \"#78716c\",\n \"warm-gray-600\": \"#57534e\",\n \"warm-gray-700\": \"#44403c\",\n \"warm-gray-800\": \"#292524\",\n \"warm-gray-900\": \"#1c1917\",\n \"red-50\": \"#fef2f2\",\n \"red-100\": \"#fee2e2\",\n \"red-200\": \"#fecaca\",\n \"red-300\": \"#fca5a5\",\n \"red-400\": \"#f87171\",\n \"red-500\": \"#ef4444\",\n \"red-600\": \"#dc2626\",\n \"red-700\": \"#b91c1c\",\n \"red-800\": \"#991b1b\",\n \"red-900\": \"#7f1d1d\",\n \"orange-50\": \"#fff7ed\",\n \"orange-100\": \"#ffedd5\",\n \"orange-200\": \"#fed7aa\",\n \"orange-300\": \"#fdba74\",\n \"orange-400\": \"#fb923c\",\n \"orange-500\": \"#f97316\",\n \"orange-600\": \"#ea580c\",\n \"orange-700\": \"#c2410c\",\n \"orange-800\": \"#9a3412\",\n \"orange-900\": \"#7c2d12\",\n \"amber-50\": \"#fffbeb\",\n \"amber-100\": \"#fef3c7\",\n \"amber-200\": \"#fde68a\",\n \"amber-300\": \"#fcd34d\",\n \"amber-400\": \"#fbbf24\",\n \"amber-500\": \"#f59e0b\",\n \"amber-600\": \"#d97706\",\n \"amber-700\": \"#b45309\",\n \"amber-800\": \"#92400e\",\n \"amber-900\": \"#78350f\",\n \"yellow-50\": \"#fefce8\",\n \"yellow-100\": \"#fef9c3\",\n \"yellow-200\": \"#fef08a\",\n \"yellow-300\": \"#fde047\",\n \"yellow-400\": \"#facc15\",\n \"yellow-500\": \"#eab308\",\n \"yellow-600\": \"#ca8a04\",\n \"yellow-700\": \"#a16207\",\n \"yellow-800\": \"#854d0e\",\n \"yellow-900\": \"#713f12\",\n \"lime-50\": \"#f7fee7\",\n \"lime-100\": \"#ecfccb\",\n \"lime-200\": \"#d9f99d\",\n \"lime-300\": \"#bef264\",\n \"lime-400\": \"#a3e635\",\n \"lime-500\": \"#84cc16\",\n \"lime-600\": \"#65a30d\",\n \"lime-700\": \"#4d7c0f\",\n \"lime-800\": \"#3f6212\",\n \"lime-900\": \"#365314\",\n \"green-50\": \"#f0fdf4\",\n \"green-100\": \"#dcfce7\",\n \"green-200\": \"#bbf7d0\",\n \"green-300\": \"#86efac\",\n \"green-400\": \"#4ade80\",\n \"green-500\": \"#22c55e\",\n \"green-600\": \"#16a34a\",\n \"green-700\": \"#15803d\",\n \"green-800\": \"#166534\",\n \"green-900\": \"#14532d\",\n \"emerald-50\": \"#ecfdf5\",\n \"emerald-100\": \"#d1fae5\",\n \"emerald-200\": \"#a7f3d0\",\n \"emerald-300\": \"#6ee7b7\",\n \"emerald-400\": \"#34d399\",\n \"emerald-500\": \"#10b981\",\n \"emerald-600\": \"#059669\",\n \"emerald-700\": \"#047857\",\n \"emerald-800\": \"#065f46\",\n \"emerald-900\": \"#064e3b\",\n \"teal-50\": \"#f0fdfa\",\n \"teal-100\": \"#ccfbf1\",\n \"teal-200\": \"#99f6e4\",\n \"teal-300\": \"#5eead4\",\n \"teal-400\": \"#2dd4bf\",\n \"teal-500\": \"#14b8a6\",\n \"teal-600\": \"#0d9488\",\n \"teal-700\": \"#0f766e\",\n \"teal-800\": \"#115e59\",\n \"teal-900\": \"#134e4a\",\n \"cyan-50\": \"#ecfeff\",\n \"cyan-100\": \"#cffafe\",\n \"cyan-200\": \"#a5f3fc\",\n \"cyan-300\": \"#67e8f9\",\n \"cyan-400\": \"#22d3ee\",\n \"cyan-500\": \"#06b6d4\",\n \"cyan-600\": \"#0891b2\",\n \"cyan-700\": \"#0e7490\",\n \"cyan-800\": \"#155e75\",\n \"cyan-900\": \"#164e63\",\n \"light-blue-50\": \"#f0f9ff\",\n \"light-blue-100\": \"#e0f2fe\",\n \"light-blue-200\": \"#bae6fd\",\n \"light-blue-300\": \"#7dd3fc\",\n \"light-blue-400\": \"#38bdf8\",\n \"light-blue-500\": \"#0ea5e9\",\n \"light-blue-600\": \"#0284c7\",\n \"light-blue-700\": \"#0369a1\",\n \"light-blue-800\": \"#075985\",\n \"light-blue-900\": \"#0c4a6e\",\n \"blue-50\": \"#eff6ff\",\n \"blue-100\": \"#dbeafe\",\n \"blue-200\": \"#bfdbfe\",\n \"blue-300\": \"#93c5fd\",\n \"blue-400\": \"#60a5fa\",\n \"blue-500\": \"#3b82f6\",\n \"blue-600\": \"#2563eb\",\n \"blue-700\": \"#1d4ed8\",\n \"blue-800\": \"#1e40af\",\n \"blue-900\": \"#1e3a8a\",\n \"indigo-50\": \"#eef2ff\",\n \"indigo-100\": \"#e0e7ff\",\n \"indigo-200\": \"#c7d2fe\",\n \"indigo-300\": \"#a5b4fc\",\n \"indigo-400\": \"#818cf8\",\n \"indigo-500\": \"#6366f1\",\n \"indigo-600\": \"#4f46e5\",\n \"indigo-700\": \"#4338ca\",\n \"indigo-800\": \"#3730a3\",\n \"indigo-900\": \"#312e81\",\n \"violet-50\": \"#f5f3ff\",\n \"violet-100\": \"#ede9fe\",\n \"violet-200\": \"#ddd6fe\",\n \"violet-300\": \"#c4b5fd\",\n \"violet-400\": \"#a78bfa\",\n \"violet-500\": \"#8b5cf6\",\n \"violet-600\": \"#7c3aed\",\n \"violet-700\": \"#6d28d9\",\n \"violet-800\": \"#5b21b6\",\n \"violet-900\": \"#4c1d95\",\n \"purple-50\": \"#faf5ff\",\n \"purple-100\": \"#f3e8ff\",\n \"purple-200\": \"#e9d5ff\",\n \"purple-300\": \"#d8b4fe\",\n \"purple-400\": \"#c084fc\",\n \"purple-500\": \"#a855f7\",\n \"purple-600\": \"#9333ea\",\n \"purple-700\": \"#7e22ce\",\n \"purple-800\": \"#6b21a8\",\n \"purple-900\": \"#581c87\",\n \"fuchsia-50\": \"#fdf4ff\",\n \"fuchsia-100\": \"#fae8ff\",\n \"fuchsia-200\": \"#f5d0fe\",\n \"fuchsia-300\": \"#f0abfc\",\n \"fuchsia-400\": \"#e879f9\",\n \"fuchsia-500\": \"#d946ef\",\n \"fuchsia-600\": \"#c026d3\",\n \"fuchsia-700\": \"#a21caf\",\n \"fuchsia-800\": \"#86198f\",\n \"fuchsia-900\": \"#701a75\",\n \"pink-50\": \"#fdf2f8\",\n \"pink-100\": \"#fce7f3\",\n \"pink-200\": \"#fbcfe8\",\n \"pink-300\": \"#f9a8d4\",\n \"pink-400\": \"#f472b6\",\n \"pink-500\": \"#ec4899\",\n \"pink-600\": \"#db2777\",\n \"pink-700\": \"#be185d\",\n \"pink-800\": \"#9d174d\",\n \"pink-900\": \"#831843\",\n \"rose-50\": \"#fff1f2\",\n \"rose-100\": \"#ffe4e6\",\n \"rose-200\": \"#fecdd3\",\n \"rose-300\": \"#fda4af\",\n \"rose-400\": \"#fb7185\",\n \"rose-500\": \"#f43f5e\",\n \"rose-600\": \"#e11d48\",\n \"rose-700\": \"#be123c\",\n \"rose-800\": \"#9f1239\",\n \"rose-900\": \"#881337\"\n};\nconst fontSizes = {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n default: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\"\n};\nconst texts = Object.keys(fontSizes).reduce((texts2, key) => {\n texts2[key] = {\n fontSize: key,\n lineHeight: key\n };\n return texts2;\n}, {});\nconst defaultTheme = {\n colors: generateHexAlphaVariants(colors),\n space,\n screens: {\n _: 0,\n xs: 0,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n \"2xl\": 1536\n },\n durations: {\n instant: \"100ms\",\n \"fast-in\": \"250ms\",\n \"fast-out\": \"200ms\",\n \"slow-in\": \"300ms\",\n \"slow-out\": \"250ms\"\n },\n sizes: __spreadProps(__spreadValues({}, space), {\n 0.5: void 0,\n 1: void 0,\n \"0.5s\": space[0.5],\n \"1s\": space[1],\n full: \"100%\",\n xs: \"20rem\",\n sm: \"24rem\",\n md: \"28rem\",\n lg: \"32rem\",\n xl: \"36rem\",\n \"2xl\": \"42rem\",\n \"3xl\": \"48rem\",\n \"4xl\": \"56rem\",\n \"5xl\": \"64rem\",\n \"6xl\": \"72rem\",\n \"7xl\": \"80rem\"\n }),\n radii: {\n none: \"0\",\n sm: \"0.125rem\",\n default: \"0.25rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\"\n },\n shadows: {\n xs: \"0 0 0 1px rgba(0, 0, 0, 0.05)\",\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n default: \"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n xl: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\",\n inner: \"inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)\",\n outline: \"0 0 0 3px rgba(66, 153, 225, 0.5)\"\n },\n fontSizes,\n fontWeights: {\n hairline: \"100\",\n thin: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\"\n },\n fonts: {\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\",\n serif: \"ui-serif, Georgia, Cambria, \\\"Times New Roman\\\", Times, serif\",\n sans: \"ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"\"\n },\n letterSpacings: {\n tighter: \"-0.05em\",\n tight: \"-0.025em\",\n normal: \"0em\",\n wide: \"0.025em\",\n wider: \"0.05em\",\n widest: \"0.1em\"\n },\n lineHeights: {\n none: 1,\n tight: 1.25,\n snug: 1.375,\n normal: 1.5,\n relaxed: 1.625,\n loose: 2,\n 3: \".75rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 7: \"1.75rem\",\n 8: \"2rem\",\n 9: \"2.25rem\",\n 10: \"2.5rem\",\n xs: \"1rem\",\n sm: \"1.25rem\",\n default: \"1.5rem\",\n lg: \"1.75rem\",\n xl: \"1.75rem\",\n \"2xl\": \"2rem\",\n \"3xl\": \"2.25rem\",\n \"4xl\": \"2.5rem\",\n \"5xl\": 1,\n \"6xl\": 1,\n \"7xl\": 1,\n \"8xl\": 1,\n \"9xl\": 1\n },\n gridTemplateColumns: {\n 1: \"repeat(1, minmax(0, 1fr))\",\n 2: \"repeat(2, minmax(0, 1fr))\",\n 3: \"repeat(3, minmax(0, 1fr))\",\n 4: \"repeat(4, minmax(0, 1fr))\",\n 5: \"repeat(5, minmax(0, 1fr))\",\n 6: \"repeat(6, minmax(0, 1fr))\",\n 7: \"repeat(7, minmax(0, 1fr))\",\n 8: \"repeat(8, minmax(0, 1fr))\",\n 9: \"repeat(9, minmax(0, 1fr))\",\n 10: \"repeat(10, minmax(0, 1fr))\",\n 11: \"repeat(11, minmax(0, 1fr))\",\n 12: \"repeat(12, minmax(0, 1fr))\"\n },\n gridTemplateRows: {\n 1: \"repeat(1, minmax(0, 1fr))\",\n 2: \"repeat(2, minmax(0, 1fr))\",\n 3: \"repeat(3, minmax(0, 1fr))\",\n 4: \"repeat(4, minmax(0, 1fr))\",\n 5: \"repeat(5, minmax(0, 1fr))\",\n 6: \"repeat(6, minmax(0, 1fr))\"\n },\n borderWidths: {\n default: 1\n },\n ringWidths: {\n default: 3\n },\n borders: {\n default: \"1px solid transparent\"\n },\n texts,\n transitions,\n transitionProperties,\n timingFunctions,\n animations: {\n spin: \"x-spin 1s linear infinite\",\n ping: \"x-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite\",\n pulse: \"x-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite\",\n bounce: \"x-bounce 1s infinite\"\n },\n states: {\n _: null,\n motionSafe: \"@media (prefers-reduced-motion: no-preference)\",\n motionReduce: \"@media (prefers-reduced-motion: reduce)\",\n first: \"&:first-child\",\n last: \"&:last-child\",\n odd: \"&:odd\",\n even: \"&:even\",\n visited: \"&:visited\",\n checked: \"&:checked\",\n focusWithin: \"&:focus-within\",\n hover: \"&:hover\",\n focus: \"&:focus\",\n focusVisible: \"&:focus-visible\",\n active: \"&:active\",\n disabled: \"&:disabled, &[aria-disabled=true]\",\n placeholder: \"&::placeholder\"\n }\n};\n\nconst getPreflightStyles = theme => \"\\n/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\\n*,::after,::before{box-sizing:border-box}:root{-moz-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji'}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}\\n\\n/* Role button pointer */\\n[role=button], button {\\n cursor: pointer;\\n}\\n\\n/* Remove default margins */\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\n/* Remove headings styles */\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/* Unstyle lists */\\nol,\\nul {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/* Image are block-level */\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block;\\n vertical-align: middle;\\n}\\n\\n/* Reset border styles */\\n*,\\n::before,\\n::after {\\n border-width: 0;\\n border-style: solid;\\n border-color: \".concat(th.color(\"default-border-color\", \"currentColor\")({\n theme\n}), \";\\n}\\n\\n* {\\n --x-ring-color: \").concat(th.color(\"default-ring-color\", \"rgba(59,130,246,0.5)\")({\n theme\n}), \";\\n}\\n\\n/* Default outline on buttons */\\nbutton:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}\\n\\n// Animations\\n@keyframes x-spin {\\n from {\\n transform: rotate(0deg);\\n }\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes x-ping {\\n 0% {\\n transform: scale(1);\\n opacity: 1;\\n }\\n 75%, 100% {\\n transform: scale(2);\\n opacity: 0;\\n }\\n}\\n\\n@keyframes x-pulse {\\n 0%, 100% {\\n opacity: 1;\\n }\\n 50% {\\n opacity: .5;\\n }\\n}\\n\\n@keyframes x-bounce {\\n 0%, 100% {\\n transform: translateY(-25%);\\n animationTimingFunction: cubic-bezier(0.8, 0, 1, 1);\\n }\\n 50% {\\n transform: translateY(0);\\n animationTimingFunction: cubic-bezier(0, 0, 0.2, 1);\\n }\\n}\\n\");\n\nexport { aliasColor, alignContent, alignItems, alignSelf, animation, animationDuration, animationTimingFunction, animations, appearance, background, backgroundAttachment, backgroundClip, backgroundColor, backgroundImage, backgroundPosition, backgroundRepeat, backgroundSize, backgrounds, between, border, borderBottom, borderBottomColor, borderBottomStyle, borderBottomWidth, borderCollapse, borderColor, borderLeft, borderLeftColor, borderLeftStyle, borderLeftWidth, borderRadius, borderRight, borderRightColor, borderRightStyle, borderRightWidth, borderStyle, borderTop, borderTopColor, borderTopStyle, borderTopWidth, borderWidth, borders, bottom, boxShadow, boxSizing, breakpoints, col, color, columnGap, compose, container, createStyleGenerator, cursor, defaultTheme, display, divideColor, divideStyle, divideX, divideXReverse, divideY, divideYReverse, down, effects, fill, flex, flexBasis, flexDirection, flexGrow, flexShrink, flexWrap, flexboxGrids, flexboxes, float, fontFamily, fontSize, fontStyle, fontWeight, gap, generateHexAlphaVariants, getAngle, getAnimation, getBorder, getBorderColor, getBorderStyle, getBorderWidth, getBreakpointMax, getBreakpointMin, getColor, getDuration, getFont, getFontSize, getFontWeight, getInset, getLetterSpacing, getLineHeight, getPercent, getPreflightStyles, getPx, getRadius, getRingWidth, getScreens, getShadow, getSize, getSpace, getStates, getTimingFunction, getTransform, getTransition, getTransitionProperty, getVariants, getZIndex, gradientFrom, gradientTo, gradientVia, gridArea, gridAutoColumns, gridAutoFlow, gridAutoRows, gridColumn, gridRow, gridTemplateAreas, gridTemplateColumns, gridTemplateRows, grids, height, interactivity, justifyContent, justifyItems, justifySelf, layout, left, letterSpacing, lineHeight, listStylePosition, listStyleType, margin, marginBottom, marginLeft, marginRight, marginTop, maskSize, maxHeight, maxWidth, minHeight, minWidth, mx, my, objectFit, opacity, order, outline, outlineColor, outlineOffset, outlineStyle, outlineWidth, overflow, overflowX, overflowY, overscrollBehavior, padding, paddingBottom, paddingLeft, paddingRight, paddingTop, pointerEvents, position, px, py, resize, right, ring, ringColor, ringInset, rotate, row, rowGap, rpxTransformers, scale, scaleX, scaleY, sizing, skewX, skewY, space$1 as space, spaceX, spaceXReverse, spaceY, spaceYReverse, stroke, style, svg, system, tableLayout, tables, text, textAlign, textDecoration, textOverflow, textShadow, textTransform, th, themeGetter, top, transform, transformOrigin, transforms, transition, transitionDelay, transitionDuration, transitionProperty, transitionTimingFunction, transitions$1 as transitions, translateX, translateY, typography, up, userSelect, verticalAlign, visibility, whiteSpace, width, zIndex };","const DEV = process.env.NODE_ENV !== \"production\";\nconst specialProperties = [\"__proto__\", \"constructor\", \"prototype\"];\n\nconst identity = x => x;\n\nconst is = n => n !== void 0 && n !== null;\n\nconst num = n => typeof n === \"number\" && !Number.isNaN(n);\n\nconst string = n => typeof n === \"string\" && n !== \"\";\n\nconst obj = n => typeof n === \"object\" && n !== null;\n\nconst func = n => typeof n === \"function\";\n\nconst negative = n => num(n) && n < 0;\n\nconst get = (from, path) => {\n const paths = String(path).split(\".\");\n const pathsLength = paths.length;\n let result = from;\n\n for (let i = 0; i < pathsLength; i += 1) {\n if (!is(result)) return result;\n const path2 = paths[i];\n result = is(result[path2]) ? result[path2] : void 0;\n }\n\n return result;\n};\n\nconst assign = (target, source) => {\n if (!is(source)) return target;\n\n for (const key in source) {\n if (specialProperties.indexOf(key) !== -1) {\n continue;\n }\n\n target[key] = source[key];\n }\n\n return target;\n};\n\nconst merge = (target, source) => {\n if (!is(source)) return target;\n\n for (const key in source) {\n if (specialProperties.indexOf(key) !== -1) {\n continue;\n }\n\n if (obj(target[key])) {\n target[key] = merge(assign({}, target[key]), source[key]);\n } else {\n target[key] = source[key];\n }\n }\n\n return target;\n};\n\nconst warn = (condition, message) => {\n if (DEV) {\n if (!condition && console.error) {\n console.error(message);\n }\n }\n};\n\nfunction cascade(value, arg) {\n if (typeof value === \"function\") {\n return cascade(value(arg), arg);\n }\n\n return value;\n}\n\nconst getThemeValue = function (props, path) {\n let initial = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : props.theme;\n return cascade(get(initial, path), props);\n};\n\nfunction omit(object, values) {\n const result = {};\n\n for (const key in object) {\n if (values.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n\n return result;\n}\n\nfunction flattenStrings(array) {\n return array.reduce((flattenedArray, value) => {\n const lastIndex = flattenedArray.length - 1;\n const last = flattenedArray[lastIndex];\n\n if (typeof last === \"string\" && typeof value === \"string\") {\n flattenedArray[lastIndex] = last + value;\n } else {\n flattenedArray.push(value);\n }\n\n return flattenedArray;\n }, []);\n}\n\nfunction flattenDown(array, result) {\n for (let i = 0; i < array.length; i++) {\n const value = array[i];\n\n if (Array.isArray(value)) {\n flattenDown(value, result);\n } else {\n result.push(value);\n }\n }\n\n return result;\n}\n\nfunction flatten(array) {\n return flattenDown(array, []);\n}\n\nexport { assign, cascade, flatten, flattenStrings, func, get, getThemeValue, identity, is, merge, negative, num, obj, omit, string, warn };","/**\n * It's `true` if it is running in a browser environment or `false` if it is not\n * (SSR).\n * @example\n * const title = canUseDOM ? document.title : \"\";\n */\nconst canUseDOM = checkIsBrowser(); // Check if we can use the DOM. Useful for SSR purposes\n\nfunction checkIsBrowser() {\n var _window$document;\n\n return typeof window !== \"undefined\" && !!((_window$document = window.document) != null && _window$document.createElement);\n}\n/**\n * Returns `element.ownerDocument || document`.\n */\n\n\nfunction getDocument(node) {\n return node ? node.ownerDocument || node : document;\n}\n/**\n * Returns `element.ownerDocument.defaultView || window`.\n */\n\n\nfunction getWindow(node) {\n return getDocument(node).defaultView || window;\n}\n/**\n * Returns `element.ownerDocument.activeElement`.\n */\n\n\nfunction getActiveElement(node, activeDescendant) {\n if (activeDescendant === void 0) {\n activeDescendant = false;\n }\n\n const {\n activeElement\n } = getDocument(node);\n\n if (!(activeElement != null && activeElement.nodeName)) {\n // In IE11, activeElement might be an empty object if we're interacting\n // with elements inside of an iframe.\n return null;\n }\n\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n\n if (id) {\n const element = getDocument(activeElement).getElementById(id);\n\n if (element) {\n return element;\n }\n }\n }\n\n return activeElement;\n}\n/**\n * Similar to `Element.prototype.contains`, but a little bit faster when\n * `element` is the same as `child`.\n * @example\n * contains(\n * document.getElementById(\"parent\"),\n * document.getElementById(\"child\")\n * );\n */\n\n\nfunction contains(parent, child) {\n return parent === child || parent.contains(child);\n}\n/**\n * Checks whether `element` is a frame element.\n */\n\n\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\n/**\n * Checks whether `element` is a native HTML button element.\n * @example\n * isButton(document.querySelector(\"button\")); // true\n * isButton(document.querySelector(\"input[type='button']\")); // true\n * isButton(document.querySelector(\"div\")); // false\n * isButton(document.querySelector(\"input[type='text']\")); // false\n * isButton(document.querySelector(\"div[role='button']\")); // false\n */\n\n\nfunction isButton(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"button\") return true;\n\n if (tagName === \"input\" && element.type) {\n return buttonInputTypes.indexOf(element.type) !== -1;\n }\n\n return false;\n}\n\nconst buttonInputTypes = [\"button\", \"color\", \"file\", \"image\", \"reset\", \"submit\"];\n/**\n * Ponyfill for `Element.prototype.matches`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\n */\n\nfunction matches(element, selectors) {\n if (\"matches\" in element) {\n return element.matches(selectors);\n }\n\n if (\"msMatchesSelector\" in element) {\n return element.msMatchesSelector(selectors);\n }\n\n return element.webkitMatchesSelector(selectors);\n}\n/**\n * Checks if the element is visible or not.\n */\n\n\nfunction isVisible(element) {\n const htmlElement = element;\n return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n/**\n * Ponyfill for `Element.prototype.closest`\n * @example\n * closest(document.getElementById(\"id\"), \"div\");\n * // same as\n * document.getElementById(\"id\").closest(\"div\");\n */\n\n\nfunction closest(element, selectors) {\n if (\"closest\" in element) return element.closest(selectors);\n\n do {\n if (matches(element, selectors)) return element;\n element = element.parentElement || element.parentNode;\n } while (element !== null && element.nodeType === 1);\n\n return null;\n}\n/**\n * Check whether the given element is a text field, where text field is defined\n * by the ability to select within the input.\n * @example\n * isTextField(document.querySelector(\"div\")); // false\n * isTextField(document.querySelector(\"input\")); // true\n * isTextField(document.querySelector(\"input[type='button']\")); // false\n * isTextField(document.querySelector(\"textarea\")); // true\n */\n\n\nfunction isTextField(element) {\n try {\n const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n const isTextArea = element.tagName === \"TEXTAREA\";\n return isTextInput || isTextArea || false;\n } catch (error) {\n // Safari throws an exception when trying to get `selectionStart` on\n // non-text elements (which, understandably, don't have the text\n // selection API). We catch this via a try/catch block, as opposed to a more\n // explicit check of the element's input types, because of Safari's\n // non-standard behavior. This also means we don't have to worry about the\n // list of input types that support `selectionStart` changing as the HTML\n // spec evolves over time.\n return false;\n }\n}\n/**\n * Returns the element's role attribute, if it has one.\n */\n\n\nfunction getPopupRole(element, fallback) {\n const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n const role = element == null ? void 0 : element.getAttribute(\"role\");\n\n if (role && allowedPopupRoles.indexOf(role) !== -1) {\n return role;\n }\n\n return fallback;\n}\n/**\n * Returns the item role attribute based on the popup's role.\n */\n\n\nfunction getPopupItemRole(element, fallback) {\n var _itemRoleByPopupRole$;\n\n const itemRoleByPopupRole = {\n menu: \"menuitem\",\n listbox: \"option\",\n tree: \"treeitem\",\n grid: \"gridcell\"\n };\n const popupRole = getPopupRole(element);\n if (!popupRole) return fallback;\n const key = popupRole;\n return (_itemRoleByPopupRole$ = itemRoleByPopupRole[key]) != null ? _itemRoleByPopupRole$ : fallback;\n}\n/**\n * Returns the start and end offsets of the selection in the element.\n */\n\n\nfunction getTextboxSelection(element) {\n let start = 0;\n let end = 0;\n\n if (isTextField(element)) {\n start = element.selectionStart || 0;\n end = element.selectionEnd || 0;\n } else if (element.isContentEditable) {\n const selection = getDocument(element).getSelection();\n\n if (selection != null && selection.rangeCount && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n const range = selection.getRangeAt(0);\n const nextRange = range.cloneRange();\n nextRange.selectNodeContents(element);\n nextRange.setEnd(range.startContainer, range.startOffset);\n start = nextRange.toString().length;\n nextRange.setEnd(range.endContainer, range.endOffset);\n end = nextRange.toString().length;\n }\n }\n\n return {\n start,\n end\n };\n}\n/**\n * Calls `element.scrollIntoView()` if the element is hidden or partly hidden in\n * the viewport.\n */\n\n\nfunction scrollIntoViewIfNeeded(element, arg) {\n if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n element.scrollIntoView(arg);\n }\n}\n/**\n * Returns the scrolling container element of a given element.\n */\n\n\nfunction getScrollingElement(element) {\n if (!element) return null;\n\n if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n const {\n overflowY\n } = getComputedStyle(element);\n const isScrollable = overflowY !== \"visible\" && overflowY !== \"hidden\";\n if (isScrollable) return element;\n }\n\n return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\n/**\n * Determines whether an element is hidden or partially hidden in the viewport.\n */\n\n\nfunction isPartiallyHidden(element) {\n const elementRect = element.getBoundingClientRect();\n const scroller = getScrollingElement(element);\n if (!scroller) return false;\n const scrollerRect = scroller.getBoundingClientRect();\n const isHTML = scroller.tagName === \"HTML\";\n const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n const top = elementRect.top < scrollerTop;\n const left = elementRect.left < scrollerLeft;\n const bottom = elementRect.bottom > scrollerBottom;\n const right = elementRect.right > scrollerRight;\n return top || left || bottom || right;\n}\n\nexport { canUseDOM, closest, contains, getActiveElement, getDocument, getPopupItemRole, getPopupRole, getScrollingElement, getTextboxSelection, getWindow, isButton, isFrame, isPartiallyHidden, isTextField, isVisible, matches, scrollIntoViewIfNeeded };","import { contains } from './dom.js';\nimport { isApple } from './platform.js';\n/**\n * Returns `true` if `event` has been fired within a React Portal element.\n */\n\nfunction isPortalEvent(event) {\n return !contains(event.currentTarget, event.target);\n}\n/**\n * Returns `true` if `event.target` and `event.currentTarget` are the same.\n */\n\n\nfunction isSelfTarget(event) {\n return event.target === event.currentTarget;\n}\n/**\n * Checks whether the user event is triggering a page navigation in a new tab.\n */\n\n\nfunction isOpeningInNewTab(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const isAppleDevice = isApple();\n if (isAppleDevice && !event.metaKey) return false;\n if (!isAppleDevice && !event.ctrlKey) return false;\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"a\") return true;\n if (tagName === \"button\" && element.type === \"submit\") return true;\n if (tagName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\n/**\n * Checks whether the user event is triggering a download.\n */\n\n\nfunction isDownloading(event) {\n const element = event.currentTarget;\n if (!element) return false;\n const tagName = element.tagName.toLowerCase();\n if (!event.altKey) return false;\n if (tagName === \"a\") return true;\n if (tagName === \"button\" && element.type === \"submit\") return true;\n if (tagName === \"input\" && element.type === \"submit\") return true;\n return false;\n}\n/**\n * Creates and dispatches an event.\n * @example\n * fireEvent(document.getElementById(\"id\"), \"blur\", {\n * bubbles: true,\n * cancelable: true,\n * });\n */\n\n\nfunction fireEvent(element, type, eventInit) {\n const event = new Event(type, eventInit);\n return element.dispatchEvent(event);\n}\n/**\n * Creates and dispatches a blur event.\n * @example\n * fireBlurEvent(document.getElementById(\"id\"));\n */\n\n\nfunction fireBlurEvent(element, eventInit) {\n const event = new FocusEvent(\"blur\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = { ...eventInit,\n bubbles: true\n };\n element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n return defaultAllowed;\n}\n/**\n * Creates and dispatches a focus event.\n * @example\n * fireFocusEvent(document.getElementById(\"id\"));\n */\n\n\nfunction fireFocusEvent(element, eventInit) {\n const event = new FocusEvent(\"focus\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = { ...eventInit,\n bubbles: true\n };\n element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n return defaultAllowed;\n}\n/**\n * Creates and dispatches a keyboard event.\n * @example\n * fireKeyboardEvent(document.getElementById(\"id\"), \"keydown\", {\n * key: \"ArrowDown\",\n * shiftKey: true,\n * });\n */\n\n\nfunction fireKeyboardEvent(element, type, eventInit) {\n const event = new KeyboardEvent(type, eventInit);\n return element.dispatchEvent(event);\n}\n/**\n * Creates and dispatches a click event.\n * @example\n * fireClickEvent(document.getElementById(\"id\"));\n */\n\n\nfunction fireClickEvent(element, eventInit) {\n const event = new MouseEvent(\"click\", eventInit);\n return element.dispatchEvent(event);\n}\n/**\n * Checks whether the focus/blur event is happening from/to outside of the\n * container element.\n * @example\n * const element = document.getElementById(\"id\");\n * element.addEventListener(\"blur\", (event) => {\n * if (isFocusEventOutside(event)) {\n * // ...\n * }\n * });\n */\n\n\nfunction isFocusEventOutside(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\n/**\n * Runs a callback on the next animation frame, but before a certain event.\n */\n\n\nfunction queueBeforeEvent(element, type, callback) {\n const raf = requestAnimationFrame(() => {\n element.removeEventListener(type, callImmediately, true);\n callback();\n });\n\n const callImmediately = () => {\n cancelAnimationFrame(raf);\n callback();\n }; // By listening to the event in the capture phase, we make sure the callback\n // is fired before the respective React events.\n\n\n element.addEventListener(type, callImmediately, {\n once: true,\n capture: true\n });\n return raf;\n}\n/**\n * Adds a global event listener, including on child frames.\n */\n\n\nfunction addGlobalEventListener(type, listener, options, scope) {\n if (scope === void 0) {\n scope = window;\n } // Prevent errors from \"sandbox\" frames.\n\n\n try {\n scope.document.addEventListener(type, listener, options);\n } catch (e) {}\n\n const listeners = [];\n\n for (let i = 0; i < ((_scope$frames = scope.frames) == null ? void 0 : _scope$frames.length); i += 1) {\n var _scope$frames;\n\n const frameWindow = scope.frames[i];\n\n if (frameWindow) {\n listeners.push(addGlobalEventListener(type, listener, options, frameWindow));\n }\n }\n\n const removeEventListener = () => {\n try {\n scope.document.removeEventListener(type, listener, options);\n } catch (e) {}\n\n listeners.forEach(listener => listener());\n };\n\n return removeEventListener;\n}\n\nexport { addGlobalEventListener, fireBlurEvent, fireClickEvent, fireEvent, fireFocusEvent, fireKeyboardEvent, isDownloading, isFocusEventOutside, isOpeningInNewTab, isPortalEvent, isSelfTarget, queueBeforeEvent };","import { matches, isVisible, isFrame, getActiveElement, closest, contains } from './dom.js';\nconst selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), \" + \"textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], \" + \"iframe, object, embed, area[href], audio[controls], video[controls], \" + \"[contenteditable]:not([contenteditable='false'])\";\n\nfunction hasNegativeTabIndex(element) {\n const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n return tabIndex < 0;\n}\n/**\n * Checks whether `element` is focusable or not.\n * @example\n * isFocusable(document.querySelector(\"input\")); // true\n * isFocusable(document.querySelector(\"input[tabindex='-1']\")); // true\n * isFocusable(document.querySelector(\"input[hidden]\")); // false\n * isFocusable(document.querySelector(\"input:disabled\")); // false\n */\n\n\nfunction isFocusable(element) {\n return matches(element, selector) && isVisible(element);\n}\n/**\n * Checks whether `element` is tabbable or not.\n * @example\n * isTabbable(document.querySelector(\"input\")); // true\n * isTabbable(document.querySelector(\"input[tabindex='-1']\")); // false\n * isTabbable(document.querySelector(\"input[hidden]\")); // false\n * isTabbable(document.querySelector(\"input:disabled\")); // false\n */\n\n\nfunction isTabbable(element) {\n return isFocusable(element) && !hasNegativeTabIndex(element);\n}\n/**\n * Returns all the focusable elements in `container`.\n */\n\n\nfunction getAllFocusableIn(container, includeContainer) {\n const elements = Array.from(container.querySelectorAll(selector));\n\n if (includeContainer) {\n elements.unshift(container);\n }\n\n const focusableElements = elements.filter(isFocusable);\n focusableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n }\n });\n return focusableElements;\n}\n/**\n * Returns all the focusable elements in the document.\n */\n\n\nfunction getAllFocusable(includeBody) {\n return getAllFocusableIn(document.body, includeBody);\n}\n/**\n * Returns the first focusable element in `container`.\n */\n\n\nfunction getFirstFocusableIn(container, includeContainer) {\n const [first] = getAllFocusableIn(container, includeContainer);\n return first || null;\n}\n/**\n * Returns the first focusable element in the document.\n */\n\n\nfunction getFirstFocusable(includeBody) {\n return getFirstFocusableIn(document.body, includeBody);\n}\n/**\n * Returns all the tabbable elements in `container`, including the container\n * itself.\n */\n\n\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n const elements = Array.from(container.querySelectorAll(selector));\n const tabbableElements = elements.filter(isTabbable);\n\n if (includeContainer && isTabbable(container)) {\n tabbableElements.unshift(container);\n }\n\n tabbableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n const allFrameTabbable = getAllTabbableIn(frameBody, false, fallbackToFocusable);\n tabbableElements.splice(i, 1, ...allFrameTabbable);\n }\n });\n\n if (!tabbableElements.length && fallbackToFocusable) {\n return elements;\n }\n\n return tabbableElements;\n}\n/**\n * Returns all the tabbable elements in the document.\n */\n\n\nfunction getAllTabbable(fallbackToFocusable) {\n return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\n/**\n * Returns the first tabbable element in `container`, including the container\n * itself if it's tabbable.\n */\n\n\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n const [first] = getAllTabbableIn(container, includeContainer, fallbackToFocusable);\n return first || null;\n}\n/**\n * Returns the first tabbable element in the document.\n */\n\n\nfunction getFirstTabbable(fallbackToFocusable) {\n return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\n/**\n * Returns the last tabbable element in `container`, including the container\n * itself if it's tabbable.\n */\n\n\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n const allTabbable = getAllTabbableIn(container, includeContainer, fallbackToFocusable);\n return allTabbable[allTabbable.length - 1] || null;\n}\n/**\n * Returns the last tabbable element in the document.\n */\n\n\nfunction getLastTabbable(fallbackToFocusable) {\n return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\n/**\n * Returns the next tabbable element in `container`.\n */\n\n\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer);\n const activeIndex = allFocusable.indexOf(activeElement);\n const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\n/**\n * Returns the next tabbable element in the document.\n */\n\n\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n return getNextTabbableIn(document.body, false, fallbackToFirst, fallbackToFocusable);\n}\n/**\n * Returns the previous tabbable element in `container`.\n *\n */\n\n\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n const activeIndex = allFocusable.indexOf(activeElement);\n const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\n/**\n * Returns the previous tabbable element in the document.\n */\n\n\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n return getPreviousTabbableIn(document.body, false, fallbackToFirst, fallbackToFocusable);\n}\n/**\n * Returns the closest focusable element.\n */\n\n\nfunction getClosestFocusable(element) {\n while (element && !isFocusable(element)) {\n element = closest(element, selector);\n }\n\n return element || null;\n}\n/**\n * Checks if `element` has focus. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n * @example\n * hasFocus(document.getElementById(\"id\"));\n */\n\n\nfunction hasFocus(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (activeElement === element) return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n return activeDescendant === element.id;\n}\n/**\n * Checks if `element` has focus within. Elements that are referenced by\n * `aria-activedescendant` are also considered.\n * @example\n * hasFocusWithin(document.getElementById(\"id\"));\n */\n\n\nfunction hasFocusWithin(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement) return false;\n if (contains(element, activeElement)) return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant) return false;\n if (!(\"id\" in element)) return false;\n if (activeDescendant === element.id) return true;\n return !!element.querySelector(\"#\" + CSS.escape(activeDescendant));\n}\n/**\n * Focus on an element only if it's not already focused.\n */\n\n\nfunction focusIfNeeded(element) {\n if (!hasFocusWithin(element) && isFocusable(element)) {\n element.focus();\n }\n}\n/**\n * Disable focus on `element`.\n */\n\n\nfunction disableFocus(element) {\n var _element$getAttribute;\n\n const currentTabindex = (_element$getAttribute = element.getAttribute(\"tabindex\")) != null ? _element$getAttribute : \"\";\n element.setAttribute(\"data-tabindex\", currentTabindex);\n element.setAttribute(\"tabindex\", \"-1\");\n}\n/**\n * Makes elements inside container not tabbable.\n */\n\n\nfunction disableFocusIn(container, includeContainer) {\n const tabbableElements = getAllTabbableIn(container, includeContainer);\n tabbableElements.forEach(disableFocus);\n}\n/**\n * Restores tabbable elements inside container that were affected by\n * disableFocusIn.\n */\n\n\nfunction restoreFocusIn(container) {\n const elements = container.querySelectorAll(\"[data-tabindex]\");\n\n const restoreTabIndex = element => {\n const tabindex = element.getAttribute(\"data-tabindex\");\n element.removeAttribute(\"data-tabindex\");\n\n if (tabindex) {\n element.setAttribute(\"tabindex\", tabindex);\n } else {\n element.removeAttribute(\"tabindex\");\n }\n };\n\n if (container.hasAttribute(\"data-tabindex\")) {\n restoreTabIndex(container);\n }\n\n elements.forEach(restoreTabIndex);\n}\n/**\n * Focus on element and scroll into view.\n */\n\n\nfunction focusIntoView(element, options) {\n if (!(\"scrollIntoView\" in element)) {\n element.focus();\n } else {\n element.focus({\n preventScroll: true\n });\n element.scrollIntoView({\n block: \"nearest\",\n inline: \"nearest\",\n ...options\n });\n }\n}\n\nexport { disableFocus, disableFocusIn, focusIfNeeded, focusIntoView, getAllFocusable, getAllFocusableIn, getAllTabbable, getAllTabbableIn, getClosestFocusable, getFirstFocusable, getFirstFocusableIn, getFirstTabbable, getFirstTabbableIn, getLastTabbable, getLastTabbableIn, getNextTabbable, getNextTabbableIn, getPreviousTabbable, getPreviousTabbableIn, hasFocus, hasFocusWithin, isFocusable, isTabbable, restoreFocusIn };","import * as React from 'react';\nimport { useLayoutEffect, useEffect, useState, useRef, useCallback, useMemo, useReducer } from 'react';\nimport { canUseDOM } from './dom.js';\nimport { addGlobalEventListener } from './events.js';\nimport { setRef, applyState } from './misc.js'; // @ts-ignore Access React v18 hooks using string concatenation in order to\n// prevent Webpack from inferring that they are not present in React v17. For\n// example, React.useId will raise a compile time error when using React v17,\n// but React['use' + 'Id'] will not.\n\nconst useReactId = React[\"use\" + \"Id\"]; // @ts-ignore\n\nconst useReactDeferredValue = React[\"use\" + \"DeferredValue\"]; // @ts-ignore\n\nconst useInsertionEffect = React[\"use\" + \"InsertionEffect\"];\n/**\n * `React.useLayoutEffect` that fallbacks to `React.useEffect` on server side.\n */\n\nconst useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n/**\n * Returns a value that never changes even if the argument is updated.\n * @example\n * function Component({ prop }) {\n * const initialProp = useInitialValue(prop);\n * }\n */\n\nfunction useInitialValue(value) {\n const [initialValue] = useState(value);\n return initialValue;\n}\n/**\n * Returns a value that is lazily initiated and never changes.\n * @example\n * function Component() {\n * const set = useLazyValue(() => new Set());\n * }\n */\n\n\nfunction useLazyValue(init) {\n const ref = useRef();\n\n if (ref.current === undefined) {\n ref.current = init();\n }\n\n return ref.current;\n}\n/**\n * Creates a `React.RefObject` that is constantly updated with the incoming\n * value.\n * @example\n * function Component({ prop }) {\n * const propRef = useLiveRef(prop);\n * }\n */\n\n\nfunction useLiveRef(value) {\n const ref = useRef(value);\n useSafeLayoutEffect(() => {\n ref.current = value;\n });\n return ref;\n}\n/**\n * Keeps the reference of the previous value to be used in the render phase.\n */\n\n\nfunction usePreviousValue(value) {\n const [previousValue, setPreviousValue] = useState(value);\n\n if (value !== previousValue) {\n setPreviousValue(value);\n }\n\n return previousValue;\n}\n/**\n * Creates a stable callback function that has access to the latest state and\n * can be used within event handlers and effect callbacks. Throws when used in\n * the render phase.\n * @example\n * function Component(props) {\n * const onClick = useEvent(props.onClick);\n * React.useEffect(() => {}, [onClick]);\n * }\n */\n\n\nfunction useEvent(callback) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n\n if (useInsertionEffect) {\n useInsertionEffect(() => {\n ref.current = callback;\n });\n } else {\n ref.current = callback;\n }\n\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n/**\n * Merges React Refs into a single memoized function ref so you can pass it to\n * an element.\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const internalRef = React.useRef();\n * return
;\n * });\n */\n\n\nfunction useForkRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n\n return useMemo(() => {\n if (!refs.some(Boolean)) return;\n return value => {\n refs.forEach(ref => {\n setRef(ref, value);\n });\n };\n }, refs);\n}\n/**\n * Returns the ref element's ID.\n */\n\n\nfunction useRefId(ref, deps) {\n const [id, setId] = useState(undefined);\n useSafeLayoutEffect(() => {\n var _ref$current;\n\n setId(ref == null ? void 0 : (_ref$current = ref.current) == null ? void 0 : _ref$current.id);\n }, deps);\n return id;\n}\n/**\n * Generates a unique ID. Uses React's useId if available.\n */\n\n\nfunction useId(defaultId) {\n if (useReactId) {\n const reactId = useReactId();\n if (defaultId) return defaultId;\n return reactId;\n }\n\n const [id, setId] = useState(defaultId);\n useSafeLayoutEffect(() => {\n if (defaultId || id) return;\n const random = Math.random().toString(36).substr(2, 6);\n setId(\"id-\" + random);\n }, [defaultId, id]);\n return defaultId || id;\n}\n/**\n * Uses React's useDeferredValue if available.\n */\n\n\nfunction useDeferredValue(value) {\n if (useReactDeferredValue) {\n return useReactDeferredValue(value);\n }\n\n const [deferredValue, setDeferredValue] = useState(value);\n useEffect(() => {\n const raf = requestAnimationFrame(() => setDeferredValue(value));\n return () => cancelAnimationFrame(raf);\n }, [value]);\n return deferredValue;\n}\n/**\n * Returns the tag name by parsing an element ref and the `as` prop.\n * @example\n * function Component(props) {\n * const ref = React.useRef();\n * const tagName = useTagName(ref, \"button\"); // div\n * return
;\n * }\n */\n\n\nfunction useTagName(ref, type) {\n const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n useSafeLayoutEffect(() => {\n var _ref$current2;\n\n setTagName((ref == null ? void 0 : (_ref$current2 = ref.current) == null ? void 0 : _ref$current2.tagName.toLowerCase()) || stringOrUndefined(type));\n }, [ref, type]);\n return tagName;\n}\n\nfunction stringOrUndefined(type) {\n if (typeof type === \"string\") {\n return type;\n }\n\n return;\n}\n/**\n * A `React.useEffect` that will not run on the first render.\n */\n\n\nfunction useUpdateEffect(effect, deps) {\n const mounted = useRef(false);\n useEffect(() => {\n if (mounted.current) {\n return effect();\n }\n\n mounted.current = true;\n }, deps);\n useEffect(() => () => {\n mounted.current = false;\n }, []);\n}\n/**\n * A `React.useLayoutEffect` that will not run on the first render.\n */\n\n\nfunction useUpdateLayoutEffect(effect, deps) {\n const mounted = useRef(false);\n useSafeLayoutEffect(() => {\n if (mounted.current) {\n return effect();\n }\n\n mounted.current = true;\n }, deps);\n useSafeLayoutEffect(() => () => {\n mounted.current = false;\n }, []);\n}\n/**\n * A custom version of `React.useState` that uses the `state` and `setState`\n * arguments. If they're not provided, it will use the internal state.\n */\n\n\nfunction useControlledState(defaultState, state, setState) {\n const [localState, setLocalState] = useState(defaultState);\n const nextState = state !== undefined ? state : localState;\n const stateRef = useLiveRef(state);\n const setStateRef = useLiveRef(setState);\n const nextStateRef = useLiveRef(nextState);\n const setNextState = useCallback(prevValue => {\n const setStateProp = setStateRef.current;\n\n if (setStateProp) {\n if (isSetNextState(setStateProp)) {\n setStateProp(prevValue);\n } else {\n const nextValue = applyState(prevValue, nextStateRef.current);\n nextStateRef.current = nextValue;\n setStateProp(nextValue);\n }\n }\n\n if (stateRef.current === undefined) {\n setLocalState(prevValue);\n }\n }, []);\n defineSetNextState(setNextState);\n return [nextState, setNextState];\n}\n\nconst SET_NEXT_STATE = Symbol(\"setNextState\");\n\nfunction isSetNextState(arg) {\n return arg[SET_NEXT_STATE] === true;\n}\n\nfunction defineSetNextState(arg) {\n if (!isSetNextState(arg)) {\n Object.defineProperty(arg, SET_NEXT_STATE, {\n value: true\n });\n }\n}\n/**\n * A React hook similar to `useState` and `useReducer`, but with the only\n * purpose of re-rendering the component.\n */\n\n\nfunction useForceUpdate() {\n return useReducer(() => [], []);\n}\n/**\n * Returns an event callback similar to `useEvent`, but this also accepts a\n * boolean value, which will be turned into a function.\n */\n\n\nfunction useBooleanEvent(booleanOrCallback) {\n return useEvent(typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback);\n}\n/**\n * Returns props with an additional `wrapElement` prop.\n */\n\n\nfunction useWrapElement(props, callback, deps) {\n if (deps === void 0) {\n deps = [];\n }\n\n const wrapElement = useCallback(element => {\n if (props.wrapElement) {\n element = props.wrapElement(element);\n }\n\n return callback(element);\n }, [...deps, props.wrapElement]);\n return { ...props,\n wrapElement\n };\n}\n/**\n * Merges the portalRef prop and returns a `domReady` to be used in the\n * components that use Portal underneath.\n */\n\n\nfunction usePortalRef(portalProp, portalRefProp) {\n if (portalProp === void 0) {\n portalProp = false;\n }\n\n const [portalNode, setPortalNode] = useState(null);\n const portalRef = useForkRef(setPortalNode, portalRefProp);\n const domReady = !portalProp || portalNode;\n return {\n portalRef,\n portalNode,\n domReady\n };\n}\n/**\n * Returns a function that checks whether the mouse is moving.\n */\n\n\nfunction useIsMouseMoving() {\n useEffect(() => {\n // We're not returning the event listener cleanup function here because we\n // may lose some events if this component is unmounted, but others are\n // still mounted.\n addGlobalEventListener(\"mousemove\", setMouseMoving, true); // See https://github.com/ariakit/ariakit/issues/1137\n\n addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n }, []);\n const isMouseMoving = useEvent(() => mouseMoving);\n return isMouseMoving;\n}\n\nlet mouseMoving = false;\nlet previousScreenX = 0;\nlet previousScreenY = 0;\n\nfunction hasMouseMovement(event) {\n const movementX = event.movementX || event.screenX - previousScreenX;\n const movementY = event.movementY || event.screenY - previousScreenY;\n previousScreenX = event.screenX;\n previousScreenY = event.screenY;\n return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\n\nfunction setMouseMoving(event) {\n if (!hasMouseMovement(event)) return;\n mouseMoving = true;\n}\n\nfunction resetMouseMoving() {\n mouseMoving = false;\n}\n\nexport { useBooleanEvent, useControlledState, useDeferredValue, useEvent, useForceUpdate, useForkRef, useId, useInitialValue, useIsMouseMoving, useLazyValue, useLiveRef, usePortalRef, usePreviousValue, useRefId, useSafeLayoutEffect, useTagName, useUpdateEffect, useUpdateLayoutEffect, useWrapElement };","/**\n * Empty function.\n */\nfunction noop() {}\n/**\n * Compares two objects.\n * @example\n * shallowEqual({ a: \"a\" }, {}); // false\n * shallowEqual({ a: \"a\" }, { b: \"b\" }); // false\n * shallowEqual({ a: \"a\" }, { a: \"a\" }); // true\n * shallowEqual({ a: \"a\" }, { a: \"a\", b: \"b\" }); // false\n */\n\n\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (!a) return false;\n if (!b) return false;\n if (typeof a !== \"object\") return false;\n if (typeof b !== \"object\") return false;\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n const {\n length\n } = aKeys;\n if (bKeys.length !== length) return false;\n\n for (const key of aKeys) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n}\n/**\n * Receives a `setState` argument and calls it with `currentValue` if it's a\n * function. Otherwise return the argument as the new value.\n * @example\n * applyState((value) => value + 1, 1); // 2\n * applyState(2, 1); // 2\n */\n\n\nfunction applyState(argument, currentValue) {\n if (isUpdater(argument)) {\n const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n return argument(value);\n }\n\n return argument;\n}\n\nfunction isUpdater(argument) {\n return typeof argument === \"function\";\n}\n\nfunction isLazyValue(value) {\n return typeof value === \"function\";\n}\n/**\n * Sets both a function and object React ref.\n */\n\n\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n/**\n * Checks whether `arg` is an object or not.\n * @returns {boolean}\n */\n\n\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg != null;\n}\n/**\n * Checks whether `arg` is empty or not.\n * @example\n * isEmpty([]); // true\n * isEmpty([\"a\"]); // false\n * isEmpty({}); // true\n * isEmpty({ a: \"a\" }); // false\n * isEmpty(); // true\n * isEmpty(null); // true\n * isEmpty(undefined); // true\n * isEmpty(\"\"); // true\n */\n\n\nfunction isEmpty(arg) {\n if (Array.isArray(arg)) return !arg.length;\n if (isObject(arg)) return !Object.keys(arg).length;\n if (arg == null) return true;\n if (arg === \"\") return true;\n return false;\n}\n/**\n * Checks whether `arg` is a promise or not.\n * @returns {boolean}\n */\n\n\nfunction isPromise(arg) {\n return Boolean(arg && \"then\" in arg && typeof arg.then === \"function\");\n}\n/**\n * Checks whether `arg` is an integer or not.\n * @example\n * isInteger(1); // true\n * isInteger(1.5); // false\n * isInteger(\"1\"); // true\n * isInteger(\"1.5\"); // false\n */\n\n\nfunction isInteger(arg) {\n if (typeof arg === \"number\") {\n return Math.floor(arg) === arg;\n }\n\n return String(Math.floor(Number(arg))) === arg;\n}\n/**\n * Checks whether `prop` is an own property of `obj` or not.\n */\n\n\nfunction hasOwnProperty(object, prop) {\n return Object.prototype.hasOwnProperty.call(object, prop);\n}\n/**\n * Receives functions as arguments and returns a new function that calls all.\n */\n\n\nfunction chain() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (const fn of fns) {\n if (typeof fn === \"function\") {\n // @ts-ignore\n fn(...arguments);\n }\n }\n };\n}\n/**\n * Returns a string with the truthy values of `args` separated by space.\n */\n\n\nfunction cx() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.filter(Boolean).join(\" \") || undefined;\n}\n/**\n * Removes diatrics from a string.\n * TODO: Check if it works on WebView Android.\n */\n\n\nfunction normalizeString(str) {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\n/**\n * Queues a function to be called at the end of the current event loop.\n */\n\n\nfunction queueMicrotask(callback) {\n if (window.queueMicrotask) {\n return window.queueMicrotask(callback);\n }\n\n Promise.resolve().then(callback);\n}\n\nexport { applyState, chain, cx, hasOwnProperty, isEmpty, isInteger, isObject, isPromise, noop, normalizeString, queueMicrotask, setRef, shallowEqual };","import { canUseDOM } from './dom.js';\n/**\n * Detects if the device has touch capabilities.\n */\n\nfunction isTouchDevice() {\n return canUseDOM && !!navigator.maxTouchPoints;\n}\n/**\n * Detects Apple device.\n */\n\n\nfunction isApple() {\n if (!canUseDOM) return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\n/**\n * Detects Safari browser.\n */\n\n\nfunction isSafari() {\n return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\n/**\n * Detects Firefox browser.\n */\n\n\nfunction isFirefox() {\n return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\n/**\n * Detects Mac computer.\n */\n\n\nfunction isMac() {\n return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport { isApple, isFirefox, isMac, isSafari, isTouchDevice };","import { forwardRef } from 'react';\nimport { hasOwnProperty } from './misc.js';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction isRenderProp(children) {\n return typeof children === \"function\";\n}\n/**\n * Creates a type-safe component with the `as` prop and `React.forwardRef`.\n *\n * @example\n * import { createComponent } from \"ariakit-utils/system\";\n *\n * type Props = {\n * as?: \"div\";\n * customProp?: boolean;\n * };\n *\n * const Component = createComponent(({ customProp, ...props }) => {\n * return
;\n * });\n *\n * \n */\n\n\nfunction createComponent(render) {\n const Role = (props, ref) => render({\n ref,\n ...props\n });\n\n return /*#__PURE__*/forwardRef(Role);\n}\n/**\n * Creates a React element that supports the `as` prop, children as a\n * function (render props) and a `wrapElement` function.\n *\n * @example\n * import { createElement } from \"ariakit-utils/system\";\n *\n * function Component() {\n * const props = {\n * as: \"button\" as const,\n * children: (htmlProps) => \n * ```\n */\n\nconst Button = createComponent(props => {\n const htmlProps = useButton(props);\n return createElement(\"button\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Button.displayName = \"Button\";\n}\n\nexport { Button, useButton };","import { useRef, useEffect, useState } from 'react';\nimport { isButton } from 'ariakit-utils/dom';\nimport { addGlobalEventListener, isPortalEvent, queueBeforeEvent, isSelfTarget, isFocusEventOutside } from 'ariakit-utils/events';\nimport { isFocusable, focusIfNeeded, hasFocus } from 'ariakit-utils/focus';\nimport { useEvent, useSafeLayoutEffect, useTagName, useForkRef } from 'ariakit-utils/hooks';\nimport { queueMicrotask } from 'ariakit-utils/misc';\nimport { isSafari } from 'ariakit-utils/platform';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nconst isSafariBrowser = isSafari();\nconst alwaysFocusVisibleInputTypes = [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\", \"number\", \"date\", \"month\", \"week\", \"time\", \"datetime\", \"datetime-local\"];\n\nfunction isAlwaysFocusVisible(element) {\n const {\n tagName,\n readOnly,\n type\n } = element;\n if (tagName === \"TEXTAREA\" && !readOnly) return true;\n if (tagName === \"SELECT\" && !readOnly) return true;\n\n if (tagName === \"INPUT\" && !readOnly) {\n return alwaysFocusVisibleInputTypes.includes(type);\n }\n\n if (element.isContentEditable) return true;\n return false;\n} // See https://github.com/ariakit/ariakit/issues/1257\n\n\nfunction isAlwaysFocusVisibleDelayed(element) {\n const role = element.getAttribute(\"role\");\n if (role === \"combobox\") return true;\n return false;\n}\n\nfunction getLabels(element) {\n if (\"labels\" in element) {\n return element.labels;\n }\n\n return null;\n}\n\nfunction isNativeCheckboxOrRadio(element) {\n const tagName = element.tagName.toLowerCase();\n\n if (tagName === \"input\" && element.type) {\n return element.type === \"radio\" || element.type === \"checkbox\";\n }\n\n return false;\n}\n\nfunction isNativeTabbable(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\n\nfunction supportsDisabledAttribute(tagName) {\n if (!tagName) return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\n\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n if (!focusable) {\n return tabIndexProp;\n }\n\n if (trulyDisabled) {\n if (nativeTabbable && !supportsDisabled) {\n // Anchor, audio and video tags don't support the `disabled` attribute.\n // We must pass tabIndex={-1} so they don't receive focus on tab.\n return -1;\n } // Elements that support the `disabled` attribute don't need tabIndex.\n\n\n return;\n }\n\n if (nativeTabbable) {\n // If the element is enabled and it's natively tabbable, we don't need to\n // specify a tabIndex attribute unless it's explicitly set by the user.\n return tabIndexProp;\n } // If the element is enabled and is not natively tabbable, we have to\n // fallback tabIndex={0}.\n\n\n return tabIndexProp || 0;\n}\n\nfunction useDisableEvent(onEvent, disabled) {\n return useEvent(event => {\n onEvent == null ? void 0 : onEvent(event);\n if (event.defaultPrevented) return;\n\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n });\n} // isKeyboardModality should be true by defaault.\n\n\nlet isKeyboardModality = true;\n\nfunction onGlobalMouseDown(event) {\n const target = event.target;\n\n if (target && \"hasAttribute\" in target) {\n // If the target element is already focus-visible, we keep the keyboard\n // modality.\n if (!target.hasAttribute(\"data-focus-visible\")) {\n isKeyboardModality = false;\n }\n }\n}\n\nfunction onGlobalKeyDown(event) {\n if (event.metaKey) return;\n if (event.ctrlKey) return;\n isKeyboardModality = true;\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that can be focused.\n * @see https://ariakit.org/components/focusable\n * @example\n * ```jsx\n * const props = useFocusable();\n * Focusable\n * ```\n */\n\n\nconst useFocusable = createHook(_ref => {\n let {\n focusable = true,\n accessibleWhenDisabled,\n autoFocus,\n onFocusVisible,\n ...props\n } = _ref;\n const ref = useRef(null); // Add global event listeners to determine whether the user is using a\n // keyboard to navigate the site or not.\n\n useEffect(() => {\n if (!focusable) return;\n addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n }, [focusable]); // Safari and Firefox on Apple devices don't focus on checkboxes or radio\n // buttons when their labels are clicked. This effect will make sure the\n // focusable element is focused on label click.\n\n if (isSafariBrowser) {\n useEffect(() => {\n if (!focusable) return;\n const element = ref.current;\n if (!element) return;\n if (!isNativeCheckboxOrRadio(element)) return;\n const labels = getLabels(element);\n if (!labels) return;\n\n const onMouseUp = () => queueMicrotask(() => element.focus());\n\n labels.forEach(label => label.addEventListener(\"mouseup\", onMouseUp));\n return () => {\n labels.forEach(label => label.removeEventListener(\"mouseup\", onMouseUp));\n };\n }, [focusable]);\n }\n\n const disabled = focusable && props.disabled;\n const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n const [focusVisible, setFocusVisible] = useState(false); // When the focusable element is disabled, it doesn't trigger a blur event\n // so we can't set focusVisible to false there. Instead, we have to do it\n // here by checking the element's disabled attribute.\n\n useEffect(() => {\n if (!focusable) return;\n\n if (trulyDisabled && focusVisible) {\n setFocusVisible(false);\n }\n }, [focusable, trulyDisabled, focusVisible]); // When an element that has focus becomes hidden, it doesn't trigger a blur\n // event so we can't set focusVisible to false there. We observe the element\n // and check if it's still focusable. Otherwise, we set focusVisible to\n // false.\n\n useEffect(() => {\n if (!focusable) return;\n if (!focusVisible) return;\n const element = ref.current;\n if (!element) return;\n if (typeof IntersectionObserver === \"undefined\") return;\n const observer = new IntersectionObserver(() => {\n if (!isFocusable(element)) {\n setFocusVisible(false);\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [focusable, focusVisible]); // Disable events when the element is disabled.\n\n const onKeyPressCapture = useDisableEvent(props.onKeyPressCapture, disabled);\n const onMouseDownCapture = useDisableEvent(props.onMouseDownCapture, disabled);\n const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent(event => {\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n const element = event.currentTarget; // Safari doesn't focus on buttons on mouse down like other\n // browsers/platforms. Instead, it focuses on the closest focusable\n // ancestor element, which is ultimately the body element. So we make sure\n // to give focus to this Focusable element on mouse down so it works\n // consistently across browsers.\n\n if (!isSafariBrowser) return;\n if (isPortalEvent(event)) return;\n if (!isButton(element) && !isNativeCheckboxOrRadio(element)) return; // In future versions os Safari, it may change this behavior and start\n // focusing on buttons on mouse down. To account for that, we check if the\n // element has received focus before.\n\n let receivedFocus = false;\n\n const onFocus = () => {\n receivedFocus = true;\n };\n\n const options = {\n capture: true,\n once: true\n };\n element.addEventListener(\"focusin\", onFocus, options); // We can't focus right away after on mouse down, otherwise it would\n // prevent drag events from happening. So we queue the focus to the next\n // animation frame, but always before the next mouseup event. The mouseup\n // event might happen before the next animation frame on touch devices or\n // by tapping on a MacBook's trackpad, for example.\n\n queueBeforeEvent(element, \"mouseup\", () => {\n element.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus) return;\n focusIfNeeded(element);\n });\n });\n\n const handleFocusVisible = (event, currentTarget) => {\n if (currentTarget) {\n event.currentTarget = currentTarget;\n }\n\n onFocusVisible == null ? void 0 : onFocusVisible(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n const element = event.currentTarget;\n if (!element) return; // Some extensions like 1password dispatches some keydown events on\n // autofill and immediately moves focus to the next field. That's why we\n // need to check if the current element is still focused.\n\n if (!hasFocus(element)) return;\n setFocusVisible(true);\n };\n\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const onKeyDownCapture = useEvent(event => {\n onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n if (focusVisible) return;\n if (event.metaKey) return;\n if (event.altKey) return;\n if (event.ctrlKey) return;\n if (!isSelfTarget(event)) return;\n const element = event.currentTarget;\n queueMicrotask(() => handleFocusVisible(event, element));\n });\n const onFocusCaptureProp = props.onFocusCapture;\n const onFocusCapture = useEvent(event => {\n onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n if (event.defaultPrevented) return;\n if (!focusable) return;\n\n if (!isSelfTarget(event)) {\n setFocusVisible(false);\n return;\n }\n\n const element = event.currentTarget;\n\n const applyFocusVisible = () => handleFocusVisible(event, element);\n\n if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n queueMicrotask(applyFocusVisible);\n } // See https://github.com/ariakit/ariakit/issues/1257\n else if (isAlwaysFocusVisibleDelayed(event.target)) {\n queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n } else {\n setFocusVisible(false);\n }\n });\n const onBlurProp = props.onBlur; // Note: Can't use onBlurCapture here otherwise it will not work with\n // CompositeItem's with the virtualFocus state set to true.\n\n const onBlur = useEvent(event => {\n onBlurProp == null ? void 0 : onBlurProp(event);\n if (!focusable) return;\n\n if (isFocusEventOutside(event)) {\n setFocusVisible(false);\n }\n }); // The native autoFocus prop is problematic in many ways. For example, when\n // an element has the native autofocus attribute, the focus event will be\n // triggered before React effects (even layout effects) and before refs are\n // assigned. This means we won't have access to the element's ref or\n // anything else that's set up by React effects on the onFocus event. So we\n // don't pass the autoFocus prop to the element and instead manually focus\n // the element when it's mounted. The order in which this effect runs also\n // matters. It must be declared here after all the event callbacks above so\n // the event callback effects run before this one. See\n // https://twitter.com/diegohaz/status/1408180632933388289\n\n useSafeLayoutEffect(() => {\n if (!focusable) return;\n\n if (autoFocus) {\n var _ref$current;\n\n (_ref$current = ref.current) == null ? void 0 : _ref$current.focus();\n }\n }, [focusable, autoFocus]);\n const tagName = useTagName(ref, props.as);\n const nativeTabbable = focusable && isNativeTabbable(tagName);\n const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n const style = trulyDisabled ? {\n pointerEvents: \"none\",\n ...props.style\n } : props.style;\n props = {\n \"data-focus-visible\": focusable && focusVisible ? \"\" : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n ...props,\n ref: useForkRef(ref, props.ref),\n style,\n tabIndex: getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, props.tabIndex),\n disabled: supportsDisabled && trulyDisabled ? true : undefined,\n // TODO: Test Focusable contentEditable.\n contentEditable: disabled ? undefined : props.contentEditable,\n onKeyPressCapture,\n onClickCapture,\n onMouseDownCapture,\n onMouseDown,\n onKeyDownCapture,\n onFocusCapture,\n onBlur\n };\n return props;\n});\n/**\n * A component that renders an element that can be focused.\n * @see https://ariakit.org/components/focusable\n * @example\n * ```jsx\n * Focusable\n * ```\n */\n\nconst Focusable = createComponent(props => {\n props = useFocusable(props);\n return createElement(\"div\", props);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Focusable.displayName = \"Focusable\";\n}\n\nexport { Focusable, useFocusable };","const set = require('regenerate')();\n\nset.addRange(0x0, 0x7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x345, 0x37F, 0x386, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x9B2, 0x9CE, 0x9D7, 0x9FC, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xD4E, 0xDBD, 0xDD6, 0xE4D, 0xE84, 0xEA5, 0xEC6, 0xECD, 0xF00, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8C5, 0xA8FB, 0xA9CF, 0xAAC0, 0xAAC2, 0xFB3E, 0x10808, 0x1083C, 0x10F27, 0x110C2, 0x11176, 0x111DA, 0x111DC, 0x11237, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11640, 0x11644, 0x116B8, 0x11909, 0x119E1, 0x11A9D, 0x11C40, 0x11D3A, 0x11D43, 0x11D98, 0x11FB0, 0x16FE3, 0x1BC9E, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E947, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5B0, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x657).addRange(0x659, 0x65F).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6E1, 0x6E8).addRange(0x6ED, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x710, 0x73F).addRange(0x74D, 0x7B1).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x817).addRange(0x81A, 0x82C).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x8D4, 0x8DF).addRange(0x8E3, 0x8E9).addRange(0x8F0, 0x93B).addRange(0x93D, 0x94C).addRange(0x94E, 0x950).addRange(0x955, 0x963).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8);\nset.addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BD, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9F0, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4C).addRange(0xA59, 0xA5C).addRange(0xA70, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE3).addRange(0xAF9, 0xAFC).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3D, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB56, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A);\nset.addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC00, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3D, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4C).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCC).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3D, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB9).addRange(0xEBB, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF81).addRange(0xF88, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1036).addRange(0x103B, 0x103F).addRange(0x1050, 0x108F).addRange(0x109A, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1713).addRange(0x171F, 0x1733).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17B3).addRange(0x17B6, 0x17C8).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);\nset.addRange(0x1920, 0x192B).addRange(0x1930, 0x1938).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A61, 0x1A74).addRange(0x1ABF, 0x1AC0).addRange(0x1ACC, 0x1ACE).addRange(0x1B00, 0x1B33).addRange(0x1B35, 0x1B43).addRange(0x1B45, 0x1B4C).addRange(0x1B80, 0x1BA9).addRange(0x1BAC, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1BE7, 0x1BF1).addRange(0x1C00, 0x1C36).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1DE7, 0x1DF4).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);\nset.addRange(0x2160, 0x2188).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA674, 0xA67B).addRange(0xA67F, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA805).addRange(0xA807, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FF).addRange(0xA90A, 0xA92A).addRange(0xA930, 0xA952);\nset.addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9B2).addRange(0xA9B4, 0xA9BF).addRange(0xA9E0, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAABE).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D);\nset.addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7);\nset.addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11045).addRange(0x11071, 0x11075).addRange(0x11082, 0x110B8).addRange(0x110D0, 0x110E8).addRange(0x11100, 0x11132).addRange(0x11144, 0x11147).addRange(0x11150, 0x11172).addRange(0x11180, 0x111BF).addRange(0x111C1, 0x111C4).addRange(0x111CE, 0x111CF).addRange(0x11200, 0x11211).addRange(0x11213, 0x11234).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112E8).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133D, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134C).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11441).addRange(0x11443, 0x11445).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114C1).addRange(0x114C4, 0x114C5);\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115BE).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x1163E).addRange(0x11680, 0x116B5).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172A).addRange(0x11740, 0x11746).addRange(0x11800, 0x11838).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193C).addRange(0x1193F, 0x11942).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119DF).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A32).addRange(0x11A35, 0x11A3E).addRange(0x11A50, 0x11A97).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C3E).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D41).addRange(0x11D46, 0x11D47).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D96).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E);\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8);\nset.addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x0, 0x10FFFF);\nmodule.exports = set;","const set = require('regenerate')(0x38C, 0x85E, 0x9B2, 0x9D7, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1940, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA7D3, 0xFB3E, 0xFDCF, 0xFEFF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x110CD, 0x11288, 0x11350, 0x11357, 0x11909, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0, 0xE0001);\n\nset.addRange(0x0, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x600, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x82D).addRange(0x830, 0x83E).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0);\nset.addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9);\nset.addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE3A).addRange(0xE3F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5);\nset.addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1736).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A1B).addRange(0x1A1E, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E).addRange(0x1B80, 0x1BF3).addRange(0x1BFC, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CD0, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D);\nset.addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x2000, 0x2064).addRange(0x2066, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x20D0, 0x20F0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x303F).addRange(0x3041, 0x3096).addRange(0x3099, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1);\nset.addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA82C).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9).addRange(0xA8E0, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAAC2).addRange(0xAADB, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xD800, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFE19).addRange(0xFE20, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);\nset.addRange(0xFFF9, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FD).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E0, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B);\nset.addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F59).addRange(0x10F70, 0x10F89).addRange(0x10FB0, 0x10FCB).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075).addRange(0x1107F, 0x110C2).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147).addRange(0x11150, 0x11176).addRange(0x11180, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112EA);\nset.addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746).addRange(0x11800, 0x1183B).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4).addRange(0x11A00, 0x11A47).addRange(0x11A50, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF8).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5).addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C);\nset.addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D1EA).addRange(0x1D200, 0x1D245).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C);\nset.addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nmodule.exports = set;","const set = require('regenerate')(0x61C);\n\nset.addRange(0x200E, 0x200F).addRange(0x202A, 0x202E).addRange(0x2066, 0x2069);\nmodule.exports = set;","const set = require('regenerate')(0x3C, 0x3E, 0x5B, 0x5D, 0x7B, 0x7D, 0xAB, 0xBB, 0x2140, 0x2211, 0x2224, 0x2226, 0x2239, 0x2262, 0x2298, 0x27C0, 0x29B8, 0x29C9, 0x29E1, 0x2A24, 0x2A26, 0x2A29, 0x2ADC, 0x2ADE, 0x2AF3, 0x2AFD, 0x2BFE, 0xFF1C, 0xFF1E, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x1D6DB, 0x1D715, 0x1D74F, 0x1D789, 0x1D7C3);\n\nset.addRange(0x28, 0x29).addRange(0xF3A, 0xF3D).addRange(0x169B, 0x169C).addRange(0x2039, 0x203A).addRange(0x2045, 0x2046).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2201, 0x2204).addRange(0x2208, 0x220D).addRange(0x2215, 0x2216).addRange(0x221A, 0x221D).addRange(0x221F, 0x2222).addRange(0x222B, 0x2233).addRange(0x223B, 0x224C).addRange(0x2252, 0x2255).addRange(0x225F, 0x2260).addRange(0x2264, 0x226B).addRange(0x226E, 0x228C).addRange(0x228F, 0x2292).addRange(0x22A2, 0x22A3).addRange(0x22A6, 0x22B8).addRange(0x22BE, 0x22BF).addRange(0x22C9, 0x22CD).addRange(0x22D0, 0x22D1).addRange(0x22D6, 0x22ED).addRange(0x22F0, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C3, 0x27C6).addRange(0x27C8, 0x27C9).addRange(0x27CB, 0x27CD).addRange(0x27D3, 0x27D6).addRange(0x27DC, 0x27DE).addRange(0x27E2, 0x27EF).addRange(0x2983, 0x2998).addRange(0x299B, 0x29A0).addRange(0x29A2, 0x29AF).addRange(0x29C0, 0x29C5).addRange(0x29CE, 0x29D2).addRange(0x29D4, 0x29D5).addRange(0x29D8, 0x29DC).addRange(0x29E3, 0x29E5).addRange(0x29E8, 0x29E9).addRange(0x29F4, 0x29F9).addRange(0x29FC, 0x29FD).addRange(0x2A0A, 0x2A1C).addRange(0x2A1E, 0x2A21).addRange(0x2A2B, 0x2A2E).addRange(0x2A34, 0x2A35);\nset.addRange(0x2A3C, 0x2A3E).addRange(0x2A57, 0x2A58).addRange(0x2A64, 0x2A65).addRange(0x2A6A, 0x2A6D).addRange(0x2A6F, 0x2A70).addRange(0x2A73, 0x2A74).addRange(0x2A79, 0x2AA3).addRange(0x2AA6, 0x2AAD).addRange(0x2AAF, 0x2AD6).addRange(0x2AE2, 0x2AE6).addRange(0x2AEC, 0x2AEE).addRange(0x2AF7, 0x2AFB).addRange(0x2E02, 0x2E05).addRange(0x2E09, 0x2E0A).addRange(0x2E0C, 0x2E0D).addRange(0x2E1C, 0x2E1D).addRange(0x2E20, 0x2E29).addRange(0x2E55, 0x2E5C).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xFE59, 0xFE5E).addRange(0xFE64, 0xFE65).addRange(0xFF08, 0xFF09).addRange(0xFF5F, 0xFF60).addRange(0xFF62, 0xFF63);\nmodule.exports = set;","const set = require('regenerate')(0x27, 0x2E, 0x3A, 0x5E, 0x60, 0xA8, 0xAD, 0xAF, 0xB4, 0x37A, 0x387, 0x559, 0x55F, 0x5BF, 0x5C7, 0x5F4, 0x61C, 0x640, 0x670, 0x70F, 0x711, 0x7FA, 0x7FD, 0x888, 0x93A, 0x93C, 0x94D, 0x971, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xEC6, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x10FC, 0x17C6, 0x17D7, 0x17DD, 0x1843, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1AA7, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x1D78, 0x1FBD, 0x2024, 0x2027, 0x2071, 0x207F, 0x2D6F, 0x2D7F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9CF, 0xAA43, 0xAA4C, 0xAA70, 0xAA7C, 0xAAB0, 0xAAC1, 0xAADD, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0xFE13, 0xFE52, 0xFE55, 0xFEFF, 0xFF07, 0xFF0E, 0xFF1A, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110BD, 0x110C2, 0x110CD, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x1DA75, 0x1DA84, 0x1E2AE, 0xE0001);\n\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x36F).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x600, 0x605).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DD).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x816, 0x82D).addRange(0x859, 0x85B).addRange(0x890, 0x891).addRange(0x898, 0x89F).addRange(0x8C9, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE46, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180F).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x200B, 0x200F).addRange(0x2018, 0x2019).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20F0).addRange(0x2C7C, 0x2C7D).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3031, 0x3035).addRange(0x3099, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69C, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xA9E5, 0xA9E6).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xAAF3, 0xAAF4).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B);\nset.addRange(0xFBB2, 0xFBC2).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0xFFF9, 0xFFFB).addRange(0x10376, 0x1037A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B);\nset.addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x13430, 0x13438).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1BC9D, 0x1BC9E).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D173, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nset.addRange(0x1E130, 0x1E13D).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94B).addRange(0x1F3FB, 0x1F3FF).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0x10780, 0x1D4A2, 0x1D4BB, 0x1D546);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149);\nset.addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69D).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514);\nset.addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E900, 0x1E943).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x345, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D1).addRange(0x3D5, 0x3D6).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4);\nset.addRange(0x1FB7, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC7, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x1BF, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1D79, 0x1D7D, 0x1D8E, 0x1E9E, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2126, 0x2132, 0x214E, 0x2D27, 0x2D2D, 0xAB53);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x137).addRange(0x139, 0x18C).addRange(0x18E, 0x19A).addRange(0x19C, 0x1A9).addRange(0x1AC, 0x1B9).addRange(0x1BC, 0x1BD).addRange(0x1C4, 0x220).addRange(0x222, 0x233).addRange(0x23A, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3D1).addRange(0x3D5, 0x3F5).addRange(0x3F7, 0x3FB).addRange(0x3FD, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x561, 0x587).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1E00, 0x1E9B).addRange(0x1EA0, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC);\nset.addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x212A, 0x212B).addRange(0x2160, 0x217F).addRange(0x2183, 0x2184).addRange(0x24B6, 0x24E9).addRange(0x2C00, 0x2C70).addRange(0x2C72, 0x2C73).addRange(0x2C75, 0x2C76).addRange(0x2C7E, 0x2CE3).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA72F).addRange(0xA732, 0xA76F).addRange(0xA779, 0xA787).addRange(0xA78B, 0xA78D).addRange(0xA790, 0xA794).addRange(0xA796, 0xA7AE).addRange(0xA7B0, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D6, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1E900, 0x1E943);\nset;\nmodule.exports = set;","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2126, 0x2132, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1C5).addRange(0x1C7, 0x1C8).addRange(0x1CA, 0x1CB).addRange(0x1F1, 0x1F2).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF).addRange(0x1FB8, 0x1FBC).addRange(0x1FC8, 0x1FCC).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFC).addRange(0x212A, 0x212B);\nset.addRange(0x2160, 0x216F).addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","const set = require('regenerate')(0xA0, 0xA8, 0xAA, 0xAD, 0xAF, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x136, 0x139, 0x13B, 0x13D, 0x143, 0x145, 0x147, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x17F, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x34F, 0x370, 0x372, 0x374, 0x376, 0x37A, 0x38C, 0x3C2, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x587, 0x61C, 0x9DF, 0xA33, 0xA36, 0xA5E, 0xE33, 0xEB3, 0xF0C, 0xF43, 0xF4D, 0xF52, 0xF57, 0xF5C, 0xF69, 0xF73, 0xF81, 0xF93, 0xF9D, 0xFA2, 0xFA7, 0xFAC, 0xFB9, 0x10C7, 0x10CD, 0x10FC, 0x1D78, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x1F71, 0x1F73, 0x1F75, 0x1F77, 0x1F79, 0x1F7B, 0x1F7D, 0x1FD3, 0x1FE3, 0x2011, 0x2017, 0x203C, 0x203E, 0x2057, 0x20A8, 0x2124, 0x2126, 0x2128, 0x2183, 0x2189, 0x2A0C, 0x2ADC, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0x2D6F, 0x2E9F, 0x2EF3, 0x3000, 0x3036, 0x309F, 0x30FF, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA770, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xAB69, 0xFA10, 0xFA12, 0xFA20, 0xFA22, 0xFB1D, 0xFB3E, 0xFE74, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F190);\n\nset.addRange(0x41, 0x5A).addRange(0xB2, 0xB5).addRange(0xB8, 0xBA).addRange(0xBC, 0xBE).addRange(0xC0, 0xD6).addRange(0xD8, 0xDF).addRange(0x132, 0x134).addRange(0x13F, 0x141).addRange(0x149, 0x14A).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1C4, 0x1CD).addRange(0x1F1, 0x1F4).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x2B0, 0x2B8).addRange(0x2D8, 0x2DD).addRange(0x2E0, 0x2E4).addRange(0x340, 0x341).addRange(0x343, 0x345).addRange(0x37E, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3CF, 0x3D6).addRange(0x3F0, 0x3F2).addRange(0x3F4, 0x3F5).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x675, 0x678).addRange(0x958, 0x95F).addRange(0x9DC, 0x9DD).addRange(0xA59, 0xA5B).addRange(0xB5C, 0xB5D).addRange(0xEDC, 0xEDD);\nset.addRange(0xF75, 0xF79).addRange(0x10A0, 0x10C5).addRange(0x115F, 0x1160).addRange(0x13F8, 0x13FD).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D2C, 0x1D2E).addRange(0x1D30, 0x1D3A).addRange(0x1D3C, 0x1D4D).addRange(0x1D4F, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x1E9A, 0x1E9B).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1F80, 0x1FAF).addRange(0x1FB2, 0x1FB4).addRange(0x1FB7, 0x1FC4).addRange(0x1FC7, 0x1FCF).addRange(0x1FD8, 0x1FDB).addRange(0x1FDD, 0x1FDF).addRange(0x1FE8, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF7, 0x1FFE).addRange(0x2000, 0x200F).addRange(0x2024, 0x2026).addRange(0x202A, 0x202F).addRange(0x2033, 0x2034).addRange(0x2036, 0x2037).addRange(0x2047, 0x2049).addRange(0x205F, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x2100, 0x2103).addRange(0x2105, 0x2107).addRange(0x2109, 0x2113).addRange(0x2115, 0x2116).addRange(0x2119, 0x211D).addRange(0x2120, 0x2122).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213B, 0x2140).addRange(0x2145, 0x2149).addRange(0x2150, 0x217F).addRange(0x222C, 0x222D);\nset.addRange(0x222F, 0x2230).addRange(0x2329, 0x232A).addRange(0x2460, 0x24EA).addRange(0x2A74, 0x2A76).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7C, 0x2C80).addRange(0x2F00, 0x2FD5).addRange(0x3038, 0x303A).addRange(0x309B, 0x309C).addRange(0x3131, 0x318E).addRange(0x3192, 0x319F).addRange(0x3200, 0x321E).addRange(0x3220, 0x3247).addRange(0x3250, 0x327E).addRange(0x3280, 0x33FF).addRange(0xA69C, 0xA69D).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xA7F2, 0xA7F5).addRange(0xA7F8, 0xA7F9).addRange(0xAB5C, 0xAB5F).addRange(0xAB70, 0xABBF).addRange(0xF900, 0xFA0D).addRange(0xFA15, 0xFA1E).addRange(0xFA25, 0xFA26).addRange(0xFA2A, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFC).addRange(0xFE00, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE72).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF0, 0xFFF8).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10781, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D15E, 0x1D164).addRange(0x1D173, 0x1D17A).addRange(0x1D1BB, 0x1D1C0).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E900, 0x1E921).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72);\nset.addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1F100, 0x1F10A).addRange(0x1F110, 0x1F12E).addRange(0x1F130, 0x1F14F).addRange(0x1F16A, 0x1F16C).addRange(0x1F200, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1FBF0, 0x1FBF9).addRange(0x2F800, 0x2FA1D).addRange(0xE0000, 0xE0FFF);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1C4, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C6, 0x1C7).addRange(0x1C9, 0x1CA).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F1).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4);\nset.addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x18C, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1B9, 0x1BD, 0x1BF, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x233, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x259, 0x263, 0x26F, 0x275, 0x27D, 0x280, 0x292, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x3FB, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1D79, 0x1D7D, 0x1D8E, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBC, 0x1FBE, 0x1FCC, 0x1FFC, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C73, 0x2C76, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CE3, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA72F, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D7, 0xA7D9, 0xA7F6, 0xAB53);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x199, 0x19A).addRange(0x1C5, 0x1C6).addRange(0x1C8, 0x1C9).addRange(0x1CB, 0x1CC).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x1F2, 0x1F3).addRange(0x23F, 0x240).addRange(0x24F, 0x254).addRange(0x256, 0x257).addRange(0x25B, 0x25C).addRange(0x260, 0x261).addRange(0x265, 0x266).addRange(0x268, 0x26C).addRange(0x271, 0x272).addRange(0x282, 0x283).addRange(0x287, 0x28C).addRange(0x29D, 0x29E).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x561, 0x587).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1E95, 0x1E9B).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7).addRange(0x1FE0, 0x1FE7);\nset.addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2D00, 0x2D25).addRange(0xA793, 0xA794).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2053, 0x207B, 0x208B, 0x2212, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\n\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nmodule.exports = set;","const set = require('regenerate')(0xAD, 0x34F, 0x61C, 0x3164, 0xFEFF, 0xFFA0);\n\nset.addRange(0x115F, 0x1160).addRange(0x17B4, 0x17B5).addRange(0x180B, 0x180F).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0xFE00, 0xFE0F).addRange(0xFFF0, 0xFFF8).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0000, 0xE0FFF);\nmodule.exports = set;","const set = require('regenerate')(0x149, 0x673, 0xF77, 0xF79, 0xE0001);\n\nset.addRange(0x17A3, 0x17A4).addRange(0x206A, 0x206F).addRange(0x2329, 0x232A);\nmodule.exports = set;","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0x37A, 0x559, 0x5BF, 0x5C4, 0x93C, 0x94D, 0x971, 0x9BC, 0x9CD, 0xA3C, 0xA4D, 0xABC, 0xACD, 0xB3C, 0xB4D, 0xB55, 0xBCD, 0xC3C, 0xC4D, 0xCBC, 0xCCD, 0xD4D, 0xDCA, 0xE4E, 0xEBA, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1037, 0x108F, 0x17DD, 0x1A7F, 0x1B34, 0x1B44, 0x1CED, 0x1CF4, 0x1FBD, 0x2E2F, 0x30FC, 0xA66F, 0xA67F, 0xA8C4, 0xA953, 0xA9B3, 0xA9C0, 0xA9E5, 0xAAF6, 0xFB1E, 0xFF3E, 0xFF40, 0xFF70, 0xFFE3, 0x102E0, 0x11046, 0x11070, 0x11173, 0x111C0, 0x1133C, 0x1134D, 0x11442, 0x11446, 0x1163F, 0x1172B, 0x11943, 0x119E0, 0x11A34, 0x11A47, 0x11A99, 0x11C3F, 0x11D42, 0x11D97, 0x1E2AE);\n\nset.addRange(0xB7, 0xB8).addRange(0x2B0, 0x34E).addRange(0x350, 0x357).addRange(0x35D, 0x362).addRange(0x374, 0x375).addRange(0x384, 0x385).addRange(0x483, 0x487).addRange(0x591, 0x5A1).addRange(0x5A3, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x64B, 0x652).addRange(0x657, 0x658).addRange(0x6DF, 0x6E0).addRange(0x6E5, 0x6E6).addRange(0x6EA, 0x6EC).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F5).addRange(0x818, 0x819).addRange(0x898, 0x89F).addRange(0x8C9, 0x8D2).addRange(0x8E3, 0x8FE).addRange(0x951, 0x954).addRange(0xAFD, 0xAFF).addRange(0xD3B, 0xD3C).addRange(0xE47, 0xE4C).addRange(0xEC8, 0xECC).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF82, 0xF84).addRange(0xF86, 0xF87).addRange(0x1039, 0x103A).addRange(0x1063, 0x1064).addRange(0x1069, 0x106D).addRange(0x1087, 0x108D).addRange(0x109A, 0x109B).addRange(0x135D, 0x135F).addRange(0x1714, 0x1715).addRange(0x17C9, 0x17D3).addRange(0x1939, 0x193B).addRange(0x1A75, 0x1A7C).addRange(0x1AB0, 0x1ABE).addRange(0x1AC1, 0x1ACB).addRange(0x1B6B, 0x1B73).addRange(0x1BAA, 0x1BAB).addRange(0x1C36, 0x1C37).addRange(0x1C78, 0x1C7D).addRange(0x1CD0, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1D2C, 0x1D6A).addRange(0x1DC4, 0x1DCF);\nset.addRange(0x1DF5, 0x1DFF).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x2CEF, 0x2CF1).addRange(0x302A, 0x302F).addRange(0x3099, 0x309C).addRange(0xA67C, 0xA67D).addRange(0xA69C, 0xA69D).addRange(0xA6F0, 0xA6F1).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA7F8, 0xA7F9).addRange(0xA8E0, 0xA8F1).addRange(0xA92B, 0xA92E).addRange(0xAA7B, 0xAA7D).addRange(0xAABF, 0xAAC2).addRange(0xAB5B, 0xAB5F).addRange(0xAB69, 0xAB6B).addRange(0xABEC, 0xABED).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10AE5, 0x10AE6).addRange(0x10D22, 0x10D27).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x110B9, 0x110BA).addRange(0x11133, 0x11134).addRange(0x111CA, 0x111CC).addRange(0x11235, 0x11236).addRange(0x112E9, 0x112EA).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x114C2, 0x114C3).addRange(0x115BF, 0x115C0).addRange(0x116B6, 0x116B7).addRange(0x11839, 0x1183A).addRange(0x1193D, 0x1193E).addRange(0x11D44, 0x11D45).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F9F).addRange(0x16FF0, 0x16FF1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE);\nset.addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E946).addRange(0x1E948, 0x1E94A);\nmodule.exports = set;","const set = require('regenerate')(0x23, 0x2A, 0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x260E, 0x2611, 0x2618, 0x261D, 0x2620, 0x2626, 0x262A, 0x2640, 0x2642, 0x2663, 0x2668, 0x267B, 0x2699, 0x26A7, 0x26C8, 0x26D1, 0x26FD, 0x2702, 0x2705, 0x270F, 0x2712, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F21A, 0x1F22F, 0x1F587, 0x1F590, 0x1F5A8, 0x1F5BC, 0x1F5E1, 0x1F5E3, 0x1F5E8, 0x1F5EF, 0x1F5F3, 0x1F6E9, 0x1F6F0, 0x1F7F0);\n\nset.addRange(0x30, 0x39).addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2604).addRange(0x2614, 0x2615).addRange(0x2622, 0x2623).addRange(0x262E, 0x262F).addRange(0x2638, 0x263A).addRange(0x2648, 0x2653).addRange(0x265F, 0x2660).addRange(0x2665, 0x2666).addRange(0x267E, 0x267F).addRange(0x2692, 0x2697).addRange(0x269B, 0x269C).addRange(0x26A0, 0x26A1).addRange(0x26AA, 0x26AB).addRange(0x26B0, 0x26B1).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26CE, 0x26CF).addRange(0x26D3, 0x26D4).addRange(0x26E9, 0x26EA).addRange(0x26F0, 0x26F5).addRange(0x26F7, 0x26FA).addRange(0x2708, 0x270D).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2764).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F170, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F232, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F321).addRange(0x1F324, 0x1F393).addRange(0x1F396, 0x1F397).addRange(0x1F399, 0x1F39B).addRange(0x1F39E, 0x1F3F0).addRange(0x1F3F3, 0x1F3F5).addRange(0x1F3F7, 0x1F4FD);\nset.addRange(0x1F4FF, 0x1F53D).addRange(0x1F549, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F56F, 0x1F570).addRange(0x1F573, 0x1F57A).addRange(0x1F58A, 0x1F58D).addRange(0x1F595, 0x1F596).addRange(0x1F5A4, 0x1F5A5).addRange(0x1F5B1, 0x1F5B2).addRange(0x1F5C2, 0x1F5C4).addRange(0x1F5D1, 0x1F5D3).addRange(0x1F5DC, 0x1F5DE).addRange(0x1F5FA, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6CB, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DD, 0x1F6E5).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F3, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6);\nmodule.exports = set;","const set = require('regenerate')(0x23, 0x2A, 0x200D, 0x20E3, 0xFE0F);\n\nset.addRange(0x30, 0x39).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F3FB, 0x1F3FF).addRange(0x1F9B0, 0x1F9B3).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1F3FB, 0x1F3FF);\nmodule.exports = set;","const set = require('regenerate')(0x261D, 0x26F9, 0x1F385, 0x1F3C7, 0x1F47C, 0x1F48F, 0x1F491, 0x1F4AA, 0x1F57A, 0x1F590, 0x1F6A3, 0x1F6C0, 0x1F6CC, 0x1F90C, 0x1F90F, 0x1F926, 0x1F977, 0x1F9BB);\n\nset.addRange(0x270A, 0x270D).addRange(0x1F3C2, 0x1F3C4).addRange(0x1F3CA, 0x1F3CC).addRange(0x1F442, 0x1F443).addRange(0x1F446, 0x1F450).addRange(0x1F466, 0x1F478).addRange(0x1F481, 0x1F483).addRange(0x1F485, 0x1F487).addRange(0x1F574, 0x1F575).addRange(0x1F595, 0x1F596).addRange(0x1F645, 0x1F647).addRange(0x1F64B, 0x1F64F).addRange(0x1F6B4, 0x1F6B6).addRange(0x1F918, 0x1F91F).addRange(0x1F930, 0x1F939).addRange(0x1F93C, 0x1F93E).addRange(0x1F9B5, 0x1F9B6).addRange(0x1F9B8, 0x1F9B9).addRange(0x1F9CD, 0x1F9CF).addRange(0x1F9D1, 0x1F9DD).addRange(0x1FAC3, 0x1FAC5).addRange(0x1FAF0, 0x1FAF6);\nmodule.exports = set;","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\n\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DD, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6);\nset;\nmodule.exports = set;","const set = require('regenerate')(0xA9, 0xAE, 0x203C, 0x2049, 0x2122, 0x2139, 0x2328, 0x2388, 0x23CF, 0x24C2, 0x25B6, 0x25C0, 0x2714, 0x2716, 0x271D, 0x2721, 0x2728, 0x2744, 0x2747, 0x274C, 0x274E, 0x2757, 0x27A1, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x3030, 0x303D, 0x3297, 0x3299, 0x1F12F, 0x1F18E, 0x1F21A, 0x1F22F);\n\nset.addRange(0x2194, 0x2199).addRange(0x21A9, 0x21AA).addRange(0x231A, 0x231B).addRange(0x23E9, 0x23F3).addRange(0x23F8, 0x23FA).addRange(0x25AA, 0x25AB).addRange(0x25FB, 0x25FE).addRange(0x2600, 0x2605).addRange(0x2607, 0x2612).addRange(0x2614, 0x2685).addRange(0x2690, 0x2705).addRange(0x2708, 0x2712).addRange(0x2733, 0x2734).addRange(0x2753, 0x2755).addRange(0x2763, 0x2767).addRange(0x2795, 0x2797).addRange(0x2934, 0x2935).addRange(0x2B05, 0x2B07).addRange(0x2B1B, 0x2B1C).addRange(0x1F000, 0x1F0FF).addRange(0x1F10D, 0x1F10F).addRange(0x1F16C, 0x1F171).addRange(0x1F17E, 0x1F17F).addRange(0x1F191, 0x1F19A).addRange(0x1F1AD, 0x1F1E5).addRange(0x1F201, 0x1F20F).addRange(0x1F232, 0x1F23A).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F3FA).addRange(0x1F400, 0x1F53D).addRange(0x1F546, 0x1F64F).addRange(0x1F680, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D5, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8FF).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1FAFF).addRange(0x1FC00, 0x1FFFD);\nmodule.exports = set;","const set = require('regenerate')(0xB7, 0x640, 0x7FA, 0xB55, 0xE46, 0xEC6, 0x180A, 0x1843, 0x1AA7, 0x1C36, 0x1C7B, 0x3005, 0xA015, 0xA60C, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xFF70, 0x1135D, 0x11A98, 0x16FE3);\n\nset.addRange(0x2D0, 0x2D1).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xAAF3, 0xAAF4).addRange(0x10781, 0x10782).addRange(0x115C6, 0x115C8).addRange(0x16B42, 0x16B43).addRange(0x16FE0, 0x16FE1).addRange(0x1E13C, 0x1E13D).addRange(0x1E944, 0x1E946);\nmodule.exports = set;","const set = require('regenerate')(0x38C, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6DE, 0x6E9, 0x710, 0x7B1, 0x81A, 0x824, 0x828, 0x85E, 0x93B, 0x9B2, 0x9BD, 0x9CE, 0xA03, 0xA5E, 0xA76, 0xA83, 0xAC9, 0xAD0, 0xAF9, 0xB3D, 0xB40, 0xB83, 0xB9C, 0xBBF, 0xBD0, 0xC3D, 0xC5D, 0xD3D, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF36, 0xF38, 0xF7F, 0xF85, 0x1031, 0x1038, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x1715, 0x17B6, 0x18AA, 0x1940, 0x1A57, 0x1A61, 0x1B3B, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CD3, 0x1CE1, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x2D27, 0x2D2D, 0xA673, 0xA7D3, 0xAA4D, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFDCF, 0x101A0, 0x10808, 0x1083C, 0x1093F, 0x10EAD, 0x11000, 0x11075, 0x1112C, 0x11235, 0x11288, 0x1133D, 0x1133F, 0x11350, 0x11445, 0x1145D, 0x114B9, 0x114BE, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1183B, 0x11909, 0x1193D, 0x11A00, 0x11A50, 0x11A97, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D46, 0x11D96, 0x11D98, 0x11FB0, 0x16AF5, 0x1BC9C, 0x1BC9F, 0x1D166, 0x1D245, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E2FF, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E, 0x1F7F0);\n\nset.addRange(0x20, 0x7E).addRange(0xA0, 0xAC).addRange(0xAE, 0x2FF).addRange(0x370, 0x377).addRange(0x37A, 0x37F).addRange(0x384, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x482).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0x606, 0x60F).addRange(0x61D, 0x64A).addRange(0x660, 0x66F).addRange(0x671, 0x6D5).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x70D).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7C0, 0x7EA).addRange(0x7F4, 0x7FA).addRange(0x7FE, 0x815).addRange(0x830, 0x83E).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x903, 0x939).addRange(0x93D, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x950).addRange(0x958, 0x961).addRange(0x964, 0x980).addRange(0x982, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BF, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9E6, 0x9FD).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28);\nset.addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA40).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA6F).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABD, 0xAC0).addRange(0xACB, 0xACC).addRange(0xAE0, 0xAE1).addRange(0xAE6, 0xAF1).addRange(0xB02, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB66, 0xB77).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xBE6, 0xBFA).addRange(0xC01, 0xC03).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC41, 0xC44).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC66, 0xC6F);\nset.addRange(0xC77, 0xC80).addRange(0xC82, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBD, 0xCBE).addRange(0xCC0, 0xCC1).addRange(0xCC3, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD02, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD3F, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD4E, 0xD4F).addRange(0xD54, 0xD56).addRange(0xD58, 0xD61).addRange(0xD66, 0xD7F).addRange(0xD82, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDD0, 0xDD1).addRange(0xDD8, 0xDDE).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE3F, 0xE46).addRange(0xE4F, 0xE5B).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF00, 0xF17).addRange(0xF1A, 0xF34).addRange(0xF3A, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C);\nset.addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFDA).addRange(0x1000, 0x102C).addRange(0x103B, 0x103C).addRange(0x103F, 0x1057).addRange(0x105A, 0x105D).addRange(0x1061, 0x1070).addRange(0x1075, 0x1081).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x108E, 0x109C).addRange(0x109E, 0x10C5).addRange(0x10D0, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1360, 0x137C).addRange(0x1380, 0x1399).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1400, 0x169C).addRange(0x16A0, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1734, 0x1736).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x17D4, 0x17DC).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1800, 0x180A).addRange(0x1810, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5);\nset.addRange(0x1900, 0x191E).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1944, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x1A16).addRange(0x1A19, 0x1A1A).addRange(0x1A1E, 0x1A55).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD).addRange(0x1B04, 0x1B33).addRange(0x1B3D, 0x1B41).addRange(0x1B43, 0x1B4C).addRange(0x1B50, 0x1B6A).addRange(0x1B74, 0x1B7E).addRange(0x1B82, 0x1BA1).addRange(0x1BA6, 0x1BA7).addRange(0x1BAE, 0x1BE5).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1BFC, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CC7).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE);\nset.addRange(0x2000, 0x200A).addRange(0x2010, 0x2027).addRange(0x202F, 0x205F).addRange(0x2070, 0x2071).addRange(0x2074, 0x208E).addRange(0x2090, 0x209C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2CF9, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2E00, 0x2E5D).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3029).addRange(0x3030, 0x303F).addRange(0x3041, 0x3096).addRange(0x309B, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x3190, 0x31E3).addRange(0x31F0, 0x321E).addRange(0x3220, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xA4D0, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67E, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA6F2, 0xA6F7).addRange(0xA700, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805);\nset.addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA824).addRange(0xA827, 0xA82B).addRange(0xA830, 0xA839).addRange(0xA840, 0xA877).addRange(0xA880, 0xA8C3).addRange(0xA8CE, 0xA8D9).addRange(0xA8F2, 0xA8FE).addRange(0xA900, 0xA925).addRange(0xA92E, 0xA946).addRange(0xA952, 0xA953).addRange(0xA95F, 0xA97C).addRange(0xA983, 0xA9B2).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9E4).addRange(0xA9E6, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA7B).addRange(0xAA7D, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAAEB).addRange(0xAAEE, 0xAAF5).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB6B).addRange(0xAB70, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEC).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41);\nset.addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF01, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x102E1, 0x102FB).addRange(0x10300, 0x10323).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x1039F, 0x103C3).addRange(0x103C8, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x1056F, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595);\nset.addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10857, 0x1089E).addRange(0x108A7, 0x108AF).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x1091B).addRange(0x1091F, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x10A00).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A40, 0x10A48).addRange(0x10A50, 0x10A58).addRange(0x10A60, 0x10A9F).addRange(0x10AC0, 0x10AE4).addRange(0x10AEB, 0x10AF6).addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B55).addRange(0x10B58, 0x10B72).addRange(0x10B78, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10D23).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F27).addRange(0x10F30, 0x10F45).addRange(0x10F51, 0x10F59).addRange(0x10F70, 0x10F81).addRange(0x10F86, 0x10F89).addRange(0x10FB0, 0x10FCB);\nset.addRange(0x10FE0, 0x10FF6).addRange(0x11002, 0x11037).addRange(0x11047, 0x1104D).addRange(0x11052, 0x1106F).addRange(0x11071, 0x11072).addRange(0x11082, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11103, 0x11126).addRange(0x11136, 0x11147).addRange(0x11150, 0x11172).addRange(0x11174, 0x11176).addRange(0x11182, 0x111B5).addRange(0x111BF, 0x111C8).addRange(0x111CD, 0x111CE).addRange(0x111D0, 0x111DF).addRange(0x111E1, 0x111F4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122E).addRange(0x11232, 0x11233).addRange(0x11238, 0x1123D).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9).addRange(0x112B0, 0x112DE).addRange(0x112E0, 0x112E2).addRange(0x112F0, 0x112F9).addRange(0x11302, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11400, 0x11437).addRange(0x11440, 0x11441).addRange(0x11447, 0x1145B).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114B1, 0x114B2).addRange(0x114BB, 0x114BC).addRange(0x114C4, 0x114C7).addRange(0x114D0, 0x114D9);\nset.addRange(0x11580, 0x115AE).addRange(0x115B0, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x115C1, 0x115DB).addRange(0x11600, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x11641, 0x11644).addRange(0x11650, 0x11659).addRange(0x11660, 0x1166C).addRange(0x11680, 0x116AA).addRange(0x116AE, 0x116AF).addRange(0x116B8, 0x116B9).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x11720, 0x11721).addRange(0x11730, 0x11746).addRange(0x11800, 0x1182E).addRange(0x118A0, 0x118F2).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x11931, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193F, 0x11942).addRange(0x11944, 0x11946).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x119E1, 0x119E4).addRange(0x11A0B, 0x11A32).addRange(0x11A39, 0x11A3A).addRange(0x11A3F, 0x11A46).addRange(0x11A57, 0x11A58).addRange(0x11A5C, 0x11A89).addRange(0x11A9A, 0x11AA2).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2F).addRange(0x11C40, 0x11C45).addRange(0x11C50, 0x11C6C).addRange(0x11C70, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D93, 0x11D94);\nset.addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF2).addRange(0x11EF5, 0x11EF8).addRange(0x11FC0, 0x11FF1).addRange(0x11FFF, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF2).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B37, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E9A).addRange(0x16F00, 0x16F4A).addRange(0x16F50, 0x16F87).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16D).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA);\nset.addRange(0x1D200, 0x1D241).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA8B).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E900, 0x1E943).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F);\nset.addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF);\nset.addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9BE, 0x9CD, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB4D, 0xB82, 0xBBE, 0xBC0, 0xBCD, 0xBD7, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC2, 0xCC6, 0xD3E, 0xD4D, 0xD57, 0xD81, 0xDCA, 0xDCF, 0xDD6, 0xDDF, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x200C, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x1133E, 0x11340, 0x11357, 0x11446, 0x1145E, 0x114B0, 0x114BA, 0x114BD, 0x115AF, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x11930, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x16FE4, 0x1D165, 0x1DA75, 0x1DA84, 0x1E2AE);\n\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB3E, 0xB3F).addRange(0xB41, 0xB44).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C);\nset.addRange(0xD41, 0xD44).addRange(0xD62, 0xD63).addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B34, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2);\nset.addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFF9E, 0xFF9F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE);\nset.addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231).addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D);\nset.addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D16E, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0020, 0xE007F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x46).addRange(0x61, 0x66).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF26).addRange(0xFF41, 0xFF46);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2FF0, 0x2FF1).addRange(0x2FF4, 0x2FFB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2FF2, 0x2FF3);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);\nset.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7).addRange(0xA8FD, 0xA92D);\nset.addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7);\nset.addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7);\nset.addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310);\nset.addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09);\nset.addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9D, 0x1BC9E);\nset.addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE).addRange(0x1E2C0, 0x1E2F9);\nset.addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8);\nset.addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96);\nset.addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309B, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42);\nset.addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);\nset.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9);\nset.addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738);\nset.addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x16FE4);\n\nset.addRange(0x3006, 0x3007).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B170, 0x1B2FB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x200C, 0x200D);\nmodule.exports = set;","const set = require('regenerate')(0x19BA, 0xAAB9);\n\nset.addRange(0xE40, 0xE44).addRange(0xEC0, 0xEC4).addRange(0x19B5, 0x19B7).addRange(0xAAB5, 0xAAB6).addRange(0xAABB, 0xAABC);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x345, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x2071, 0x207F, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0x10780, 0x1D4BB, 0x1D7CB);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2B8).addRange(0x2C0, 0x2C1).addRange(0x2E0, 0x2E4).addRange(0x37A, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1DBF).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x2090, 0x209C).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2170, 0x217F).addRange(0x24D0, 0x24E9).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7D).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA69B, 0xA69D).addRange(0xA72F, 0xA731).addRange(0xA76F, 0xA778).addRange(0xA793, 0xA795).addRange(0xA7F8, 0xA7FA).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10783, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607);\nset.addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x2B, 0x5E, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3D5, 0x2016, 0x2040, 0x2044, 0x2052, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x214B, 0x21DD, 0x237C, 0x23B7, 0x23D0, 0x25E2, 0x25E4, 0x2640, 0x2642, 0xFB29, 0xFE68, 0xFF0B, 0xFF3C, 0xFF3E, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x3C, 0x3E).addRange(0x3D0, 0x3D2).addRange(0x3F0, 0x3F1).addRange(0x3F4, 0x3F6).addRange(0x606, 0x608).addRange(0x2032, 0x2034).addRange(0x2061, 0x2064).addRange(0x207A, 0x207E).addRange(0x208A, 0x208E).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20E6).addRange(0x20EB, 0x20EF).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x2128, 0x2129).addRange(0x212C, 0x212D).addRange(0x212F, 0x2131).addRange(0x2133, 0x2138).addRange(0x213C, 0x2149).addRange(0x2190, 0x21A7).addRange(0x21A9, 0x21AE).addRange(0x21B0, 0x21B1).addRange(0x21B6, 0x21B7).addRange(0x21BC, 0x21DB).addRange(0x21E4, 0x21E5).addRange(0x21F4, 0x22FF).addRange(0x2308, 0x230B).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B5).addRange(0x23DC, 0x23E2).addRange(0x25A0, 0x25A1).addRange(0x25AE, 0x25B7).addRange(0x25BC, 0x25C1).addRange(0x25C6, 0x25C7).addRange(0x25CA, 0x25CB).addRange(0x25CF, 0x25D3).addRange(0x25E7, 0x25EC).addRange(0x25F8, 0x25FF).addRange(0x2605, 0x2606).addRange(0x2660, 0x2663).addRange(0x266D, 0x266F).addRange(0x27C0, 0x27FF).addRange(0x2900, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE61, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F);\nset.addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xFDD0, 0xFDEF).addRange(0xFFFE, 0xFFFF).addRange(0x1FFFE, 0x1FFFF).addRange(0x2FFFE, 0x2FFFF).addRange(0x3FFFE, 0x3FFFF).addRange(0x4FFFE, 0x4FFFF).addRange(0x5FFFE, 0x5FFFF).addRange(0x6FFFE, 0x6FFFF).addRange(0x7FFFE, 0x7FFFF).addRange(0x8FFFE, 0x8FFFF).addRange(0x9FFFE, 0x9FFFF).addRange(0xAFFFE, 0xAFFFF).addRange(0xBFFFE, 0xBFFFF).addRange(0xCFFFE, 0xCFFFF).addRange(0xDFFFE, 0xDFFFF).addRange(0xEFFFE, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nmodule.exports = set;","const set = require('regenerate')(0x60, 0xA9, 0xAE, 0xB6, 0xBB, 0xBF, 0xD7, 0xF7, 0x3030);\n\nset.addRange(0x21, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x7E).addRange(0xA1, 0xA7).addRange(0xAB, 0xAC).addRange(0xB0, 0xB1).addRange(0x2010, 0x2027).addRange(0x2030, 0x203E).addRange(0x2041, 0x2053).addRange(0x2055, 0x205E).addRange(0x2190, 0x245F).addRange(0x2500, 0x2775).addRange(0x2794, 0x2BFF).addRange(0x2E00, 0x2E7F).addRange(0x3001, 0x3003).addRange(0x3008, 0x3020).addRange(0xFD3E, 0xFD3F).addRange(0xFE45, 0xFE46);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0x85);\n\nset.addRange(0x9, 0xD).addRange(0x200E, 0x200F).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')(0x22, 0x27, 0xAB, 0xBB, 0x2E42, 0xFF02, 0xFF07);\n\nset.addRange(0x2018, 0x201F).addRange(0x2039, 0x203A).addRange(0x300C, 0x300F).addRange(0x301D, 0x301F).addRange(0xFE41, 0xFE44).addRange(0xFF62, 0xFF63);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1F1E6, 0x1F1FF);\nmodule.exports = set;","const set = require('regenerate')(0x21, 0x2E, 0x3F, 0x589, 0x6D4, 0x7F9, 0x837, 0x839, 0x1362, 0x166E, 0x1803, 0x1809, 0x2E2E, 0x2E3C, 0x3002, 0xA4FF, 0xA6F3, 0xA6F7, 0xA92F, 0xABEB, 0xFE52, 0xFF01, 0xFF0E, 0xFF1F, 0xFF61, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x16AF5, 0x16B44, 0x16E98, 0x1BC9F, 0x1DA88);\n\nset.addRange(0x61D, 0x61F).addRange(0x700, 0x702).addRange(0x83D, 0x83E).addRange(0x964, 0x965).addRange(0x104A, 0x104B).addRange(0x1367, 0x1368).addRange(0x1735, 0x1736).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5E, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3C).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E53, 0x2E54).addRange(0xA60E, 0xA60F).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C8, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE56, 0xFE57).addRange(0x10A56, 0x10A57).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x11048).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x11239).addRange(0x1123B, 0x1123C).addRange(0x1144B, 0x1144C).addRange(0x115C2, 0x115C3).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11C41, 0x11C42).addRange(0x11EF7, 0x11EF8).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B38);\nmodule.exports = set;","const set = require('regenerate')(0x12F, 0x249, 0x268, 0x29D, 0x2B2, 0x3F3, 0x456, 0x458, 0x1D62, 0x1D96, 0x1DA4, 0x1DA8, 0x1E2D, 0x1ECB, 0x2071, 0x2C7C, 0x1DF1A);\n\nset.addRange(0x69, 0x6A).addRange(0x2148, 0x2149).addRange(0x1D422, 0x1D423).addRange(0x1D456, 0x1D457).addRange(0x1D48A, 0x1D48B).addRange(0x1D4BE, 0x1D4BF).addRange(0x1D4F2, 0x1D4F3).addRange(0x1D526, 0x1D527).addRange(0x1D55A, 0x1D55B).addRange(0x1D58E, 0x1D58F).addRange(0x1D5C2, 0x1D5C3).addRange(0x1D5F6, 0x1D5F7).addRange(0x1D62A, 0x1D62B).addRange(0x1D65E, 0x1D65F).addRange(0x1D692, 0x1D693);\nmodule.exports = set;","const set = require('regenerate')(0x21, 0x2C, 0x2E, 0x3F, 0x37E, 0x387, 0x589, 0x5C3, 0x60C, 0x61B, 0x6D4, 0x70C, 0x85E, 0xF08, 0x166E, 0x17DA, 0x2E2E, 0x2E3C, 0x2E41, 0x2E4C, 0xA92F, 0xAADF, 0xABEB, 0xFF01, 0xFF0C, 0xFF0E, 0xFF1F, 0xFF61, 0xFF64, 0x1039F, 0x103D0, 0x10857, 0x1091F, 0x111CD, 0x112A9, 0x11944, 0x11946, 0x11C71, 0x16AF5, 0x16B44, 0x1BC9F);\n\nset.addRange(0x3A, 0x3B).addRange(0x61D, 0x61F).addRange(0x700, 0x70A).addRange(0x7F8, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF0D, 0xF12).addRange(0x104A, 0x104B).addRange(0x1361, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x1802, 0x1805).addRange(0x1808, 0x1809).addRange(0x1944, 0x1945).addRange(0x1AA8, 0x1AAB).addRange(0x1B5A, 0x1B5B).addRange(0x1B5D, 0x1B5F).addRange(0x1B7D, 0x1B7E).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x203C, 0x203D).addRange(0x2047, 0x2049).addRange(0x2E4E, 0x2E4F).addRange(0x2E53, 0x2E54).addRange(0x3001, 0x3002).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F3, 0xA6F7).addRange(0xA876, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA9C7, 0xA9C9).addRange(0xAA5D, 0xAA5F).addRange(0xAAF0, 0xAAF1).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFF1A, 0xFF1B).addRange(0x10A56, 0x10A57).addRange(0x10AF0, 0x10AF5).addRange(0x10B3A, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BE, 0x110C1).addRange(0x11141, 0x11143).addRange(0x111C5, 0x111C6).addRange(0x111DE, 0x111DF).addRange(0x11238, 0x1123C).addRange(0x1144B, 0x1144D);\nset.addRange(0x1145A, 0x1145B).addRange(0x115C2, 0x115C5).addRange(0x115C9, 0x115D7).addRange(0x11641, 0x11642).addRange(0x1173C, 0x1173E).addRange(0x11A42, 0x11A43).addRange(0x11A9B, 0x11A9C).addRange(0x11AA1, 0x11AA2).addRange(0x11C41, 0x11C43).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B39).addRange(0x16E97, 0x16E98).addRange(0x1DA87, 0x1DA8A);\nmodule.exports = set;","const set = require('regenerate')(0xFA11, 0xFA1F, 0xFA21);\n\nset.addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xFA0E, 0xFA0F).addRange(0xFA13, 0xFA14).addRange(0xFA23, 0xFA24).addRange(0xFA27, 0xFA29).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2160, 0x216F);\nset.addRange(0x24B6, 0x24CF).addRange(0x2C00, 0x2C2F).addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921).addRange(0x1F130, 0x1F149).addRange(0x1F150, 0x1F169).addRange(0x1F170, 0x1F189);\nmodule.exports = set;","const set = require('regenerate')(0x180F);\n\nset.addRange(0x180B, 0x180D).addRange(0xFE00, 0xFE0F).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0x85, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\n\nset.addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0xAA, 0xB5, 0xB7, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x38C, 0x559, 0x5BF, 0x5C7, 0x6FF, 0x7FA, 0x7FD, 0x9B2, 0x9D7, 0x9FC, 0x9FE, 0xA3C, 0xA51, 0xA5E, 0xAD0, 0xB71, 0xB9C, 0xBD0, 0xBD7, 0xC5D, 0xDBD, 0xDCA, 0xDD6, 0xE84, 0xEA5, 0xEC6, 0xF00, 0xF35, 0xF37, 0xF39, 0xFC6, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x1AA7, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2054, 0x2071, 0x207F, 0x20E1, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA82C, 0xA8FB, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0xFF3F, 0x101FD, 0x102E0, 0x10808, 0x1083C, 0x10A3F, 0x10F27, 0x110C2, 0x11176, 0x111DC, 0x1123E, 0x11288, 0x11350, 0x11357, 0x114C7, 0x11644, 0x11909, 0x11A47, 0x11A9D, 0x11D3A, 0x11FB0, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1DA75, 0x1DA84, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x300, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x386, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x483, 0x487).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x610, 0x61A).addRange(0x620, 0x669).addRange(0x66E, 0x6D3).addRange(0x6D5, 0x6DC).addRange(0x6DF, 0x6E8).addRange(0x6EA, 0x6FC).addRange(0x710, 0x74A).addRange(0x74D, 0x7B1).addRange(0x7C0, 0x7F5).addRange(0x800, 0x82D).addRange(0x840, 0x85B).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x898, 0x8E1).addRange(0x8E3, 0x963).addRange(0x966, 0x96F).addRange(0x971, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD);\nset.addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9F1).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA75).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAEF).addRange(0xAF9, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB6F).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9);\nset.addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBEF).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC80, 0xC83).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4E).addRange(0xD54, 0xD57).addRange(0xD5F, 0xD63).addRange(0xD66, 0xD6F).addRange(0xD7A, 0xD7F).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF3).addRange(0xE01, 0xE3A).addRange(0xE40, 0xE4E).addRange(0xE50, 0xE59).addRange(0xE81, 0xE82);\nset.addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF).addRange(0xF18, 0xF19).addRange(0xF20, 0xF29).addRange(0xF3E, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF84).addRange(0xF86, 0xF97).addRange(0xF99, 0xFBC).addRange(0x1000, 0x1049).addRange(0x1050, 0x109D).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x135F).addRange(0x1369, 0x1371).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1715).addRange(0x171F, 0x1734).addRange(0x1740, 0x1753).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773).addRange(0x1780, 0x17D3).addRange(0x17DC, 0x17DD).addRange(0x17E0, 0x17E9);\nset.addRange(0x180B, 0x180D).addRange(0x180F, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1946, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x1A00, 0x1A1B).addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B59).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1BF3).addRange(0x1C00, 0x1C37).addRange(0x1C40, 0x1C49).addRange(0x1C4D, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CFA).addRange(0x1D00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x203F, 0x2040).addRange(0x2090, 0x209C).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0);\nset.addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D7F, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x2DE0, 0x2DFF).addRange(0x3005, 0x3007).addRange(0x3021, 0x302F).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x3099, 0x309A).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA62B).addRange(0xA640, 0xA66F).addRange(0xA674, 0xA67D).addRange(0xA67F, 0xA6F1).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA827).addRange(0xA840, 0xA873).addRange(0xA880, 0xA8C5).addRange(0xA8D0, 0xA8D9).addRange(0xA8E0, 0xA8F7);\nset.addRange(0xA8FD, 0xA92D).addRange(0xA930, 0xA953).addRange(0xA960, 0xA97C).addRange(0xA980, 0xA9C0).addRange(0xA9CF, 0xA9D9).addRange(0xA9E0, 0xA9FE).addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA60, 0xAA76).addRange(0xAA7A, 0xAAC2).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEF).addRange(0xAAF2, 0xAAF6).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xABF0, 0xABF9).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1D, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F).addRange(0xFE7F, 0xFEFC).addRange(0xFF10, 0xFF19).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE);\nset.addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x1037A).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104A0, 0x104A9).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939);\nset.addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE6).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAC).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F50).addRange(0x10F70, 0x10F85).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11000, 0x11046).addRange(0x11066, 0x11075).addRange(0x1107F, 0x110BA).addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9).addRange(0x11100, 0x11134).addRange(0x11136, 0x1113F).addRange(0x11144, 0x11147).addRange(0x11150, 0x11173).addRange(0x11180, 0x111C4).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111DA).addRange(0x11200, 0x11211).addRange(0x11213, 0x11237).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C);\nset.addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11400, 0x1144A).addRange(0x11450, 0x11459).addRange(0x1145E, 0x11461).addRange(0x11480, 0x114C5).addRange(0x114D0, 0x114D9).addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115D8, 0x115DD).addRange(0x11600, 0x11640).addRange(0x11650, 0x11659).addRange(0x11680, 0x116B8).addRange(0x116C0, 0x116C9).addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11739).addRange(0x11740, 0x11746).addRange(0x11800, 0x1183A).addRange(0x118A0, 0x118E9).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11943).addRange(0x11950, 0x11959).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E1).addRange(0x119E3, 0x119E4).addRange(0x11A00, 0x11A3E).addRange(0x11A50, 0x11A99).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C40).addRange(0x11C50, 0x11C59).addRange(0x11C72, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D00, 0x11D06);\nset.addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9).addRange(0x11EE0, 0x11EF6).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9).addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF4).addRange(0x16B00, 0x16B36).addRange(0x16B40, 0x16B43).addRange(0x16B50, 0x16B59).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x16FE3, 0x16FE4).addRange(0x16FF0, 0x16FF1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99);\nset.addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1DF00, 0x1DF1E).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E290, 0x1E2AE);\nset.addRange(0x1E2C0, 0x1E2F9).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1FBF0, 0x1FBF9).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE32, 0xE84, 0xEA5, 0xEB2, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0xFE71, 0xFE73, 0xFE77, 0xFE79, 0xFE7B, 0xFE7D, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E);\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2118, 0x211D).addRange(0x212A, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2160, 0x2188).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE);\nset.addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3007).addRange(0x3021, 0x3029).addRange(0x3031, 0x3035).addRange(0x3038, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6EF).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76);\nset.addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFC5D).addRange(0xFC64, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDF9).addRange(0xFE7F, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10140, 0x10174).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0);\nset.addRange(0x10300, 0x1031F).addRange(0x1032D, 0x1034A).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x103D1, 0x103D5).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10C80, 0x10CB2);\nset.addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32);\nset.addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3);\nset.addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D);\nset.addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x37F, 0x386, 0x38C, 0x10C7, 0x10CD, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2139, 0x214E, 0x2D27, 0x2D2D, 0xA7D3, 0xA7FA, 0x1D4A2, 0x1D4BB, 0x1D546);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x1BA).addRange(0x1BC, 0x1BF).addRange(0x1C4, 0x293).addRange(0x295, 0x2AF).addRange(0x370, 0x373).addRange(0x376, 0x377).addRange(0x37B, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2134).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184);\nset.addRange(0x2C00, 0x2C7B).addRange(0x2C7E, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25).addRange(0xA640, 0xA66D).addRange(0xA680, 0xA69B).addRange(0xA722, 0xA76F).addRange(0xA771, 0xA787).addRange(0xA78B, 0xA78E).addRange(0xA790, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F5, 0xA7F6).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10400, 0x1044F).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x118A0, 0x118DF).addRange(0x16E40, 0x16E7F).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550);\nset.addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E900, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x29, 0x5D, 0x7D, 0xF3B, 0xF3D, 0x169C, 0x2046, 0x207E, 0x208E, 0x2309, 0x230B, 0x232A, 0x2769, 0x276B, 0x276D, 0x276F, 0x2771, 0x2773, 0x2775, 0x27C6, 0x27E7, 0x27E9, 0x27EB, 0x27ED, 0x27EF, 0x2984, 0x2986, 0x2988, 0x298A, 0x298C, 0x298E, 0x2990, 0x2992, 0x2994, 0x2996, 0x2998, 0x29D9, 0x29DB, 0x29FD, 0x2E23, 0x2E25, 0x2E27, 0x2E29, 0x2E56, 0x2E58, 0x2E5A, 0x2E5C, 0x3009, 0x300B, 0x300D, 0x300F, 0x3011, 0x3015, 0x3017, 0x3019, 0x301B, 0xFD3E, 0xFE18, 0xFE36, 0xFE38, 0xFE3A, 0xFE3C, 0xFE3E, 0xFE40, 0xFE42, 0xFE44, 0xFE48, 0xFE5A, 0xFE5C, 0xFE5E, 0xFF09, 0xFF3D, 0xFF5D, 0xFF60, 0xFF63);\n\nset.addRange(0x301E, 0x301F);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0x2054, 0xFF3F);\n\nset.addRange(0x203F, 0x2040).addRange(0xFE33, 0xFE34).addRange(0xFE4D, 0xFE4F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F);\nmodule.exports = set;","const set = require('regenerate')(0x24, 0x58F, 0x60B, 0x9FB, 0xAF1, 0xBF9, 0xE3F, 0x17DB, 0xA838, 0xFDFC, 0xFE69, 0xFF04, 0x1E2FF, 0x1ECB0);\n\nset.addRange(0xA2, 0xA5).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x20A0, 0x20C0).addRange(0xFFE0, 0xFFE1).addRange(0xFFE5, 0xFFE6).addRange(0x11FDD, 0x11FE0);\nmodule.exports = set;","const set = require('regenerate')(0x2D, 0x58A, 0x5BE, 0x1400, 0x1806, 0x2E17, 0x2E1A, 0x2E40, 0x2E5D, 0x301C, 0x3030, 0x30A0, 0xFE58, 0xFE63, 0xFF0D, 0x10EAD);\n\nset.addRange(0x2010, 0x2015).addRange(0x2E3A, 0x2E3B).addRange(0xFE31, 0xFE32);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x30, 0x39).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xBE6, 0xBEF).addRange(0xC66, 0xC6F).addRange(0xCE6, 0xCEF).addRange(0xD66, 0xD6F).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF29).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x17E0, 0x17E9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19D9).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0xA620, 0xA629).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x104A0, 0x104A9).addRange(0x10D30, 0x10D39).addRange(0x11066, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x11739).addRange(0x118E0, 0x118E9).addRange(0x11950, 0x11959);\nset.addRange(0x11C50, 0x11C59).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E950, 0x1E959).addRange(0x1FBF0, 0x1FBF9);\nmodule.exports = set;","const set = require('regenerate')(0x1ABE);\n\nset.addRange(0x488, 0x489).addRange(0x20DD, 0x20E0).addRange(0x20E2, 0x20E4).addRange(0xA670, 0xA672);\nmodule.exports = set;","const set = require('regenerate')(0xBB, 0x2019, 0x201D, 0x203A, 0x2E03, 0x2E05, 0x2E0A, 0x2E0D, 0x2E1D, 0x2E21);\n\nmodule.exports = set;","const set = require('regenerate')(0xAD, 0x61C, 0x6DD, 0x70F, 0x8E2, 0x180E, 0xFEFF, 0x110BD, 0x110CD, 0xE0001);\n\nset.addRange(0x600, 0x605).addRange(0x890, 0x891).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x2064).addRange(0x2066, 0x206F).addRange(0xFFF9, 0xFFFB).addRange(0x13430, 0x13438).addRange(0x1BCA0, 0x1BCA3).addRange(0x1D173, 0x1D17A).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')(0xAB, 0x2018, 0x201F, 0x2039, 0x2E02, 0x2E04, 0x2E09, 0x2E0C, 0x2E1C, 0x2E20);\n\nset.addRange(0x201B, 0x201C);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xB5, 0xBA, 0x2EC, 0x2EE, 0x37F, 0x386, 0x38C, 0x559, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x7FA, 0x81A, 0x824, 0x828, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xEC6, 0xF00, 0x103F, 0x1061, 0x108E, 0x10C7, 0x10CD, 0x1258, 0x12C0, 0x17D7, 0x17DC, 0x18AA, 0x1AA7, 0x1CFA, 0x1F59, 0x1F5B, 0x1F5D, 0x1FBE, 0x2071, 0x207F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x214E, 0x2D27, 0x2D2D, 0x2D6F, 0x2E2F, 0xA7D3, 0xA8FB, 0xA9CF, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x16FE3, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1E14E, 0x1E94B, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x370, 0x374).addRange(0x376, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3F5).addRange(0x3F7, 0x481).addRange(0x48A, 0x52F).addRange(0x531, 0x556).addRange(0x560, 0x588).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6E5, 0x6E6).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x7F4, 0x7F5).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C9).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x971, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33);\nset.addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6);\nset.addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE46).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066).addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1878).addRange(0x1880, 0x1884);\nset.addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C7D).addRange(0x1C80, 0x1C88).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6).addRange(0x1D00, 0x1DBF).addRange(0x1E00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FBC).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FCC).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FE0, 0x1FEC).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFC).addRange(0x2090, 0x209C).addRange(0x210A, 0x2113).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x212F, 0x2139).addRange(0x213C, 0x213F).addRange(0x2145, 0x2149).addRange(0x2183, 0x2184).addRange(0x2C00, 0x2CE4).addRange(0x2CEB, 0x2CEE).addRange(0x2CF2, 0x2CF3).addRange(0x2D00, 0x2D25);\nset.addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3005, 0x3006).addRange(0x3031, 0x3035).addRange(0x303B, 0x303C).addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x30A1, 0x30FA).addRange(0x30FC, 0x30FF).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA48C).addRange(0xA4D0, 0xA4FD).addRange(0xA500, 0xA60C).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA640, 0xA66E).addRange(0xA67F, 0xA69D).addRange(0xA6A0, 0xA6E5).addRange(0xA717, 0xA71F).addRange(0xA722, 0xA788).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E6, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28);\nset.addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADD).addRange(0xAAE0, 0xAAEA).addRange(0xAAF2, 0xAAF4).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB69).addRange(0xAB70, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0xFF66, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C);\nset.addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10400, 0x1049D).addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48);\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118A0, 0x118DF).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0);\nset.addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B40, 0x16B43).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16E40, 0x16E7F).addRange(0x16F00, 0x16F4A).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B000, 0x1B122).addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3);\nset.addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6FA).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D734).addRange(0x1D736, 0x1D74E).addRange(0x1D750, 0x1D76E).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D7A8).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7CB).addRange(0x1DF00, 0x1DF1E).addRange(0x1E100, 0x1E12C).addRange(0x1E137, 0x1E13D).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1E900, 0x1E943).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D);\nset.addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x3007, 0x10341, 0x1034A);\n\nset.addRange(0x16EE, 0x16F0).addRange(0x2160, 0x2182).addRange(0x2185, 0x2188).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0xA6E6, 0xA6EF).addRange(0x10140, 0x10174).addRange(0x103D1, 0x103D5).addRange(0x12400, 0x1246E);\nmodule.exports = set;","const set = require('regenerate')(0x2028);\n\nmodule.exports = set;","const set = require('regenerate')(0xB5, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x183, 0x185, 0x188, 0x192, 0x195, 0x19E, 0x1A1, 0x1A3, 0x1A5, 0x1A8, 0x1AD, 0x1B0, 0x1B4, 0x1B6, 0x1C6, 0x1C9, 0x1CC, 0x1CE, 0x1D0, 0x1D2, 0x1D4, 0x1D6, 0x1D8, 0x1DA, 0x1DF, 0x1E1, 0x1E3, 0x1E5, 0x1E7, 0x1E9, 0x1EB, 0x1ED, 0x1F3, 0x1F5, 0x1F9, 0x1FB, 0x1FD, 0x1FF, 0x201, 0x203, 0x205, 0x207, 0x209, 0x20B, 0x20D, 0x20F, 0x211, 0x213, 0x215, 0x217, 0x219, 0x21B, 0x21D, 0x21F, 0x221, 0x223, 0x225, 0x227, 0x229, 0x22B, 0x22D, 0x22F, 0x231, 0x23C, 0x242, 0x247, 0x249, 0x24B, 0x24D, 0x371, 0x373, 0x377, 0x390, 0x3D9, 0x3DB, 0x3DD, 0x3DF, 0x3E1, 0x3E3, 0x3E5, 0x3E7, 0x3E9, 0x3EB, 0x3ED, 0x3F5, 0x3F8, 0x461, 0x463, 0x465, 0x467, 0x469, 0x46B, 0x46D, 0x46F, 0x471, 0x473, 0x475, 0x477, 0x479, 0x47B, 0x47D, 0x47F, 0x481, 0x48B, 0x48D, 0x48F, 0x491, 0x493, 0x495, 0x497, 0x499, 0x49B, 0x49D, 0x49F, 0x4A1, 0x4A3, 0x4A5, 0x4A7, 0x4A9, 0x4AB, 0x4AD, 0x4AF, 0x4B1, 0x4B3, 0x4B5, 0x4B7, 0x4B9, 0x4BB, 0x4BD, 0x4BF, 0x4C2, 0x4C4, 0x4C6, 0x4C8, 0x4CA, 0x4CC, 0x4D1, 0x4D3, 0x4D5, 0x4D7, 0x4D9, 0x4DB, 0x4DD, 0x4DF, 0x4E1, 0x4E3, 0x4E5, 0x4E7, 0x4E9, 0x4EB, 0x4ED, 0x4EF, 0x4F1, 0x4F3, 0x4F5, 0x4F7, 0x4F9, 0x4FB, 0x4FD, 0x4FF, 0x501, 0x503, 0x505, 0x507, 0x509, 0x50B, 0x50D, 0x50F, 0x511, 0x513, 0x515, 0x517, 0x519, 0x51B, 0x51D, 0x51F, 0x521, 0x523, 0x525, 0x527, 0x529, 0x52B, 0x52D, 0x52F, 0x1E01, 0x1E03, 0x1E05, 0x1E07, 0x1E09, 0x1E0B, 0x1E0D, 0x1E0F, 0x1E11, 0x1E13, 0x1E15, 0x1E17, 0x1E19, 0x1E1B, 0x1E1D, 0x1E1F, 0x1E21, 0x1E23, 0x1E25, 0x1E27, 0x1E29, 0x1E2B, 0x1E2D, 0x1E2F, 0x1E31, 0x1E33, 0x1E35, 0x1E37, 0x1E39, 0x1E3B, 0x1E3D, 0x1E3F, 0x1E41, 0x1E43, 0x1E45, 0x1E47, 0x1E49, 0x1E4B, 0x1E4D, 0x1E4F, 0x1E51, 0x1E53, 0x1E55, 0x1E57, 0x1E59, 0x1E5B, 0x1E5D, 0x1E5F, 0x1E61, 0x1E63, 0x1E65, 0x1E67, 0x1E69, 0x1E6B, 0x1E6D, 0x1E6F, 0x1E71, 0x1E73, 0x1E75, 0x1E77, 0x1E79, 0x1E7B, 0x1E7D, 0x1E7F, 0x1E81, 0x1E83, 0x1E85, 0x1E87, 0x1E89, 0x1E8B, 0x1E8D, 0x1E8F, 0x1E91, 0x1E93, 0x1E9F, 0x1EA1, 0x1EA3, 0x1EA5, 0x1EA7, 0x1EA9, 0x1EAB, 0x1EAD, 0x1EAF, 0x1EB1, 0x1EB3, 0x1EB5, 0x1EB7, 0x1EB9, 0x1EBB, 0x1EBD, 0x1EBF, 0x1EC1, 0x1EC3, 0x1EC5, 0x1EC7, 0x1EC9, 0x1ECB, 0x1ECD, 0x1ECF, 0x1ED1, 0x1ED3, 0x1ED5, 0x1ED7, 0x1ED9, 0x1EDB, 0x1EDD, 0x1EDF, 0x1EE1, 0x1EE3, 0x1EE5, 0x1EE7, 0x1EE9, 0x1EEB, 0x1EED, 0x1EEF, 0x1EF1, 0x1EF3, 0x1EF5, 0x1EF7, 0x1EF9, 0x1EFB, 0x1EFD, 0x1FBE, 0x210A, 0x2113, 0x212F, 0x2134, 0x2139, 0x214E, 0x2184, 0x2C61, 0x2C68, 0x2C6A, 0x2C6C, 0x2C71, 0x2C81, 0x2C83, 0x2C85, 0x2C87, 0x2C89, 0x2C8B, 0x2C8D, 0x2C8F, 0x2C91, 0x2C93, 0x2C95, 0x2C97, 0x2C99, 0x2C9B, 0x2C9D, 0x2C9F, 0x2CA1, 0x2CA3, 0x2CA5, 0x2CA7, 0x2CA9, 0x2CAB, 0x2CAD, 0x2CAF, 0x2CB1, 0x2CB3, 0x2CB5, 0x2CB7, 0x2CB9, 0x2CBB, 0x2CBD, 0x2CBF, 0x2CC1, 0x2CC3, 0x2CC5, 0x2CC7, 0x2CC9, 0x2CCB, 0x2CCD, 0x2CCF, 0x2CD1, 0x2CD3, 0x2CD5, 0x2CD7, 0x2CD9, 0x2CDB, 0x2CDD, 0x2CDF, 0x2CE1, 0x2CEC, 0x2CEE, 0x2CF3, 0x2D27, 0x2D2D, 0xA641, 0xA643, 0xA645, 0xA647, 0xA649, 0xA64B, 0xA64D, 0xA64F, 0xA651, 0xA653, 0xA655, 0xA657, 0xA659, 0xA65B, 0xA65D, 0xA65F, 0xA661, 0xA663, 0xA665, 0xA667, 0xA669, 0xA66B, 0xA66D, 0xA681, 0xA683, 0xA685, 0xA687, 0xA689, 0xA68B, 0xA68D, 0xA68F, 0xA691, 0xA693, 0xA695, 0xA697, 0xA699, 0xA69B, 0xA723, 0xA725, 0xA727, 0xA729, 0xA72B, 0xA72D, 0xA733, 0xA735, 0xA737, 0xA739, 0xA73B, 0xA73D, 0xA73F, 0xA741, 0xA743, 0xA745, 0xA747, 0xA749, 0xA74B, 0xA74D, 0xA74F, 0xA751, 0xA753, 0xA755, 0xA757, 0xA759, 0xA75B, 0xA75D, 0xA75F, 0xA761, 0xA763, 0xA765, 0xA767, 0xA769, 0xA76B, 0xA76D, 0xA76F, 0xA77A, 0xA77C, 0xA77F, 0xA781, 0xA783, 0xA785, 0xA787, 0xA78C, 0xA78E, 0xA791, 0xA797, 0xA799, 0xA79B, 0xA79D, 0xA79F, 0xA7A1, 0xA7A3, 0xA7A5, 0xA7A7, 0xA7A9, 0xA7AF, 0xA7B5, 0xA7B7, 0xA7B9, 0xA7BB, 0xA7BD, 0xA7BF, 0xA7C1, 0xA7C3, 0xA7C8, 0xA7CA, 0xA7D1, 0xA7D3, 0xA7D5, 0xA7D7, 0xA7D9, 0xA7F6, 0xA7FA, 0x1D4BB, 0x1D7CB);\n\nset.addRange(0x61, 0x7A).addRange(0xDF, 0xF6).addRange(0xF8, 0xFF).addRange(0x137, 0x138).addRange(0x148, 0x149).addRange(0x17E, 0x180).addRange(0x18C, 0x18D).addRange(0x199, 0x19B).addRange(0x1AA, 0x1AB).addRange(0x1B9, 0x1BA).addRange(0x1BD, 0x1BF).addRange(0x1DC, 0x1DD).addRange(0x1EF, 0x1F0).addRange(0x233, 0x239).addRange(0x23F, 0x240).addRange(0x24F, 0x293).addRange(0x295, 0x2AF).addRange(0x37B, 0x37D).addRange(0x3AC, 0x3CE).addRange(0x3D0, 0x3D1).addRange(0x3D5, 0x3D7).addRange(0x3EF, 0x3F3).addRange(0x3FB, 0x3FC).addRange(0x430, 0x45F).addRange(0x4CE, 0x4CF).addRange(0x560, 0x588).addRange(0x10D0, 0x10FA).addRange(0x10FD, 0x10FF).addRange(0x13F8, 0x13FD).addRange(0x1C80, 0x1C88).addRange(0x1D00, 0x1D2B).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1D9A).addRange(0x1E95, 0x1E9D).addRange(0x1EFF, 0x1F07).addRange(0x1F10, 0x1F15).addRange(0x1F20, 0x1F27).addRange(0x1F30, 0x1F37).addRange(0x1F40, 0x1F45).addRange(0x1F50, 0x1F57).addRange(0x1F60, 0x1F67).addRange(0x1F70, 0x1F7D).addRange(0x1F80, 0x1F87).addRange(0x1F90, 0x1F97).addRange(0x1FA0, 0x1FA7).addRange(0x1FB0, 0x1FB4).addRange(0x1FB6, 0x1FB7).addRange(0x1FC2, 0x1FC4).addRange(0x1FC6, 0x1FC7).addRange(0x1FD0, 0x1FD3).addRange(0x1FD6, 0x1FD7);\nset.addRange(0x1FE0, 0x1FE7).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FF7).addRange(0x210E, 0x210F).addRange(0x213C, 0x213D).addRange(0x2146, 0x2149).addRange(0x2C30, 0x2C5F).addRange(0x2C65, 0x2C66).addRange(0x2C73, 0x2C74).addRange(0x2C76, 0x2C7B).addRange(0x2CE3, 0x2CE4).addRange(0x2D00, 0x2D25).addRange(0xA72F, 0xA731).addRange(0xA771, 0xA778).addRange(0xA793, 0xA795).addRange(0xAB30, 0xAB5A).addRange(0xAB60, 0xAB68).addRange(0xAB70, 0xABBF).addRange(0xFB00, 0xFB06).addRange(0xFB13, 0xFB17).addRange(0xFF41, 0xFF5A).addRange(0x10428, 0x1044F).addRange(0x104D8, 0x104FB).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC).addRange(0x10CC0, 0x10CF2).addRange(0x118C0, 0x118DF).addRange(0x16E60, 0x16E7F).addRange(0x1D41A, 0x1D433).addRange(0x1D44E, 0x1D454).addRange(0x1D456, 0x1D467).addRange(0x1D482, 0x1D49B).addRange(0x1D4B6, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D4CF).addRange(0x1D4EA, 0x1D503).addRange(0x1D51E, 0x1D537).addRange(0x1D552, 0x1D56B).addRange(0x1D586, 0x1D59F).addRange(0x1D5BA, 0x1D5D3).addRange(0x1D5EE, 0x1D607).addRange(0x1D622, 0x1D63B).addRange(0x1D656, 0x1D66F).addRange(0x1D68A, 0x1D6A5).addRange(0x1D6C2, 0x1D6DA).addRange(0x1D6DC, 0x1D6E1).addRange(0x1D6FC, 0x1D714).addRange(0x1D716, 0x1D71B).addRange(0x1D736, 0x1D74E);\nset.addRange(0x1D750, 0x1D755).addRange(0x1D770, 0x1D788).addRange(0x1D78A, 0x1D78F).addRange(0x1D7AA, 0x1D7C2).addRange(0x1D7C4, 0x1D7C9).addRange(0x1DF00, 0x1DF09).addRange(0x1DF0B, 0x1DF1E).addRange(0x1E922, 0x1E943);\nmodule.exports = set;","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x9BC, 0x9D7, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xB3C, 0xB82, 0xBD7, 0xC3C, 0xCBC, 0xD57, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x108F, 0x17DD, 0x180F, 0x18A9, 0x1A7F, 0x1CED, 0x1CF4, 0x2D7F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9E5, 0xAA43, 0xAAB0, 0xAAC1, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11070, 0x110C2, 0x11173, 0x1123E, 0x11357, 0x1145E, 0x11940, 0x119E4, 0x11A47, 0x11D3A, 0x11D47, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E2AE);\n\nset.addRange(0x300, 0x36F).addRange(0x483, 0x489).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x903).addRange(0x93A, 0x93C).addRange(0x93E, 0x94F).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x981, 0x983).addRange(0x9BE, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CD).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA03).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA83).addRange(0xABE, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB01, 0xB03).addRange(0xB3E, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB62, 0xB63).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD);\nset.addRange(0xC00, 0xC04).addRange(0xC3E, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xC81, 0xC83).addRange(0xCBE, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD03).addRange(0xD3B, 0xD3C).addRange(0xD3E, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4D).addRange(0xD62, 0xD63).addRange(0xD81, 0xD83).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF3E, 0xF3F).addRange(0xF71, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102B, 0x103E).addRange(0x1056, 0x1059).addRange(0x105E, 0x1060).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1071, 0x1074).addRange(0x1082, 0x108D).addRange(0x109A, 0x109D).addRange(0x135D, 0x135F).addRange(0x1712, 0x1715).addRange(0x1732, 0x1734).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1A17, 0x1A1B);\nset.addRange(0x1A55, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1AB0, 0x1ACE).addRange(0x1B00, 0x1B04).addRange(0x1B34, 0x1B44).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B82).addRange(0x1BA1, 0x1BAD).addRange(0x1BE6, 0x1BF3).addRange(0x1C24, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE8).addRange(0x1CF7, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302F).addRange(0x3099, 0x309A).addRange(0xA66F, 0xA672).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA823, 0xA827).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA953).addRange(0xA980, 0xA983).addRange(0xA9B3, 0xA9C0).addRange(0xAA29, 0xAA36).addRange(0xAA4C, 0xAA4D).addRange(0xAA7B, 0xAA7D).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEB, 0xAAEF).addRange(0xAAF5, 0xAAF6).addRange(0xABE3, 0xABEA).addRange(0xABEC, 0xABED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC);\nset.addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11000, 0x11002).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11082).addRange(0x110B0, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x11134).addRange(0x11145, 0x11146).addRange(0x11180, 0x11182).addRange(0x111B3, 0x111C0).addRange(0x111C9, 0x111CC).addRange(0x111CE, 0x111CF).addRange(0x1122C, 0x11237).addRange(0x112DF, 0x112EA).addRange(0x11300, 0x11303).addRange(0x1133B, 0x1133C).addRange(0x1133E, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11435, 0x11446).addRange(0x114B0, 0x114C3).addRange(0x115AF, 0x115B5).addRange(0x115B8, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11630, 0x11640).addRange(0x116AB, 0x116B7).addRange(0x1171D, 0x1172B).addRange(0x1182C, 0x1183A).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x1193E).addRange(0x11942, 0x11943).addRange(0x119D1, 0x119D7).addRange(0x119DA, 0x119E0).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A39).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A5B).addRange(0x11A8A, 0x11A99).addRange(0x11C2F, 0x11C36).addRange(0x11C38, 0x11C3F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45);\nset.addRange(0x11D8A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D97).addRange(0x11EF3, 0x11EF6).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F51, 0x16F87).addRange(0x16F8F, 0x16F92).addRange(0x16FF0, 0x16FF1).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D165, 0x1D169).addRange(0x1D16D, 0x1D172).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0x2B, 0x7C, 0x7E, 0xAC, 0xB1, 0xD7, 0xF7, 0x3F6, 0x2044, 0x2052, 0x2118, 0x214B, 0x21A0, 0x21A3, 0x21A6, 0x21AE, 0x21D2, 0x21D4, 0x237C, 0x25B7, 0x25C1, 0x266F, 0xFB29, 0xFE62, 0xFF0B, 0xFF5C, 0xFF5E, 0xFFE2, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3);\n\nset.addRange(0x3C, 0x3E).addRange(0x606, 0x608).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x2140, 0x2144).addRange(0x2190, 0x2194).addRange(0x219A, 0x219B).addRange(0x21CE, 0x21CF).addRange(0x21F4, 0x22FF).addRange(0x2320, 0x2321).addRange(0x239B, 0x23B3).addRange(0x23DC, 0x23E1).addRange(0x25F8, 0x25FF).addRange(0x27C0, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x27FF).addRange(0x2900, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2AFF).addRange(0x2B30, 0x2B44).addRange(0x2B47, 0x2B4C).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE9, 0xFFEC).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')(0x2EC, 0x2EE, 0x374, 0x37A, 0x559, 0x640, 0x7FA, 0x81A, 0x824, 0x828, 0x8C9, 0x971, 0xE46, 0xEC6, 0x10FC, 0x17D7, 0x1843, 0x1AA7, 0x1D78, 0x2071, 0x207F, 0x2D6F, 0x2E2F, 0x3005, 0x303B, 0xA015, 0xA60C, 0xA67F, 0xA770, 0xA788, 0xA9CF, 0xA9E6, 0xAA70, 0xAADD, 0xAB69, 0xFF70, 0x16FE3, 0x1E94B);\n\nset.addRange(0x2B0, 0x2C1).addRange(0x2C6, 0x2D1).addRange(0x2E0, 0x2E4).addRange(0x6E5, 0x6E6).addRange(0x7F4, 0x7F5).addRange(0x1C78, 0x1C7D).addRange(0x1D2C, 0x1D6A).addRange(0x1D9B, 0x1DBF).addRange(0x2090, 0x209C).addRange(0x2C7C, 0x2C7D).addRange(0x3031, 0x3035).addRange(0x309D, 0x309E).addRange(0x30FC, 0x30FE).addRange(0xA4F8, 0xA4FD).addRange(0xA69C, 0xA69D).addRange(0xA717, 0xA71F).addRange(0xA7F2, 0xA7F4).addRange(0xA7F8, 0xA7F9).addRange(0xAAF3, 0xAAF4).addRange(0xAB5C, 0xAB5F).addRange(0xFF9E, 0xFF9F).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x16B40, 0x16B43).addRange(0x16F93, 0x16F9F).addRange(0x16FE0, 0x16FE1).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1E137, 0x1E13D);\nmodule.exports = set;","const set = require('regenerate')(0x5E, 0x60, 0xA8, 0xAF, 0xB4, 0xB8, 0x2ED, 0x375, 0x888, 0x1FBD, 0xAB5B, 0xFF3E, 0xFF40, 0xFFE3);\n\nset.addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x309B, 0x309C).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0x1F3FB, 0x1F3FF);\nmodule.exports = set;","const set = require('regenerate')(0x5BF, 0x5C7, 0x670, 0x711, 0x7FD, 0x93A, 0x93C, 0x94D, 0x981, 0x9BC, 0x9CD, 0x9FE, 0xA3C, 0xA51, 0xA75, 0xABC, 0xACD, 0xB01, 0xB3C, 0xB3F, 0xB4D, 0xB82, 0xBC0, 0xBCD, 0xC00, 0xC04, 0xC3C, 0xC81, 0xCBC, 0xCBF, 0xCC6, 0xD4D, 0xD81, 0xDCA, 0xDD6, 0xE31, 0xEB1, 0xF35, 0xF37, 0xF39, 0xFC6, 0x1082, 0x108D, 0x109D, 0x17C6, 0x17DD, 0x180F, 0x18A9, 0x1932, 0x1A1B, 0x1A56, 0x1A60, 0x1A62, 0x1A7F, 0x1B34, 0x1B3C, 0x1B42, 0x1BE6, 0x1BED, 0x1CED, 0x1CF4, 0x20E1, 0x2D7F, 0xA66F, 0xA802, 0xA806, 0xA80B, 0xA82C, 0xA8FF, 0xA9B3, 0xA9E5, 0xAA43, 0xAA4C, 0xAA7C, 0xAAB0, 0xAAC1, 0xAAF6, 0xABE5, 0xABE8, 0xABED, 0xFB1E, 0x101FD, 0x102E0, 0x10A3F, 0x11001, 0x11070, 0x110C2, 0x11173, 0x111CF, 0x11234, 0x1123E, 0x112DF, 0x11340, 0x11446, 0x1145E, 0x114BA, 0x1163D, 0x116AB, 0x116AD, 0x116B7, 0x1193E, 0x11943, 0x119E0, 0x11A47, 0x11C3F, 0x11D3A, 0x11D47, 0x11D95, 0x11D97, 0x16F4F, 0x16FE4, 0x1DA75, 0x1DA84, 0x1E2AE);\n\nset.addRange(0x300, 0x36F).addRange(0x483, 0x487).addRange(0x591, 0x5BD).addRange(0x5C1, 0x5C2).addRange(0x5C4, 0x5C5).addRange(0x610, 0x61A).addRange(0x64B, 0x65F).addRange(0x6D6, 0x6DC).addRange(0x6DF, 0x6E4).addRange(0x6E7, 0x6E8).addRange(0x6EA, 0x6ED).addRange(0x730, 0x74A).addRange(0x7A6, 0x7B0).addRange(0x7EB, 0x7F3).addRange(0x816, 0x819).addRange(0x81B, 0x823).addRange(0x825, 0x827).addRange(0x829, 0x82D).addRange(0x859, 0x85B).addRange(0x898, 0x89F).addRange(0x8CA, 0x8E1).addRange(0x8E3, 0x902).addRange(0x941, 0x948).addRange(0x951, 0x957).addRange(0x962, 0x963).addRange(0x9C1, 0x9C4).addRange(0x9E2, 0x9E3).addRange(0xA01, 0xA02).addRange(0xA41, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA70, 0xA71).addRange(0xA81, 0xA82).addRange(0xAC1, 0xAC5).addRange(0xAC7, 0xAC8).addRange(0xAE2, 0xAE3).addRange(0xAFA, 0xAFF).addRange(0xB41, 0xB44).addRange(0xB55, 0xB56).addRange(0xB62, 0xB63).addRange(0xC3E, 0xC40).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC62, 0xC63).addRange(0xCCC, 0xCCD).addRange(0xCE2, 0xCE3).addRange(0xD00, 0xD01).addRange(0xD3B, 0xD3C).addRange(0xD41, 0xD44).addRange(0xD62, 0xD63);\nset.addRange(0xDD2, 0xDD4).addRange(0xE34, 0xE3A).addRange(0xE47, 0xE4E).addRange(0xEB4, 0xEBC).addRange(0xEC8, 0xECD).addRange(0xF18, 0xF19).addRange(0xF71, 0xF7E).addRange(0xF80, 0xF84).addRange(0xF86, 0xF87).addRange(0xF8D, 0xF97).addRange(0xF99, 0xFBC).addRange(0x102D, 0x1030).addRange(0x1032, 0x1037).addRange(0x1039, 0x103A).addRange(0x103D, 0x103E).addRange(0x1058, 0x1059).addRange(0x105E, 0x1060).addRange(0x1071, 0x1074).addRange(0x1085, 0x1086).addRange(0x135D, 0x135F).addRange(0x1712, 0x1714).addRange(0x1732, 0x1733).addRange(0x1752, 0x1753).addRange(0x1772, 0x1773).addRange(0x17B4, 0x17B5).addRange(0x17B7, 0x17BD).addRange(0x17C9, 0x17D3).addRange(0x180B, 0x180D).addRange(0x1885, 0x1886).addRange(0x1920, 0x1922).addRange(0x1927, 0x1928).addRange(0x1939, 0x193B).addRange(0x1A17, 0x1A18).addRange(0x1A58, 0x1A5E).addRange(0x1A65, 0x1A6C).addRange(0x1A73, 0x1A7C).addRange(0x1AB0, 0x1ABD).addRange(0x1ABF, 0x1ACE).addRange(0x1B00, 0x1B03).addRange(0x1B36, 0x1B3A).addRange(0x1B6B, 0x1B73).addRange(0x1B80, 0x1B81).addRange(0x1BA2, 0x1BA5).addRange(0x1BA8, 0x1BA9).addRange(0x1BAB, 0x1BAD).addRange(0x1BE8, 0x1BE9).addRange(0x1BEF, 0x1BF1).addRange(0x1C2C, 0x1C33).addRange(0x1C36, 0x1C37).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0);\nset.addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x20D0, 0x20DC).addRange(0x20E5, 0x20F0).addRange(0x2CEF, 0x2CF1).addRange(0x2DE0, 0x2DFF).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xA674, 0xA67D).addRange(0xA69E, 0xA69F).addRange(0xA6F0, 0xA6F1).addRange(0xA825, 0xA826).addRange(0xA8C4, 0xA8C5).addRange(0xA8E0, 0xA8F1).addRange(0xA926, 0xA92D).addRange(0xA947, 0xA951).addRange(0xA980, 0xA982).addRange(0xA9B6, 0xA9B9).addRange(0xA9BC, 0xA9BD).addRange(0xAA29, 0xAA2E).addRange(0xAA31, 0xAA32).addRange(0xAA35, 0xAA36).addRange(0xAAB2, 0xAAB4).addRange(0xAAB7, 0xAAB8).addRange(0xAABE, 0xAABF).addRange(0xAAEC, 0xAAED).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2F).addRange(0x10376, 0x1037A).addRange(0x10A01, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A0F).addRange(0x10A38, 0x10A3A).addRange(0x10AE5, 0x10AE6).addRange(0x10D24, 0x10D27).addRange(0x10EAB, 0x10EAC).addRange(0x10F46, 0x10F50).addRange(0x10F82, 0x10F85).addRange(0x11038, 0x11046).addRange(0x11073, 0x11074).addRange(0x1107F, 0x11081).addRange(0x110B3, 0x110B6).addRange(0x110B9, 0x110BA).addRange(0x11100, 0x11102).addRange(0x11127, 0x1112B).addRange(0x1112D, 0x11134).addRange(0x11180, 0x11181).addRange(0x111B6, 0x111BE).addRange(0x111C9, 0x111CC).addRange(0x1122F, 0x11231);\nset.addRange(0x11236, 0x11237).addRange(0x112E3, 0x112EA).addRange(0x11300, 0x11301).addRange(0x1133B, 0x1133C).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11438, 0x1143F).addRange(0x11442, 0x11444).addRange(0x114B3, 0x114B8).addRange(0x114BF, 0x114C0).addRange(0x114C2, 0x114C3).addRange(0x115B2, 0x115B5).addRange(0x115BC, 0x115BD).addRange(0x115BF, 0x115C0).addRange(0x115DC, 0x115DD).addRange(0x11633, 0x1163A).addRange(0x1163F, 0x11640).addRange(0x116B0, 0x116B5).addRange(0x1171D, 0x1171F).addRange(0x11722, 0x11725).addRange(0x11727, 0x1172B).addRange(0x1182F, 0x11837).addRange(0x11839, 0x1183A).addRange(0x1193B, 0x1193C).addRange(0x119D4, 0x119D7).addRange(0x119DA, 0x119DB).addRange(0x11A01, 0x11A0A).addRange(0x11A33, 0x11A38).addRange(0x11A3B, 0x11A3E).addRange(0x11A51, 0x11A56).addRange(0x11A59, 0x11A5B).addRange(0x11A8A, 0x11A96).addRange(0x11A98, 0x11A99).addRange(0x11C30, 0x11C36).addRange(0x11C38, 0x11C3D).addRange(0x11C92, 0x11CA7).addRange(0x11CAA, 0x11CB0).addRange(0x11CB2, 0x11CB3).addRange(0x11CB5, 0x11CB6).addRange(0x11D31, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D45).addRange(0x11D90, 0x11D91).addRange(0x11EF3, 0x11EF4).addRange(0x16AF0, 0x16AF4).addRange(0x16B30, 0x16B36).addRange(0x16F8F, 0x16F92).addRange(0x1BC9D, 0x1BC9E).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169);\nset.addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0x1D242, 0x1D244).addRange(0x1DA00, 0x1DA36).addRange(0x1DA3B, 0x1DA6C).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A).addRange(0x1E130, 0x1E136).addRange(0x1E2EC, 0x1E2EF).addRange(0x1E8D0, 0x1E8D6).addRange(0x1E944, 0x1E94A).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')(0xB9, 0x2070, 0x2CFD, 0x3007, 0x10341, 0x1034A);\n\nset.addRange(0x30, 0x39).addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x660, 0x669).addRange(0x6F0, 0x6F9).addRange(0x7C0, 0x7C9).addRange(0x966, 0x96F).addRange(0x9E6, 0x9EF).addRange(0x9F4, 0x9F9).addRange(0xA66, 0xA6F).addRange(0xAE6, 0xAEF).addRange(0xB66, 0xB6F).addRange(0xB72, 0xB77).addRange(0xBE6, 0xBF2).addRange(0xC66, 0xC6F).addRange(0xC78, 0xC7E).addRange(0xCE6, 0xCEF).addRange(0xD58, 0xD5E).addRange(0xD66, 0xD78).addRange(0xDE6, 0xDEF).addRange(0xE50, 0xE59).addRange(0xED0, 0xED9).addRange(0xF20, 0xF33).addRange(0x1040, 0x1049).addRange(0x1090, 0x1099).addRange(0x1369, 0x137C).addRange(0x16EE, 0x16F0).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x1810, 0x1819).addRange(0x1946, 0x194F).addRange(0x19D0, 0x19DA).addRange(0x1A80, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1B50, 0x1B59).addRange(0x1BB0, 0x1BB9).addRange(0x1C40, 0x1C49).addRange(0x1C50, 0x1C59).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x2182).addRange(0x2185, 0x2189).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3021, 0x3029).addRange(0x3038, 0x303A).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F);\nset.addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA620, 0xA629).addRange(0xA6E6, 0xA6EF).addRange(0xA830, 0xA835).addRange(0xA8D0, 0xA8D9).addRange(0xA900, 0xA909).addRange(0xA9D0, 0xA9D9).addRange(0xA9F0, 0xA9F9).addRange(0xAA50, 0xAA59).addRange(0xABF0, 0xABF9).addRange(0xFF10, 0xFF19).addRange(0x10107, 0x10133).addRange(0x10140, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x103D1, 0x103D5).addRange(0x104A0, 0x104A9).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10D30, 0x10D39).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x1106F).addRange(0x110F0, 0x110F9).addRange(0x11136, 0x1113F).addRange(0x111D0, 0x111D9).addRange(0x111E1, 0x111F4).addRange(0x112F0, 0x112F9).addRange(0x11450, 0x11459).addRange(0x114D0, 0x114D9).addRange(0x11650, 0x11659).addRange(0x116C0, 0x116C9).addRange(0x11730, 0x1173B);\nset.addRange(0x118E0, 0x118F2).addRange(0x11950, 0x11959).addRange(0x11C50, 0x11C6C).addRange(0x11D50, 0x11D59).addRange(0x11DA0, 0x11DA9).addRange(0x11FC0, 0x11FD4).addRange(0x12400, 0x1246E).addRange(0x16A60, 0x16A69).addRange(0x16AC0, 0x16AC9).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1D7CE, 0x1D7FF).addRange(0x1E140, 0x1E149).addRange(0x1E2F0, 0x1E2F9).addRange(0x1E8C7, 0x1E8CF).addRange(0x1E950, 0x1E959).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C).addRange(0x1FBF0, 0x1FBF9);\nmodule.exports = set;","const set = require('regenerate')(0x28, 0x5B, 0x7B, 0xF3A, 0xF3C, 0x169B, 0x201A, 0x201E, 0x2045, 0x207D, 0x208D, 0x2308, 0x230A, 0x2329, 0x2768, 0x276A, 0x276C, 0x276E, 0x2770, 0x2772, 0x2774, 0x27C5, 0x27E6, 0x27E8, 0x27EA, 0x27EC, 0x27EE, 0x2983, 0x2985, 0x2987, 0x2989, 0x298B, 0x298D, 0x298F, 0x2991, 0x2993, 0x2995, 0x2997, 0x29D8, 0x29DA, 0x29FC, 0x2E22, 0x2E24, 0x2E26, 0x2E28, 0x2E42, 0x2E55, 0x2E57, 0x2E59, 0x2E5B, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014, 0x3016, 0x3018, 0x301A, 0x301D, 0xFD3F, 0xFE17, 0xFE35, 0xFE37, 0xFE39, 0xFE3B, 0xFE3D, 0xFE3F, 0xFE41, 0xFE43, 0xFE47, 0xFE59, 0xFE5B, 0xFE5D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F, 0xFF62);\n\nmodule.exports = set;","const set = require('regenerate')(0xAD, 0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x61C, 0x6DD, 0x83F, 0x85F, 0x8E2, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x180E, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x110BD, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x1246F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FB93);\n\nset.addRange(0x0, 0x1F).addRange(0x7F, 0x9F).addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x605).addRange(0x70E, 0x70F).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x88F, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D);\nset.addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7).addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF3, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xECE, 0xECF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF);\nset.addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E).addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x200B, 0x200F).addRange(0x202A, 0x202E).addRange(0x2060, 0x206F).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F);\nset.addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E).addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xF8FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF);\nset.addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFF00).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1).addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFFB).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E);\nset.addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38).addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFF).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x1123F, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F);\nset.addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C).addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x1342F, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF);\nset.addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B14F).addRange(0x1B153, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA0, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D173, 0x1D17A).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26);\nset.addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF).addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DC).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D9, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA75, 0x1FA77).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA87, 0x1FA8F).addRange(0x1FAAD, 0x1FAAF).addRange(0x1FABB, 0x1FABF).addRange(0x1FAC6, 0x1FACF).addRange(0x1FADA, 0x1FADF).addRange(0x1FAE8, 0x1FAEF).addRange(0x1FAF7, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B739, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0xE00FF).addRange(0xE01F0, 0x10FFFF);\nset;\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xBA, 0x1BB, 0x294, 0x6D5, 0x6FF, 0x710, 0x7B1, 0x93D, 0x950, 0x9B2, 0x9BD, 0x9CE, 0x9FC, 0xA5E, 0xABD, 0xAD0, 0xAF9, 0xB3D, 0xB71, 0xB83, 0xB9C, 0xBD0, 0xC3D, 0xC5D, 0xC80, 0xCBD, 0xD3D, 0xD4E, 0xDBD, 0xE84, 0xEA5, 0xEBD, 0xF00, 0x103F, 0x1061, 0x108E, 0x1258, 0x12C0, 0x17DC, 0x18AA, 0x1CFA, 0x3006, 0x303C, 0x309F, 0x30FF, 0xA66E, 0xA78F, 0xA7F7, 0xA8FB, 0xAA7A, 0xAAB1, 0xAAC0, 0xAAC2, 0xAAF2, 0xFB1D, 0xFB3E, 0x10808, 0x1083C, 0x10A00, 0x10F27, 0x11075, 0x11144, 0x11147, 0x11176, 0x111DA, 0x111DC, 0x11288, 0x1133D, 0x11350, 0x114C7, 0x11644, 0x116B8, 0x11909, 0x1193F, 0x11941, 0x119E1, 0x119E3, 0x11A00, 0x11A3A, 0x11A50, 0x11A9D, 0x11C40, 0x11D46, 0x11D98, 0x11FB0, 0x16F50, 0x1DF0A, 0x1E14E, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x1C0, 0x1C3).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F2).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x66E, 0x66F).addRange(0x671, 0x6D3).addRange(0x6EE, 0x6EF).addRange(0x6FA, 0x6FC).addRange(0x712, 0x72F).addRange(0x74D, 0x7A5).addRange(0x7CA, 0x7EA).addRange(0x800, 0x815).addRange(0x840, 0x858).addRange(0x860, 0x86A).addRange(0x870, 0x887).addRange(0x889, 0x88E).addRange(0x8A0, 0x8C8).addRange(0x904, 0x939).addRange(0x958, 0x961).addRange(0x972, 0x980).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E1).addRange(0x9F0, 0x9F1).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA59, 0xA5C).addRange(0xA72, 0xA74).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xAE0, 0xAE1).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39);\nset.addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB61).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xC05, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC61).addRange(0xC85, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE1).addRange(0xCF1, 0xCF2).addRange(0xD04, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD3A).addRange(0xD54, 0xD56).addRange(0xD5F, 0xD61).addRange(0xD7A, 0xD7F).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xE01, 0xE30).addRange(0xE32, 0xE33).addRange(0xE40, 0xE45).addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEB0).addRange(0xEB2, 0xEB3).addRange(0xEC0, 0xEC4).addRange(0xEDC, 0xEDF).addRange(0xF40, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF88, 0xF8C).addRange(0x1000, 0x102A).addRange(0x1050, 0x1055).addRange(0x105A, 0x105D).addRange(0x1065, 0x1066);\nset.addRange(0x106E, 0x1070).addRange(0x1075, 0x1081).addRange(0x1100, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x1380, 0x138F).addRange(0x1401, 0x166C).addRange(0x166F, 0x167F).addRange(0x1681, 0x169A).addRange(0x16A0, 0x16EA).addRange(0x16F1, 0x16F8).addRange(0x1700, 0x1711).addRange(0x171F, 0x1731).addRange(0x1740, 0x1751).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1780, 0x17B3).addRange(0x1820, 0x1842).addRange(0x1844, 0x1878).addRange(0x1880, 0x1884).addRange(0x1887, 0x18A8).addRange(0x18B0, 0x18F5).addRange(0x1900, 0x191E).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974).addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x1A00, 0x1A16).addRange(0x1A20, 0x1A54).addRange(0x1B05, 0x1B33).addRange(0x1B45, 0x1B4C).addRange(0x1B83, 0x1BA0).addRange(0x1BAE, 0x1BAF).addRange(0x1BBA, 0x1BE5).addRange(0x1C00, 0x1C23).addRange(0x1C4D, 0x1C4F).addRange(0x1C5A, 0x1C77).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF6);\nset.addRange(0x2135, 0x2138).addRange(0x2D30, 0x2D67).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0x3041, 0x3096).addRange(0x30A1, 0x30FA).addRange(0x3105, 0x312F).addRange(0x3131, 0x318E).addRange(0x31A0, 0x31BF).addRange(0x31F0, 0x31FF).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0xA014).addRange(0xA016, 0xA48C).addRange(0xA4D0, 0xA4F7).addRange(0xA500, 0xA60B).addRange(0xA610, 0xA61F).addRange(0xA62A, 0xA62B).addRange(0xA6A0, 0xA6E5).addRange(0xA7FB, 0xA801).addRange(0xA803, 0xA805).addRange(0xA807, 0xA80A).addRange(0xA80C, 0xA822).addRange(0xA840, 0xA873).addRange(0xA882, 0xA8B3).addRange(0xA8F2, 0xA8F7).addRange(0xA8FD, 0xA8FE).addRange(0xA90A, 0xA925).addRange(0xA930, 0xA946).addRange(0xA960, 0xA97C).addRange(0xA984, 0xA9B2).addRange(0xA9E0, 0xA9E4).addRange(0xA9E7, 0xA9EF).addRange(0xA9FA, 0xA9FE).addRange(0xAA00, 0xAA28).addRange(0xAA40, 0xAA42).addRange(0xAA44, 0xAA4B).addRange(0xAA60, 0xAA6F).addRange(0xAA71, 0xAA76).addRange(0xAA7E, 0xAAAF).addRange(0xAAB5, 0xAAB6).addRange(0xAAB9, 0xAABD).addRange(0xAADB, 0xAADC).addRange(0xAAE0, 0xAAEA).addRange(0xAB01, 0xAB06);\nset.addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0xABC0, 0xABE2).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFB1F, 0xFB28).addRange(0xFB2A, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFBB1).addRange(0xFBD3, 0xFD3D).addRange(0xFD50, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFB).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC).addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10280, 0x1029C).addRange(0x102A0, 0x102D0).addRange(0x10300, 0x1031F).addRange(0x1032D, 0x10340).addRange(0x10342, 0x10349).addRange(0x10350, 0x10375).addRange(0x10380, 0x1039D).addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103CF).addRange(0x10450, 0x1049D).addRange(0x10500, 0x10527).addRange(0x10530, 0x10563).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838).addRange(0x1083F, 0x10855).addRange(0x10860, 0x10876).addRange(0x10880, 0x1089E).addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x10900, 0x10915).addRange(0x10920, 0x10939).addRange(0x10980, 0x109B7).addRange(0x109BE, 0x109BF).addRange(0x10A10, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A60, 0x10A7C).addRange(0x10A80, 0x10A9C).addRange(0x10AC0, 0x10AC7).addRange(0x10AC9, 0x10AE4).addRange(0x10B00, 0x10B35).addRange(0x10B40, 0x10B55).addRange(0x10B60, 0x10B72).addRange(0x10B80, 0x10B91).addRange(0x10C00, 0x10C48).addRange(0x10D00, 0x10D23).addRange(0x10E80, 0x10EA9).addRange(0x10EB0, 0x10EB1).addRange(0x10F00, 0x10F1C).addRange(0x10F30, 0x10F45).addRange(0x10F70, 0x10F81).addRange(0x10FB0, 0x10FC4).addRange(0x10FE0, 0x10FF6).addRange(0x11003, 0x11037).addRange(0x11071, 0x11072).addRange(0x11083, 0x110AF).addRange(0x110D0, 0x110E8).addRange(0x11103, 0x11126).addRange(0x11150, 0x11172).addRange(0x11183, 0x111B2).addRange(0x111C1, 0x111C4).addRange(0x11200, 0x11211).addRange(0x11213, 0x1122B).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A8).addRange(0x112B0, 0x112DE).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330);\nset.addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1135D, 0x11361).addRange(0x11400, 0x11434).addRange(0x11447, 0x1144A).addRange(0x1145F, 0x11461).addRange(0x11480, 0x114AF).addRange(0x114C4, 0x114C5).addRange(0x11580, 0x115AE).addRange(0x115D8, 0x115DB).addRange(0x11600, 0x1162F).addRange(0x11680, 0x116AA).addRange(0x11700, 0x1171A).addRange(0x11740, 0x11746).addRange(0x11800, 0x1182B).addRange(0x118FF, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x1192F).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D0).addRange(0x11A0B, 0x11A32).addRange(0x11A5C, 0x11A89).addRange(0x11AB0, 0x11AF8).addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C2E).addRange(0x11C72, 0x11C8F).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D30).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D89).addRange(0x11EE0, 0x11EF2).addRange(0x12000, 0x12399).addRange(0x12480, 0x12543).addRange(0x12F90, 0x12FF0).addRange(0x13000, 0x1342E).addRange(0x14400, 0x14646).addRange(0x16800, 0x16A38).addRange(0x16A40, 0x16A5E).addRange(0x16A70, 0x16ABE).addRange(0x16AD0, 0x16AED).addRange(0x16B00, 0x16B2F).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F).addRange(0x16F00, 0x16F4A).addRange(0x17000, 0x187F7).addRange(0x18800, 0x18CD5).addRange(0x18D00, 0x18D08).addRange(0x1B000, 0x1B122);\nset.addRange(0x1B150, 0x1B152).addRange(0x1B164, 0x1B167).addRange(0x1B170, 0x1B2FB).addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1E100, 0x1E12C).addRange(0x1E290, 0x1E2AD).addRange(0x1E2C0, 0x1E2EB).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE).addRange(0x1E800, 0x1E8C4).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0xB9, 0x19DA, 0x2070, 0x2189, 0x2CFD);\n\nset.addRange(0xB2, 0xB3).addRange(0xBC, 0xBE).addRange(0x9F4, 0x9F9).addRange(0xB72, 0xB77).addRange(0xBF0, 0xBF2).addRange(0xC78, 0xC7E).addRange(0xD58, 0xD5E).addRange(0xD70, 0xD78).addRange(0xF2A, 0xF33).addRange(0x1369, 0x137C).addRange(0x17F0, 0x17F9).addRange(0x2074, 0x2079).addRange(0x2080, 0x2089).addRange(0x2150, 0x215F).addRange(0x2460, 0x249B).addRange(0x24EA, 0x24FF).addRange(0x2776, 0x2793).addRange(0x3192, 0x3195).addRange(0x3220, 0x3229).addRange(0x3248, 0x324F).addRange(0x3251, 0x325F).addRange(0x3280, 0x3289).addRange(0x32B1, 0x32BF).addRange(0xA830, 0xA835).addRange(0x10107, 0x10133).addRange(0x10175, 0x10178).addRange(0x1018A, 0x1018B).addRange(0x102E1, 0x102FB).addRange(0x10320, 0x10323).addRange(0x10858, 0x1085F).addRange(0x10879, 0x1087F).addRange(0x108A7, 0x108AF).addRange(0x108FB, 0x108FF).addRange(0x10916, 0x1091B).addRange(0x109BC, 0x109BD).addRange(0x109C0, 0x109CF).addRange(0x109D2, 0x109FF).addRange(0x10A40, 0x10A48).addRange(0x10A7D, 0x10A7E).addRange(0x10A9D, 0x10A9F).addRange(0x10AEB, 0x10AEF).addRange(0x10B58, 0x10B5F).addRange(0x10B78, 0x10B7F).addRange(0x10BA9, 0x10BAF).addRange(0x10CFA, 0x10CFF).addRange(0x10E60, 0x10E7E).addRange(0x10F1D, 0x10F26).addRange(0x10F51, 0x10F54).addRange(0x10FC5, 0x10FCB).addRange(0x11052, 0x11065).addRange(0x111E1, 0x111F4);\nset.addRange(0x1173A, 0x1173B).addRange(0x118EA, 0x118F2).addRange(0x11C5A, 0x11C6C).addRange(0x11FC0, 0x11FD4).addRange(0x16B5B, 0x16B61).addRange(0x16E80, 0x16E96).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D360, 0x1D378).addRange(0x1E8C7, 0x1E8CF).addRange(0x1EC71, 0x1ECAB).addRange(0x1ECAD, 0x1ECAF).addRange(0x1ECB1, 0x1ECB4).addRange(0x1ED01, 0x1ED2D).addRange(0x1ED2F, 0x1ED3D).addRange(0x1F100, 0x1F10C);\nmodule.exports = set;","const set = require('regenerate')(0x2A, 0x2C, 0x5C, 0xA1, 0xA7, 0xBF, 0x37E, 0x387, 0x589, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x166E, 0x1CD3, 0x2053, 0x2D70, 0x2E0B, 0x2E1B, 0x2E41, 0x303D, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE19, 0xFE30, 0xFE68, 0xFF0A, 0xFF0C, 0xFF3C, 0xFF61, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\n\nset.addRange(0x21, 0x23).addRange(0x25, 0x27).addRange(0x2E, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x1805).addRange(0x1807, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2016, 0x2017).addRange(0x2020, 0x2027).addRange(0x2030, 0x2038).addRange(0x203B, 0x203E).addRange(0x2041, 0x2043).addRange(0x2047, 0x2051).addRange(0x2055, 0x205E).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E01).addRange(0x2E06, 0x2E08).addRange(0x2E0E, 0x2E16).addRange(0x2E18, 0x2E19);\nset.addRange(0x2E1E, 0x2E1F).addRange(0x2E2A, 0x2E2E).addRange(0x2E30, 0x2E39).addRange(0x2E3C, 0x2E3F).addRange(0x2E43, 0x2E4F).addRange(0x2E52, 0x2E54).addRange(0x3001, 0x3003).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFE10, 0xFE16).addRange(0xFE45, 0xFE46).addRange(0xFE49, 0xFE4C).addRange(0xFE50, 0xFE52).addRange(0xFE54, 0xFE57).addRange(0xFE5F, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF07).addRange(0xFF0E, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF64, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D).addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643);\nset.addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')(0xA6, 0xA9, 0xAE, 0xB0, 0x482, 0x6DE, 0x6E9, 0x7F6, 0x9FA, 0xB70, 0xBFA, 0xC7F, 0xD4F, 0xD79, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x1940, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214A, 0x214F, 0x21D3, 0x3004, 0x3020, 0x3250, 0xA839, 0xFDCF, 0xFFE4, 0xFFE8, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1E14F, 0x1ECAC, 0x1ED2E, 0x1F7F0);\n\nset.addRange(0x58D, 0x58E).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0xBF3, 0xBF8).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2117).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x214C, 0x214D).addRange(0x218A, 0x218B).addRange(0x2195, 0x2199).addRange(0x219C, 0x219F).addRange(0x21A1, 0x21A2).addRange(0x21A4, 0x21A5).addRange(0x21A7, 0x21AD).addRange(0x21AF, 0x21CD).addRange(0x21D0, 0x21D1).addRange(0x21D5, 0x21F3).addRange(0x2300, 0x2307).addRange(0x230C, 0x231F).addRange(0x2322, 0x2328).addRange(0x232B, 0x237B).addRange(0x237D, 0x239A).addRange(0x23B4, 0x23DB).addRange(0x23E2, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9).addRange(0x2500, 0x25B6).addRange(0x25B8, 0x25C0).addRange(0x25C2, 0x25F7).addRange(0x2600, 0x266E).addRange(0x2670, 0x2767).addRange(0x2794, 0x27BF).addRange(0x2800, 0x28FF).addRange(0x2B00, 0x2B2F).addRange(0x2B45, 0x2B46).addRange(0x2B4D, 0x2B73);\nset.addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA837).addRange(0xAA77, 0xAA79).addRange(0xFD40, 0xFD4F).addRange(0xFDFD, 0xFDFF).addRange(0xFFED, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FDC).addRange(0x11FE1, 0x11FF1).addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83);\nset.addRange(0x1DA85, 0x1DA86).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F3FA).addRange(0x1F400, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);\nmodule.exports = set;","const set = require('regenerate')(0x2029);\n\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xE000, 0xF8FF).addRange(0xF0000, 0xFFFFD).addRange(0x100000, 0x10FFFD);\nmodule.exports = set;","const set = require('regenerate')(0x5F, 0x7B, 0x7D, 0xA1, 0xA7, 0xAB, 0xBB, 0xBF, 0x37E, 0x387, 0x5BE, 0x5C0, 0x5C3, 0x5C6, 0x61B, 0x6D4, 0x85E, 0x970, 0x9FD, 0xA76, 0xAF0, 0xC77, 0xC84, 0xDF4, 0xE4F, 0xF14, 0xF85, 0x10FB, 0x1400, 0x166E, 0x1CD3, 0x2D70, 0x3030, 0x303D, 0x30A0, 0x30FB, 0xA673, 0xA67E, 0xA8FC, 0xA95F, 0xABEB, 0xFE63, 0xFE68, 0xFF3F, 0xFF5B, 0xFF5D, 0x1039F, 0x103D0, 0x1056F, 0x10857, 0x1091F, 0x1093F, 0x10A7F, 0x10EAD, 0x111CD, 0x111DB, 0x112A9, 0x1145D, 0x114C6, 0x116B9, 0x1183B, 0x119E2, 0x11FFF, 0x16AF5, 0x16B44, 0x16FE2, 0x1BC9F);\n\nset.addRange(0x21, 0x23).addRange(0x25, 0x2A).addRange(0x2C, 0x2F).addRange(0x3A, 0x3B).addRange(0x3F, 0x40).addRange(0x5B, 0x5D).addRange(0xB6, 0xB7).addRange(0x55A, 0x55F).addRange(0x589, 0x58A).addRange(0x5F3, 0x5F4).addRange(0x609, 0x60A).addRange(0x60C, 0x60D).addRange(0x61D, 0x61F).addRange(0x66A, 0x66D).addRange(0x700, 0x70D).addRange(0x7F7, 0x7F9).addRange(0x830, 0x83E).addRange(0x964, 0x965).addRange(0xE5A, 0xE5B).addRange(0xF04, 0xF12).addRange(0xF3A, 0xF3D).addRange(0xFD0, 0xFD4).addRange(0xFD9, 0xFDA).addRange(0x104A, 0x104F).addRange(0x1360, 0x1368).addRange(0x169B, 0x169C).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x17D4, 0x17D6).addRange(0x17D8, 0x17DA).addRange(0x1800, 0x180A).addRange(0x1944, 0x1945).addRange(0x1A1E, 0x1A1F).addRange(0x1AA0, 0x1AA6).addRange(0x1AA8, 0x1AAD).addRange(0x1B5A, 0x1B60).addRange(0x1B7D, 0x1B7E).addRange(0x1BFC, 0x1BFF).addRange(0x1C3B, 0x1C3F).addRange(0x1C7E, 0x1C7F).addRange(0x1CC0, 0x1CC7).addRange(0x2010, 0x2027).addRange(0x2030, 0x2043).addRange(0x2045, 0x2051).addRange(0x2053, 0x205E).addRange(0x207D, 0x207E).addRange(0x208D, 0x208E).addRange(0x2308, 0x230B).addRange(0x2329, 0x232A).addRange(0x2768, 0x2775).addRange(0x27C5, 0x27C6);\nset.addRange(0x27E6, 0x27EF).addRange(0x2983, 0x2998).addRange(0x29D8, 0x29DB).addRange(0x29FC, 0x29FD).addRange(0x2CF9, 0x2CFC).addRange(0x2CFE, 0x2CFF).addRange(0x2E00, 0x2E2E).addRange(0x2E30, 0x2E4F).addRange(0x2E52, 0x2E5D).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3014, 0x301F).addRange(0xA4FE, 0xA4FF).addRange(0xA60D, 0xA60F).addRange(0xA6F2, 0xA6F7).addRange(0xA874, 0xA877).addRange(0xA8CE, 0xA8CF).addRange(0xA8F8, 0xA8FA).addRange(0xA92E, 0xA92F).addRange(0xA9C1, 0xA9CD).addRange(0xA9DE, 0xA9DF).addRange(0xAA5C, 0xAA5F).addRange(0xAADE, 0xAADF).addRange(0xAAF0, 0xAAF1).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE61).addRange(0xFE6A, 0xFE6B).addRange(0xFF01, 0xFF03).addRange(0xFF05, 0xFF0A).addRange(0xFF0C, 0xFF0F).addRange(0xFF1A, 0xFF1B).addRange(0xFF1F, 0xFF20).addRange(0xFF3B, 0xFF3D).addRange(0xFF5F, 0xFF65).addRange(0x10100, 0x10102).addRange(0x10A50, 0x10A58).addRange(0x10AF0, 0x10AF6).addRange(0x10B39, 0x10B3F).addRange(0x10B99, 0x10B9C).addRange(0x10F55, 0x10F59).addRange(0x10F86, 0x10F89).addRange(0x11047, 0x1104D).addRange(0x110BB, 0x110BC).addRange(0x110BE, 0x110C1).addRange(0x11140, 0x11143).addRange(0x11174, 0x11175).addRange(0x111C5, 0x111C8).addRange(0x111DD, 0x111DF).addRange(0x11238, 0x1123D);\nset.addRange(0x1144B, 0x1144F).addRange(0x1145A, 0x1145B).addRange(0x115C1, 0x115D7).addRange(0x11641, 0x11643).addRange(0x11660, 0x1166C).addRange(0x1173C, 0x1173E).addRange(0x11944, 0x11946).addRange(0x11A3F, 0x11A46).addRange(0x11A9A, 0x11A9C).addRange(0x11A9E, 0x11AA2).addRange(0x11C41, 0x11C45).addRange(0x11C70, 0x11C71).addRange(0x11EF7, 0x11EF8).addRange(0x12470, 0x12474).addRange(0x12FF1, 0x12FF2).addRange(0x16A6E, 0x16A6F).addRange(0x16B37, 0x16B3B).addRange(0x16E97, 0x16E9A).addRange(0x1DA87, 0x1DA8B).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\n\nset.addRange(0x2000, 0x200A).addRange(0x2028, 0x2029);\nmodule.exports = set;","const set = require('regenerate')(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000);\n\nset.addRange(0x2000, 0x200A);\nmodule.exports = set;","const set = require('regenerate')(0x903, 0x93B, 0x9D7, 0xA03, 0xA83, 0xAC9, 0xB3E, 0xB40, 0xB57, 0xBD7, 0xCBE, 0xD57, 0xF7F, 0x1031, 0x1038, 0x108F, 0x1715, 0x1734, 0x17B6, 0x1A55, 0x1A57, 0x1A61, 0x1B04, 0x1B35, 0x1B3B, 0x1B82, 0x1BA1, 0x1BAA, 0x1BE7, 0x1BEE, 0x1CE1, 0x1CF7, 0xA827, 0xA983, 0xAA4D, 0xAA7B, 0xAA7D, 0xAAEB, 0xAAF5, 0xABEC, 0x11000, 0x11002, 0x11082, 0x1112C, 0x11182, 0x111CE, 0x11235, 0x11357, 0x11445, 0x114B9, 0x114C1, 0x115BE, 0x1163E, 0x116AC, 0x116B6, 0x11726, 0x11838, 0x1193D, 0x11940, 0x11942, 0x119E4, 0x11A39, 0x11A97, 0x11C2F, 0x11C3E, 0x11CA9, 0x11CB1, 0x11CB4, 0x11D96);\n\nset.addRange(0x93E, 0x940).addRange(0x949, 0x94C).addRange(0x94E, 0x94F).addRange(0x982, 0x983).addRange(0x9BE, 0x9C0).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CC).addRange(0xA3E, 0xA40).addRange(0xABE, 0xAC0).addRange(0xACB, 0xACC).addRange(0xB02, 0xB03).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4C).addRange(0xBBE, 0xBBF).addRange(0xBC1, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCC).addRange(0xC01, 0xC03).addRange(0xC41, 0xC44).addRange(0xC82, 0xC83).addRange(0xCC0, 0xCC4).addRange(0xCC7, 0xCC8).addRange(0xCCA, 0xCCB).addRange(0xCD5, 0xCD6).addRange(0xD02, 0xD03).addRange(0xD3E, 0xD40).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4C).addRange(0xD82, 0xD83).addRange(0xDCF, 0xDD1).addRange(0xDD8, 0xDDF).addRange(0xDF2, 0xDF3).addRange(0xF3E, 0xF3F).addRange(0x102B, 0x102C).addRange(0x103B, 0x103C).addRange(0x1056, 0x1057).addRange(0x1062, 0x1064).addRange(0x1067, 0x106D).addRange(0x1083, 0x1084).addRange(0x1087, 0x108C).addRange(0x109A, 0x109C).addRange(0x17BE, 0x17C5).addRange(0x17C7, 0x17C8).addRange(0x1923, 0x1926).addRange(0x1929, 0x192B).addRange(0x1930, 0x1931).addRange(0x1933, 0x1938).addRange(0x1A19, 0x1A1A).addRange(0x1A63, 0x1A64).addRange(0x1A6D, 0x1A72).addRange(0x1B3D, 0x1B41);\nset.addRange(0x1B43, 0x1B44).addRange(0x1BA6, 0x1BA7).addRange(0x1BEA, 0x1BEC).addRange(0x1BF2, 0x1BF3).addRange(0x1C24, 0x1C2B).addRange(0x1C34, 0x1C35).addRange(0x302E, 0x302F).addRange(0xA823, 0xA824).addRange(0xA880, 0xA881).addRange(0xA8B4, 0xA8C3).addRange(0xA952, 0xA953).addRange(0xA9B4, 0xA9B5).addRange(0xA9BA, 0xA9BB).addRange(0xA9BE, 0xA9C0).addRange(0xAA2F, 0xAA30).addRange(0xAA33, 0xAA34).addRange(0xAAEE, 0xAAEF).addRange(0xABE3, 0xABE4).addRange(0xABE6, 0xABE7).addRange(0xABE9, 0xABEA).addRange(0x110B0, 0x110B2).addRange(0x110B7, 0x110B8).addRange(0x11145, 0x11146).addRange(0x111B3, 0x111B5).addRange(0x111BF, 0x111C0).addRange(0x1122C, 0x1122E).addRange(0x11232, 0x11233).addRange(0x112E0, 0x112E2).addRange(0x11302, 0x11303).addRange(0x1133E, 0x1133F).addRange(0x11341, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x11362, 0x11363).addRange(0x11435, 0x11437).addRange(0x11440, 0x11441).addRange(0x114B0, 0x114B2).addRange(0x114BB, 0x114BE).addRange(0x115AF, 0x115B1).addRange(0x115B8, 0x115BB).addRange(0x11630, 0x11632).addRange(0x1163B, 0x1163C).addRange(0x116AE, 0x116AF).addRange(0x11720, 0x11721).addRange(0x1182C, 0x1182E).addRange(0x11930, 0x11935).addRange(0x11937, 0x11938).addRange(0x119D1, 0x119D3).addRange(0x119DC, 0x119DF).addRange(0x11A57, 0x11A58).addRange(0x11D8A, 0x11D8E);\nset.addRange(0x11D93, 0x11D94).addRange(0x11EF5, 0x11EF6).addRange(0x16F51, 0x16F87).addRange(0x16FF0, 0x16FF1).addRange(0x1D165, 0x1D166).addRange(0x1D16D, 0x1D172);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xD800, 0xDFFF);\nmodule.exports = set;","const set = require('regenerate')(0x24, 0x2B, 0x5E, 0x60, 0x7C, 0x7E, 0xAC, 0xB4, 0xB8, 0xD7, 0xF7, 0x2ED, 0x375, 0x3F6, 0x482, 0x60B, 0x6DE, 0x6E9, 0x7F6, 0x888, 0xAF1, 0xB70, 0xC7F, 0xD4F, 0xD79, 0xE3F, 0xF13, 0xF34, 0xF36, 0xF38, 0x166D, 0x17DB, 0x1940, 0x1FBD, 0x2044, 0x2052, 0x2114, 0x2125, 0x2127, 0x2129, 0x212E, 0x214F, 0x3004, 0x3020, 0x3250, 0xAB5B, 0xFB29, 0xFDCF, 0xFE62, 0xFE69, 0xFF04, 0xFF0B, 0xFF3E, 0xFF40, 0xFF5C, 0xFF5E, 0x101A0, 0x10AC8, 0x1173F, 0x16B45, 0x1BC9C, 0x1D245, 0x1D6C1, 0x1D6DB, 0x1D6FB, 0x1D715, 0x1D735, 0x1D74F, 0x1D76F, 0x1D789, 0x1D7A9, 0x1D7C3, 0x1E14F, 0x1E2FF, 0x1ECAC, 0x1ECB0, 0x1ED2E, 0x1F7F0);\n\nset.addRange(0x3C, 0x3E).addRange(0xA2, 0xA6).addRange(0xA8, 0xA9).addRange(0xAE, 0xB1).addRange(0x2C2, 0x2C5).addRange(0x2D2, 0x2DF).addRange(0x2E5, 0x2EB).addRange(0x2EF, 0x2FF).addRange(0x384, 0x385).addRange(0x58D, 0x58F).addRange(0x606, 0x608).addRange(0x60E, 0x60F).addRange(0x6FD, 0x6FE).addRange(0x7FE, 0x7FF).addRange(0x9F2, 0x9F3).addRange(0x9FA, 0x9FB).addRange(0xBF3, 0xBFA).addRange(0xF01, 0xF03).addRange(0xF15, 0xF17).addRange(0xF1A, 0xF1F).addRange(0xFBE, 0xFC5).addRange(0xFC7, 0xFCC).addRange(0xFCE, 0xFCF).addRange(0xFD5, 0xFD8).addRange(0x109E, 0x109F).addRange(0x1390, 0x1399).addRange(0x19DE, 0x19FF).addRange(0x1B61, 0x1B6A).addRange(0x1B74, 0x1B7C).addRange(0x1FBF, 0x1FC1).addRange(0x1FCD, 0x1FCF).addRange(0x1FDD, 0x1FDF).addRange(0x1FED, 0x1FEF).addRange(0x1FFD, 0x1FFE).addRange(0x207A, 0x207C).addRange(0x208A, 0x208C).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2101).addRange(0x2103, 0x2106).addRange(0x2108, 0x2109).addRange(0x2116, 0x2118).addRange(0x211E, 0x2123).addRange(0x213A, 0x213B).addRange(0x2140, 0x2144).addRange(0x214A, 0x214D).addRange(0x218A, 0x218B).addRange(0x2190, 0x2307).addRange(0x230C, 0x2328).addRange(0x232B, 0x2426).addRange(0x2440, 0x244A).addRange(0x249C, 0x24E9);\nset.addRange(0x2500, 0x2767).addRange(0x2794, 0x27C4).addRange(0x27C7, 0x27E5).addRange(0x27F0, 0x2982).addRange(0x2999, 0x29D7).addRange(0x29DC, 0x29FB).addRange(0x29FE, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2CE5, 0x2CEA).addRange(0x2E50, 0x2E51).addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x2FF0, 0x2FFB).addRange(0x3012, 0x3013).addRange(0x3036, 0x3037).addRange(0x303E, 0x303F).addRange(0x309B, 0x309C).addRange(0x3190, 0x3191).addRange(0x3196, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3200, 0x321E).addRange(0x322A, 0x3247).addRange(0x3260, 0x327F).addRange(0x328A, 0x32B0).addRange(0x32C0, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA490, 0xA4C6).addRange(0xA700, 0xA716).addRange(0xA720, 0xA721).addRange(0xA789, 0xA78A).addRange(0xA828, 0xA82B).addRange(0xA836, 0xA839).addRange(0xAA77, 0xAA79).addRange(0xAB6A, 0xAB6B).addRange(0xFBB2, 0xFBC2).addRange(0xFD40, 0xFD4F).addRange(0xFDFC, 0xFDFF).addRange(0xFE64, 0xFE66).addRange(0xFF1C, 0xFF1E).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFFC, 0xFFFD).addRange(0x10137, 0x1013F).addRange(0x10179, 0x10189).addRange(0x1018C, 0x1018E).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x10877, 0x10878).addRange(0x11FD5, 0x11FF1);\nset.addRange(0x16B3C, 0x16B3F).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D164).addRange(0x1D16A, 0x1D16C).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D200, 0x1D241).addRange(0x1D300, 0x1D356).addRange(0x1D800, 0x1D9FF).addRange(0x1DA37, 0x1DA3A).addRange(0x1DA6D, 0x1DA74).addRange(0x1DA76, 0x1DA83).addRange(0x1DA85, 0x1DA86).addRange(0x1EEF0, 0x1EEF1).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F10D, 0x1F1AD).addRange(0x1F1E6, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7);\nset.addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA);\nmodule.exports = set;","const set = require('regenerate')(0x1C5, 0x1C8, 0x1CB, 0x1F2, 0x1FBC, 0x1FCC, 0x1FFC);\n\nset.addRange(0x1F88, 0x1F8F).addRange(0x1F98, 0x1F9F).addRange(0x1FA8, 0x1FAF);\nmodule.exports = set;","const set = require('regenerate')(0x38B, 0x38D, 0x3A2, 0x530, 0x590, 0x70E, 0x83F, 0x85F, 0x88F, 0x984, 0x9A9, 0x9B1, 0x9DE, 0xA04, 0xA29, 0xA31, 0xA34, 0xA37, 0xA3D, 0xA5D, 0xA84, 0xA8E, 0xA92, 0xAA9, 0xAB1, 0xAB4, 0xAC6, 0xACA, 0xB00, 0xB04, 0xB29, 0xB31, 0xB34, 0xB5E, 0xB84, 0xB91, 0xB9B, 0xB9D, 0xBC9, 0xC0D, 0xC11, 0xC29, 0xC45, 0xC49, 0xC57, 0xC8D, 0xC91, 0xCA9, 0xCB4, 0xCC5, 0xCC9, 0xCDF, 0xCF0, 0xD0D, 0xD11, 0xD45, 0xD49, 0xD80, 0xD84, 0xDB2, 0xDBC, 0xDD5, 0xDD7, 0xE83, 0xE85, 0xE8B, 0xEA4, 0xEA6, 0xEC5, 0xEC7, 0xF48, 0xF98, 0xFBD, 0xFCD, 0x10C6, 0x1249, 0x1257, 0x1259, 0x1289, 0x12B1, 0x12BF, 0x12C1, 0x12D7, 0x1311, 0x176D, 0x1771, 0x191F, 0x1A5F, 0x1B7F, 0x1F58, 0x1F5A, 0x1F5C, 0x1F5E, 0x1FB5, 0x1FC5, 0x1FDC, 0x1FF5, 0x1FFF, 0x2065, 0x208F, 0x2B96, 0x2D26, 0x2DA7, 0x2DAF, 0x2DB7, 0x2DBF, 0x2DC7, 0x2DCF, 0x2DD7, 0x2DDF, 0x2E9A, 0x3040, 0x3130, 0x318F, 0x321F, 0xA7D2, 0xA7D4, 0xA9CE, 0xA9FF, 0xAB27, 0xAB2F, 0xFB37, 0xFB3D, 0xFB3F, 0xFB42, 0xFB45, 0xFE53, 0xFE67, 0xFE75, 0xFF00, 0xFFE7, 0x1000C, 0x10027, 0x1003B, 0x1003E, 0x1018F, 0x1039E, 0x1057B, 0x1058B, 0x10593, 0x10596, 0x105A2, 0x105B2, 0x105BA, 0x10786, 0x107B1, 0x10809, 0x10836, 0x10856, 0x108F3, 0x10A04, 0x10A14, 0x10A18, 0x10E7F, 0x10EAA, 0x11135, 0x111E0, 0x11212, 0x11287, 0x11289, 0x1128E, 0x1129E, 0x11304, 0x11329, 0x11331, 0x11334, 0x1133A, 0x1145C, 0x11914, 0x11917, 0x11936, 0x11C09, 0x11C37, 0x11CA8, 0x11D07, 0x11D0A, 0x11D3B, 0x11D3E, 0x11D66, 0x11D69, 0x11D8F, 0x11D92, 0x1246F, 0x1342F, 0x16A5F, 0x16ABF, 0x16B5A, 0x16B62, 0x1AFF4, 0x1AFFC, 0x1AFFF, 0x1D455, 0x1D49D, 0x1D4AD, 0x1D4BA, 0x1D4BC, 0x1D4C4, 0x1D506, 0x1D515, 0x1D51D, 0x1D53A, 0x1D53F, 0x1D545, 0x1D551, 0x1DAA0, 0x1E007, 0x1E022, 0x1E025, 0x1E7E7, 0x1E7EC, 0x1E7EF, 0x1E7FF, 0x1EE04, 0x1EE20, 0x1EE23, 0x1EE28, 0x1EE33, 0x1EE38, 0x1EE3A, 0x1EE48, 0x1EE4A, 0x1EE4C, 0x1EE50, 0x1EE53, 0x1EE58, 0x1EE5A, 0x1EE5C, 0x1EE5E, 0x1EE60, 0x1EE63, 0x1EE6B, 0x1EE73, 0x1EE78, 0x1EE7D, 0x1EE7F, 0x1EE8A, 0x1EEA4, 0x1EEAA, 0x1F0C0, 0x1F0D0, 0x1FB93);\n\nset.addRange(0x378, 0x379).addRange(0x380, 0x383).addRange(0x557, 0x558).addRange(0x58B, 0x58C).addRange(0x5C8, 0x5CF).addRange(0x5EB, 0x5EE).addRange(0x5F5, 0x5FF).addRange(0x74B, 0x74C).addRange(0x7B2, 0x7BF).addRange(0x7FB, 0x7FC).addRange(0x82E, 0x82F).addRange(0x85C, 0x85D).addRange(0x86B, 0x86F).addRange(0x892, 0x897).addRange(0x98D, 0x98E).addRange(0x991, 0x992).addRange(0x9B3, 0x9B5).addRange(0x9BA, 0x9BB).addRange(0x9C5, 0x9C6).addRange(0x9C9, 0x9CA).addRange(0x9CF, 0x9D6).addRange(0x9D8, 0x9DB).addRange(0x9E4, 0x9E5).addRange(0x9FF, 0xA00).addRange(0xA0B, 0xA0E).addRange(0xA11, 0xA12).addRange(0xA3A, 0xA3B).addRange(0xA43, 0xA46).addRange(0xA49, 0xA4A).addRange(0xA4E, 0xA50).addRange(0xA52, 0xA58).addRange(0xA5F, 0xA65).addRange(0xA77, 0xA80).addRange(0xABA, 0xABB).addRange(0xACE, 0xACF).addRange(0xAD1, 0xADF).addRange(0xAE4, 0xAE5).addRange(0xAF2, 0xAF8).addRange(0xB0D, 0xB0E).addRange(0xB11, 0xB12).addRange(0xB3A, 0xB3B).addRange(0xB45, 0xB46).addRange(0xB49, 0xB4A).addRange(0xB4E, 0xB54).addRange(0xB58, 0xB5B).addRange(0xB64, 0xB65).addRange(0xB78, 0xB81).addRange(0xB8B, 0xB8D).addRange(0xB96, 0xB98).addRange(0xBA0, 0xBA2).addRange(0xBA5, 0xBA7);\nset.addRange(0xBAB, 0xBAD).addRange(0xBBA, 0xBBD).addRange(0xBC3, 0xBC5).addRange(0xBCE, 0xBCF).addRange(0xBD1, 0xBD6).addRange(0xBD8, 0xBE5).addRange(0xBFB, 0xBFF).addRange(0xC3A, 0xC3B).addRange(0xC4E, 0xC54).addRange(0xC5B, 0xC5C).addRange(0xC5E, 0xC5F).addRange(0xC64, 0xC65).addRange(0xC70, 0xC76).addRange(0xCBA, 0xCBB).addRange(0xCCE, 0xCD4).addRange(0xCD7, 0xCDC).addRange(0xCE4, 0xCE5).addRange(0xCF3, 0xCFF).addRange(0xD50, 0xD53).addRange(0xD64, 0xD65).addRange(0xD97, 0xD99).addRange(0xDBE, 0xDBF).addRange(0xDC7, 0xDC9).addRange(0xDCB, 0xDCE).addRange(0xDE0, 0xDE5).addRange(0xDF0, 0xDF1).addRange(0xDF5, 0xE00).addRange(0xE3B, 0xE3E).addRange(0xE5C, 0xE80).addRange(0xEBE, 0xEBF).addRange(0xECE, 0xECF).addRange(0xEDA, 0xEDB).addRange(0xEE0, 0xEFF).addRange(0xF6D, 0xF70).addRange(0xFDB, 0xFFF).addRange(0x10C8, 0x10CC).addRange(0x10CE, 0x10CF).addRange(0x124E, 0x124F).addRange(0x125E, 0x125F).addRange(0x128E, 0x128F).addRange(0x12B6, 0x12B7).addRange(0x12C6, 0x12C7).addRange(0x1316, 0x1317).addRange(0x135B, 0x135C).addRange(0x137D, 0x137F).addRange(0x139A, 0x139F).addRange(0x13F6, 0x13F7).addRange(0x13FE, 0x13FF).addRange(0x169D, 0x169F).addRange(0x16F9, 0x16FF).addRange(0x1716, 0x171E);\nset.addRange(0x1737, 0x173F).addRange(0x1754, 0x175F).addRange(0x1774, 0x177F).addRange(0x17DE, 0x17DF).addRange(0x17EA, 0x17EF).addRange(0x17FA, 0x17FF).addRange(0x181A, 0x181F).addRange(0x1879, 0x187F).addRange(0x18AB, 0x18AF).addRange(0x18F6, 0x18FF).addRange(0x192C, 0x192F).addRange(0x193C, 0x193F).addRange(0x1941, 0x1943).addRange(0x196E, 0x196F).addRange(0x1975, 0x197F).addRange(0x19AC, 0x19AF).addRange(0x19CA, 0x19CF).addRange(0x19DB, 0x19DD).addRange(0x1A1C, 0x1A1D).addRange(0x1A7D, 0x1A7E).addRange(0x1A8A, 0x1A8F).addRange(0x1A9A, 0x1A9F).addRange(0x1AAE, 0x1AAF).addRange(0x1ACF, 0x1AFF).addRange(0x1B4D, 0x1B4F).addRange(0x1BF4, 0x1BFB).addRange(0x1C38, 0x1C3A).addRange(0x1C4A, 0x1C4C).addRange(0x1C89, 0x1C8F).addRange(0x1CBB, 0x1CBC).addRange(0x1CC8, 0x1CCF).addRange(0x1CFB, 0x1CFF).addRange(0x1F16, 0x1F17).addRange(0x1F1E, 0x1F1F).addRange(0x1F46, 0x1F47).addRange(0x1F4E, 0x1F4F).addRange(0x1F7E, 0x1F7F).addRange(0x1FD4, 0x1FD5).addRange(0x1FF0, 0x1FF1).addRange(0x2072, 0x2073).addRange(0x209D, 0x209F).addRange(0x20C1, 0x20CF).addRange(0x20F1, 0x20FF).addRange(0x218C, 0x218F).addRange(0x2427, 0x243F).addRange(0x244B, 0x245F).addRange(0x2B74, 0x2B75).addRange(0x2CF4, 0x2CF8).addRange(0x2D28, 0x2D2C).addRange(0x2D2E, 0x2D2F).addRange(0x2D68, 0x2D6E);\nset.addRange(0x2D71, 0x2D7E).addRange(0x2D97, 0x2D9F).addRange(0x2E5E, 0x2E7F).addRange(0x2EF4, 0x2EFF).addRange(0x2FD6, 0x2FEF).addRange(0x2FFC, 0x2FFF).addRange(0x3097, 0x3098).addRange(0x3100, 0x3104).addRange(0x31E4, 0x31EF).addRange(0xA48D, 0xA48F).addRange(0xA4C7, 0xA4CF).addRange(0xA62C, 0xA63F).addRange(0xA6F8, 0xA6FF).addRange(0xA7CB, 0xA7CF).addRange(0xA7DA, 0xA7F1).addRange(0xA82D, 0xA82F).addRange(0xA83A, 0xA83F).addRange(0xA878, 0xA87F).addRange(0xA8C6, 0xA8CD).addRange(0xA8DA, 0xA8DF).addRange(0xA954, 0xA95E).addRange(0xA97D, 0xA97F).addRange(0xA9DA, 0xA9DD).addRange(0xAA37, 0xAA3F).addRange(0xAA4E, 0xAA4F).addRange(0xAA5A, 0xAA5B).addRange(0xAAC3, 0xAADA).addRange(0xAAF7, 0xAB00).addRange(0xAB07, 0xAB08).addRange(0xAB0F, 0xAB10).addRange(0xAB17, 0xAB1F).addRange(0xAB6C, 0xAB6F).addRange(0xABEE, 0xABEF).addRange(0xABFA, 0xABFF).addRange(0xD7A4, 0xD7AF).addRange(0xD7C7, 0xD7CA).addRange(0xD7FC, 0xD7FF).addRange(0xFA6E, 0xFA6F).addRange(0xFADA, 0xFAFF).addRange(0xFB07, 0xFB12).addRange(0xFB18, 0xFB1C).addRange(0xFBC3, 0xFBD2).addRange(0xFD90, 0xFD91).addRange(0xFDC8, 0xFDCE).addRange(0xFDD0, 0xFDEF).addRange(0xFE1A, 0xFE1F).addRange(0xFE6C, 0xFE6F).addRange(0xFEFD, 0xFEFE).addRange(0xFFBF, 0xFFC1).addRange(0xFFC8, 0xFFC9).addRange(0xFFD0, 0xFFD1);\nset.addRange(0xFFD8, 0xFFD9).addRange(0xFFDD, 0xFFDF).addRange(0xFFEF, 0xFFF8).addRange(0xFFFE, 0xFFFF).addRange(0x1004E, 0x1004F).addRange(0x1005E, 0x1007F).addRange(0x100FB, 0x100FF).addRange(0x10103, 0x10106).addRange(0x10134, 0x10136).addRange(0x1019D, 0x1019F).addRange(0x101A1, 0x101CF).addRange(0x101FE, 0x1027F).addRange(0x1029D, 0x1029F).addRange(0x102D1, 0x102DF).addRange(0x102FC, 0x102FF).addRange(0x10324, 0x1032C).addRange(0x1034B, 0x1034F).addRange(0x1037B, 0x1037F).addRange(0x103C4, 0x103C7).addRange(0x103D6, 0x103FF).addRange(0x1049E, 0x1049F).addRange(0x104AA, 0x104AF).addRange(0x104D4, 0x104D7).addRange(0x104FC, 0x104FF).addRange(0x10528, 0x1052F).addRange(0x10564, 0x1056E).addRange(0x105BD, 0x105FF).addRange(0x10737, 0x1073F).addRange(0x10756, 0x1075F).addRange(0x10768, 0x1077F).addRange(0x107BB, 0x107FF).addRange(0x10806, 0x10807).addRange(0x10839, 0x1083B).addRange(0x1083D, 0x1083E).addRange(0x1089F, 0x108A6).addRange(0x108B0, 0x108DF).addRange(0x108F6, 0x108FA).addRange(0x1091C, 0x1091E).addRange(0x1093A, 0x1093E).addRange(0x10940, 0x1097F).addRange(0x109B8, 0x109BB).addRange(0x109D0, 0x109D1).addRange(0x10A07, 0x10A0B).addRange(0x10A36, 0x10A37).addRange(0x10A3B, 0x10A3E).addRange(0x10A49, 0x10A4F).addRange(0x10A59, 0x10A5F).addRange(0x10AA0, 0x10ABF).addRange(0x10AE7, 0x10AEA).addRange(0x10AF7, 0x10AFF).addRange(0x10B36, 0x10B38);\nset.addRange(0x10B56, 0x10B57).addRange(0x10B73, 0x10B77).addRange(0x10B92, 0x10B98).addRange(0x10B9D, 0x10BA8).addRange(0x10BB0, 0x10BFF).addRange(0x10C49, 0x10C7F).addRange(0x10CB3, 0x10CBF).addRange(0x10CF3, 0x10CF9).addRange(0x10D28, 0x10D2F).addRange(0x10D3A, 0x10E5F).addRange(0x10EAE, 0x10EAF).addRange(0x10EB2, 0x10EFF).addRange(0x10F28, 0x10F2F).addRange(0x10F5A, 0x10F6F).addRange(0x10F8A, 0x10FAF).addRange(0x10FCC, 0x10FDF).addRange(0x10FF7, 0x10FFF).addRange(0x1104E, 0x11051).addRange(0x11076, 0x1107E).addRange(0x110C3, 0x110CC).addRange(0x110CE, 0x110CF).addRange(0x110E9, 0x110EF).addRange(0x110FA, 0x110FF).addRange(0x11148, 0x1114F).addRange(0x11177, 0x1117F).addRange(0x111F5, 0x111FF).addRange(0x1123F, 0x1127F).addRange(0x112AA, 0x112AF).addRange(0x112EB, 0x112EF).addRange(0x112FA, 0x112FF).addRange(0x1130D, 0x1130E).addRange(0x11311, 0x11312).addRange(0x11345, 0x11346).addRange(0x11349, 0x1134A).addRange(0x1134E, 0x1134F).addRange(0x11351, 0x11356).addRange(0x11358, 0x1135C).addRange(0x11364, 0x11365).addRange(0x1136D, 0x1136F).addRange(0x11375, 0x113FF).addRange(0x11462, 0x1147F).addRange(0x114C8, 0x114CF).addRange(0x114DA, 0x1157F).addRange(0x115B6, 0x115B7).addRange(0x115DE, 0x115FF).addRange(0x11645, 0x1164F).addRange(0x1165A, 0x1165F).addRange(0x1166D, 0x1167F).addRange(0x116BA, 0x116BF).addRange(0x116CA, 0x116FF).addRange(0x1171B, 0x1171C);\nset.addRange(0x1172C, 0x1172F).addRange(0x11747, 0x117FF).addRange(0x1183C, 0x1189F).addRange(0x118F3, 0x118FE).addRange(0x11907, 0x11908).addRange(0x1190A, 0x1190B).addRange(0x11939, 0x1193A).addRange(0x11947, 0x1194F).addRange(0x1195A, 0x1199F).addRange(0x119A8, 0x119A9).addRange(0x119D8, 0x119D9).addRange(0x119E5, 0x119FF).addRange(0x11A48, 0x11A4F).addRange(0x11AA3, 0x11AAF).addRange(0x11AF9, 0x11BFF).addRange(0x11C46, 0x11C4F).addRange(0x11C6D, 0x11C6F).addRange(0x11C90, 0x11C91).addRange(0x11CB7, 0x11CFF).addRange(0x11D37, 0x11D39).addRange(0x11D48, 0x11D4F).addRange(0x11D5A, 0x11D5F).addRange(0x11D99, 0x11D9F).addRange(0x11DAA, 0x11EDF).addRange(0x11EF9, 0x11FAF).addRange(0x11FB1, 0x11FBF).addRange(0x11FF2, 0x11FFE).addRange(0x1239A, 0x123FF).addRange(0x12475, 0x1247F).addRange(0x12544, 0x12F8F).addRange(0x12FF3, 0x12FFF).addRange(0x13439, 0x143FF).addRange(0x14647, 0x167FF).addRange(0x16A39, 0x16A3F).addRange(0x16A6A, 0x16A6D).addRange(0x16ACA, 0x16ACF).addRange(0x16AEE, 0x16AEF).addRange(0x16AF6, 0x16AFF).addRange(0x16B46, 0x16B4F).addRange(0x16B78, 0x16B7C).addRange(0x16B90, 0x16E3F).addRange(0x16E9B, 0x16EFF).addRange(0x16F4B, 0x16F4E).addRange(0x16F88, 0x16F8E).addRange(0x16FA0, 0x16FDF).addRange(0x16FE5, 0x16FEF).addRange(0x16FF2, 0x16FFF).addRange(0x187F8, 0x187FF).addRange(0x18CD6, 0x18CFF).addRange(0x18D09, 0x1AFEF).addRange(0x1B123, 0x1B14F);\nset.addRange(0x1B153, 0x1B163).addRange(0x1B168, 0x1B16F).addRange(0x1B2FC, 0x1BBFF).addRange(0x1BC6B, 0x1BC6F).addRange(0x1BC7D, 0x1BC7F).addRange(0x1BC89, 0x1BC8F).addRange(0x1BC9A, 0x1BC9B).addRange(0x1BCA4, 0x1CEFF).addRange(0x1CF2E, 0x1CF2F).addRange(0x1CF47, 0x1CF4F).addRange(0x1CFC4, 0x1CFFF).addRange(0x1D0F6, 0x1D0FF).addRange(0x1D127, 0x1D128).addRange(0x1D1EB, 0x1D1FF).addRange(0x1D246, 0x1D2DF).addRange(0x1D2F4, 0x1D2FF).addRange(0x1D357, 0x1D35F).addRange(0x1D379, 0x1D3FF).addRange(0x1D4A0, 0x1D4A1).addRange(0x1D4A3, 0x1D4A4).addRange(0x1D4A7, 0x1D4A8).addRange(0x1D50B, 0x1D50C).addRange(0x1D547, 0x1D549).addRange(0x1D6A6, 0x1D6A7).addRange(0x1D7CC, 0x1D7CD).addRange(0x1DA8C, 0x1DA9A).addRange(0x1DAB0, 0x1DEFF).addRange(0x1DF1F, 0x1DFFF).addRange(0x1E019, 0x1E01A).addRange(0x1E02B, 0x1E0FF).addRange(0x1E12D, 0x1E12F).addRange(0x1E13E, 0x1E13F).addRange(0x1E14A, 0x1E14D).addRange(0x1E150, 0x1E28F).addRange(0x1E2AF, 0x1E2BF).addRange(0x1E2FA, 0x1E2FE).addRange(0x1E300, 0x1E7DF).addRange(0x1E8C5, 0x1E8C6).addRange(0x1E8D7, 0x1E8FF).addRange(0x1E94C, 0x1E94F).addRange(0x1E95A, 0x1E95D).addRange(0x1E960, 0x1EC70).addRange(0x1ECB5, 0x1ED00).addRange(0x1ED3E, 0x1EDFF).addRange(0x1EE25, 0x1EE26).addRange(0x1EE3C, 0x1EE41).addRange(0x1EE43, 0x1EE46).addRange(0x1EE55, 0x1EE56).addRange(0x1EE65, 0x1EE66).addRange(0x1EE9C, 0x1EEA0).addRange(0x1EEBC, 0x1EEEF);\nset.addRange(0x1EEF2, 0x1EFFF).addRange(0x1F02C, 0x1F02F).addRange(0x1F094, 0x1F09F).addRange(0x1F0AF, 0x1F0B0).addRange(0x1F0F6, 0x1F0FF).addRange(0x1F1AE, 0x1F1E5).addRange(0x1F203, 0x1F20F).addRange(0x1F23C, 0x1F23F).addRange(0x1F249, 0x1F24F).addRange(0x1F252, 0x1F25F).addRange(0x1F266, 0x1F2FF).addRange(0x1F6D8, 0x1F6DC).addRange(0x1F6ED, 0x1F6EF).addRange(0x1F6FD, 0x1F6FF).addRange(0x1F774, 0x1F77F).addRange(0x1F7D9, 0x1F7DF).addRange(0x1F7EC, 0x1F7EF).addRange(0x1F7F1, 0x1F7FF).addRange(0x1F80C, 0x1F80F).addRange(0x1F848, 0x1F84F).addRange(0x1F85A, 0x1F85F).addRange(0x1F888, 0x1F88F).addRange(0x1F8AE, 0x1F8AF).addRange(0x1F8B2, 0x1F8FF).addRange(0x1FA54, 0x1FA5F).addRange(0x1FA6E, 0x1FA6F).addRange(0x1FA75, 0x1FA77).addRange(0x1FA7D, 0x1FA7F).addRange(0x1FA87, 0x1FA8F).addRange(0x1FAAD, 0x1FAAF).addRange(0x1FABB, 0x1FABF).addRange(0x1FAC6, 0x1FACF).addRange(0x1FADA, 0x1FADF).addRange(0x1FAE8, 0x1FAEF).addRange(0x1FAF7, 0x1FAFF).addRange(0x1FBCB, 0x1FBEF).addRange(0x1FBFA, 0x1FFFF).addRange(0x2A6E0, 0x2A6FF).addRange(0x2B739, 0x2B73F).addRange(0x2B81E, 0x2B81F).addRange(0x2CEA2, 0x2CEAF).addRange(0x2EBE1, 0x2F7FF).addRange(0x2FA1E, 0x2FFFF).addRange(0x3134B, 0xE0000).addRange(0xE0002, 0xE001F).addRange(0xE0080, 0xE00FF).addRange(0xE01F0, 0xEFFFF).addRange(0xFFFFE, 0xFFFFF).addRange(0x10FFFE, 0x10FFFF);\nmodule.exports = set;","const set = require('regenerate')(0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x17B, 0x17D, 0x184, 0x1A2, 0x1A4, 0x1A9, 0x1AC, 0x1B5, 0x1BC, 0x1C4, 0x1C7, 0x1CA, 0x1CD, 0x1CF, 0x1D1, 0x1D3, 0x1D5, 0x1D7, 0x1D9, 0x1DB, 0x1DE, 0x1E0, 0x1E2, 0x1E4, 0x1E6, 0x1E8, 0x1EA, 0x1EC, 0x1EE, 0x1F1, 0x1F4, 0x1FA, 0x1FC, 0x1FE, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20A, 0x20C, 0x20E, 0x210, 0x212, 0x214, 0x216, 0x218, 0x21A, 0x21C, 0x21E, 0x220, 0x222, 0x224, 0x226, 0x228, 0x22A, 0x22C, 0x22E, 0x230, 0x232, 0x241, 0x248, 0x24A, 0x24C, 0x24E, 0x370, 0x372, 0x376, 0x37F, 0x386, 0x38C, 0x3CF, 0x3D8, 0x3DA, 0x3DC, 0x3DE, 0x3E0, 0x3E2, 0x3E4, 0x3E6, 0x3E8, 0x3EA, 0x3EC, 0x3EE, 0x3F4, 0x3F7, 0x460, 0x462, 0x464, 0x466, 0x468, 0x46A, 0x46C, 0x46E, 0x470, 0x472, 0x474, 0x476, 0x478, 0x47A, 0x47C, 0x47E, 0x480, 0x48A, 0x48C, 0x48E, 0x490, 0x492, 0x494, 0x496, 0x498, 0x49A, 0x49C, 0x49E, 0x4A0, 0x4A2, 0x4A4, 0x4A6, 0x4A8, 0x4AA, 0x4AC, 0x4AE, 0x4B0, 0x4B2, 0x4B4, 0x4B6, 0x4B8, 0x4BA, 0x4BC, 0x4BE, 0x4C3, 0x4C5, 0x4C7, 0x4C9, 0x4CB, 0x4CD, 0x4D0, 0x4D2, 0x4D4, 0x4D6, 0x4D8, 0x4DA, 0x4DC, 0x4DE, 0x4E0, 0x4E2, 0x4E4, 0x4E6, 0x4E8, 0x4EA, 0x4EC, 0x4EE, 0x4F0, 0x4F2, 0x4F4, 0x4F6, 0x4F8, 0x4FA, 0x4FC, 0x4FE, 0x500, 0x502, 0x504, 0x506, 0x508, 0x50A, 0x50C, 0x50E, 0x510, 0x512, 0x514, 0x516, 0x518, 0x51A, 0x51C, 0x51E, 0x520, 0x522, 0x524, 0x526, 0x528, 0x52A, 0x52C, 0x52E, 0x10C7, 0x10CD, 0x1E00, 0x1E02, 0x1E04, 0x1E06, 0x1E08, 0x1E0A, 0x1E0C, 0x1E0E, 0x1E10, 0x1E12, 0x1E14, 0x1E16, 0x1E18, 0x1E1A, 0x1E1C, 0x1E1E, 0x1E20, 0x1E22, 0x1E24, 0x1E26, 0x1E28, 0x1E2A, 0x1E2C, 0x1E2E, 0x1E30, 0x1E32, 0x1E34, 0x1E36, 0x1E38, 0x1E3A, 0x1E3C, 0x1E3E, 0x1E40, 0x1E42, 0x1E44, 0x1E46, 0x1E48, 0x1E4A, 0x1E4C, 0x1E4E, 0x1E50, 0x1E52, 0x1E54, 0x1E56, 0x1E58, 0x1E5A, 0x1E5C, 0x1E5E, 0x1E60, 0x1E62, 0x1E64, 0x1E66, 0x1E68, 0x1E6A, 0x1E6C, 0x1E6E, 0x1E70, 0x1E72, 0x1E74, 0x1E76, 0x1E78, 0x1E7A, 0x1E7C, 0x1E7E, 0x1E80, 0x1E82, 0x1E84, 0x1E86, 0x1E88, 0x1E8A, 0x1E8C, 0x1E8E, 0x1E90, 0x1E92, 0x1E94, 0x1E9E, 0x1EA0, 0x1EA2, 0x1EA4, 0x1EA6, 0x1EA8, 0x1EAA, 0x1EAC, 0x1EAE, 0x1EB0, 0x1EB2, 0x1EB4, 0x1EB6, 0x1EB8, 0x1EBA, 0x1EBC, 0x1EBE, 0x1EC0, 0x1EC2, 0x1EC4, 0x1EC6, 0x1EC8, 0x1ECA, 0x1ECC, 0x1ECE, 0x1ED0, 0x1ED2, 0x1ED4, 0x1ED6, 0x1ED8, 0x1EDA, 0x1EDC, 0x1EDE, 0x1EE0, 0x1EE2, 0x1EE4, 0x1EE6, 0x1EE8, 0x1EEA, 0x1EEC, 0x1EEE, 0x1EF0, 0x1EF2, 0x1EF4, 0x1EF6, 0x1EF8, 0x1EFA, 0x1EFC, 0x1EFE, 0x1F59, 0x1F5B, 0x1F5D, 0x1F5F, 0x2102, 0x2107, 0x2115, 0x2124, 0x2126, 0x2128, 0x2145, 0x2183, 0x2C60, 0x2C67, 0x2C69, 0x2C6B, 0x2C72, 0x2C75, 0x2C82, 0x2C84, 0x2C86, 0x2C88, 0x2C8A, 0x2C8C, 0x2C8E, 0x2C90, 0x2C92, 0x2C94, 0x2C96, 0x2C98, 0x2C9A, 0x2C9C, 0x2C9E, 0x2CA0, 0x2CA2, 0x2CA4, 0x2CA6, 0x2CA8, 0x2CAA, 0x2CAC, 0x2CAE, 0x2CB0, 0x2CB2, 0x2CB4, 0x2CB6, 0x2CB8, 0x2CBA, 0x2CBC, 0x2CBE, 0x2CC0, 0x2CC2, 0x2CC4, 0x2CC6, 0x2CC8, 0x2CCA, 0x2CCC, 0x2CCE, 0x2CD0, 0x2CD2, 0x2CD4, 0x2CD6, 0x2CD8, 0x2CDA, 0x2CDC, 0x2CDE, 0x2CE0, 0x2CE2, 0x2CEB, 0x2CED, 0x2CF2, 0xA640, 0xA642, 0xA644, 0xA646, 0xA648, 0xA64A, 0xA64C, 0xA64E, 0xA650, 0xA652, 0xA654, 0xA656, 0xA658, 0xA65A, 0xA65C, 0xA65E, 0xA660, 0xA662, 0xA664, 0xA666, 0xA668, 0xA66A, 0xA66C, 0xA680, 0xA682, 0xA684, 0xA686, 0xA688, 0xA68A, 0xA68C, 0xA68E, 0xA690, 0xA692, 0xA694, 0xA696, 0xA698, 0xA69A, 0xA722, 0xA724, 0xA726, 0xA728, 0xA72A, 0xA72C, 0xA72E, 0xA732, 0xA734, 0xA736, 0xA738, 0xA73A, 0xA73C, 0xA73E, 0xA740, 0xA742, 0xA744, 0xA746, 0xA748, 0xA74A, 0xA74C, 0xA74E, 0xA750, 0xA752, 0xA754, 0xA756, 0xA758, 0xA75A, 0xA75C, 0xA75E, 0xA760, 0xA762, 0xA764, 0xA766, 0xA768, 0xA76A, 0xA76C, 0xA76E, 0xA779, 0xA77B, 0xA780, 0xA782, 0xA784, 0xA786, 0xA78B, 0xA78D, 0xA790, 0xA792, 0xA796, 0xA798, 0xA79A, 0xA79C, 0xA79E, 0xA7A0, 0xA7A2, 0xA7A4, 0xA7A6, 0xA7A8, 0xA7B6, 0xA7B8, 0xA7BA, 0xA7BC, 0xA7BE, 0xA7C0, 0xA7C2, 0xA7C9, 0xA7D0, 0xA7D6, 0xA7D8, 0xA7F5, 0x1D49C, 0x1D4A2, 0x1D546, 0x1D7CA);\n\nset.addRange(0x41, 0x5A).addRange(0xC0, 0xD6).addRange(0xD8, 0xDE).addRange(0x178, 0x179).addRange(0x181, 0x182).addRange(0x186, 0x187).addRange(0x189, 0x18B).addRange(0x18E, 0x191).addRange(0x193, 0x194).addRange(0x196, 0x198).addRange(0x19C, 0x19D).addRange(0x19F, 0x1A0).addRange(0x1A6, 0x1A7).addRange(0x1AE, 0x1AF).addRange(0x1B1, 0x1B3).addRange(0x1B7, 0x1B8).addRange(0x1F6, 0x1F8).addRange(0x23A, 0x23B).addRange(0x23D, 0x23E).addRange(0x243, 0x246).addRange(0x388, 0x38A).addRange(0x38E, 0x38F).addRange(0x391, 0x3A1).addRange(0x3A3, 0x3AB).addRange(0x3D2, 0x3D4).addRange(0x3F9, 0x3FA).addRange(0x3FD, 0x42F).addRange(0x4C0, 0x4C1).addRange(0x531, 0x556).addRange(0x10A0, 0x10C5).addRange(0x13A0, 0x13F5).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x1F08, 0x1F0F).addRange(0x1F18, 0x1F1D).addRange(0x1F28, 0x1F2F).addRange(0x1F38, 0x1F3F).addRange(0x1F48, 0x1F4D).addRange(0x1F68, 0x1F6F).addRange(0x1FB8, 0x1FBB).addRange(0x1FC8, 0x1FCB).addRange(0x1FD8, 0x1FDB).addRange(0x1FE8, 0x1FEC).addRange(0x1FF8, 0x1FFB).addRange(0x210B, 0x210D).addRange(0x2110, 0x2112).addRange(0x2119, 0x211D).addRange(0x212A, 0x212D).addRange(0x2130, 0x2133).addRange(0x213E, 0x213F).addRange(0x2C00, 0x2C2F);\nset.addRange(0x2C62, 0x2C64).addRange(0x2C6D, 0x2C70).addRange(0x2C7E, 0x2C80).addRange(0xA77D, 0xA77E).addRange(0xA7AA, 0xA7AE).addRange(0xA7B0, 0xA7B4).addRange(0xA7C4, 0xA7C7).addRange(0xFF21, 0xFF3A).addRange(0x10400, 0x10427).addRange(0x104B0, 0x104D3).addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10C80, 0x10CB2).addRange(0x118A0, 0x118BF).addRange(0x16E40, 0x16E5F).addRange(0x1D400, 0x1D419).addRange(0x1D434, 0x1D44D).addRange(0x1D468, 0x1D481).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B5).addRange(0x1D4D0, 0x1D4E9).addRange(0x1D504, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D538, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D56C, 0x1D585).addRange(0x1D5A0, 0x1D5B9).addRange(0x1D5D4, 0x1D5ED).addRange(0x1D608, 0x1D621).addRange(0x1D63C, 0x1D655).addRange(0x1D670, 0x1D689).addRange(0x1D6A8, 0x1D6C0).addRange(0x1D6E2, 0x1D6FA).addRange(0x1D71C, 0x1D734).addRange(0x1D756, 0x1D76E).addRange(0x1D790, 0x1D7A8).addRange(0x1E900, 0x1E921);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x14400, 0x14646);\nmodule.exports = set;","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x600, 0x604).addRange(0x606, 0x60B).addRange(0x60D, 0x61A).addRange(0x61C, 0x61E).addRange(0x620, 0x63F).addRange(0x641, 0x64A).addRange(0x656, 0x66F).addRange(0x671, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD3D).addRange(0xFD40, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x10E60, 0x10E7E).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nmodule.exports = set;","const set = require('regenerate')(0x9B2, 0x9D7);\n\nset.addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2EA, 0x2EB).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF);\nmodule.exports = set;","const set = require('regenerate')(0x1107F);\n\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2800, 0x28FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1740, 0x1753);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x102A0, 0x102D0);\nmodule.exports = set;","const set = require('regenerate')(0x1056F);\n\nset.addRange(0x10530, 0x10563);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FB0, 0x10FCB);\nmodule.exports = set;","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x60C, 0x61B, 0x61F, 0x640, 0x6DD, 0x8E2, 0xE3F, 0x10FB, 0x1805, 0x1CD3, 0x1CE1, 0x1CFA, 0x3006, 0x30A0, 0x32FF, 0xA92E, 0xA9CF, 0xAB5B, 0xFEFF, 0xFF70, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\n\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0x964, 0x965).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x1735, 0x1736).addRange(0x1802, 0x1803).addRange(0x1CE9, 0x1CEC).addRange(0x1CEE, 0x1CF3).addRange(0x1CF5, 0x1CF7).addRange(0x2000, 0x200B).addRange(0x200E, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3000, 0x3004).addRange(0x3008, 0x3020).addRange(0x3030, 0x3037).addRange(0x303C, 0x303F).addRange(0x309B, 0x309C).addRange(0x30FB, 0x30FC).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x325F).addRange(0x327F, 0x32CF).addRange(0x3358, 0x33FF).addRange(0x4DC0, 0x4DFF).addRange(0xA700, 0xA721).addRange(0xA788, 0xA78A).addRange(0xA830, 0xA839);\nset.addRange(0xAB6A, 0xAB6B).addRange(0xFD3E, 0xFD3F).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE).addRange(0xFFF9, 0xFFFD).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x102E1, 0x102FB).addRange(0x1BCA0, 0x1BCA3).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D360, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D);\nset.addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F250, 0x1F251).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nmodule.exports = set;","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\n\nset.addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x12F90, 0x12FF2);\nmodule.exports = set;","const set = require('regenerate')(0x1D2B, 0x1D78);\n\nset.addRange(0x400, 0x484).addRange(0x487, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10400, 0x1044F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x900, 0x950).addRange(0x955, 0x963).addRange(0x966, 0x97F).addRange(0xA8E0, 0xA8FF);\nmodule.exports = set;","const set = require('regenerate')(0x11909);\n\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11800, 0x1183B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BC9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10500, 0x10527);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FE0, 0x10FF6);\nmodule.exports = set;","const set = require('regenerate')(0x1258, 0x12C0);\n\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nmodule.exports = set;","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\n\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FA).addRange(0x10FC, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10330, 0x1034A);\nmodule.exports = set;","const set = require('regenerate')(0x11350, 0x11357);\n\nset.addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133C, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374);\nmodule.exports = set;","const set = require('regenerate')(0x37F, 0x384, 0x386, 0x38C, 0x1DBF, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\n\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nmodule.exports = set;","const set = require('regenerate')(0xAD0);\n\nset.addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nmodule.exports = set;","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\n\nset.addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76);\nmodule.exports = set;","const set = require('regenerate')(0x3005, 0x3007);\n\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3021, 0x3029).addRange(0x3038, 0x303B).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1100, 0x11FF).addRange(0x302E, 0x302F).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1720, 0x1734);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nmodule.exports = set;","const set = require('regenerate')(0xFB3E);\n\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nmodule.exports = set;","const set = require('regenerate')(0x1F200);\n\nset.addRange(0x3041, 0x3096).addRange(0x309D, 0x309F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nmodule.exports = set;","const set = require('regenerate')(0x670, 0x1CED, 0x1CF4, 0x101FD, 0x102E0, 0x1133B);\n\nset.addRange(0x300, 0x36F).addRange(0x485, 0x486).addRange(0x64B, 0x655).addRange(0x951, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1CD0, 0x1CD2).addRange(0x1CD4, 0x1CE0).addRange(0x1CE2, 0x1CE8).addRange(0x1CF8, 0x1CF9).addRange(0x1DC0, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20F0).addRange(0x302A, 0x302D).addRange(0x3099, 0x309A).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA980, 0xA9CD).addRange(0xA9D0, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nmodule.exports = set;","const set = require('regenerate')(0x110CD);\n\nset.addRange(0x11080, 0x110C2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2);\nmodule.exports = set;","const set = require('regenerate')(0x1B000);\n\nset.addRange(0x30A1, 0x30FA).addRange(0x30FD, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFF66, 0xFF6F).addRange(0xFF71, 0xFF9D).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nmodule.exports = set;","const set = require('regenerate')(0xA92F);\n\nset.addRange(0xA900, 0xA92D);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nmodule.exports = set;","const set = require('regenerate')(0x16FE4);\n\nset.addRange(0x18B00, 0x18CD5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nmodule.exports = set;","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\n\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xBA, 0x2071, 0x207F, 0x2132, 0x214E, 0xA7D3);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nmodule.exports = set;","const set = require('regenerate')(0x1940);\n\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA);\nmodule.exports = set;","const set = require('regenerate')(0x11FB0);\n\nset.addRange(0xA4D0, 0xA4FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10280, 0x1029C);\nmodule.exports = set;","const set = require('regenerate')(0x1093F);\n\nset.addRange(0x10920, 0x10939);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11150, 0x11176);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11EE0, 0x11EF8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F);\nmodule.exports = set;","const set = require('regenerate')(0x85E);\n\nset.addRange(0x840, 0x85B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nmodule.exports = set;","const set = require('regenerate')(0x11D3A);\n\nset.addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16E40, 0x16E9A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10980, 0x1099F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nmodule.exports = set;","const set = require('regenerate')(0x1804);\n\nset.addRange(0x1800, 0x1801).addRange(0x1806, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nmodule.exports = set;","const set = require('regenerate')(0x11288);\n\nset.addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF);\nmodule.exports = set;","const set = require('regenerate')(0x16FE1);\n\nset.addRange(0x1B170, 0x1B2FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1680, 0x169C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C50, 0x1C7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A80, 0x10A9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10350, 0x1037A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F00, 0x10F27);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A60, 0x10A7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C00, 0x10C48);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F70, 0x10F89);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10860, 0x1087F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11AC0, 0x11AF8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA840, 0xA877);\nmodule.exports = set;","const set = require('regenerate')(0x1091F);\n\nset.addRange(0x10900, 0x1091B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nmodule.exports = set;","const set = require('regenerate')(0xA95F);\n\nset.addRange(0xA930, 0xA953);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11180, 0x111DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10450, 0x1047F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nmodule.exports = set;","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6);\n\nset.addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F30, 0x10F59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A50, 0x11AA2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA800, 0xA82C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nmodule.exports = set;","const set = require('regenerate')(0x171F);\n\nset.addRange(0x1700, 0x1715);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nmodule.exports = set;","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x11FFF);\n\nset.addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x11FC0, 0x11FF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nmodule.exports = set;","const set = require('regenerate')(0x16FE0);\n\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nmodule.exports = set;","const set = require('regenerate')(0xC5D);\n\nset.addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x780, 0x7B1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nmodule.exports = set;","const set = require('regenerate')(0x2D7F);\n\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E290, 0x1E2AE);\nmodule.exports = set;","const set = require('regenerate')(0x1039F);\n\nset.addRange(0x10380, 0x1039D);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA500, 0xA62B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nmodule.exports = set;","const set = require('regenerate')(0x1E2FF);\n\nset.addRange(0x1E2C0, 0x1E2F9);\nmodule.exports = set;","const set = require('regenerate')(0x118FF);\n\nset.addRange(0x118A0, 0x118F2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A00, 0x11A47);\nmodule.exports = set;","const set = require('regenerate')(0x61F, 0x640);\n\nset.addRange(0x1E900, 0x1E94B).addRange(0x1E950, 0x1E959).addRange(0x1E95E, 0x1E95F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11700, 0x1171A).addRange(0x1171D, 0x1172B).addRange(0x11730, 0x11746);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x14400, 0x14646);\nmodule.exports = set;","const set = require('regenerate')(0xFDCF, 0x1EE24, 0x1EE27, 0x1EE39, 0x1EE3B, 0x1EE42, 0x1EE47, 0x1EE49, 0x1EE4B, 0x1EE54, 0x1EE57, 0x1EE59, 0x1EE5B, 0x1EE5D, 0x1EE5F, 0x1EE64, 0x1EE7E);\n\nset.addRange(0x600, 0x604).addRange(0x606, 0x6DC).addRange(0x6DE, 0x6FF).addRange(0x750, 0x77F).addRange(0x870, 0x88E).addRange(0x890, 0x891).addRange(0x898, 0x8E1).addRange(0x8E3, 0x8FF).addRange(0xFB50, 0xFBC2).addRange(0xFBD3, 0xFD8F).addRange(0xFD92, 0xFDC7).addRange(0xFDF0, 0xFDFF).addRange(0xFE70, 0xFE74).addRange(0xFE76, 0xFEFC).addRange(0x102E0, 0x102FB).addRange(0x10E60, 0x10E7E).addRange(0x1EE00, 0x1EE03).addRange(0x1EE05, 0x1EE1F).addRange(0x1EE21, 0x1EE22).addRange(0x1EE29, 0x1EE32).addRange(0x1EE34, 0x1EE37).addRange(0x1EE4D, 0x1EE4F).addRange(0x1EE51, 0x1EE52).addRange(0x1EE61, 0x1EE62).addRange(0x1EE67, 0x1EE6A).addRange(0x1EE6C, 0x1EE72).addRange(0x1EE74, 0x1EE77).addRange(0x1EE79, 0x1EE7C).addRange(0x1EE80, 0x1EE89).addRange(0x1EE8B, 0x1EE9B).addRange(0x1EEA1, 0x1EEA3).addRange(0x1EEA5, 0x1EEA9).addRange(0x1EEAB, 0x1EEBB).addRange(0x1EEF0, 0x1EEF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x531, 0x556).addRange(0x559, 0x58A).addRange(0x58D, 0x58F).addRange(0xFB13, 0xFB17);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B00, 0x10B35).addRange(0x10B39, 0x10B3F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B00, 0x1B4C).addRange(0x1B50, 0x1B7E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA6A0, 0xA6F7).addRange(0x16800, 0x16A38);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16AD0, 0x16AED).addRange(0x16AF0, 0x16AF5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC0, 0x1BF3).addRange(0x1BFC, 0x1BFF);\nmodule.exports = set;","const set = require('regenerate')(0x9B2, 0x9D7, 0x1CD0, 0x1CD2, 0x1CD8, 0x1CE1, 0x1CEA, 0x1CED, 0x1CF2, 0xA8F1);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0x980, 0x983).addRange(0x985, 0x98C).addRange(0x98F, 0x990).addRange(0x993, 0x9A8).addRange(0x9AA, 0x9B0).addRange(0x9B6, 0x9B9).addRange(0x9BC, 0x9C4).addRange(0x9C7, 0x9C8).addRange(0x9CB, 0x9CE).addRange(0x9DC, 0x9DD).addRange(0x9DF, 0x9E3).addRange(0x9E6, 0x9FE).addRange(0x1CD5, 0x1CD6).addRange(0x1CF5, 0x1CF7);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C00, 0x11C08).addRange(0x11C0A, 0x11C36).addRange(0x11C38, 0x11C45).addRange(0x11C50, 0x11C6C);\nmodule.exports = set;","const set = require('regenerate')(0x3030, 0x3037, 0x30FB);\n\nset.addRange(0x2EA, 0x2EB).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302A, 0x302D).addRange(0x3105, 0x312F).addRange(0x31A0, 0x31BF).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65);\nmodule.exports = set;","const set = require('regenerate')(0x1107F);\n\nset.addRange(0x11000, 0x1104D).addRange(0x11052, 0x11075);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x2800, 0x28FF);\nmodule.exports = set;","const set = require('regenerate')(0xA9CF);\n\nset.addRange(0x1A00, 0x1A1B).addRange(0x1A1E, 0x1A1F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1735, 0x1736).addRange(0x1740, 0x1753);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1400, 0x167F).addRange(0x18B0, 0x18F5).addRange(0x11AB0, 0x11ABF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x102A0, 0x102D0);\nmodule.exports = set;","const set = require('regenerate')(0x1056F);\n\nset.addRange(0x10530, 0x10563);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x9E6, 0x9EF).addRange(0x1040, 0x1049).addRange(0x11100, 0x11134).addRange(0x11136, 0x11147);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA00, 0xAA36).addRange(0xAA40, 0xAA4D).addRange(0xAA50, 0xAA59).addRange(0xAA5C, 0xAA5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13A0, 0x13F5).addRange(0x13F8, 0x13FD).addRange(0xAB70, 0xABBF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FB0, 0x10FCB);\nmodule.exports = set;","const set = require('regenerate')(0xD7, 0xF7, 0x374, 0x37E, 0x385, 0x387, 0x605, 0x6DD, 0x8E2, 0xE3F, 0x3000, 0x3004, 0x3012, 0x3020, 0x3036, 0x327F, 0x33FF, 0xAB5B, 0xFEFF, 0x1D4A2, 0x1D4BB, 0x1D546, 0x1F7F0, 0xE0001);\n\nset.addRange(0x0, 0x40).addRange(0x5B, 0x60).addRange(0x7B, 0xA9).addRange(0xAB, 0xB9).addRange(0xBB, 0xBF).addRange(0x2B9, 0x2DF).addRange(0x2E5, 0x2E9).addRange(0x2EC, 0x2FF).addRange(0xFD5, 0xFD8).addRange(0x16EB, 0x16ED).addRange(0x2000, 0x200B).addRange(0x200E, 0x202E).addRange(0x2030, 0x2064).addRange(0x2066, 0x2070).addRange(0x2074, 0x207E).addRange(0x2080, 0x208E).addRange(0x20A0, 0x20C0).addRange(0x2100, 0x2125).addRange(0x2127, 0x2129).addRange(0x212C, 0x2131).addRange(0x2133, 0x214D).addRange(0x214F, 0x215F).addRange(0x2189, 0x218B).addRange(0x2190, 0x2426).addRange(0x2440, 0x244A).addRange(0x2460, 0x27FF).addRange(0x2900, 0x2B73).addRange(0x2B76, 0x2B95).addRange(0x2B97, 0x2BFF).addRange(0x2E00, 0x2E42).addRange(0x2E44, 0x2E5D).addRange(0x2FF0, 0x2FFB).addRange(0x3248, 0x325F).addRange(0x32B1, 0x32BF).addRange(0x32CC, 0x32CF).addRange(0x3371, 0x337A).addRange(0x3380, 0x33DF).addRange(0x4DC0, 0x4DFF).addRange(0xA708, 0xA721).addRange(0xA788, 0xA78A).addRange(0xAB6A, 0xAB6B).addRange(0xFE10, 0xFE19).addRange(0xFE30, 0xFE44).addRange(0xFE47, 0xFE52).addRange(0xFE54, 0xFE66).addRange(0xFE68, 0xFE6B).addRange(0xFF01, 0xFF20).addRange(0xFF3B, 0xFF40).addRange(0xFF5B, 0xFF60).addRange(0xFFE0, 0xFFE6).addRange(0xFFE8, 0xFFEE);\nset.addRange(0xFFF9, 0xFFFD).addRange(0x10190, 0x1019C).addRange(0x101D0, 0x101FC).addRange(0x1CF50, 0x1CFC3).addRange(0x1D000, 0x1D0F5).addRange(0x1D100, 0x1D126).addRange(0x1D129, 0x1D166).addRange(0x1D16A, 0x1D17A).addRange(0x1D183, 0x1D184).addRange(0x1D18C, 0x1D1A9).addRange(0x1D1AE, 0x1D1EA).addRange(0x1D2E0, 0x1D2F3).addRange(0x1D300, 0x1D356).addRange(0x1D372, 0x1D378).addRange(0x1D400, 0x1D454).addRange(0x1D456, 0x1D49C).addRange(0x1D49E, 0x1D49F).addRange(0x1D4A5, 0x1D4A6).addRange(0x1D4A9, 0x1D4AC).addRange(0x1D4AE, 0x1D4B9).addRange(0x1D4BD, 0x1D4C3).addRange(0x1D4C5, 0x1D505).addRange(0x1D507, 0x1D50A).addRange(0x1D50D, 0x1D514).addRange(0x1D516, 0x1D51C).addRange(0x1D51E, 0x1D539).addRange(0x1D53B, 0x1D53E).addRange(0x1D540, 0x1D544).addRange(0x1D54A, 0x1D550).addRange(0x1D552, 0x1D6A5).addRange(0x1D6A8, 0x1D7CB).addRange(0x1D7CE, 0x1D7FF).addRange(0x1EC71, 0x1ECB4).addRange(0x1ED01, 0x1ED3D).addRange(0x1F000, 0x1F02B).addRange(0x1F030, 0x1F093).addRange(0x1F0A0, 0x1F0AE).addRange(0x1F0B1, 0x1F0BF).addRange(0x1F0C1, 0x1F0CF).addRange(0x1F0D1, 0x1F0F5).addRange(0x1F100, 0x1F1AD).addRange(0x1F1E6, 0x1F1FF).addRange(0x1F201, 0x1F202).addRange(0x1F210, 0x1F23B).addRange(0x1F240, 0x1F248).addRange(0x1F260, 0x1F265).addRange(0x1F300, 0x1F6D7).addRange(0x1F6DD, 0x1F6EC).addRange(0x1F6F0, 0x1F6FC).addRange(0x1F700, 0x1F773).addRange(0x1F780, 0x1F7D8);\nset.addRange(0x1F7E0, 0x1F7EB).addRange(0x1F800, 0x1F80B).addRange(0x1F810, 0x1F847).addRange(0x1F850, 0x1F859).addRange(0x1F860, 0x1F887).addRange(0x1F890, 0x1F8AD).addRange(0x1F8B0, 0x1F8B1).addRange(0x1F900, 0x1FA53).addRange(0x1FA60, 0x1FA6D).addRange(0x1FA70, 0x1FA74).addRange(0x1FA78, 0x1FA7C).addRange(0x1FA80, 0x1FA86).addRange(0x1FA90, 0x1FAAC).addRange(0x1FAB0, 0x1FABA).addRange(0x1FAC0, 0x1FAC5).addRange(0x1FAD0, 0x1FAD9).addRange(0x1FAE0, 0x1FAE7).addRange(0x1FAF0, 0x1FAF6).addRange(0x1FB00, 0x1FB92).addRange(0x1FB94, 0x1FBCA).addRange(0x1FBF0, 0x1FBF9).addRange(0xE0020, 0xE007F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x3E2, 0x3EF).addRange(0x2C80, 0x2CF3).addRange(0x2CF9, 0x2CFF).addRange(0x102E0, 0x102FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x12000, 0x12399).addRange(0x12400, 0x1246E).addRange(0x12470, 0x12474).addRange(0x12480, 0x12543);\nmodule.exports = set;","const set = require('regenerate')(0x10808, 0x1083C, 0x1083F);\n\nset.addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F).addRange(0x10800, 0x10805).addRange(0x1080A, 0x10835).addRange(0x10837, 0x10838);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10100, 0x10101).addRange(0x12F90, 0x12FF2);\nmodule.exports = set;","const set = require('regenerate')(0x1D2B, 0x1D78, 0x1DF8, 0x2E43);\n\nset.addRange(0x400, 0x52F).addRange(0x1C80, 0x1C88).addRange(0x2DE0, 0x2DFF).addRange(0xA640, 0xA69F).addRange(0xFE2E, 0xFE2F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10400, 0x1044F);\nmodule.exports = set;","const set = require('regenerate')(0x20F0);\n\nset.addRange(0x900, 0x952).addRange(0x955, 0x97F).addRange(0x1CD0, 0x1CF6).addRange(0x1CF8, 0x1CF9).addRange(0xA830, 0xA839).addRange(0xA8E0, 0xA8FF);\nmodule.exports = set;","const set = require('regenerate')(0x11909);\n\nset.addRange(0x11900, 0x11906).addRange(0x1190C, 0x11913).addRange(0x11915, 0x11916).addRange(0x11918, 0x11935).addRange(0x11937, 0x11938).addRange(0x1193B, 0x11946).addRange(0x11950, 0x11959);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11800, 0x1183B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1BC00, 0x1BC6A).addRange(0x1BC70, 0x1BC7C).addRange(0x1BC80, 0x1BC88).addRange(0x1BC90, 0x1BC99).addRange(0x1BC9C, 0x1BCA3);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x13000, 0x1342E).addRange(0x13430, 0x13438);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10500, 0x10527);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10FE0, 0x10FF6);\nmodule.exports = set;","const set = require('regenerate')(0x1258, 0x12C0);\n\nset.addRange(0x1200, 0x1248).addRange(0x124A, 0x124D).addRange(0x1250, 0x1256).addRange(0x125A, 0x125D).addRange(0x1260, 0x1288).addRange(0x128A, 0x128D).addRange(0x1290, 0x12B0).addRange(0x12B2, 0x12B5).addRange(0x12B8, 0x12BE).addRange(0x12C2, 0x12C5).addRange(0x12C8, 0x12D6).addRange(0x12D8, 0x1310).addRange(0x1312, 0x1315).addRange(0x1318, 0x135A).addRange(0x135D, 0x137C).addRange(0x1380, 0x1399).addRange(0x2D80, 0x2D96).addRange(0x2DA0, 0x2DA6).addRange(0x2DA8, 0x2DAE).addRange(0x2DB0, 0x2DB6).addRange(0x2DB8, 0x2DBE).addRange(0x2DC0, 0x2DC6).addRange(0x2DC8, 0x2DCE).addRange(0x2DD0, 0x2DD6).addRange(0x2DD8, 0x2DDE).addRange(0xAB01, 0xAB06).addRange(0xAB09, 0xAB0E).addRange(0xAB11, 0xAB16).addRange(0xAB20, 0xAB26).addRange(0xAB28, 0xAB2E).addRange(0x1E7E0, 0x1E7E6).addRange(0x1E7E8, 0x1E7EB).addRange(0x1E7ED, 0x1E7EE).addRange(0x1E7F0, 0x1E7FE);\nmodule.exports = set;","const set = require('regenerate')(0x10C7, 0x10CD, 0x2D27, 0x2D2D);\n\nset.addRange(0x10A0, 0x10C5).addRange(0x10D0, 0x10FF).addRange(0x1C90, 0x1CBA).addRange(0x1CBD, 0x1CBF).addRange(0x2D00, 0x2D25);\nmodule.exports = set;","const set = require('regenerate')(0x484, 0x487, 0x2E43, 0xA66F);\n\nset.addRange(0x2C00, 0x2C5F).addRange(0x1E000, 0x1E006).addRange(0x1E008, 0x1E018).addRange(0x1E01B, 0x1E021).addRange(0x1E023, 0x1E024).addRange(0x1E026, 0x1E02A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10330, 0x1034A);\nmodule.exports = set;","const set = require('regenerate')(0x1CD0, 0x20F0, 0x11350, 0x11357, 0x11FD3);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xBE6, 0xBF3).addRange(0x1CD2, 0x1CD3).addRange(0x1CF2, 0x1CF4).addRange(0x1CF8, 0x1CF9).addRange(0x11300, 0x11303).addRange(0x11305, 0x1130C).addRange(0x1130F, 0x11310).addRange(0x11313, 0x11328).addRange(0x1132A, 0x11330).addRange(0x11332, 0x11333).addRange(0x11335, 0x11339).addRange(0x1133B, 0x11344).addRange(0x11347, 0x11348).addRange(0x1134B, 0x1134D).addRange(0x1135D, 0x11363).addRange(0x11366, 0x1136C).addRange(0x11370, 0x11374).addRange(0x11FD0, 0x11FD1);\nmodule.exports = set;","const set = require('regenerate')(0x342, 0x345, 0x37F, 0x384, 0x386, 0x38C, 0x1F59, 0x1F5B, 0x1F5D, 0x2126, 0xAB65, 0x101A0);\n\nset.addRange(0x370, 0x373).addRange(0x375, 0x377).addRange(0x37A, 0x37D).addRange(0x388, 0x38A).addRange(0x38E, 0x3A1).addRange(0x3A3, 0x3E1).addRange(0x3F0, 0x3FF).addRange(0x1D26, 0x1D2A).addRange(0x1D5D, 0x1D61).addRange(0x1D66, 0x1D6A).addRange(0x1DBF, 0x1DC1).addRange(0x1F00, 0x1F15).addRange(0x1F18, 0x1F1D).addRange(0x1F20, 0x1F45).addRange(0x1F48, 0x1F4D).addRange(0x1F50, 0x1F57).addRange(0x1F5F, 0x1F7D).addRange(0x1F80, 0x1FB4).addRange(0x1FB6, 0x1FC4).addRange(0x1FC6, 0x1FD3).addRange(0x1FD6, 0x1FDB).addRange(0x1FDD, 0x1FEF).addRange(0x1FF2, 0x1FF4).addRange(0x1FF6, 0x1FFE).addRange(0x10140, 0x1018E).addRange(0x1D200, 0x1D245);\nmodule.exports = set;","const set = require('regenerate')(0xAD0);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA81, 0xA83).addRange(0xA85, 0xA8D).addRange(0xA8F, 0xA91).addRange(0xA93, 0xAA8).addRange(0xAAA, 0xAB0).addRange(0xAB2, 0xAB3).addRange(0xAB5, 0xAB9).addRange(0xABC, 0xAC5).addRange(0xAC7, 0xAC9).addRange(0xACB, 0xACD).addRange(0xAE0, 0xAE3).addRange(0xAE6, 0xAF1).addRange(0xAF9, 0xAFF).addRange(0xA830, 0xA839);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0x11D60, 0x11D65).addRange(0x11D67, 0x11D68).addRange(0x11D6A, 0x11D8E).addRange(0x11D90, 0x11D91).addRange(0x11D93, 0x11D98).addRange(0x11DA0, 0x11DA9);\nmodule.exports = set;","const set = require('regenerate')(0xA3C, 0xA51, 0xA5E);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA01, 0xA03).addRange(0xA05, 0xA0A).addRange(0xA0F, 0xA10).addRange(0xA13, 0xA28).addRange(0xA2A, 0xA30).addRange(0xA32, 0xA33).addRange(0xA35, 0xA36).addRange(0xA38, 0xA39).addRange(0xA3E, 0xA42).addRange(0xA47, 0xA48).addRange(0xA4B, 0xA4D).addRange(0xA59, 0xA5C).addRange(0xA66, 0xA76).addRange(0xA830, 0xA839);\nmodule.exports = set;","const set = require('regenerate')(0x3030, 0x30FB, 0x32FF);\n\nset.addRange(0x2E80, 0x2E99).addRange(0x2E9B, 0x2EF3).addRange(0x2F00, 0x2FD5).addRange(0x3001, 0x3003).addRange(0x3005, 0x3011).addRange(0x3013, 0x301F).addRange(0x3021, 0x302D).addRange(0x3037, 0x303F).addRange(0x3190, 0x319F).addRange(0x31C0, 0x31E3).addRange(0x3220, 0x3247).addRange(0x3280, 0x32B0).addRange(0x32C0, 0x32CB).addRange(0x3358, 0x3370).addRange(0x337B, 0x337F).addRange(0x33E0, 0x33FE).addRange(0x3400, 0x4DBF).addRange(0x4E00, 0x9FFF).addRange(0xA700, 0xA707).addRange(0xF900, 0xFA6D).addRange(0xFA70, 0xFAD9).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0x16FE2, 0x16FE3).addRange(0x16FF0, 0x16FF1).addRange(0x1D360, 0x1D371).addRange(0x1F250, 0x1F251).addRange(0x20000, 0x2A6DF).addRange(0x2A700, 0x2B738).addRange(0x2B740, 0x2B81D).addRange(0x2B820, 0x2CEA1).addRange(0x2CEB0, 0x2EBE0).addRange(0x2F800, 0x2FA1D).addRange(0x30000, 0x3134A);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0x30FB);\n\nset.addRange(0x1100, 0x11FF).addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x302E, 0x3030).addRange(0x3131, 0x318E).addRange(0x3200, 0x321E).addRange(0x3260, 0x327E).addRange(0xA960, 0xA97C).addRange(0xAC00, 0xD7A3).addRange(0xD7B0, 0xD7C6).addRange(0xD7CB, 0xD7FB).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFFA0, 0xFFBE).addRange(0xFFC2, 0xFFC7).addRange(0xFFCA, 0xFFCF).addRange(0xFFD2, 0xFFD7).addRange(0xFFDA, 0xFFDC);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61B, 0x61F, 0x640, 0x6D4);\n\nset.addRange(0x10D00, 0x10D27).addRange(0x10D30, 0x10D39);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1720, 0x1736);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x108E0, 0x108F2).addRange(0x108F4, 0x108F5).addRange(0x108FB, 0x108FF);\nmodule.exports = set;","const set = require('regenerate')(0xFB3E);\n\nset.addRange(0x591, 0x5C7).addRange(0x5D0, 0x5EA).addRange(0x5EF, 0x5F4).addRange(0xFB1D, 0xFB36).addRange(0xFB38, 0xFB3C).addRange(0xFB40, 0xFB41).addRange(0xFB43, 0xFB44).addRange(0xFB46, 0xFB4F);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0xFF70, 0x1F200);\n\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3041, 0x3096).addRange(0x3099, 0x30A0).addRange(0x30FB, 0x30FC).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF65).addRange(0xFF9E, 0xFF9F).addRange(0x1B001, 0x1B11F).addRange(0x1B150, 0x1B152);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10840, 0x10855).addRange(0x10857, 0x1085F);\nmodule.exports = set;","const set = require('regenerate')(0x1DF9, 0x101FD);\n\nset.addRange(0x300, 0x341).addRange(0x343, 0x344).addRange(0x346, 0x362).addRange(0x953, 0x954).addRange(0x1AB0, 0x1ACE).addRange(0x1DC2, 0x1DF7).addRange(0x1DFB, 0x1DFF).addRange(0x200C, 0x200D).addRange(0x20D0, 0x20EF).addRange(0xFE00, 0xFE0F).addRange(0xFE20, 0xFE2D).addRange(0x1CF00, 0x1CF2D).addRange(0x1CF30, 0x1CF46).addRange(0x1D167, 0x1D169).addRange(0x1D17B, 0x1D182).addRange(0x1D185, 0x1D18B).addRange(0x1D1AA, 0x1D1AD).addRange(0xE0100, 0xE01EF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B60, 0x10B72).addRange(0x10B78, 0x10B7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10B40, 0x10B55).addRange(0x10B58, 0x10B5F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA980, 0xA9CD).addRange(0xA9CF, 0xA9D9).addRange(0xA9DE, 0xA9DF);\nmodule.exports = set;","const set = require('regenerate')(0x110CD);\n\nset.addRange(0x966, 0x96F).addRange(0xA830, 0xA839).addRange(0x11080, 0x110C2);\nmodule.exports = set;","const set = require('regenerate')(0x1CD0, 0x1CD2, 0x1CDA, 0x1CF2, 0x1CF4);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC80, 0xC8C).addRange(0xC8E, 0xC90).addRange(0xC92, 0xCA8).addRange(0xCAA, 0xCB3).addRange(0xCB5, 0xCB9).addRange(0xCBC, 0xCC4).addRange(0xCC6, 0xCC8).addRange(0xCCA, 0xCCD).addRange(0xCD5, 0xCD6).addRange(0xCDD, 0xCDE).addRange(0xCE0, 0xCE3).addRange(0xCE6, 0xCEF).addRange(0xCF1, 0xCF2).addRange(0xA830, 0xA835);\nmodule.exports = set;","const set = require('regenerate')(0x3037, 0x1B000);\n\nset.addRange(0x3001, 0x3003).addRange(0x3008, 0x3011).addRange(0x3013, 0x301F).addRange(0x3030, 0x3035).addRange(0x303C, 0x303D).addRange(0x3099, 0x309C).addRange(0x30A0, 0x30FF).addRange(0x31F0, 0x31FF).addRange(0x32D0, 0x32FE).addRange(0x3300, 0x3357).addRange(0xFE45, 0xFE46).addRange(0xFF61, 0xFF9F).addRange(0x1AFF0, 0x1AFF3).addRange(0x1AFF5, 0x1AFFB).addRange(0x1AFFD, 0x1AFFE).addRange(0x1B120, 0x1B122).addRange(0x1B164, 0x1B167);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA900, 0xA92F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A00, 0x10A03).addRange(0x10A05, 0x10A06).addRange(0x10A0C, 0x10A13).addRange(0x10A15, 0x10A17).addRange(0x10A19, 0x10A35).addRange(0x10A38, 0x10A3A).addRange(0x10A3F, 0x10A48).addRange(0x10A50, 0x10A58);\nmodule.exports = set;","const set = require('regenerate')(0x16FE4);\n\nset.addRange(0x18B00, 0x18CD5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1780, 0x17DD).addRange(0x17E0, 0x17E9).addRange(0x17F0, 0x17F9).addRange(0x19E0, 0x19FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAE6, 0xAEF).addRange(0xA830, 0xA839).addRange(0x11200, 0x11211).addRange(0x11213, 0x1123E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x112B0, 0x112EA).addRange(0x112F0, 0x112F9);\nmodule.exports = set;","const set = require('regenerate')(0xE84, 0xEA5, 0xEC6);\n\nset.addRange(0xE81, 0xE82).addRange(0xE86, 0xE8A).addRange(0xE8C, 0xEA3).addRange(0xEA7, 0xEBD).addRange(0xEC0, 0xEC4).addRange(0xEC8, 0xECD).addRange(0xED0, 0xED9).addRange(0xEDC, 0xEDF);\nmodule.exports = set;","const set = require('regenerate')(0xAA, 0xBA, 0x10FB, 0x202F, 0x2071, 0x207F, 0x20F0, 0x2132, 0x214E, 0xA7D3, 0xA92E);\n\nset.addRange(0x41, 0x5A).addRange(0x61, 0x7A).addRange(0xC0, 0xD6).addRange(0xD8, 0xF6).addRange(0xF8, 0x2B8).addRange(0x2E0, 0x2E4).addRange(0x363, 0x36F).addRange(0x485, 0x486).addRange(0x951, 0x952).addRange(0x1D00, 0x1D25).addRange(0x1D2C, 0x1D5C).addRange(0x1D62, 0x1D65).addRange(0x1D6B, 0x1D77).addRange(0x1D79, 0x1DBE).addRange(0x1E00, 0x1EFF).addRange(0x2090, 0x209C).addRange(0x212A, 0x212B).addRange(0x2160, 0x2188).addRange(0x2C60, 0x2C7F).addRange(0xA700, 0xA707).addRange(0xA722, 0xA787).addRange(0xA78B, 0xA7CA).addRange(0xA7D0, 0xA7D1).addRange(0xA7D5, 0xA7D9).addRange(0xA7F2, 0xA7FF).addRange(0xAB30, 0xAB5A).addRange(0xAB5C, 0xAB64).addRange(0xAB66, 0xAB69).addRange(0xFB00, 0xFB06).addRange(0xFF21, 0xFF3A).addRange(0xFF41, 0xFF5A).addRange(0x10780, 0x10785).addRange(0x10787, 0x107B0).addRange(0x107B2, 0x107BA).addRange(0x1DF00, 0x1DF1E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C00, 0x1C37).addRange(0x1C3B, 0x1C49).addRange(0x1C4D, 0x1C4F);\nmodule.exports = set;","const set = require('regenerate')(0x965, 0x1940);\n\nset.addRange(0x1900, 0x191E).addRange(0x1920, 0x192B).addRange(0x1930, 0x193B).addRange(0x1944, 0x194F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10107, 0x10133).addRange(0x10600, 0x10736).addRange(0x10740, 0x10755).addRange(0x10760, 0x10767);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10000, 0x1000B).addRange(0x1000D, 0x10026).addRange(0x10028, 0x1003A).addRange(0x1003C, 0x1003D).addRange(0x1003F, 0x1004D).addRange(0x10050, 0x1005D).addRange(0x10080, 0x100FA).addRange(0x10100, 0x10102).addRange(0x10107, 0x10133).addRange(0x10137, 0x1013F);\nmodule.exports = set;","const set = require('regenerate')(0x11FB0);\n\nset.addRange(0xA4D0, 0xA4FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10280, 0x1029C);\nmodule.exports = set;","const set = require('regenerate')(0x1093F);\n\nset.addRange(0x10920, 0x10939);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x96F).addRange(0xA830, 0xA839).addRange(0x11150, 0x11176);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11EE0, 0x11EF8);\nmodule.exports = set;","const set = require('regenerate')(0x1CDA);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xD00, 0xD0C).addRange(0xD0E, 0xD10).addRange(0xD12, 0xD44).addRange(0xD46, 0xD48).addRange(0xD4A, 0xD4F).addRange(0xD54, 0xD63).addRange(0xD66, 0xD7F).addRange(0xA830, 0xA832);\nmodule.exports = set;","const set = require('regenerate')(0x640, 0x85E);\n\nset.addRange(0x840, 0x85B);\nmodule.exports = set;","const set = require('regenerate')(0x640);\n\nset.addRange(0x10AC0, 0x10AE6).addRange(0x10AEB, 0x10AF6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11C70, 0x11C8F).addRange(0x11C92, 0x11CA7).addRange(0x11CA9, 0x11CB6);\nmodule.exports = set;","const set = require('regenerate')(0x11D3A);\n\nset.addRange(0x964, 0x965).addRange(0x11D00, 0x11D06).addRange(0x11D08, 0x11D09).addRange(0x11D0B, 0x11D36).addRange(0x11D3C, 0x11D3D).addRange(0x11D3F, 0x11D47).addRange(0x11D50, 0x11D59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16E40, 0x16E9A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAAE0, 0xAAF6).addRange(0xABC0, 0xABED).addRange(0xABF0, 0xABF9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E800, 0x1E8C4).addRange(0x1E8C7, 0x1E8D6);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x109A0, 0x109B7).addRange(0x109BC, 0x109CF).addRange(0x109D2, 0x109FF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10980, 0x1099F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16F00, 0x16F4A).addRange(0x16F4F, 0x16F87).addRange(0x16F8F, 0x16F9F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA830, 0xA839).addRange(0x11600, 0x11644).addRange(0x11650, 0x11659);\nmodule.exports = set;","const set = require('regenerate')(0x202F);\n\nset.addRange(0x1800, 0x1819).addRange(0x1820, 0x1878).addRange(0x1880, 0x18AA).addRange(0x11660, 0x1166C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A40, 0x16A5E).addRange(0x16A60, 0x16A69).addRange(0x16A6E, 0x16A6F);\nmodule.exports = set;","const set = require('regenerate')(0x11288);\n\nset.addRange(0xA66, 0xA6F).addRange(0x11280, 0x11286).addRange(0x1128A, 0x1128D).addRange(0x1128F, 0x1129D).addRange(0x1129F, 0x112A9);\nmodule.exports = set;","const set = require('regenerate')(0xA92E);\n\nset.addRange(0x1000, 0x109F).addRange(0xA9E0, 0xA9FE).addRange(0xAA60, 0xAA7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10880, 0x1089E).addRange(0x108A7, 0x108AF);\nmodule.exports = set;","const set = require('regenerate')(0x1CE9, 0x1CF2, 0x1CFA);\n\nset.addRange(0x964, 0x965).addRange(0xCE6, 0xCEF).addRange(0xA830, 0xA835).addRange(0x119A0, 0x119A7).addRange(0x119AA, 0x119D7).addRange(0x119DA, 0x119E4);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1980, 0x19AB).addRange(0x19B0, 0x19C9).addRange(0x19D0, 0x19DA).addRange(0x19DE, 0x19DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11400, 0x1145B).addRange(0x1145D, 0x11461);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\n\nset.addRange(0x7C0, 0x7FA).addRange(0x7FD, 0x7FF).addRange(0xFD3E, 0xFD3F);\nmodule.exports = set;","const set = require('regenerate')(0x16FE1);\n\nset.addRange(0x1B170, 0x1B2FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E100, 0x1E12C).addRange(0x1E130, 0x1E13D).addRange(0x1E140, 0x1E149).addRange(0x1E14E, 0x1E14F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1680, 0x169C);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1C50, 0x1C7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C80, 0x10CB2).addRange(0x10CC0, 0x10CF2).addRange(0x10CFA, 0x10CFF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10300, 0x10323).addRange(0x1032D, 0x1032F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A80, 0x10A9F);\nmodule.exports = set;","const set = require('regenerate')(0x483);\n\nset.addRange(0x10350, 0x1037A);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x103A0, 0x103C3).addRange(0x103C8, 0x103D5);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10F00, 0x10F27);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10A60, 0x10A7F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10C00, 0x10C48);\nmodule.exports = set;","const set = require('regenerate')(0x640, 0x10AF2);\n\nset.addRange(0x10F70, 0x10F89);\nmodule.exports = set;","const set = require('regenerate')(0x1CDA, 0x1CF2);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB01, 0xB03).addRange(0xB05, 0xB0C).addRange(0xB0F, 0xB10).addRange(0xB13, 0xB28).addRange(0xB2A, 0xB30).addRange(0xB32, 0xB33).addRange(0xB35, 0xB39).addRange(0xB3C, 0xB44).addRange(0xB47, 0xB48).addRange(0xB4B, 0xB4D).addRange(0xB55, 0xB57).addRange(0xB5C, 0xB5D).addRange(0xB5F, 0xB63).addRange(0xB66, 0xB77);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x104B0, 0x104D3).addRange(0x104D8, 0x104FB);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10480, 0x1049D).addRange(0x104A0, 0x104A9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16B00, 0x16B45).addRange(0x16B50, 0x16B59).addRange(0x16B5B, 0x16B61).addRange(0x16B63, 0x16B77).addRange(0x16B7D, 0x16B8F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10860, 0x1087F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11AC0, 0x11AF8);\nmodule.exports = set;","const set = require('regenerate')(0x1805);\n\nset.addRange(0x1802, 0x1803).addRange(0xA840, 0xA877);\nmodule.exports = set;","const set = require('regenerate')(0x1091F);\n\nset.addRange(0x10900, 0x1091B);\nmodule.exports = set;","const set = require('regenerate')(0x640);\n\nset.addRange(0x10B80, 0x10B91).addRange(0x10B99, 0x10B9C).addRange(0x10BA9, 0x10BAF);\nmodule.exports = set;","const set = require('regenerate')(0xA95F);\n\nset.addRange(0xA930, 0xA953);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A0, 0x16EA).addRange(0x16EE, 0x16F8);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x800, 0x82D).addRange(0x830, 0x83E);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA880, 0xA8C5).addRange(0xA8CE, 0xA8D9);\nmodule.exports = set;","const set = require('regenerate')(0x951, 0x1CD7, 0x1CD9, 0x1CE0);\n\nset.addRange(0x1CDC, 0x1CDD).addRange(0x11180, 0x111DF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10450, 0x1047F);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11580, 0x115B5).addRange(0x115B8, 0x115DD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1D800, 0x1DA8B).addRange(0x1DA9B, 0x1DA9F).addRange(0x1DAA1, 0x1DAAF);\nmodule.exports = set;","const set = require('regenerate')(0xDBD, 0xDCA, 0xDD6);\n\nset.addRange(0x964, 0x965).addRange(0xD81, 0xD83).addRange(0xD85, 0xD96).addRange(0xD9A, 0xDB1).addRange(0xDB3, 0xDBB).addRange(0xDC0, 0xDC6).addRange(0xDCF, 0xDD4).addRange(0xDD8, 0xDDF).addRange(0xDE6, 0xDEF).addRange(0xDF2, 0xDF4).addRange(0x111E1, 0x111F4);\nmodule.exports = set;","const set = require('regenerate')(0x640);\n\nset.addRange(0x10F30, 0x10F59);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x110D0, 0x110E8).addRange(0x110F0, 0x110F9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A50, 0x11AA2);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1B80, 0x1BBF).addRange(0x1CC0, 0x1CC7);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0x9E6, 0x9EF).addRange(0xA800, 0xA82C);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61F, 0x640, 0x670, 0x1DF8, 0x1DFA);\n\nset.addRange(0x61B, 0x61C).addRange(0x64B, 0x655).addRange(0x700, 0x70D).addRange(0x70F, 0x74A).addRange(0x74D, 0x74F).addRange(0x860, 0x86A);\nmodule.exports = set;","const set = require('regenerate')(0x171F);\n\nset.addRange(0x1700, 0x1715).addRange(0x1735, 0x1736);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1735, 0x1736).addRange(0x1760, 0x176C).addRange(0x176E, 0x1770).addRange(0x1772, 0x1773);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1040, 0x1049).addRange(0x1950, 0x196D).addRange(0x1970, 0x1974);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1A20, 0x1A5E).addRange(0x1A60, 0x1A7C).addRange(0x1A7F, 0x1A89).addRange(0x1A90, 0x1A99).addRange(0x1AA0, 0x1AAD);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xAA80, 0xAAC2).addRange(0xAADB, 0xAADF);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11680, 0x116B9).addRange(0x116C0, 0x116C9);\nmodule.exports = set;","const set = require('regenerate')(0xB9C, 0xBD0, 0xBD7, 0x1CDA, 0xA8F3, 0x11301, 0x11303, 0x11FFF);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xB82, 0xB83).addRange(0xB85, 0xB8A).addRange(0xB8E, 0xB90).addRange(0xB92, 0xB95).addRange(0xB99, 0xB9A).addRange(0xB9E, 0xB9F).addRange(0xBA3, 0xBA4).addRange(0xBA8, 0xBAA).addRange(0xBAE, 0xBB9).addRange(0xBBE, 0xBC2).addRange(0xBC6, 0xBC8).addRange(0xBCA, 0xBCD).addRange(0xBE6, 0xBFA).addRange(0x1133B, 0x1133C).addRange(0x11FC0, 0x11FF1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x16A70, 0x16ABE).addRange(0x16AC0, 0x16AC9);\nmodule.exports = set;","const set = require('regenerate')(0x16FE0);\n\nset.addRange(0x17000, 0x187F7).addRange(0x18800, 0x18AFF).addRange(0x18D00, 0x18D08);\nmodule.exports = set;","const set = require('regenerate')(0xC5D, 0x1CDA, 0x1CF2);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xC00, 0xC0C).addRange(0xC0E, 0xC10).addRange(0xC12, 0xC28).addRange(0xC2A, 0xC39).addRange(0xC3C, 0xC44).addRange(0xC46, 0xC48).addRange(0xC4A, 0xC4D).addRange(0xC55, 0xC56).addRange(0xC58, 0xC5A).addRange(0xC60, 0xC63).addRange(0xC66, 0xC6F).addRange(0xC77, 0xC7F);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61F, 0xFDF2, 0xFDFD);\n\nset.addRange(0x61B, 0x61C).addRange(0x660, 0x669).addRange(0x780, 0x7B1);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xE01, 0xE3A).addRange(0xE40, 0xE5B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xF00, 0xF47).addRange(0xF49, 0xF6C).addRange(0xF71, 0xF97).addRange(0xF99, 0xFBC).addRange(0xFBE, 0xFCC).addRange(0xFCE, 0xFD4).addRange(0xFD9, 0xFDA);\nmodule.exports = set;","const set = require('regenerate')(0x2D7F);\n\nset.addRange(0x2D30, 0x2D67).addRange(0x2D6F, 0x2D70);\nmodule.exports = set;","const set = require('regenerate')(0x1CF2);\n\nset.addRange(0x951, 0x952).addRange(0x964, 0x965).addRange(0xA830, 0xA839).addRange(0x11480, 0x114C7).addRange(0x114D0, 0x114D9);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x1E290, 0x1E2AE);\nmodule.exports = set;","const set = require('regenerate')(0x1039F);\n\nset.addRange(0x10380, 0x1039D);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0xA500, 0xA62B);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x10570, 0x1057A).addRange(0x1057C, 0x1058A).addRange(0x1058C, 0x10592).addRange(0x10594, 0x10595).addRange(0x10597, 0x105A1).addRange(0x105A3, 0x105B1).addRange(0x105B3, 0x105B9).addRange(0x105BB, 0x105BC);\nmodule.exports = set;","const set = require('regenerate')(0x1E2FF);\n\nset.addRange(0x1E2C0, 0x1E2F9);\nmodule.exports = set;","const set = require('regenerate')(0x118FF);\n\nset.addRange(0x118A0, 0x118F2);\nmodule.exports = set;","const set = require('regenerate')(0x60C, 0x61B, 0x61F);\n\nset.addRange(0x660, 0x669).addRange(0x10E80, 0x10EA9).addRange(0x10EAB, 0x10EAD).addRange(0x10EB0, 0x10EB1);\nmodule.exports = set;","const set = require('regenerate')(0x30FB);\n\nset.addRange(0x3001, 0x3002).addRange(0x3008, 0x3011).addRange(0x3014, 0x301B).addRange(0xA000, 0xA48C).addRange(0xA490, 0xA4C6).addRange(0xFF61, 0xFF65);\nmodule.exports = set;","const set = require('regenerate')();\n\nset.addRange(0x11A00, 0x11A47);\nmodule.exports = set;","module.exports = new Map([['General_Category', ['Cased_Letter', 'Close_Punctuation', 'Connector_Punctuation', 'Control', 'Currency_Symbol', 'Dash_Punctuation', 'Decimal_Number', 'Enclosing_Mark', 'Final_Punctuation', 'Format', 'Initial_Punctuation', 'Letter', 'Letter_Number', 'Line_Separator', 'Lowercase_Letter', 'Mark', 'Math_Symbol', 'Modifier_Letter', 'Modifier_Symbol', 'Nonspacing_Mark', 'Number', 'Open_Punctuation', 'Other', 'Other_Letter', 'Other_Number', 'Other_Punctuation', 'Other_Symbol', 'Paragraph_Separator', 'Private_Use', 'Punctuation', 'Separator', 'Space_Separator', 'Spacing_Mark', 'Surrogate', 'Symbol', 'Titlecase_Letter', 'Unassigned', 'Uppercase_Letter']], ['Script', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Script_Extensions', ['Adlam', 'Ahom', 'Anatolian_Hieroglyphs', 'Arabic', 'Armenian', 'Avestan', 'Balinese', 'Bamum', 'Bassa_Vah', 'Batak', 'Bengali', 'Bhaiksuki', 'Bopomofo', 'Brahmi', 'Braille', 'Buginese', 'Buhid', 'Canadian_Aboriginal', 'Carian', 'Caucasian_Albanian', 'Chakma', 'Cham', 'Cherokee', 'Chorasmian', 'Common', 'Coptic', 'Cuneiform', 'Cypriot', 'Cypro_Minoan', 'Cyrillic', 'Deseret', 'Devanagari', 'Dives_Akuru', 'Dogra', 'Duployan', 'Egyptian_Hieroglyphs', 'Elbasan', 'Elymaic', 'Ethiopic', 'Georgian', 'Glagolitic', 'Gothic', 'Grantha', 'Greek', 'Gujarati', 'Gunjala_Gondi', 'Gurmukhi', 'Han', 'Hangul', 'Hanifi_Rohingya', 'Hanunoo', 'Hatran', 'Hebrew', 'Hiragana', 'Imperial_Aramaic', 'Inherited', 'Inscriptional_Pahlavi', 'Inscriptional_Parthian', 'Javanese', 'Kaithi', 'Kannada', 'Katakana', 'Kayah_Li', 'Kharoshthi', 'Khitan_Small_Script', 'Khmer', 'Khojki', 'Khudawadi', 'Lao', 'Latin', 'Lepcha', 'Limbu', 'Linear_A', 'Linear_B', 'Lisu', 'Lycian', 'Lydian', 'Mahajani', 'Makasar', 'Malayalam', 'Mandaic', 'Manichaean', 'Marchen', 'Masaram_Gondi', 'Medefaidrin', 'Meetei_Mayek', 'Mende_Kikakui', 'Meroitic_Cursive', 'Meroitic_Hieroglyphs', 'Miao', 'Modi', 'Mongolian', 'Mro', 'Multani', 'Myanmar', 'Nabataean', 'Nandinagari', 'New_Tai_Lue', 'Newa', 'Nko', 'Nushu', 'Nyiakeng_Puachue_Hmong', 'Ogham', 'Ol_Chiki', 'Old_Hungarian', 'Old_Italic', 'Old_North_Arabian', 'Old_Permic', 'Old_Persian', 'Old_Sogdian', 'Old_South_Arabian', 'Old_Turkic', 'Old_Uyghur', 'Oriya', 'Osage', 'Osmanya', 'Pahawh_Hmong', 'Palmyrene', 'Pau_Cin_Hau', 'Phags_Pa', 'Phoenician', 'Psalter_Pahlavi', 'Rejang', 'Runic', 'Samaritan', 'Saurashtra', 'Sharada', 'Shavian', 'Siddham', 'SignWriting', 'Sinhala', 'Sogdian', 'Sora_Sompeng', 'Soyombo', 'Sundanese', 'Syloti_Nagri', 'Syriac', 'Tagalog', 'Tagbanwa', 'Tai_Le', 'Tai_Tham', 'Tai_Viet', 'Takri', 'Tamil', 'Tangsa', 'Tangut', 'Telugu', 'Thaana', 'Thai', 'Tibetan', 'Tifinagh', 'Tirhuta', 'Toto', 'Ugaritic', 'Vai', 'Vithkuqi', 'Wancho', 'Warang_Citi', 'Yezidi', 'Yi', 'Zanabazar_Square']], ['Binary_Property', ['ASCII', 'ASCII_Hex_Digit', 'Alphabetic', 'Any', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'ID_Continue', 'ID_Start', 'Ideographic', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']]]);","module.exports = '14.0.0';","// Generated using `npm run build`. Do not edit.\n'use strict';\n\nconst regenerate = require('regenerate');\n\nexports.REGULAR = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0xFFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0xFFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0xFFFF)]]);\nexports.UNICODE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x10FFFF)]]);\nexports.UNICODE_IGNORE_CASE = new Map([['d', regenerate().addRange(0x30, 0x39)], ['D', regenerate().addRange(0x0, 0x2F).addRange(0x3A, 0x10FFFF)], ['s', regenerate(0x20, 0xA0, 0x1680, 0x202F, 0x205F, 0x3000, 0xFEFF).addRange(0x9, 0xD).addRange(0x2000, 0x200A).addRange(0x2028, 0x2029)], ['S', regenerate().addRange(0x0, 0x8).addRange(0xE, 0x1F).addRange(0x21, 0x9F).addRange(0xA1, 0x167F).addRange(0x1681, 0x1FFF).addRange(0x200B, 0x2027).addRange(0x202A, 0x202E).addRange(0x2030, 0x205E).addRange(0x2060, 0x2FFF).addRange(0x3001, 0xFEFE).addRange(0xFF00, 0x10FFFF)], ['w', regenerate(0x5F, 0x17F, 0x212A).addRange(0x30, 0x39).addRange(0x41, 0x5A).addRange(0x61, 0x7A)], ['W', regenerate(0x60).addRange(0x0, 0x2F).addRange(0x3A, 0x40).addRange(0x5B, 0x5E).addRange(0x7B, 0x17E).addRange(0x180, 0x2129).addRange(0x212B, 0x10FFFF)]]);","module.exports = new Map([[0x4B, 0x212A], [0x53, 0x17F], [0x6B, 0x212A], [0x73, 0x17F], [0xB5, 0x39C], [0xC5, 0x212B], [0xDF, 0x1E9E], [0xE5, 0x212B], [0x17F, 0x53], [0x1C4, 0x1C5], [0x1C5, 0x1C4], [0x1C7, 0x1C8], [0x1C8, 0x1C7], [0x1CA, 0x1CB], [0x1CB, 0x1CA], [0x1F1, 0x1F2], [0x1F2, 0x1F1], [0x345, 0x1FBE], [0x392, 0x3D0], [0x395, 0x3F5], [0x398, 0x3F4], [0x399, 0x1FBE], [0x39A, 0x3F0], [0x39C, 0xB5], [0x3A0, 0x3D6], [0x3A1, 0x3F1], [0x3A3, 0x3C2], [0x3A6, 0x3D5], [0x3A9, 0x2126], [0x3B8, 0x3F4], [0x3C2, 0x3A3], [0x3C9, 0x2126], [0x3D0, 0x392], [0x3D1, 0x3F4], [0x3D5, 0x3A6], [0x3D6, 0x3A0], [0x3F0, 0x39A], [0x3F1, 0x3A1], [0x3F4, [0x398, 0x3D1, 0x3B8]], [0x3F5, 0x395], [0x412, 0x1C80], [0x414, 0x1C81], [0x41E, 0x1C82], [0x421, 0x1C83], [0x422, 0x1C85], [0x42A, 0x1C86], [0x462, 0x1C87], [0x1C80, 0x412], [0x1C81, 0x414], [0x1C82, 0x41E], [0x1C83, 0x421], [0x1C84, 0x1C85], [0x1C85, [0x422, 0x1C84]], [0x1C86, 0x42A], [0x1C87, 0x462], [0x1C88, 0xA64A], [0x1E60, 0x1E9B], [0x1E9B, 0x1E60], [0x1E9E, 0xDF], [0x1F80, 0x1F88], [0x1F81, 0x1F89], [0x1F82, 0x1F8A], [0x1F83, 0x1F8B], [0x1F84, 0x1F8C], [0x1F85, 0x1F8D], [0x1F86, 0x1F8E], [0x1F87, 0x1F8F], [0x1F88, 0x1F80], [0x1F89, 0x1F81], [0x1F8A, 0x1F82], [0x1F8B, 0x1F83], [0x1F8C, 0x1F84], [0x1F8D, 0x1F85], [0x1F8E, 0x1F86], [0x1F8F, 0x1F87], [0x1F90, 0x1F98], [0x1F91, 0x1F99], [0x1F92, 0x1F9A], [0x1F93, 0x1F9B], [0x1F94, 0x1F9C], [0x1F95, 0x1F9D], [0x1F96, 0x1F9E], [0x1F97, 0x1F9F], [0x1F98, 0x1F90], [0x1F99, 0x1F91], [0x1F9A, 0x1F92], [0x1F9B, 0x1F93], [0x1F9C, 0x1F94], [0x1F9D, 0x1F95], [0x1F9E, 0x1F96], [0x1F9F, 0x1F97], [0x1FA0, 0x1FA8], [0x1FA1, 0x1FA9], [0x1FA2, 0x1FAA], [0x1FA3, 0x1FAB], [0x1FA4, 0x1FAC], [0x1FA5, 0x1FAD], [0x1FA6, 0x1FAE], [0x1FA7, 0x1FAF], [0x1FA8, 0x1FA0], [0x1FA9, 0x1FA1], [0x1FAA, 0x1FA2], [0x1FAB, 0x1FA3], [0x1FAC, 0x1FA4], [0x1FAD, 0x1FA5], [0x1FAE, 0x1FA6], [0x1FAF, 0x1FA7], [0x1FB3, 0x1FBC], [0x1FBC, 0x1FB3], [0x1FBE, [0x345, 0x399]], [0x1FC3, 0x1FCC], [0x1FCC, 0x1FC3], [0x1FF3, 0x1FFC], [0x1FFC, 0x1FF3], [0x2126, [0x3A9, 0x3C9]], [0x212A, 0x4B], [0x212B, [0xC5, 0xE5]], [0x2C2F, 0x2C5F], [0x2C5F, 0x2C2F], [0xA64A, 0x1C88], [0xA7C0, 0xA7C1], [0xA7C1, 0xA7C0], [0xA7D0, 0xA7D1], [0xA7D1, 0xA7D0], [0xA7D6, 0xA7D7], [0xA7D7, 0xA7D6], [0xA7D8, 0xA7D9], [0xA7D9, 0xA7D8], [0x10400, 0x10428], [0x10401, 0x10429], [0x10402, 0x1042A], [0x10403, 0x1042B], [0x10404, 0x1042C], [0x10405, 0x1042D], [0x10406, 0x1042E], [0x10407, 0x1042F], [0x10408, 0x10430], [0x10409, 0x10431], [0x1040A, 0x10432], [0x1040B, 0x10433], [0x1040C, 0x10434], [0x1040D, 0x10435], [0x1040E, 0x10436], [0x1040F, 0x10437], [0x10410, 0x10438], [0x10411, 0x10439], [0x10412, 0x1043A], [0x10413, 0x1043B], [0x10414, 0x1043C], [0x10415, 0x1043D], [0x10416, 0x1043E], [0x10417, 0x1043F], [0x10418, 0x10440], [0x10419, 0x10441], [0x1041A, 0x10442], [0x1041B, 0x10443], [0x1041C, 0x10444], [0x1041D, 0x10445], [0x1041E, 0x10446], [0x1041F, 0x10447], [0x10420, 0x10448], [0x10421, 0x10449], [0x10422, 0x1044A], [0x10423, 0x1044B], [0x10424, 0x1044C], [0x10425, 0x1044D], [0x10426, 0x1044E], [0x10427, 0x1044F], [0x10428, 0x10400], [0x10429, 0x10401], [0x1042A, 0x10402], [0x1042B, 0x10403], [0x1042C, 0x10404], [0x1042D, 0x10405], [0x1042E, 0x10406], [0x1042F, 0x10407], [0x10430, 0x10408], [0x10431, 0x10409], [0x10432, 0x1040A], [0x10433, 0x1040B], [0x10434, 0x1040C], [0x10435, 0x1040D], [0x10436, 0x1040E], [0x10437, 0x1040F], [0x10438, 0x10410], [0x10439, 0x10411], [0x1043A, 0x10412], [0x1043B, 0x10413], [0x1043C, 0x10414], [0x1043D, 0x10415], [0x1043E, 0x10416], [0x1043F, 0x10417], [0x10440, 0x10418], [0x10441, 0x10419], [0x10442, 0x1041A], [0x10443, 0x1041B], [0x10444, 0x1041C], [0x10445, 0x1041D], [0x10446, 0x1041E], [0x10447, 0x1041F], [0x10448, 0x10420], [0x10449, 0x10421], [0x1044A, 0x10422], [0x1044B, 0x10423], [0x1044C, 0x10424], [0x1044D, 0x10425], [0x1044E, 0x10426], [0x1044F, 0x10427], [0x104B0, 0x104D8], [0x104B1, 0x104D9], [0x104B2, 0x104DA], [0x104B3, 0x104DB], [0x104B4, 0x104DC], [0x104B5, 0x104DD], [0x104B6, 0x104DE], [0x104B7, 0x104DF], [0x104B8, 0x104E0], [0x104B9, 0x104E1], [0x104BA, 0x104E2], [0x104BB, 0x104E3], [0x104BC, 0x104E4], [0x104BD, 0x104E5], [0x104BE, 0x104E6], [0x104BF, 0x104E7], [0x104C0, 0x104E8], [0x104C1, 0x104E9], [0x104C2, 0x104EA], [0x104C3, 0x104EB], [0x104C4, 0x104EC], [0x104C5, 0x104ED], [0x104C6, 0x104EE], [0x104C7, 0x104EF], [0x104C8, 0x104F0], [0x104C9, 0x104F1], [0x104CA, 0x104F2], [0x104CB, 0x104F3], [0x104CC, 0x104F4], [0x104CD, 0x104F5], [0x104CE, 0x104F6], [0x104CF, 0x104F7], [0x104D0, 0x104F8], [0x104D1, 0x104F9], [0x104D2, 0x104FA], [0x104D3, 0x104FB], [0x104D8, 0x104B0], [0x104D9, 0x104B1], [0x104DA, 0x104B2], [0x104DB, 0x104B3], [0x104DC, 0x104B4], [0x104DD, 0x104B5], [0x104DE, 0x104B6], [0x104DF, 0x104B7], [0x104E0, 0x104B8], [0x104E1, 0x104B9], [0x104E2, 0x104BA], [0x104E3, 0x104BB], [0x104E4, 0x104BC], [0x104E5, 0x104BD], [0x104E6, 0x104BE], [0x104E7, 0x104BF], [0x104E8, 0x104C0], [0x104E9, 0x104C1], [0x104EA, 0x104C2], [0x104EB, 0x104C3], [0x104EC, 0x104C4], [0x104ED, 0x104C5], [0x104EE, 0x104C6], [0x104EF, 0x104C7], [0x104F0, 0x104C8], [0x104F1, 0x104C9], [0x104F2, 0x104CA], [0x104F3, 0x104CB], [0x104F4, 0x104CC], [0x104F5, 0x104CD], [0x104F6, 0x104CE], [0x104F7, 0x104CF], [0x104F8, 0x104D0], [0x104F9, 0x104D1], [0x104FA, 0x104D2], [0x104FB, 0x104D3], [0x10570, 0x10597], [0x10571, 0x10598], [0x10572, 0x10599], [0x10573, 0x1059A], [0x10574, 0x1059B], [0x10575, 0x1059C], [0x10576, 0x1059D], [0x10577, 0x1059E], [0x10578, 0x1059F], [0x10579, 0x105A0], [0x1057A, 0x105A1], [0x1057C, 0x105A3], [0x1057D, 0x105A4], [0x1057E, 0x105A5], [0x1057F, 0x105A6], [0x10580, 0x105A7], [0x10581, 0x105A8], [0x10582, 0x105A9], [0x10583, 0x105AA], [0x10584, 0x105AB], [0x10585, 0x105AC], [0x10586, 0x105AD], [0x10587, 0x105AE], [0x10588, 0x105AF], [0x10589, 0x105B0], [0x1058A, 0x105B1], [0x1058C, 0x105B3], [0x1058D, 0x105B4], [0x1058E, 0x105B5], [0x1058F, 0x105B6], [0x10590, 0x105B7], [0x10591, 0x105B8], [0x10592, 0x105B9], [0x10594, 0x105BB], [0x10595, 0x105BC], [0x10597, 0x10570], [0x10598, 0x10571], [0x10599, 0x10572], [0x1059A, 0x10573], [0x1059B, 0x10574], [0x1059C, 0x10575], [0x1059D, 0x10576], [0x1059E, 0x10577], [0x1059F, 0x10578], [0x105A0, 0x10579], [0x105A1, 0x1057A], [0x105A3, 0x1057C], [0x105A4, 0x1057D], [0x105A5, 0x1057E], [0x105A6, 0x1057F], [0x105A7, 0x10580], [0x105A8, 0x10581], [0x105A9, 0x10582], [0x105AA, 0x10583], [0x105AB, 0x10584], [0x105AC, 0x10585], [0x105AD, 0x10586], [0x105AE, 0x10587], [0x105AF, 0x10588], [0x105B0, 0x10589], [0x105B1, 0x1058A], [0x105B3, 0x1058C], [0x105B4, 0x1058D], [0x105B5, 0x1058E], [0x105B6, 0x1058F], [0x105B7, 0x10590], [0x105B8, 0x10591], [0x105B9, 0x10592], [0x105BB, 0x10594], [0x105BC, 0x10595], [0x10C80, 0x10CC0], [0x10C81, 0x10CC1], [0x10C82, 0x10CC2], [0x10C83, 0x10CC3], [0x10C84, 0x10CC4], [0x10C85, 0x10CC5], [0x10C86, 0x10CC6], [0x10C87, 0x10CC7], [0x10C88, 0x10CC8], [0x10C89, 0x10CC9], [0x10C8A, 0x10CCA], [0x10C8B, 0x10CCB], [0x10C8C, 0x10CCC], [0x10C8D, 0x10CCD], [0x10C8E, 0x10CCE], [0x10C8F, 0x10CCF], [0x10C90, 0x10CD0], [0x10C91, 0x10CD1], [0x10C92, 0x10CD2], [0x10C93, 0x10CD3], [0x10C94, 0x10CD4], [0x10C95, 0x10CD5], [0x10C96, 0x10CD6], [0x10C97, 0x10CD7], [0x10C98, 0x10CD8], [0x10C99, 0x10CD9], [0x10C9A, 0x10CDA], [0x10C9B, 0x10CDB], [0x10C9C, 0x10CDC], [0x10C9D, 0x10CDD], [0x10C9E, 0x10CDE], [0x10C9F, 0x10CDF], [0x10CA0, 0x10CE0], [0x10CA1, 0x10CE1], [0x10CA2, 0x10CE2], [0x10CA3, 0x10CE3], [0x10CA4, 0x10CE4], [0x10CA5, 0x10CE5], [0x10CA6, 0x10CE6], [0x10CA7, 0x10CE7], [0x10CA8, 0x10CE8], [0x10CA9, 0x10CE9], [0x10CAA, 0x10CEA], [0x10CAB, 0x10CEB], [0x10CAC, 0x10CEC], [0x10CAD, 0x10CED], [0x10CAE, 0x10CEE], [0x10CAF, 0x10CEF], [0x10CB0, 0x10CF0], [0x10CB1, 0x10CF1], [0x10CB2, 0x10CF2], [0x10CC0, 0x10C80], [0x10CC1, 0x10C81], [0x10CC2, 0x10C82], [0x10CC3, 0x10C83], [0x10CC4, 0x10C84], [0x10CC5, 0x10C85], [0x10CC6, 0x10C86], [0x10CC7, 0x10C87], [0x10CC8, 0x10C88], [0x10CC9, 0x10C89], [0x10CCA, 0x10C8A], [0x10CCB, 0x10C8B], [0x10CCC, 0x10C8C], [0x10CCD, 0x10C8D], [0x10CCE, 0x10C8E], [0x10CCF, 0x10C8F], [0x10CD0, 0x10C90], [0x10CD1, 0x10C91], [0x10CD2, 0x10C92], [0x10CD3, 0x10C93], [0x10CD4, 0x10C94], [0x10CD5, 0x10C95], [0x10CD6, 0x10C96], [0x10CD7, 0x10C97], [0x10CD8, 0x10C98], [0x10CD9, 0x10C99], [0x10CDA, 0x10C9A], [0x10CDB, 0x10C9B], [0x10CDC, 0x10C9C], [0x10CDD, 0x10C9D], [0x10CDE, 0x10C9E], [0x10CDF, 0x10C9F], [0x10CE0, 0x10CA0], [0x10CE1, 0x10CA1], [0x10CE2, 0x10CA2], [0x10CE3, 0x10CA3], [0x10CE4, 0x10CA4], [0x10CE5, 0x10CA5], [0x10CE6, 0x10CA6], [0x10CE7, 0x10CA7], [0x10CE8, 0x10CA8], [0x10CE9, 0x10CA9], [0x10CEA, 0x10CAA], [0x10CEB, 0x10CAB], [0x10CEC, 0x10CAC], [0x10CED, 0x10CAD], [0x10CEE, 0x10CAE], [0x10CEF, 0x10CAF], [0x10CF0, 0x10CB0], [0x10CF1, 0x10CB1], [0x10CF2, 0x10CB2], [0x118A0, 0x118C0], [0x118A1, 0x118C1], [0x118A2, 0x118C2], [0x118A3, 0x118C3], [0x118A4, 0x118C4], [0x118A5, 0x118C5], [0x118A6, 0x118C6], [0x118A7, 0x118C7], [0x118A8, 0x118C8], [0x118A9, 0x118C9], [0x118AA, 0x118CA], [0x118AB, 0x118CB], [0x118AC, 0x118CC], [0x118AD, 0x118CD], [0x118AE, 0x118CE], [0x118AF, 0x118CF], [0x118B0, 0x118D0], [0x118B1, 0x118D1], [0x118B2, 0x118D2], [0x118B3, 0x118D3], [0x118B4, 0x118D4], [0x118B5, 0x118D5], [0x118B6, 0x118D6], [0x118B7, 0x118D7], [0x118B8, 0x118D8], [0x118B9, 0x118D9], [0x118BA, 0x118DA], [0x118BB, 0x118DB], [0x118BC, 0x118DC], [0x118BD, 0x118DD], [0x118BE, 0x118DE], [0x118BF, 0x118DF], [0x118C0, 0x118A0], [0x118C1, 0x118A1], [0x118C2, 0x118A2], [0x118C3, 0x118A3], [0x118C4, 0x118A4], [0x118C5, 0x118A5], [0x118C6, 0x118A6], [0x118C7, 0x118A7], [0x118C8, 0x118A8], [0x118C9, 0x118A9], [0x118CA, 0x118AA], [0x118CB, 0x118AB], [0x118CC, 0x118AC], [0x118CD, 0x118AD], [0x118CE, 0x118AE], [0x118CF, 0x118AF], [0x118D0, 0x118B0], [0x118D1, 0x118B1], [0x118D2, 0x118B2], [0x118D3, 0x118B3], [0x118D4, 0x118B4], [0x118D5, 0x118B5], [0x118D6, 0x118B6], [0x118D7, 0x118B7], [0x118D8, 0x118B8], [0x118D9, 0x118B9], [0x118DA, 0x118BA], [0x118DB, 0x118BB], [0x118DC, 0x118BC], [0x118DD, 0x118BD], [0x118DE, 0x118BE], [0x118DF, 0x118BF], [0x16E40, 0x16E60], [0x16E41, 0x16E61], [0x16E42, 0x16E62], [0x16E43, 0x16E63], [0x16E44, 0x16E64], [0x16E45, 0x16E65], [0x16E46, 0x16E66], [0x16E47, 0x16E67], [0x16E48, 0x16E68], [0x16E49, 0x16E69], [0x16E4A, 0x16E6A], [0x16E4B, 0x16E6B], [0x16E4C, 0x16E6C], [0x16E4D, 0x16E6D], [0x16E4E, 0x16E6E], [0x16E4F, 0x16E6F], [0x16E50, 0x16E70], [0x16E51, 0x16E71], [0x16E52, 0x16E72], [0x16E53, 0x16E73], [0x16E54, 0x16E74], [0x16E55, 0x16E75], [0x16E56, 0x16E76], [0x16E57, 0x16E77], [0x16E58, 0x16E78], [0x16E59, 0x16E79], [0x16E5A, 0x16E7A], [0x16E5B, 0x16E7B], [0x16E5C, 0x16E7C], [0x16E5D, 0x16E7D], [0x16E5E, 0x16E7E], [0x16E5F, 0x16E7F], [0x16E60, 0x16E40], [0x16E61, 0x16E41], [0x16E62, 0x16E42], [0x16E63, 0x16E43], [0x16E64, 0x16E44], [0x16E65, 0x16E45], [0x16E66, 0x16E46], [0x16E67, 0x16E47], [0x16E68, 0x16E48], [0x16E69, 0x16E49], [0x16E6A, 0x16E4A], [0x16E6B, 0x16E4B], [0x16E6C, 0x16E4C], [0x16E6D, 0x16E4D], [0x16E6E, 0x16E4E], [0x16E6F, 0x16E4F], [0x16E70, 0x16E50], [0x16E71, 0x16E51], [0x16E72, 0x16E52], [0x16E73, 0x16E53], [0x16E74, 0x16E54], [0x16E75, 0x16E55], [0x16E76, 0x16E56], [0x16E77, 0x16E57], [0x16E78, 0x16E58], [0x16E79, 0x16E59], [0x16E7A, 0x16E5A], [0x16E7B, 0x16E5B], [0x16E7C, 0x16E5C], [0x16E7D, 0x16E5D], [0x16E7E, 0x16E5E], [0x16E7F, 0x16E5F], [0x1E900, 0x1E922], [0x1E901, 0x1E923], [0x1E902, 0x1E924], [0x1E903, 0x1E925], [0x1E904, 0x1E926], [0x1E905, 0x1E927], [0x1E906, 0x1E928], [0x1E907, 0x1E929], [0x1E908, 0x1E92A], [0x1E909, 0x1E92B], [0x1E90A, 0x1E92C], [0x1E90B, 0x1E92D], [0x1E90C, 0x1E92E], [0x1E90D, 0x1E92F], [0x1E90E, 0x1E930], [0x1E90F, 0x1E931], [0x1E910, 0x1E932], [0x1E911, 0x1E933], [0x1E912, 0x1E934], [0x1E913, 0x1E935], [0x1E914, 0x1E936], [0x1E915, 0x1E937], [0x1E916, 0x1E938], [0x1E917, 0x1E939], [0x1E918, 0x1E93A], [0x1E919, 0x1E93B], [0x1E91A, 0x1E93C], [0x1E91B, 0x1E93D], [0x1E91C, 0x1E93E], [0x1E91D, 0x1E93F], [0x1E91E, 0x1E940], [0x1E91F, 0x1E941], [0x1E920, 0x1E942], [0x1E921, 0x1E943], [0x1E922, 0x1E900], [0x1E923, 0x1E901], [0x1E924, 0x1E902], [0x1E925, 0x1E903], [0x1E926, 0x1E904], [0x1E927, 0x1E905], [0x1E928, 0x1E906], [0x1E929, 0x1E907], [0x1E92A, 0x1E908], [0x1E92B, 0x1E909], [0x1E92C, 0x1E90A], [0x1E92D, 0x1E90B], [0x1E92E, 0x1E90C], [0x1E92F, 0x1E90D], [0x1E930, 0x1E90E], [0x1E931, 0x1E90F], [0x1E932, 0x1E910], [0x1E933, 0x1E911], [0x1E934, 0x1E912], [0x1E935, 0x1E913], [0x1E936, 0x1E914], [0x1E937, 0x1E915], [0x1E938, 0x1E916], [0x1E939, 0x1E917], [0x1E93A, 0x1E918], [0x1E93B, 0x1E919], [0x1E93C, 0x1E91A], [0x1E93D, 0x1E91B], [0x1E93E, 0x1E91C], [0x1E93F, 0x1E91D], [0x1E940, 0x1E91E], [0x1E941, 0x1E91F], [0x1E942, 0x1E920], [0x1E943, 0x1E921]]);","'use strict';\n\nconst generate = require('regjsgen').generate;\n\nconst parse = require('regjsparser').parse;\n\nconst regenerate = require('regenerate');\n\nconst unicodeMatchProperty = require('unicode-match-property-ecmascript');\n\nconst unicodeMatchPropertyValue = require('unicode-match-property-value-ecmascript');\n\nconst iuMappings = require('./data/iu-mappings.js');\n\nconst ESCAPE_SETS = require('./data/character-class-escape-sets.js'); // Prepare a Regenerate set containing all code points, used for negative\n// character classes (if any).\n\n\nconst UNICODE_SET = regenerate().addRange(0x0, 0x10FFFF); // Without the `u` flag, the range stops at 0xFFFF.\n// https://mths.be/es6#sec-pattern-semantics\n\nconst BMP_SET = regenerate().addRange(0x0, 0xFFFF); // Prepare a Regenerate set containing all code points that are supposed to be\n// matched by `/./u`. https://mths.be/es6#sec-atom\n\nconst DOT_SET_UNICODE = UNICODE_SET.clone() // all Unicode code points\n.remove( // minus `LineTerminator`s (https://mths.be/es6#sec-line-terminators):\n0x000A, // Line Feed \n0x000D, // Carriage Return \n0x2028, // Line Separator \n0x2029 // Paragraph Separator \n);\n\nconst getCharacterClassEscapeSet = (character, unicode, ignoreCase) => {\n if (unicode) {\n if (ignoreCase) {\n return ESCAPE_SETS.UNICODE_IGNORE_CASE.get(character);\n }\n\n return ESCAPE_SETS.UNICODE.get(character);\n }\n\n return ESCAPE_SETS.REGULAR.get(character);\n};\n\nconst getUnicodeDotSet = dotAll => {\n return dotAll ? UNICODE_SET : DOT_SET_UNICODE;\n};\n\nconst getUnicodePropertyValueSet = (property, value) => {\n const path = value ? \"\".concat(property, \"/\").concat(value) : \"Binary_Property/\".concat(property);\n\n try {\n return require(\"regenerate-unicode-properties/\".concat(path, \".js\"));\n } catch (exception) {\n throw new Error(\"Failed to recognize value `\".concat(value, \"` for property \") + \"`\".concat(property, \"`.\"));\n }\n};\n\nconst handleLoneUnicodePropertyNameOrValue = value => {\n // It could be a `General_Category` value or a binary property.\n // Note: `unicodeMatchPropertyValue` throws on invalid values.\n try {\n const property = 'General_Category';\n const category = unicodeMatchPropertyValue(property, value);\n return getUnicodePropertyValueSet(property, category);\n } catch (exception) {} // It’s not a `General_Category` value, so check if it’s a binary\n // property. Note: `unicodeMatchProperty` throws on invalid properties.\n\n\n const property = unicodeMatchProperty(value);\n return getUnicodePropertyValueSet(property);\n};\n\nconst getUnicodePropertyEscapeSet = (value, isNegative) => {\n const parts = value.split('=');\n const firstPart = parts[0];\n let set;\n\n if (parts.length == 1) {\n set = handleLoneUnicodePropertyNameOrValue(firstPart);\n } else {\n // The pattern consists of two parts, i.e. `Property=Value`.\n const property = unicodeMatchProperty(firstPart);\n const value = unicodeMatchPropertyValue(property, parts[1]);\n set = getUnicodePropertyValueSet(property, value);\n }\n\n if (isNegative) {\n return UNICODE_SET.clone().remove(set);\n }\n\n return set.clone();\n}; // Given a range of code points, add any case-folded code points in that range\n// to a set.\n\n\nregenerate.prototype.iuAddRange = function (min, max) {\n const $this = this;\n\n do {\n const folded = caseFold(min);\n\n if (folded) {\n $this.add(folded);\n }\n } while (++min <= max);\n\n return $this;\n};\n\nconst update = (item, pattern) => {\n let tree = parse(pattern, config.useUnicodeFlag ? 'u' : '');\n\n switch (tree.type) {\n case 'characterClass':\n case 'group':\n case 'value':\n // No wrapping needed.\n break;\n\n default:\n // Wrap the pattern in a non-capturing group.\n tree = wrap(tree, pattern);\n }\n\n Object.assign(item, tree);\n};\n\nconst wrap = (tree, pattern) => {\n // Wrap the pattern in a non-capturing group.\n return {\n 'type': 'group',\n 'behavior': 'ignore',\n 'body': [tree],\n 'raw': \"(?:\".concat(pattern, \")\")\n };\n};\n\nconst caseFold = codePoint => {\n return iuMappings.get(codePoint) || false;\n};\n\nconst processCharacterClass = (characterClassItem, regenerateOptions) => {\n const set = regenerate();\n\n for (const item of characterClassItem.body) {\n switch (item.type) {\n case 'value':\n set.add(item.codePoint);\n\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n const folded = caseFold(item.codePoint);\n\n if (folded) {\n set.add(folded);\n }\n }\n\n break;\n\n case 'characterClassRange':\n const min = item.min.codePoint;\n const max = item.max.codePoint;\n set.addRange(min, max);\n\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n set.iuAddRange(min, max);\n }\n\n break;\n\n case 'characterClassEscape':\n set.add(getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase));\n break;\n\n case 'unicodePropertyEscape':\n set.add(getUnicodePropertyEscapeSet(item.value, item.negative));\n break;\n // The `default` clause is only here as a safeguard; it should never be\n // reached. Code coverage tools should ignore it.\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown term type: \".concat(item.type));\n }\n }\n\n if (characterClassItem.negative) {\n update(characterClassItem, \"(?!\".concat(set.toString(regenerateOptions), \")[\\\\s\\\\S]\"));\n } else {\n update(characterClassItem, set.toString(regenerateOptions));\n }\n\n return characterClassItem;\n};\n\nconst updateNamedReference = (item, index) => {\n delete item.name;\n item.matchIndex = index;\n};\n\nconst assertNoUnmatchedReferences = groups => {\n const unmatchedReferencesNames = Object.keys(groups.unmatchedReferences);\n\n if (unmatchedReferencesNames.length > 0) {\n throw new Error(\"Unknown group names: \".concat(unmatchedReferencesNames));\n }\n};\n\nconst processTerm = (item, regenerateOptions, groups) => {\n switch (item.type) {\n case 'dot':\n if (config.useDotAllFlag) {\n break;\n } else if (config.unicode) {\n update(item, getUnicodeDotSet(config.dotAll).toString(regenerateOptions));\n } else if (config.dotAll) {\n // TODO: consider changing this at the regenerate level.\n update(item, '[\\\\s\\\\S]');\n }\n\n break;\n\n case 'characterClass':\n item = processCharacterClass(item, regenerateOptions);\n break;\n\n case 'unicodePropertyEscape':\n if (config.unicodePropertyEscape) {\n update(item, getUnicodePropertyEscapeSet(item.value, item.negative).toString(regenerateOptions));\n }\n\n break;\n\n case 'characterClassEscape':\n update(item, getCharacterClassEscapeSet(item.value, config.unicode, config.ignoreCase).toString(regenerateOptions));\n break;\n\n case 'group':\n if (item.behavior == 'normal') {\n groups.lastIndex++;\n }\n\n if (item.name && config.namedGroup) {\n const name = item.name.value;\n\n if (groups.names[name]) {\n throw new Error(\"Multiple groups with the same name (\".concat(name, \") are not allowed.\"));\n }\n\n const index = groups.lastIndex;\n delete item.name;\n groups.names[name] = index;\n\n if (groups.onNamedGroup) {\n groups.onNamedGroup.call(null, name, index);\n }\n\n if (groups.unmatchedReferences[name]) {\n groups.unmatchedReferences[name].forEach(reference => {\n updateNamedReference(reference, index);\n });\n delete groups.unmatchedReferences[name];\n }\n }\n\n /* falls through */\n\n case 'alternative':\n case 'disjunction':\n case 'quantifier':\n item.body = item.body.map(term => {\n return processTerm(term, regenerateOptions, groups);\n });\n break;\n\n case 'value':\n const codePoint = item.codePoint;\n const set = regenerate(codePoint);\n\n if (config.ignoreCase && config.unicode && !config.useUnicodeFlag) {\n const folded = caseFold(codePoint);\n\n if (folded) {\n set.add(folded);\n }\n }\n\n update(item, set.toString(regenerateOptions));\n break;\n\n case 'reference':\n if (item.name) {\n const name = item.name.value;\n const index = groups.names[name];\n\n if (index) {\n updateNamedReference(item, index);\n break;\n }\n\n if (!groups.unmatchedReferences[name]) {\n groups.unmatchedReferences[name] = [];\n } // Keep track of references used before the corresponding group.\n\n\n groups.unmatchedReferences[name].push(item);\n }\n\n break;\n\n case 'anchor':\n case 'empty':\n case 'group':\n // Nothing to do here.\n break;\n // The `default` clause is only here as a safeguard; it should never be\n // reached. Code coverage tools should ignore it.\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown term type: \".concat(item.type));\n }\n\n return item;\n};\n\nconst config = {\n 'ignoreCase': false,\n 'unicode': false,\n 'dotAll': false,\n 'useDotAllFlag': false,\n 'useUnicodeFlag': false,\n 'unicodePropertyEscape': false,\n 'namedGroup': false\n};\n\nconst rewritePattern = (pattern, flags, options) => {\n config.unicode = flags && flags.includes('u');\n const regjsparserFeatures = {\n 'unicodePropertyEscape': config.unicode,\n 'namedGroups': true,\n 'lookbehind': options && options.lookbehind\n };\n config.ignoreCase = flags && flags.includes('i');\n const supportDotAllFlag = options && options.dotAllFlag;\n config.dotAll = supportDotAllFlag && flags && flags.includes('s');\n config.namedGroup = options && options.namedGroup;\n config.useDotAllFlag = options && options.useDotAllFlag;\n config.useUnicodeFlag = options && options.useUnicodeFlag;\n config.unicodePropertyEscape = options && options.unicodePropertyEscape;\n\n if (supportDotAllFlag && config.useDotAllFlag) {\n throw new Error('`useDotAllFlag` and `dotAllFlag` cannot both be true!');\n }\n\n const regenerateOptions = {\n 'hasUnicodeFlag': config.useUnicodeFlag,\n 'bmpOnly': !config.unicode\n };\n const groups = {\n 'onNamedGroup': options && options.onNamedGroup,\n 'lastIndex': 0,\n 'names': Object.create(null),\n // { [name]: index }\n 'unmatchedReferences': Object.create(null) // { [name]: Array }\n\n };\n const tree = parse(pattern, flags, regjsparserFeatures); // Note: `processTerm` mutates `tree` and `groups`.\n\n processTerm(tree, regenerateOptions, groups);\n assertNoUnmatchedReferences(groups);\n return generate(tree);\n};\n\nmodule.exports = rewritePattern;","/*!\n * regjsgen 0.5.2\n * Copyright 2014-2020 Benjamin Tan \n * Available under the MIT license \n */\n;\n(function () {\n 'use strict'; // Used to determine if values are of the language type `Object`.\n\n var objectTypes = {\n 'function': true,\n 'object': true\n }; // Used as a reference to the global object.\n\n var root = objectTypes[typeof window] && window || this; // Detect free variable `exports`.\n\n var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports; // Detect free variable `module`.\n\n var hasFreeModule = objectTypes[typeof module] && module && !module.nodeType; // Detect free variable `global` from Node.js or Browserified code and use it as `root`.\n\n var freeGlobal = freeExports && hasFreeModule && typeof global == 'object' && global;\n\n if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {\n root = freeGlobal;\n } // Used to check objects for own properties.\n\n\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n /*--------------------------------------------------------------------------*/\n // Generates a string based on the given code point.\n // Based on https://mths.be/fromcodepoint by @mathias.\n\n function fromCodePoint() {\n var codePoint = Number(arguments[0]);\n\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n\n if (codePoint <= 0xFFFF) {\n // BMP code point\n return String.fromCharCode(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n var highSurrogate = (codePoint >> 10) + 0xD800;\n var lowSurrogate = codePoint % 0x400 + 0xDC00;\n return String.fromCharCode(highSurrogate, lowSurrogate);\n }\n }\n /*--------------------------------------------------------------------------*/\n // Ensures that nodes have the correct types.\n\n\n var assertTypeRegexMap = {};\n\n function assertType(type, expected) {\n if (expected.indexOf('|') == -1) {\n if (type == expected) {\n return;\n }\n\n throw Error('Invalid node type: ' + type + '; expected type: ' + expected);\n }\n\n expected = hasOwnProperty.call(assertTypeRegexMap, expected) ? assertTypeRegexMap[expected] : assertTypeRegexMap[expected] = RegExp('^(?:' + expected + ')$');\n\n if (expected.test(type)) {\n return;\n }\n\n throw Error('Invalid node type: ' + type + '; expected types: ' + expected);\n }\n /*--------------------------------------------------------------------------*/\n // Generates a regular expression string based on an AST.\n\n\n function generate(node) {\n var type = node.type;\n\n if (hasOwnProperty.call(generators, type)) {\n return generators[type](node);\n }\n\n throw Error('Invalid node type: ' + type);\n } // Constructs a string by concatentating the output of each term.\n\n\n function generateSequence(generator, terms) {\n var i = -1,\n length = terms.length,\n result = '',\n term;\n\n while (++i < length) {\n term = terms[i]; // Ensure that `\\0` null escapes followed by number symbols are not\n // treated as backreferences.\n\n if (i + 1 < length && terms[i].type == 'value' && terms[i].kind == 'null' && terms[i + 1].type == 'value' && terms[i + 1].kind == 'symbol' && terms[i + 1].codePoint >= 48 && terms[i + 1].codePoint <= 57) {\n result += '\\\\000';\n continue;\n }\n\n result += generator(term);\n }\n\n return result;\n }\n /*--------------------------------------------------------------------------*/\n\n\n function generateAlternative(node) {\n assertType(node.type, 'alternative');\n return generateSequence(generateTerm, node.body);\n }\n\n function generateAnchor(node) {\n assertType(node.type, 'anchor');\n\n switch (node.kind) {\n case 'start':\n return '^';\n\n case 'end':\n return '$';\n\n case 'boundary':\n return '\\\\b';\n\n case 'not-boundary':\n return '\\\\B';\n\n default:\n throw Error('Invalid assertion');\n }\n }\n\n function generateAtom(node) {\n assertType(node.type, 'anchor|characterClass|characterClassEscape|dot|group|reference|value');\n return generate(node);\n }\n\n function generateCharacterClass(node) {\n assertType(node.type, 'characterClass');\n return '[' + (node.negative ? '^' : '') + generateSequence(generateClassAtom, node.body) + ']';\n }\n\n function generateCharacterClassEscape(node) {\n assertType(node.type, 'characterClassEscape');\n return '\\\\' + node.value;\n }\n\n function generateCharacterClassRange(node) {\n assertType(node.type, 'characterClassRange');\n var min = node.min,\n max = node.max;\n\n if (min.type == 'characterClassRange' || max.type == 'characterClassRange') {\n throw Error('Invalid character class range');\n }\n\n return generateClassAtom(min) + '-' + generateClassAtom(max);\n }\n\n function generateClassAtom(node) {\n assertType(node.type, 'anchor|characterClassEscape|characterClassRange|dot|value');\n return generate(node);\n }\n\n function generateDisjunction(node) {\n assertType(node.type, 'disjunction');\n var body = node.body,\n i = -1,\n length = body.length,\n result = '';\n\n while (++i < length) {\n if (i != 0) {\n result += '|';\n }\n\n result += generate(body[i]);\n }\n\n return result;\n }\n\n function generateDot(node) {\n assertType(node.type, 'dot');\n return '.';\n }\n\n function generateGroup(node) {\n assertType(node.type, 'group');\n var result = '';\n\n switch (node.behavior) {\n case 'normal':\n if (node.name) {\n result += '?<' + generateIdentifier(node.name) + '>';\n }\n\n break;\n\n case 'ignore':\n result += '?:';\n break;\n\n case 'lookahead':\n result += '?=';\n break;\n\n case 'negativeLookahead':\n result += '?!';\n break;\n\n case 'lookbehind':\n result += '?<=';\n break;\n\n case 'negativeLookbehind':\n result += '?';\n }\n\n throw new Error('Unknown reference type');\n }\n\n function generateTerm(node) {\n assertType(node.type, 'anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|unicodePropertyEscape|value|dot');\n return generate(node);\n }\n\n function generateUnicodePropertyEscape(node) {\n assertType(node.type, 'unicodePropertyEscape');\n return '\\\\' + (node.negative ? 'P' : 'p') + '{' + node.value + '}';\n }\n\n function generateValue(node) {\n assertType(node.type, 'value');\n var kind = node.kind,\n codePoint = node.codePoint;\n\n if (typeof codePoint != 'number') {\n throw new Error('Invalid code point: ' + codePoint);\n }\n\n switch (kind) {\n case 'controlLetter':\n return '\\\\c' + fromCodePoint(codePoint + 64);\n\n case 'hexadecimalEscape':\n return '\\\\x' + ('00' + codePoint.toString(16).toUpperCase()).slice(-2);\n\n case 'identifier':\n return '\\\\' + fromCodePoint(codePoint);\n\n case 'null':\n return '\\\\' + codePoint;\n\n case 'octal':\n return '\\\\' + ('000' + codePoint.toString(8)).slice(-3);\n\n case 'singleEscape':\n switch (codePoint) {\n case 0x0008:\n return '\\\\b';\n\n case 0x0009:\n return '\\\\t';\n\n case 0x000A:\n return '\\\\n';\n\n case 0x000B:\n return '\\\\v';\n\n case 0x000C:\n return '\\\\f';\n\n case 0x000D:\n return '\\\\r';\n\n case 0x002D:\n return '\\\\-';\n\n default:\n throw Error('Invalid code point: ' + codePoint);\n }\n\n case 'symbol':\n return fromCodePoint(codePoint);\n\n case 'unicodeEscape':\n return '\\\\u' + ('0000' + codePoint.toString(16).toUpperCase()).slice(-4);\n\n case 'unicodeCodePointEscape':\n return '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n\n default:\n throw Error('Unsupported node kind: ' + kind);\n }\n }\n /*--------------------------------------------------------------------------*/\n // Used to generate strings for each node type.\n\n\n var generators = {\n 'alternative': generateAlternative,\n 'anchor': generateAnchor,\n 'characterClass': generateCharacterClass,\n 'characterClassEscape': generateCharacterClassEscape,\n 'characterClassRange': generateCharacterClassRange,\n 'disjunction': generateDisjunction,\n 'dot': generateDot,\n 'group': generateGroup,\n 'quantifier': generateQuantifier,\n 'reference': generateReference,\n 'unicodePropertyEscape': generateUnicodePropertyEscape,\n 'value': generateValue\n };\n /*--------------------------------------------------------------------------*/\n // Export regjsgen.\n\n var regjsgen = {\n 'generate': generate\n }; // Some AMD build optimizers, like r.js, check for condition patterns like the following:\n\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n // Define as an anonymous module so it can be aliased through path mapping.\n define(function () {\n return regjsgen;\n });\n root.regjsgen = regjsgen;\n } // Check for `exports` after `define` in case a build optimizer adds an `exports` object.\n else if (freeExports && hasFreeModule) {\n // Export for CommonJS support.\n freeExports.generate = generate;\n } else {\n // Export to the global object.\n root.regjsgen = regjsgen;\n }\n}).call(this);","// regjsparser\n//\n// ==================================================================\n//\n// See ECMA-262 Standard: 15.10.1\n//\n// NOTE: The ECMA-262 standard uses the term \"Assertion\" for /^/. Here the\n// term \"Anchor\" is used.\n//\n// Pattern ::\n// Disjunction\n//\n// Disjunction ::\n// Alternative\n// Alternative | Disjunction\n//\n// Alternative ::\n// [empty]\n// Alternative Term\n//\n// Term ::\n// Anchor\n// Atom\n// Atom Quantifier\n//\n// Anchor ::\n// ^\n// $\n// \\ b\n// \\ B\n// ( ? = Disjunction )\n// ( ? ! Disjunction )\n// ( ? < = Disjunction )\n// ( ? < ! Disjunction )\n//\n// Quantifier ::\n// QuantifierPrefix\n// QuantifierPrefix ?\n//\n// QuantifierPrefix ::\n// *\n// +\n// ?\n// { DecimalDigits }\n// { DecimalDigits , }\n// { DecimalDigits , DecimalDigits }\n//\n// Atom ::\n// PatternCharacter\n// .\n// \\ AtomEscape\n// CharacterClass\n// ( GroupSpecifier Disjunction )\n// ( ? : Disjunction )\n//\n// PatternCharacter ::\n// SourceCharacter but not any of: ^ $ \\ . * + ? ( ) [ ] { } |\n//\n// AtomEscape ::\n// DecimalEscape\n// CharacterClassEscape\n// CharacterEscape\n// k GroupName\n//\n// CharacterEscape[U] ::\n// ControlEscape\n// c ControlLetter\n// HexEscapeSequence\n// RegExpUnicodeEscapeSequence[?U] (ES6)\n// IdentityEscape[?U]\n//\n// ControlEscape ::\n// one of f n r t v\n// ControlLetter ::\n// one of\n// a b c d e f g h i j k l m n o p q r s t u v w x y z\n// A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\n//\n// IdentityEscape ::\n// SourceCharacter but not c\n//\n// DecimalEscape ::\n// DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n//\n// CharacterClassEscape ::\n// one of d D s S w W\n//\n// CharacterClass ::\n// [ [lookahead ∉ {^}] ClassRanges ]\n// [ ^ ClassRanges ]\n//\n// ClassRanges ::\n// [empty]\n// [~V] NonemptyClassRanges\n// [+V] ClassContents\n//\n// NonemptyClassRanges ::\n// ClassAtom\n// ClassAtom NonemptyClassRangesNoDash\n// ClassAtom - ClassAtom ClassRanges\n//\n// NonemptyClassRangesNoDash ::\n// ClassAtom\n// ClassAtomNoDash NonemptyClassRangesNoDash\n// ClassAtomNoDash - ClassAtom ClassRanges\n//\n// ClassAtom ::\n// -\n// ClassAtomNoDash\n//\n// ClassAtomNoDash ::\n// SourceCharacter but not one of \\ or ] or -\n// \\ ClassEscape\n//\n// ClassEscape ::\n// DecimalEscape\n// b\n// CharacterEscape\n// CharacterClassEscape\n//\n// GroupSpecifier ::\n// [empty]\n// ? GroupName\n//\n// GroupName ::\n// < RegExpIdentifierName >\n//\n// RegExpIdentifierName ::\n// RegExpIdentifierStart\n// RegExpIdentifierName RegExpIdentifierContinue\n//\n// RegExpIdentifierStart ::\n// UnicodeIDStart\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n//\n// RegExpIdentifierContinue ::\n// UnicodeIDContinue\n// $\n// _\n// \\ RegExpUnicodeEscapeSequence\n// \n// \n//\n// --------------------------------------------------------------\n// NOTE: The following productions refer to the \"set notation and\n// properties of strings\" proposal.\n// https://github.com/tc39/proposal-regexp-set-notation\n// --------------------------------------------------------------\n//\n// ClassContents ::\n// ClassUnion\n// ClassIntersection\n// ClassSubtraction\n//\n// ClassUnion ::\n// ClassRange ClassUnion?\n// ClassOperand ClassUnion?\n//\n// ClassIntersection ::\n// ClassOperand && [lookahead ≠ &] ClassOperand\n// ClassIntersection && [lookahead ≠ &] ClassOperand\n//\n// ClassSubtraction ::\n// ClassOperand -- ClassOperand\n// ClassSubtraction -- ClassOperand\n//\n// ClassOperand ::\n// ClassCharacter\n// ClassStrings\n// NestedClass\n//\n// NestedClass ::\n// [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n// [ ^ ClassRanges[+U,+V] ]\n// \\ CharacterClassEscape[+U, +V]\n//\n// ClassRange ::\n// ClassCharacter - ClassCharacter\n//\n// ClassCharacter ::\n// [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n// \\ CharacterEscape[+U]\n// \\ ClassHalfOfDouble\n// \\ b\n//\n// ClassSyntaxCharacter ::\n// one of ( ) [ ] { } / - \\ |\n//\n// ClassStrings ::\n// ( ClassString MoreClassStrings? )\n//\n// MoreClassStrings ::\n// | ClassString MoreClassStrings?\n//\n// ClassString ::\n// [empty]\n// NonEmptyClassString\n//\n// NonEmptyClassString ::\n// ClassCharacter NonEmptyClassString?\n//\n// ClassReservedDouble ::\n// one of && !! ## $$ %% ** ++ ,, .. :: ;; << == >> ?? @@ ^^ __ `` ~~\n//\n// ClassHalfOfDouble ::\n// one of & - ! # % , : ; < = > @ _ ` ~\n//\n(function () {\n var fromCodePoint = String.fromCodePoint || function () {\n // Implementation taken from\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint\n var stringFromCharCode = String.fromCharCode;\n var floor = Math.floor;\n return function fromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n\n if (!length) {\n return '';\n }\n\n var result = '';\n\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n\n if (codePoint <= 0xFFFF) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xD800;\n lowSurrogate = codePoint % 0x400 + 0xDC00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n\n if (index + 1 == length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n\n return result;\n };\n }();\n\n function parse(str, flags, features) {\n if (!features) {\n features = {};\n }\n\n function addRaw(node) {\n node.raw = str.substring(node.range[0], node.range[1]);\n return node;\n }\n\n function updateRawStart(node, start) {\n node.range[0] = start;\n return addRaw(node);\n }\n\n function createAnchor(kind, rawLength) {\n return addRaw({\n type: 'anchor',\n kind: kind,\n range: [pos - rawLength, pos]\n });\n }\n\n function createValue(kind, codePoint, from, to) {\n return addRaw({\n type: 'value',\n kind: kind,\n codePoint: codePoint,\n range: [from, to]\n });\n }\n\n function createEscaped(kind, codePoint, value, fromOffset) {\n fromOffset = fromOffset || 0;\n return createValue(kind, codePoint, pos - (value.length + fromOffset), pos);\n }\n\n function createCharacter(matches) {\n var _char = matches[0];\n\n var first = _char.charCodeAt(0);\n\n if (hasUnicodeFlag) {\n var second;\n\n if (_char.length === 1 && first >= 0xD800 && first <= 0xDBFF) {\n second = lookahead().charCodeAt(0);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n pos++;\n return createValue('symbol', (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000, pos - 2, pos);\n }\n }\n }\n\n return createValue('symbol', first, pos - 1, pos);\n }\n\n function createDisjunction(alternatives, from, to) {\n return addRaw({\n type: 'disjunction',\n body: alternatives,\n range: [from, to]\n });\n }\n\n function createDot() {\n return addRaw({\n type: 'dot',\n range: [pos - 1, pos]\n });\n }\n\n function createCharacterClassEscape(value) {\n return addRaw({\n type: 'characterClassEscape',\n value: value,\n range: [pos - 2, pos]\n });\n }\n\n function createReference(matchIndex) {\n return addRaw({\n type: 'reference',\n matchIndex: parseInt(matchIndex, 10),\n range: [pos - 1 - matchIndex.length, pos]\n });\n }\n\n function createNamedReference(name) {\n return addRaw({\n type: 'reference',\n name: name,\n range: [name.range[0] - 3, pos]\n });\n }\n\n function createGroup(behavior, disjunction, from, to) {\n return addRaw({\n type: 'group',\n behavior: behavior,\n body: disjunction,\n range: [from, to]\n });\n }\n\n function createQuantifier(min, max, from, to) {\n if (to == null) {\n from = pos - 1;\n to = pos;\n }\n\n return addRaw({\n type: 'quantifier',\n min: min,\n max: max,\n greedy: true,\n body: null,\n // set later on\n range: [from, to]\n });\n }\n\n function createAlternative(terms, from, to) {\n return addRaw({\n type: 'alternative',\n body: terms,\n range: [from, to]\n });\n }\n\n function createCharacterClass(contents, negative, from, to) {\n return addRaw({\n type: 'characterClass',\n kind: contents.kind,\n body: contents.body,\n negative: negative,\n range: [from, to]\n });\n }\n\n function createClassRange(min, max, from, to) {\n // See 15.10.2.15:\n if (min.codePoint > max.codePoint) {\n bail('invalid range in character class', min.raw + '-' + max.raw, from, to);\n }\n\n return addRaw({\n type: 'characterClassRange',\n min: min,\n max: max,\n range: [from, to]\n });\n }\n\n function createClassStrings(strings, from, to) {\n return addRaw({\n type: 'classStrings',\n strings: strings,\n range: [from, to]\n });\n }\n\n function createClassString(characters, from, to) {\n return addRaw({\n type: 'classString',\n characters: characters,\n range: [from, to]\n });\n }\n\n function flattenBody(body) {\n if (body.type === 'alternative') {\n return body.body;\n } else {\n return [body];\n }\n }\n\n function incr(amount) {\n amount = amount || 1;\n var res = str.substring(pos, pos + amount);\n pos += amount || 1;\n return res;\n }\n\n function skip(value) {\n if (!match(value)) {\n bail('character', value);\n }\n }\n\n function match(value) {\n if (str.indexOf(value, pos) === pos) {\n return incr(value.length);\n }\n }\n\n function lookahead() {\n return str[pos];\n }\n\n function current(value) {\n return str.indexOf(value, pos) === pos;\n }\n\n function next(value) {\n return str[pos + 1] === value;\n }\n\n function matchReg(regExp) {\n var subStr = str.substring(pos);\n var res = subStr.match(regExp);\n\n if (res) {\n res.range = [];\n res.range[0] = pos;\n incr(res[0].length);\n res.range[1] = pos;\n }\n\n return res;\n }\n\n function parseDisjunction() {\n // Disjunction ::\n // Alternative\n // Alternative | Disjunction\n var res = [],\n from = pos;\n res.push(parseAlternative());\n\n while (match('|')) {\n res.push(parseAlternative());\n }\n\n if (res.length === 1) {\n return res[0];\n }\n\n return createDisjunction(res, from, pos);\n }\n\n function parseAlternative() {\n var res = [],\n from = pos;\n var term; // Alternative ::\n // [empty]\n // Alternative Term\n\n while (term = parseTerm()) {\n res.push(term);\n }\n\n if (res.length === 1) {\n return res[0];\n }\n\n return createAlternative(res, from, pos);\n }\n\n function parseTerm() {\n // Term ::\n // Anchor\n // Atom\n // Atom Quantifier\n if (pos >= str.length || current('|') || current(')')) {\n return null;\n /* Means: The term is empty */\n }\n\n var anchor = parseAnchor();\n\n if (anchor) {\n return anchor;\n }\n\n var atom = parseAtomAndExtendedAtom();\n\n if (!atom) {\n // Check if a quantifier is following. A quantifier without an atom\n // is an error.\n pos_backup = pos;\n var quantifier = parseQuantifier() || false;\n\n if (quantifier) {\n pos = pos_backup;\n bail('Expected atom');\n } // If no unicode flag, then try to parse ExtendedAtom -> ExtendedPatternCharacter.\n // ExtendedPatternCharacter\n\n\n if (!hasUnicodeFlag && (res = matchReg(/^{/))) {\n atom = createCharacter(res);\n } else {\n bail('Expected atom');\n }\n }\n\n var quantifier = parseQuantifier() || false;\n\n if (quantifier) {\n quantifier.body = flattenBody(atom); // The quantifier contains the atom. Therefore, the beginning of the\n // quantifier range is given by the beginning of the atom.\n\n updateRawStart(quantifier, atom.range[0]);\n return quantifier;\n }\n\n return atom;\n }\n\n function parseGroup(matchA, typeA, matchB, typeB) {\n var type = null,\n from = pos;\n\n if (match(matchA)) {\n type = typeA;\n } else if (match(matchB)) {\n type = typeB;\n } else {\n return false;\n }\n\n return finishGroup(type, from);\n }\n\n function finishGroup(type, from) {\n var body = parseDisjunction();\n\n if (!body) {\n bail('Expected disjunction');\n }\n\n skip(')');\n var group = createGroup(type, flattenBody(body), from, pos);\n\n if (type == 'normal') {\n // Keep track of the number of closed groups. This is required for\n // parseDecimalEscape(). In case the string is parsed a second time the\n // value already holds the total count and no incrementation is required.\n if (firstIteration) {\n closedCaptureCounter++;\n }\n }\n\n return group;\n }\n\n function parseAnchor() {\n // Anchor ::\n // ^\n // $\n // \\ b\n // \\ B\n // ( ? = Disjunction )\n // ( ? ! Disjunction )\n var res,\n from = pos;\n\n if (match('^')) {\n return createAnchor('start', 1\n /* rawLength */\n );\n } else if (match('$')) {\n return createAnchor('end', 1\n /* rawLength */\n );\n } else if (match('\\\\b')) {\n return createAnchor('boundary', 2\n /* rawLength */\n );\n } else if (match('\\\\B')) {\n return createAnchor('not-boundary', 2\n /* rawLength */\n );\n } else {\n return parseGroup('(?=', 'lookahead', '(?!', 'negativeLookahead');\n }\n }\n\n function parseQuantifier() {\n // Quantifier ::\n // QuantifierPrefix\n // QuantifierPrefix ?\n //\n // QuantifierPrefix ::\n // *\n // +\n // ?\n // { DecimalDigits }\n // { DecimalDigits , }\n // { DecimalDigits , DecimalDigits }\n var res,\n from = pos;\n var quantifier;\n var min, max;\n\n if (match('*')) {\n quantifier = createQuantifier(0);\n } else if (match('+')) {\n quantifier = createQuantifier(1);\n } else if (match('?')) {\n quantifier = createQuantifier(0, 1);\n } else if (res = matchReg(/^\\{([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, min, res.range[0], res.range[1]);\n } else if (res = matchReg(/^\\{([0-9]+),\\}/)) {\n min = parseInt(res[1], 10);\n quantifier = createQuantifier(min, undefined, res.range[0], res.range[1]);\n } else if (res = matchReg(/^\\{([0-9]+),([0-9]+)\\}/)) {\n min = parseInt(res[1], 10);\n max = parseInt(res[2], 10);\n\n if (min > max) {\n bail('numbers out of order in {} quantifier', '', from, pos);\n }\n\n quantifier = createQuantifier(min, max, res.range[0], res.range[1]);\n }\n\n if (quantifier) {\n if (match('?')) {\n quantifier.greedy = false;\n quantifier.range[1] += 1;\n }\n }\n\n return quantifier;\n }\n\n function parseAtomAndExtendedAtom() {\n // Parsing Atom and ExtendedAtom together due to redundancy.\n // ExtendedAtom is defined in Apendix B of the ECMA-262 standard.\n //\n // SEE: https://www.ecma-international.org/ecma-262/10.0/index.html#prod-annexB-ExtendedPatternCharacter\n //\n // Atom ::\n // PatternCharacter\n // .\n // \\ AtomEscape\n // CharacterClass\n // ( GroupSpecifier Disjunction )\n // ( ? : Disjunction )\n // ExtendedAtom ::\n // ExtendedPatternCharacter\n // ExtendedPatternCharacter ::\n // SourceCharacter but not one of ^$\\.*+?()[|\n var res; // jviereck: allow ']', '}' here as well to be compatible with browser's\n // implementations: ']'.match(/]/);\n\n if (res = matchReg(/^[^^$\\\\.*+?()[\\]{}|]/)) {\n // PatternCharacter\n return createCharacter(res);\n } else if (!hasUnicodeFlag && (res = matchReg(/^(?:]|})/))) {\n // ExtendedPatternCharacter, first part. See parseTerm.\n return createCharacter(res);\n } else if (match('.')) {\n // .\n return createDot();\n } else if (match('\\\\')) {\n // \\ AtomEscape\n res = parseAtomEscape();\n\n if (!res) {\n if (!hasUnicodeFlag && lookahead() == 'c') {\n // B.1.4 ExtendedAtom\n // \\[lookahead = c]\n return createValue('symbol', 92, pos - 1, pos);\n }\n\n bail('atomEscape');\n }\n\n return res;\n } else if (res = parseCharacterClass()) {\n return res;\n } else if (features.lookbehind && (res = parseGroup('(?<=', 'lookbehind', '(?\");\n var group = finishGroup(\"normal\", name.range[0] - 3);\n group.name = name;\n return group;\n } else {\n // ( Disjunction )\n // ( ? : Disjunction )\n return parseGroup('(?:', 'ignore', '(', 'normal');\n }\n }\n\n function parseUnicodeSurrogatePairEscape(firstEscape) {\n if (hasUnicodeFlag) {\n var first, second;\n\n if (firstEscape.kind == 'unicodeEscape' && (first = firstEscape.codePoint) >= 0xD800 && first <= 0xDBFF && current('\\\\') && next('u')) {\n var prevPos = pos;\n pos++;\n var secondEscape = parseClassEscape();\n\n if (secondEscape.kind == 'unicodeEscape' && (second = secondEscape.codePoint) >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n firstEscape.range[1] = secondEscape.range[1];\n firstEscape.codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n firstEscape.type = 'value';\n firstEscape.kind = 'unicodeCodePointEscape';\n addRaw(firstEscape);\n } else {\n pos = prevPos;\n }\n }\n }\n\n return firstEscape;\n }\n\n function parseClassEscape() {\n return parseAtomEscape(true);\n }\n\n function parseAtomEscape(insideCharacterClass) {\n // AtomEscape ::\n // DecimalEscape\n // CharacterEscape\n // CharacterClassEscape\n // k GroupName\n var res,\n from = pos;\n res = parseDecimalEscape() || parseNamedReference();\n\n if (res) {\n return res;\n } // For ClassEscape\n\n\n if (insideCharacterClass) {\n // b\n if (match('b')) {\n // 15.10.2.19\n // The production ClassEscape :: b evaluates by returning the\n // CharSet containing the one character (Unicode value 0008).\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of CharacterClass', '', from);\n } else if (!hasUnicodeFlag && (res = matchReg(/^c([0-9])/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = DecimalDigit\n return createEscaped('controlLetter', res[1] + 16, res[1], 2);\n } else if (!hasUnicodeFlag && (res = matchReg(/^c_/))) {\n // B.1.4\n // c ClassControlLetter, ClassControlLetter = _\n return createEscaped('controlLetter', 31, '_', 2);\n } // [+U] -\n\n\n if (hasUnicodeFlag && match('-')) {\n return createEscaped('singleEscape', 0x002d, '\\\\-');\n }\n }\n\n res = parseCharacterClassEscape() || parseCharacterEscape();\n return res;\n }\n\n function parseDecimalEscape() {\n // DecimalEscape ::\n // DecimalIntegerLiteral [lookahead ∉ DecimalDigit]\n var res, match;\n\n if (res = matchReg(/^(?!0)\\d+/)) {\n match = res[0];\n var refIdx = parseInt(res[0], 10);\n\n if (refIdx <= closedCaptureCounter) {\n // If the number is smaller than the normal-groups found so\n // far, then it is a reference...\n return createReference(res[0]);\n } else {\n // ... otherwise it needs to be interpreted as a octal (if the\n // number is in an octal format). If it is NOT octal format,\n // then the slash is ignored and the number is matched later\n // as normal characters.\n // Recall the negative decision to decide if the input must be parsed\n // a second time with the total normal-groups.\n backrefDenied.push(refIdx); // Reset the position again, as maybe only parts of the previous\n // matched numbers are actual octal numbers. E.g. in '019' only\n // the '01' should be matched.\n\n incr(-res[0].length);\n\n if (res = matchReg(/^[0-7]{1,3}/)) {\n return createEscaped('octal', parseInt(res[0], 8), res[0], 1);\n } else {\n // If we end up here, we have a case like /\\91/. Then the\n // first slash is to be ignored and the 9 & 1 to be treated\n // like ordinary characters. Create a character for the\n // first number only here - other number-characters\n // (if available) will be matched later.\n res = createCharacter(matchReg(/^[89]/));\n return updateRawStart(res, res.range[0] - 1);\n }\n }\n } // Only allow octal numbers in the following. All matched numbers start\n // with a zero (if the do not, the previous if-branch is executed).\n // If the number is not octal format and starts with zero (e.g. `091`)\n // then only the zeros `0` is treated here and the `91` are ordinary\n // characters.\n // Example:\n // /\\091/.exec('\\091')[0].length === 3\n else if (res = matchReg(/^[0-7]{1,3}/)) {\n match = res[0];\n\n if (/^0{1,3}$/.test(match)) {\n // If they are all zeros, then only take the first one.\n return createEscaped('null', 0x0000, '0', match.length);\n } else {\n return createEscaped('octal', parseInt(match, 8), match, 1);\n }\n }\n\n return false;\n }\n\n function parseCharacterClassEscape() {\n // CharacterClassEscape :: one of d D s S w W\n var res;\n\n if (res = matchReg(/^[dDsSwW]/)) {\n return createCharacterClassEscape(res[0]);\n } else if (features.unicodePropertyEscape && (hasUnicodeFlag || hasUnicodeSetFlag) && (res = matchReg(/^([pP])\\{([^\\}]+)\\}/))) {\n // https://github.com/jviereck/regjsparser/issues/77\n return addRaw({\n type: 'unicodePropertyEscape',\n negative: res[1] === 'P',\n value: res[2],\n range: [res.range[0] - 1, res.range[1]],\n raw: res[0]\n });\n }\n\n return false;\n }\n\n function parseNamedReference() {\n if (features.namedGroups && matchReg(/^k<(?=.*?>)/)) {\n var name = parseIdentifier();\n skip('>');\n return createNamedReference(name);\n }\n }\n\n function parseRegExpUnicodeEscapeSequence() {\n var res;\n\n if (res = matchReg(/^u([0-9a-fA-F]{4})/)) {\n // UnicodeEscapeSequence\n return parseUnicodeSurrogatePairEscape(createEscaped('unicodeEscape', parseInt(res[1], 16), res[1], 2));\n } else if (hasUnicodeFlag && (res = matchReg(/^u\\{([0-9a-fA-F]+)\\}/))) {\n // RegExpUnicodeEscapeSequence (ES6 Unicode code point escape)\n return createEscaped('unicodeCodePointEscape', parseInt(res[1], 16), res[1], 4);\n }\n }\n\n function parseCharacterEscape() {\n // CharacterEscape ::\n // ControlEscape\n // c ControlLetter\n // HexEscapeSequence\n // UnicodeEscapeSequence\n // IdentityEscape\n var res;\n var from = pos;\n\n if (res = matchReg(/^[fnrtv]/)) {\n // ControlEscape\n var codePoint = 0;\n\n switch (res[0]) {\n case 't':\n codePoint = 0x009;\n break;\n\n case 'n':\n codePoint = 0x00A;\n break;\n\n case 'v':\n codePoint = 0x00B;\n break;\n\n case 'f':\n codePoint = 0x00C;\n break;\n\n case 'r':\n codePoint = 0x00D;\n break;\n }\n\n return createEscaped('singleEscape', codePoint, '\\\\' + res[0]);\n } else if (res = matchReg(/^c([a-zA-Z])/)) {\n // c ControlLetter\n return createEscaped('controlLetter', res[1].charCodeAt(0) % 32, res[1], 2);\n } else if (res = matchReg(/^x([0-9a-fA-F]{2})/)) {\n // HexEscapeSequence\n return createEscaped('hexadecimalEscape', parseInt(res[1], 16), res[1], 2);\n } else if (res = parseRegExpUnicodeEscapeSequence()) {\n if (!res || res.codePoint > 0x10FFFF) {\n bail('Invalid escape sequence', null, from, pos);\n }\n\n return res;\n } else {\n // IdentityEscape\n return parseIdentityEscape();\n }\n }\n\n function parseIdentifierAtom(check) {\n var ch = lookahead();\n var from = pos;\n\n if (ch === '\\\\') {\n incr();\n var esc = parseRegExpUnicodeEscapeSequence();\n\n if (!esc || !check(esc.codePoint)) {\n bail('Invalid escape sequence', null, from, pos);\n }\n\n return fromCodePoint(esc.codePoint);\n }\n\n var code = ch.charCodeAt(0);\n\n if (code >= 0xD800 && code <= 0xDBFF) {\n ch += str[pos + 1];\n var second = ch.charCodeAt(1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // Unicode surrogate pair\n code = (code - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n if (!check(code)) return;\n incr();\n if (code > 0xFFFF) incr();\n return ch;\n }\n\n function parseIdentifier() {\n // RegExpIdentifierName ::\n // RegExpIdentifierStart\n // RegExpIdentifierName RegExpIdentifierContinue\n //\n // RegExpIdentifierStart ::\n // UnicodeIDStart\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n //\n // RegExpIdentifierContinue ::\n // UnicodeIDContinue\n // $\n // _\n // \\ RegExpUnicodeEscapeSequence\n // \n // \n var start = pos;\n var res = parseIdentifierAtom(isIdentifierStart);\n\n if (!res) {\n bail('Invalid identifier');\n }\n\n var ch;\n\n while (ch = parseIdentifierAtom(isIdentifierPart)) {\n res += ch;\n }\n\n return addRaw({\n type: 'identifier',\n value: res,\n range: [start, pos]\n });\n }\n\n function isIdentifierStart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n var NonAsciiIdentifierStart = /[\\$A-Z_a-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08BD\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FEF\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7B9\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF1A]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE83\\uDE86-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1]|\\uD821[\\uDC00-\\uDFF1]|\\uD822[\\uDC00-\\uDEF2]|\\uD82C[\\uDC00-\\uDD1E\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]/;\n return ch === 36 || ch === 95 || // $ (dollar) and _ (underscore)\n ch >= 65 && ch <= 90 || // A..Z\n ch >= 97 && ch <= 122 || // a..z\n ch >= 0x80 && NonAsciiIdentifierStart.test(fromCodePoint(ch));\n } // Taken from the Esprima parser.\n\n\n function isIdentifierPart(ch) {\n // Generated by `tools/generate-identifier-regex.js`.\n var NonAsciiIdentifierPartOnly = /[0-9_\\xB7\\u0300-\\u036F\\u0387\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u0669\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u06F0-\\u06F9\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07C0-\\u07C9\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096F\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09E6-\\u09EF\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A66-\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AE6-\\u0AEF\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B62\\u0B63\\u0B66-\\u0B6F\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0CE6-\\u0CEF\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D66-\\u0D6F\\u0D82\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0E50-\\u0E59\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1040-\\u1049\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109D\\u135D-\\u135F\\u1369-\\u1371\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u194F\\u19D0-\\u19DA\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AB0-\\u1ABD\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1C40-\\u1C49\\u1C50-\\u1C59\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF2-\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u200C\\u200D\\u203F\\u2040\\u2054\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA620-\\uA629\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8D0-\\uA8D9\\uA8E0-\\uA8F1\\uA8FF-\\uA909\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9D0-\\uA9D9\\uA9E5\\uA9F0-\\uA9F9\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA50-\\uAA59\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF10-\\uFF19\\uFF3F]|\\uD800[\\uDDFD\\uDEE0\\uDF76-\\uDF7A]|\\uD801[\\uDCA0-\\uDCA9]|\\uD802[\\uDE01-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE0F\\uDE38-\\uDE3A\\uDE3F\\uDEE5\\uDEE6]|\\uD803[\\uDD24-\\uDD27\\uDD30-\\uDD39\\uDF46-\\uDF50]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDC82\\uDCB0-\\uDCBA\\uDCF0-\\uDCF9\\uDD00-\\uDD02\\uDD27-\\uDD34\\uDD36-\\uDD3F\\uDD45\\uDD46\\uDD73\\uDD80-\\uDD82\\uDDB3-\\uDDC0\\uDDC9-\\uDDCC\\uDDD0-\\uDDD9\\uDE2C-\\uDE37\\uDE3E\\uDEDF-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF3B\\uDF3C\\uDF3E-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF62\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC35-\\uDC46\\uDC50-\\uDC59\\uDC5E\\uDCB0-\\uDCC3\\uDCD0-\\uDCD9\\uDDAF-\\uDDB5\\uDDB8-\\uDDC0\\uDDDC\\uDDDD\\uDE30-\\uDE40\\uDE50-\\uDE59\\uDEAB-\\uDEB7\\uDEC0-\\uDEC9\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDC2C-\\uDC3A\\uDCE0-\\uDCE9\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE3E\\uDE47\\uDE51-\\uDE5B\\uDE8A-\\uDE99]|\\uD807[\\uDC2F-\\uDC36\\uDC38-\\uDC3F\\uDC50-\\uDC59\\uDC92-\\uDCA7\\uDCA9-\\uDCB6\\uDD31-\\uDD36\\uDD3A\\uDD3C\\uDD3D\\uDD3F-\\uDD45\\uDD47\\uDD50-\\uDD59\\uDD8A-\\uDD8E\\uDD90\\uDD91\\uDD93-\\uDD97\\uDDA0-\\uDDA9\\uDEF3-\\uDEF6]|\\uD81A[\\uDE60-\\uDE69\\uDEF0-\\uDEF4\\uDF30-\\uDF36\\uDF50-\\uDF59]|\\uD81B[\\uDF51-\\uDF7E\\uDF8F-\\uDF92]|\\uD82F[\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD838[\\uDC00-\\uDC06\\uDC08-\\uDC18\\uDC1B-\\uDC21\\uDC23\\uDC24\\uDC26-\\uDC2A]|\\uD83A[\\uDCD0-\\uDCD6\\uDD44-\\uDD4A\\uDD50-\\uDD59]|\\uDB40[\\uDD00-\\uDDEF]/;\n return isIdentifierStart(ch) || ch >= 48 && ch <= 57 || // 0..9\n ch >= 0x80 && NonAsciiIdentifierPartOnly.test(fromCodePoint(ch));\n }\n\n function parseIdentityEscape() {\n // IdentityEscape ::\n // [+U] SyntaxCharacter\n // [+U] /\n // [~U] SourceCharacterIdentityEscape[?N]\n // SourceCharacterIdentityEscape[?N] ::\n // [~N] SourceCharacter but not c\n // [+N] SourceCharacter but not one of c or k\n var tmp;\n var l = lookahead();\n\n if (hasUnicodeFlag && /[\\^\\$\\.\\*\\+\\?\\(\\)\\\\\\[\\]\\{\\}\\|\\/]/.test(l) || !hasUnicodeFlag && l !== \"c\") {\n if (l === \"k\" && features.lookbehind) {\n return null;\n }\n\n tmp = incr();\n return createEscaped('identifier', tmp.charCodeAt(0), tmp, 1);\n }\n\n return null;\n }\n\n function parseCharacterClass() {\n // CharacterClass ::\n // [ [lookahead ∉ {^}] ClassRanges ]\n // [ ^ ClassRanges ]\n var res,\n from = pos;\n\n if (res = matchReg(/^\\[\\^/)) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, true, from, pos);\n } else if (match('[')) {\n res = parseClassRanges();\n skip(']');\n return createCharacterClass(res, false, from, pos);\n }\n\n return null;\n }\n\n function parseClassRanges() {\n // ClassRanges ::\n // [empty]\n // [~V] NonemptyClassRanges\n // [+V] ClassContents\n var res;\n\n if (current(']')) {\n // Empty array means nothing inside of the ClassRange.\n return {\n kind: 'union',\n body: []\n };\n } else if (hasUnicodeSetFlag) {\n return parseClassContents();\n } else {\n res = parseNonemptyClassRanges();\n\n if (!res) {\n bail('nonEmptyClassRanges');\n }\n\n return {\n kind: 'union',\n body: res\n };\n }\n }\n\n function parseHelperClassRanges(atom) {\n var from, to, res, atomTo, dash;\n\n if (current('-') && !next(']')) {\n // ClassAtom - ClassAtom ClassRanges\n from = atom.range[0];\n dash = createCharacter(match('-'));\n atomTo = parseClassAtom();\n\n if (!atomTo) {\n bail('classAtom');\n }\n\n to = pos; // Parse the next class range if exists.\n\n var classRanges = parseClassRanges();\n\n if (!classRanges) {\n bail('classRanges');\n } // Check if both the from and atomTo have codePoints.\n\n\n if (!('codePoint' in atom) || !('codePoint' in atomTo)) {\n if (!hasUnicodeFlag) {\n // If not, don't create a range but treat them as\n // `atom` `-` `atom` instead.\n //\n // SEE: https://tc39.es/ecma262/#sec-regular-expression-patterns-semantics\n // NonemptyClassRanges::ClassAtom-ClassAtomClassRanges\n // CharacterRangeOrUnion\n res = [atom, dash, atomTo];\n } else {\n // With unicode flag, both sides must have codePoints if\n // one side has a codePoint.\n //\n // SEE: https://tc39.es/ecma262/#sec-patterns-static-semantics-early-errors\n // NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges\n bail('invalid character class');\n }\n } else {\n res = [createClassRange(atom, atomTo, from, to)];\n }\n\n if (classRanges.type === 'empty') {\n return res;\n }\n\n return res.concat(classRanges.body);\n }\n\n res = parseNonemptyClassRangesNoDash();\n\n if (!res) {\n bail('nonEmptyClassRangesNoDash');\n }\n\n return [atom].concat(res);\n }\n\n function parseNonemptyClassRanges() {\n // NonemptyClassRanges ::\n // ClassAtom\n // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n var atom = parseClassAtom();\n\n if (!atom) {\n bail('classAtom');\n }\n\n if (current(']')) {\n // ClassAtom\n return [atom];\n } // ClassAtom NonemptyClassRangesNoDash\n // ClassAtom - ClassAtom ClassRanges\n\n\n return parseHelperClassRanges(atom);\n }\n\n function parseNonemptyClassRangesNoDash() {\n // NonemptyClassRangesNoDash ::\n // ClassAtom\n // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n var res = parseClassAtom();\n\n if (!res) {\n bail('classAtom');\n }\n\n if (current(']')) {\n // ClassAtom\n return res;\n } // ClassAtomNoDash NonemptyClassRangesNoDash\n // ClassAtomNoDash - ClassAtom ClassRanges\n\n\n return parseHelperClassRanges(res);\n }\n\n function parseClassAtom() {\n // ClassAtom ::\n // -\n // ClassAtomNoDash\n if (match('-')) {\n return createCharacter('-');\n } else {\n return parseClassAtomNoDash();\n }\n }\n\n function parseClassAtomNoDash() {\n // ClassAtomNoDash ::\n // SourceCharacter but not one of \\ or ] or -\n // \\ ClassEscape\n var res;\n\n if (res = matchReg(/^[^\\\\\\]-]/)) {\n return createCharacter(res[0]);\n } else if (match('\\\\')) {\n res = parseClassEscape();\n\n if (!res) {\n bail('classEscape');\n }\n\n return parseUnicodeSurrogatePairEscape(res);\n }\n }\n\n function parseClassContents() {\n // ClassContents ::\n // ClassUnion\n // ClassIntersection\n // ClassSubtraction\n //\n // ClassUnion ::\n // ClassRange ClassUnion?\n // ClassOperand ClassUnion?\n //\n // ClassIntersection ::\n // ClassOperand && [lookahead ≠ &] ClassOperand\n // ClassIntersection && [lookahead ≠ &] ClassOperand\n //\n // ClassSubtraction ::\n // ClassOperand -- ClassOperand\n // ClassSubtraction -- ClassOperand\n var body = [];\n var kind;\n var from = pos;\n var operand = parseClassOperand(\n /* allowRanges*/\n true);\n body.push(operand);\n\n if (operand.type === 'classRange') {\n kind = 'union';\n } else if (current('&')) {\n kind = 'intersection';\n } else if (current('-')) {\n kind = 'subtraction';\n } else {\n kind = 'union';\n }\n\n while (!current(']')) {\n if (kind === 'intersection') {\n skip('&');\n skip('&');\n\n if (current('&')) {\n bail('&& cannot be followed by &. Wrap it in parentheses: &&(&).');\n }\n } else if (kind === 'subtraction') {\n skip('-');\n skip('-');\n }\n\n operand = parseClassOperand(\n /* allowRanges*/\n kind === 'union');\n body.push(operand);\n }\n\n return {\n kind: kind,\n body: body\n };\n }\n\n function parseClassOperand(allowRanges) {\n // ClassOperand ::\n // ClassCharacter\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // \\ CharacterClassEscape[+U, +V]\n //\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n //\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n //\n // ClassSyntaxCharacter ::\n // one of ( ) [ ] { } / - \\ |\n var from = pos;\n var start, res;\n\n if (match('\\\\')) {\n if (res = parseCharacterClassEscape()) {\n start = res;\n } else if (res = parseClassCharacterEscapedHelper()) {\n // ClassOperand ::\n // ...\n // NestedClass\n //\n // NestedClass ::\n // ...\n // \\ CharacterClassEscape[+U, +V]\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n } else if (res = parseClassCharacterUnescapedHelper()) {\n start = res;\n } else if (res = parseClassStrings() || parseCharacterClass()) {\n // ClassOperand ::\n // ...\n // ClassStrings\n // NestedClass\n //\n // NestedClass ::\n // [ [lookahead ≠ ^] ClassRanges[+U,+V] ]\n // [ ^ ClassRanges[+U,+V] ]\n // ...\n return res;\n } else {\n bail('Invalid character', lookahead());\n }\n\n if (allowRanges && current('-') && !next('-')) {\n skip('-');\n\n if (res = parseClassCharacter()) {\n // ClassRange ::\n // ClassCharacter - ClassCharacter\n return createClassRange(start, res, from, pos);\n }\n\n bail('Invalid range end', lookahead());\n } // ClassOperand ::\n // ClassCharacter\n // ...\n\n\n return start;\n }\n\n function parseClassCharacter() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n if (match('\\\\')) {\n if (res = parseClassCharacterEscapedHelper()) {\n return res;\n } else {\n bail('Invalid escape', '\\\\' + lookahead(), from);\n }\n }\n\n return parseClassCharacterUnescapedHelper();\n }\n\n function parseClassCharacterUnescapedHelper() {\n // ClassCharacter ::\n // [lookahead ∉ ClassReservedDouble] SourceCharacter but not ClassSyntaxCharacter\n // ...\n var res;\n\n if (res = matchReg(/^[^()[\\]{}/\\-\\\\|]/)) {\n return createCharacter(res);\n }\n\n ;\n }\n\n function parseClassCharacterEscapedHelper() {\n // ClassCharacter ::\n // ...\n // \\ CharacterEscape[+U]\n // \\ ClassHalfOfDouble\n // \\ b\n if (match('b')) {\n return createEscaped('singleEscape', 0x0008, '\\\\b');\n } else if (match('B')) {\n bail('\\\\B not possible inside of ClassContents', '', pos - 2);\n } else if (res = matchReg(/^[&\\-!#%,:;<=>@_`~]/)) {\n return createEscaped('identifier', res[0].codePointAt(0), res[0]);\n } else if (res = parseCharacterEscape()) {\n return res;\n } else {\n return null;\n }\n }\n\n function parseClassStrings() {\n // ClassStrings ::\n // ( ClassString MoreClassStrings? )\n var res = [];\n var from = pos;\n\n if (!match('(')) {\n return null;\n }\n\n do {\n res.push(parseClassString());\n } while (match('|'));\n\n skip(')');\n return createClassStrings(res, from, pos);\n }\n\n function parseClassString() {\n // ClassString ::\n // [empty]\n // NonEmptyClassString\n //\n // NonEmptyClassString ::\n // ClassCharacter NonEmptyClassString?\n var res = [],\n from = pos;\n var char;\n\n while (char = parseClassCharacter()) {\n res.push(char);\n }\n\n return createClassString(res, from, pos);\n }\n\n function bail(message, details, from, to) {\n from = from == null ? pos : from;\n to = to == null ? from : to;\n var contextStart = Math.max(0, from - 10);\n var contextEnd = Math.min(to + 10, str.length); // Output a bit of context and a line pointing to where our error is.\n //\n // We are assuming that there are no actual newlines in the content as this is a regular expression.\n\n var context = ' ' + str.substring(contextStart, contextEnd);\n var pointer = ' ' + new Array(from - contextStart + 1).join(' ') + '^';\n throw SyntaxError(message + ' at position ' + from + (details ? ': ' + details : '') + '\\n' + context + '\\n' + pointer);\n }\n\n var backrefDenied = [];\n var closedCaptureCounter = 0;\n var firstIteration = true;\n var hasUnicodeFlag = (flags || \"\").indexOf(\"u\") !== -1;\n var hasUnicodeSetFlag = (flags || \"\").indexOf(\"v\") !== -1;\n var pos = 0;\n\n if (hasUnicodeSetFlag && !features.unicodeSet) {\n throw new Error('The \"v\" flag is only supported when the .unicodeSet option is enabled.');\n }\n\n if (hasUnicodeFlag && hasUnicodeSetFlag) {\n throw new Error('The \"u\" and \"v\" flags are mutually exclusive.');\n } // Convert the input to a string and treat the empty string special.\n\n\n str = String(str);\n\n if (str === '') {\n str = '(?:)';\n }\n\n var result = parseDisjunction();\n\n if (result.range[1] !== str.length) {\n bail('Could not parse entire input - got stuck', '', result.range[1]);\n } // The spec requires to interpret the `\\2` in `/\\2()()/` as backreference.\n // As the parser collects the number of capture groups as the string is\n // parsed it is impossible to make these decisions at the point when the\n // `\\2` is handled. In case the local decision turns out to be wrong after\n // the parsing has finished, the input string is parsed a second time with\n // the total number of capture groups set.\n //\n // SEE: https://github.com/jviereck/regjsparser/issues/70\n\n\n for (var i = 0; i < backrefDenied.length; i++) {\n if (backrefDenied[i] <= closedCaptureCounter) {\n // Parse the input a second time.\n pos = 0;\n firstIteration = false;\n return parseDisjunction();\n }\n }\n\n return result;\n }\n\n var regjsparser = {\n parse: parse\n };\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = regjsparser;\n } else {\n window.regjsparser = regjsparser;\n }\n})();","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0; // TODO(v5): Remove legacy setting and default to \"always\"\n\nconst applyTrailingSlashOption = function (input) {\n let option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"legacy\";\n const hasHtmlSuffix = input.endsWith(\".html\");\n const hasXmlSuffix = input.endsWith(\".xml\");\n const hasPdfSuffix = input.endsWith(\".pdf\");\n if (input === \"/\") return input;\n\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n\n return input;\n};\n\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","import escapeStringRegexp from \"escape-string-regexp\";\nimport { withPrefix } from \"gatsby\";\nexport const userIsForcingNavigation = event => event.button !== 0 || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; // IE does not include leading slash in anchor.pathname\n\nexport const slashedPathname = pathname => pathname[0] === \"/\" ? pathname : \"/\".concat(pathname);\nexport const navigationWasHandledElsewhere = event => event.defaultPrevented;\nexport const findClosestAnchor = node => {\n for (; node.parentNode; node = node.parentNode) {\n if (node.nodeName.toLowerCase() === \"a\") {\n return node;\n }\n }\n\n return null;\n};\nexport const anchorsTargetIsEquivalentToSelf = anchor =>\n/* If target attribute is not present it's treated as _self */\nanchor.hasAttribute(\"target\") === false ||\n/**\n * The browser defaults to _self, but, not all browsers set\n * a.target to the string value `_self` by default\n */\n\n/**\n * Assumption: some browsers use null/undefined for default\n * attribute values\n */\nanchor.target == null ||\n/**\n * Some browsers use the empty string to mean _self, check\n * for actual `_self`\n */\n[\"_self\", \"\"].includes(anchor.target) ||\n/**\n * As per https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\nanchor.target === \"_parent\" && (!anchor.ownerDocument.defaultView.parent || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.parent === anchor.ownerDocument.defaultView) || anchor.target === \"_top\" && (!anchor.ownerDocument.defaultView.top || // Assumption: This can be falsey\nanchor.ownerDocument.defaultView.top === anchor.ownerDocument.defaultView);\nexport const authorIsForcingNavigation = anchor =>\n/**\n * HTML5 attribute that informs the browser to handle the\n * href as a downloadable file; let the browser handle it\n */\nanchor.hasAttribute(\"download\") === true ||\n/**\n * Let the browser handle anything that doesn't look like a\n * target=\"_self\" anchor\n */\nanchorsTargetIsEquivalentToSelf(anchor) === false; // https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy\n\nexport const urlsAreOnSameOrigin = (origin, destination) => origin.protocol === destination.protocol &&\n/* a.host includes both hostname and port in the expected format host:port */\norigin.host === destination.host;\nexport const pathIsNotHandledByApp = (destination, pathStartRegEx) => {\n const pathFileExtensionRegEx = /^.*\\.((?!htm)[a-z0-9]{1,5})$/i;\n return (\n /**\n * For when pathPrefix is used in an app and there happens to be a link\n * pointing to the same domain but outside of the app's pathPrefix. For\n * example, a Gatsby app lives at https://example.com/myapp/, with the\n * pathPrefix set to `/myapp`. When adding an absolute link to the same\n * domain but outside of the /myapp path, for example, `` the plugin won't catch it and\n * will navigate to an external link instead of doing a pushState resulting\n * in `https://example.com/myapp/https://example.com/not-my-app`\n */\n pathStartRegEx.test(slashedPathname(destination.pathname)) === false ||\n /**\n * Don't catch links pointed at what look like file extensions (other than\n * .htm/html extensions).\n */\n destination.pathname.search(pathFileExtensionRegEx) !== -1\n );\n};\nexport const hashShouldBeFollowed = (origin, destination) => destination.hash !== \"\" && (\n/**\n * Dynamically created anchor links (href=\"#my-anchor\") do not always\n * have pathname on IE\n */\ndestination.pathname === \"\" ||\n/* Don't catch links pointed to the same page but with a hash. */\ndestination.pathname === origin.pathname);\nexport const routeThroughBrowserOrApp = (hrefHandler, pluginOptions) => event => {\n if (window.___failedResources) return true;\n if (userIsForcingNavigation(event)) return true;\n if (navigationWasHandledElsewhere(event)) return true;\n const clickedAnchor = findClosestAnchor(event.target);\n if (clickedAnchor == null) return true;\n if (authorIsForcingNavigation(clickedAnchor)) return true; // IE clears the host value if the anchor href changed after creation, e.g.\n // in React. Creating a new anchor element to ensure host value is present\n\n const destination = document.createElement(\"a\"); // https://html.spec.whatwg.org/multipage/links.html#concept-hyperlink-url-set\n // If clickedAnchor has no href attribute like `example`, the href getter returns empty string.\n\n if (clickedAnchor.href !== \"\") {\n destination.href = clickedAnchor.href;\n }\n\n if (\"SVGAnimatedString\" in window && clickedAnchor.href instanceof SVGAnimatedString) {\n destination.href = clickedAnchor.href.animVal;\n } // In IE, the default port is included in the anchor host but excluded from\n // the location host. This affects the ability to directly compare\n // location host to anchor host. For example: http://example.com would\n // have a location.host of 'example.com' and an destination.host of\n // 'example.com:80' Creating anchor from the location.href to normalize the\n // host value.\n\n\n const origin = document.createElement(\"a\");\n origin.href = window.location.href;\n if (urlsAreOnSameOrigin(origin, destination) === false) return true; // Regex to test pathname against pathPrefix\n\n const pathStartRegEx = new RegExp(\"^\".concat(escapeStringRegexp(withPrefix(\"/\"))));\n if (pathIsNotHandledByApp(destination, pathStartRegEx)) return true;\n if (hashShouldBeFollowed(origin, destination)) return true;\n\n if (pluginOptions.excludePattern) {\n const excludeRegex = new RegExp(pluginOptions.excludePattern);\n\n if (excludeRegex.test(destination.pathname)) {\n return true;\n }\n }\n\n event.preventDefault(); // See issue #8907: destination.pathname already includes pathPrefix added\n // by gatsby-transformer-remark but gatsby-link.navigate needs href without\n\n const destinationPathname = slashedPathname(destination.pathname).replace(pathStartRegEx, \"/\");\n hrefHandler(\"\".concat(destinationPathname).concat(destination.search).concat(destination.hash));\n return false;\n};\nexport default function (root, pluginOptions, cb) {\n const clickHandler = routeThroughBrowserOrApp(cb, pluginOptions);\n root.addEventListener(\"click\", clickHandler);\n return () => root.removeEventListener(\"click\", clickHandler);\n}","import { navigate } from \"gatsby\";\nimport catchLinks from \"./catch-links\";\nexport const onClientEntry = function (_) {\n let pluginOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n catchLinks(window, pluginOptions, href => {\n navigate(href);\n });\n};","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n if (typeof str !== 'string') {\n throw new TypeError('Expected a string');\n }\n\n return str.replace(matchOperatorsRe, '\\\\$&');\n};","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\"; // when we don't have localisation in our manifest, we tree shake everything away\n\nexport const onRouteUpdate = function onRouteUpdate(_ref, pluginOptions) {\n let {\n location\n } = _ref;\n\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(\"link[rel=\\\"manifest\\\"]\");\n\n if (manifestEl) {\n manifestEl.setAttribute(\"href\", withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\n\n\nvar _default = function (pathname, localizedManifests) {\n let shouldPrependPathPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const defaultFilename = \"manifest.webmanifest\";\n\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n\n return pathname.startsWith(startUrl);\n });\n\n if (!localizedManifest) {\n return defaultFilename;\n }\n\n return \"manifest_\".concat(localizedManifest.lang, \".webmanifest\");\n};\n\nexports.default = _default;","\"use strict\";\n\nexports.wrapPageElement = require('./wrap-page');","\"use strict\";\n\nvar React = require('react');\n\nvar _require = require('react-helmet'),\n Helmet = _require.Helmet;\n\nvar defaultPluginOptions = {\n noTrailingSlash: false,\n nopQueryString: false,\n nopHash: false\n};\n\nvar isExcluded = function isExcluded(excludes, element) {\n if (!Array.isArray(excludes)) return false;\n element = element.replace(/\\/+$/, '');\n return excludes.some(function (exclude) {\n if (exclude instanceof RegExp) return element.match(exclude);\n return exclude.includes(element);\n });\n};\n\nmodule.exports = function (_ref, pluginOptions) {\n var element = _ref.element,\n location = _ref.props.location;\n\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n\n var options = Object.assign({}, defaultPluginOptions, pluginOptions);\n\n if (options.siteUrl && !isExcluded(options.exclude, location.pathname)) {\n var pathname = location.pathname || '/';\n if (options.noTrailingSlash && pathname.endsWith('/')) pathname = pathname.substring(0, pathname.length - 1);\n var myUrl = \"\" + options.siteUrl + pathname;\n if (!options.noQueryString) myUrl += location.search;\n if (!options.noHash) myUrl += location.hash;\n return React.createElement(React.Fragment, null, React.createElement(Helmet, {\n link: [{\n rel: 'canonical',\n key: myUrl,\n href: myUrl\n }]\n }), element);\n }\n\n return element;\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _styledComponents = require(\"styled-components\"); // eslint-disable-next-line react/prop-types,react/display-name\n\n\nexports.wrapRootElement = function (_ref, pluginOptions) {\n var element = _ref.element;\n return /*#__PURE__*/_react.default.createElement(_styledComponents.StyleSheetManager, {\n disableVendorPrefixes: (pluginOptions === null || pluginOptions === void 0 ? void 0 : pluginOptions.disableVendorPrefixes) === true\n }, element);\n};","\"use strict\";\n\nvar offsetY = 0;\n\nvar getTargetOffset = function getTargetOffset(hash) {\n var id = window.decodeURI(hash.replace(\"#\", \"\"));\n\n if (id !== \"\") {\n var element = document.getElementById(id);\n\n if (element) {\n var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;\n var clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\n var computedStyles = window.getComputedStyle(element);\n var scrollMarginTop = computedStyles.getPropertyValue(\"scroll-margin-top\") || computedStyles.getPropertyValue(\"scroll-snap-margin-top\") || \"0px\";\n return element.getBoundingClientRect().top + scrollTop - parseInt(scrollMarginTop, 10) - clientTop - offsetY;\n }\n }\n\n return null;\n};\n\nexports.onInitialClientRender = function (_, pluginOptions) {\n if (pluginOptions.offsetY) {\n offsetY = pluginOptions.offsetY;\n }\n\n requestAnimationFrame(function () {\n var offset = getTargetOffset(window.location.hash);\n\n if (offset !== null) {\n window.scrollTo(0, offset);\n }\n });\n};\n\nexports.shouldUpdateScroll = function (_ref) {\n var location = _ref.routerProps.location;\n var offset = getTargetOffset(location.hash);\n return offset !== null ? [0, offset] : true;\n};","\"use strict\";\n\nexports.DEFAULT_OPTIONS = {\n maxWidth: 650,\n wrapperStyle: \"\",\n backgroundColor: \"white\",\n linkImagesToOriginal: true,\n showCaptions: false,\n markdownCaptions: false,\n withWebp: false,\n withAvif: false,\n tracedSVG: false,\n loading: \"lazy\",\n decoding: \"async\",\n disableBgImageOnAlpha: false,\n disableBgImage: false\n};\nexports.EMPTY_ALT = \"GATSBY_EMPTY_ALT\";\nexports.imageClass = \"gatsby-resp-image-image\";\nexports.imageWrapperClass = \"gatsby-resp-image-wrapper\";\nexports.imageBackgroundClass = \"gatsby-resp-image-background-image\";","\"use strict\";\n\nvar _require = require(\"./constants\"),\n DEFAULT_OPTIONS = _require.DEFAULT_OPTIONS,\n imageClass = _require.imageClass,\n imageBackgroundClass = _require.imageBackgroundClass,\n imageWrapperClass = _require.imageWrapperClass;\n\nexports.onRouteUpdate = function (apiCallbackContext, pluginOptions) {\n var options = Object.assign({}, DEFAULT_OPTIONS, pluginOptions);\n var imageWrappers = document.querySelectorAll(\".\" + imageWrapperClass); // https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/\n // for cross-browser looping through NodeList without polyfills\n\n var _loop = function _loop(i) {\n var imageWrapper = imageWrappers[i];\n var backgroundElement = imageWrapper.querySelector(\".\" + imageBackgroundClass);\n var imageElement = imageWrapper.querySelector(\".\" + imageClass);\n\n var onImageLoad = function onImageLoad() {\n backgroundElement.style.transition = \"opacity 0.5s 0.5s\";\n imageElement.style.transition = \"opacity 0.5s\";\n onImageComplete();\n };\n\n var onImageComplete = function onImageComplete() {\n backgroundElement.style.opacity = 0;\n imageElement.style.opacity = 1;\n imageElement.style.color = \"inherit\";\n imageElement.style.boxShadow = \"inset 0px 0px 0px 400px \" + options.backgroundColor;\n imageElement.removeEventListener(\"load\", onImageLoad);\n imageElement.removeEventListener(\"error\", onImageComplete);\n };\n\n imageElement.style.opacity = 0;\n imageElement.addEventListener(\"load\", onImageLoad);\n imageElement.addEventListener(\"error\", onImageComplete);\n\n if (imageElement.complete) {\n onImageComplete();\n }\n };\n\n for (var i = 0; i < imageWrappers.length; i++) {\n _loop(i);\n }\n};","\"use strict\";\n\nmodule.exports = Object.assign;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\n\nvar _gatsbyScript = require(\"gatsby-script\");\n\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\"); // Makes sure off-main-thread scripts are loaded in `gatsby develop`\n\n\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname)); // Clear scripts after we've used them to avoid leaky behavior\n\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n}; // Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\n\n\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\n\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\n\nvar _integration = require(\"@builder.io/partytown/integration\");\n\nvar _getForwards = require(\"./get-forwards\"); // Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\n\n\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n\n const existingSnippet = document.querySelector(\"script[data-partytown]\");\n const existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n\n if (existingSnippet) {\n existingSnippet.remove();\n }\n\n if (existingSandbox) {\n existingSandbox.remove();\n }\n\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(\"script\");\n snippet.dataset.partytown = \"\";\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}","'use strict';\n\nvar reactIs = require('react-is');\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\n\n\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;","var charToInteger = {};\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfor (var i = 0; i < chars.length; i++) {\n charToInteger[chars.charCodeAt(i)] = i;\n}\n\nfunction decode(mappings) {\n var decoded = [];\n var line = [];\n var segment = [0, 0, 0, 0, 0];\n var j = 0;\n\n for (var i = 0, shift = 0, value = 0; i < mappings.length; i++) {\n var c = mappings.charCodeAt(i);\n\n if (c === 44) {\n // \",\"\n segmentify(line, segment, j);\n j = 0;\n } else if (c === 59) {\n // \";\"\n segmentify(line, segment, j);\n j = 0;\n decoded.push(line);\n line = [];\n segment[0] = 0;\n } else {\n var integer = charToInteger[c];\n\n if (integer === undefined) {\n throw new Error('Invalid character (' + String.fromCharCode(c) + ')');\n }\n\n var hasContinuationBit = integer & 32;\n integer &= 31;\n value += integer << shift;\n\n if (hasContinuationBit) {\n shift += 5;\n } else {\n var shouldNegate = value & 1;\n value >>>= 1;\n\n if (shouldNegate) {\n value = value === 0 ? -0x80000000 : -value;\n }\n\n segment[j] += value;\n j++;\n value = shift = 0; // reset\n }\n }\n }\n\n segmentify(line, segment, j);\n decoded.push(line);\n return decoded;\n}\n\nfunction segmentify(line, segment, j) {\n // This looks ugly, but we're creating specialized arrays with a specific\n // length. This is much faster than creating a new array (which v8 expands to\n // a capacity of 17 after pushing the first item), or slicing out a subarray\n // (which is slow). Length 4 is assumed to be the most frequent, followed by\n // length 5 (since not everything will have an associated name), followed by\n // length 1 (it's probably rare for a source substring to not have an\n // associated segment data).\n if (j === 4) line.push([segment[0], segment[1], segment[2], segment[3]]);else if (j === 5) line.push([segment[0], segment[1], segment[2], segment[3], segment[4]]);else if (j === 1) line.push([segment[0]]);\n}\n\nfunction encode(decoded) {\n var sourceFileIndex = 0; // second field\n\n var sourceCodeLine = 0; // third field\n\n var sourceCodeColumn = 0; // fourth field\n\n var nameIndex = 0; // fifth field\n\n var mappings = '';\n\n for (var i = 0; i < decoded.length; i++) {\n var line = decoded[i];\n if (i > 0) mappings += ';';\n if (line.length === 0) continue;\n var generatedCodeColumn = 0; // first field\n\n var lineMappings = [];\n\n for (var _i = 0, line_1 = line; _i < line_1.length; _i++) {\n var segment = line_1[_i];\n var segmentMappings = encodeInteger(segment[0] - generatedCodeColumn);\n generatedCodeColumn = segment[0];\n\n if (segment.length > 1) {\n segmentMappings += encodeInteger(segment[1] - sourceFileIndex) + encodeInteger(segment[2] - sourceCodeLine) + encodeInteger(segment[3] - sourceCodeColumn);\n sourceFileIndex = segment[1];\n sourceCodeLine = segment[2];\n sourceCodeColumn = segment[3];\n }\n\n if (segment.length === 5) {\n segmentMappings += encodeInteger(segment[4] - nameIndex);\n nameIndex = segment[4];\n }\n\n lineMappings.push(segmentMappings);\n }\n\n mappings += lineMappings.join(',');\n }\n\n return mappings;\n}\n\nfunction encodeInteger(num) {\n var result = '';\n num = num < 0 ? -num << 1 | 1 : num << 1;\n\n do {\n var clamped = num & 31;\n num >>>= 5;\n\n if (num > 0) {\n clamped |= 32;\n }\n\n result += chars[clamped];\n } while (num > 0);\n\n return result;\n}\n\nexport { decode, encode };","import { encode } from 'sourcemap-codec';\n\nvar BitSet = function BitSet(arg) {\n this.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n};\n\nBitSet.prototype.add = function add(n) {\n this.bits[n >> 5] |= 1 << (n & 31);\n};\n\nBitSet.prototype.has = function has(n) {\n return !!(this.bits[n >> 5] & 1 << (n & 31));\n};\n\nvar Chunk = function Chunk(start, end, content) {\n this.start = start;\n this.end = end;\n this.original = content;\n this.intro = '';\n this.outro = '';\n this.content = content;\n this.storeName = false;\n this.edited = false; // we make these non-enumerable, for sanity while debugging\n\n Object.defineProperties(this, {\n previous: {\n writable: true,\n value: null\n },\n next: {\n writable: true,\n value: null\n }\n });\n};\n\nChunk.prototype.appendLeft = function appendLeft(content) {\n this.outro += content;\n};\n\nChunk.prototype.appendRight = function appendRight(content) {\n this.intro = this.intro + content;\n};\n\nChunk.prototype.clone = function clone() {\n var chunk = new Chunk(this.start, this.end, this.original);\n chunk.intro = this.intro;\n chunk.outro = this.outro;\n chunk.content = this.content;\n chunk.storeName = this.storeName;\n chunk.edited = this.edited;\n return chunk;\n};\n\nChunk.prototype.contains = function contains(index) {\n return this.start < index && index < this.end;\n};\n\nChunk.prototype.eachNext = function eachNext(fn) {\n var chunk = this;\n\n while (chunk) {\n fn(chunk);\n chunk = chunk.next;\n }\n};\n\nChunk.prototype.eachPrevious = function eachPrevious(fn) {\n var chunk = this;\n\n while (chunk) {\n fn(chunk);\n chunk = chunk.previous;\n }\n};\n\nChunk.prototype.edit = function edit(content, storeName, contentOnly) {\n this.content = content;\n\n if (!contentOnly) {\n this.intro = '';\n this.outro = '';\n }\n\n this.storeName = storeName;\n this.edited = true;\n return this;\n};\n\nChunk.prototype.prependLeft = function prependLeft(content) {\n this.outro = content + this.outro;\n};\n\nChunk.prototype.prependRight = function prependRight(content) {\n this.intro = content + this.intro;\n};\n\nChunk.prototype.split = function split(index) {\n var sliceIndex = index - this.start;\n var originalBefore = this.original.slice(0, sliceIndex);\n var originalAfter = this.original.slice(sliceIndex);\n this.original = originalBefore;\n var newChunk = new Chunk(index, this.end, originalAfter);\n newChunk.outro = this.outro;\n this.outro = '';\n this.end = index;\n\n if (this.edited) {\n // TODO is this block necessary?...\n newChunk.edit('', false);\n this.content = '';\n } else {\n this.content = originalBefore;\n }\n\n newChunk.next = this.next;\n\n if (newChunk.next) {\n newChunk.next.previous = newChunk;\n }\n\n newChunk.previous = this;\n this.next = newChunk;\n return newChunk;\n};\n\nChunk.prototype.toString = function toString() {\n return this.intro + this.content + this.outro;\n};\n\nChunk.prototype.trimEnd = function trimEnd(rx) {\n this.outro = this.outro.replace(rx, '');\n\n if (this.outro.length) {\n return true;\n }\n\n var trimmed = this.content.replace(rx, '');\n\n if (trimmed.length) {\n if (trimmed !== this.content) {\n this.split(this.start + trimmed.length).edit('', undefined, true);\n }\n\n return true;\n } else {\n this.edit('', undefined, true);\n this.intro = this.intro.replace(rx, '');\n\n if (this.intro.length) {\n return true;\n }\n }\n};\n\nChunk.prototype.trimStart = function trimStart(rx) {\n this.intro = this.intro.replace(rx, '');\n\n if (this.intro.length) {\n return true;\n }\n\n var trimmed = this.content.replace(rx, '');\n\n if (trimmed.length) {\n if (trimmed !== this.content) {\n this.split(this.end - trimmed.length);\n this.edit('', undefined, true);\n }\n\n return true;\n } else {\n this.edit('', undefined, true);\n this.outro = this.outro.replace(rx, '');\n\n if (this.outro.length) {\n return true;\n }\n }\n};\n\nvar btoa = function () {\n throw new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n};\n\nif (typeof window !== 'undefined' && typeof window.btoa === 'function') {\n btoa = function (str) {\n return window.btoa(unescape(encodeURIComponent(str)));\n };\n} else if (typeof Buffer === 'function') {\n btoa = function (str) {\n return Buffer.from(str, 'utf-8').toString('base64');\n };\n}\n\nvar SourceMap = function SourceMap(properties) {\n this.version = 3;\n this.file = properties.file;\n this.sources = properties.sources;\n this.sourcesContent = properties.sourcesContent;\n this.names = properties.names;\n this.mappings = encode(properties.mappings);\n};\n\nSourceMap.prototype.toString = function toString() {\n return JSON.stringify(this);\n};\n\nSourceMap.prototype.toUrl = function toUrl() {\n return 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n};\n\nfunction guessIndent(code) {\n var lines = code.split('\\n');\n var tabbed = lines.filter(function (line) {\n return /^\\t+/.test(line);\n });\n var spaced = lines.filter(function (line) {\n return /^ {2,}/.test(line);\n });\n\n if (tabbed.length === 0 && spaced.length === 0) {\n return null;\n } // More lines tabbed than spaced? Assume tabs, and\n // default to tabs in the case of a tie (or nothing\n // to go on)\n\n\n if (tabbed.length >= spaced.length) {\n return '\\t';\n } // Otherwise, we need to guess the multiple\n\n\n var min = spaced.reduce(function (previous, current) {\n var numSpaces = /^ +/.exec(current)[0].length;\n return Math.min(numSpaces, previous);\n }, Infinity);\n return new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n var fromParts = from.split(/[/\\\\]/);\n var toParts = to.split(/[/\\\\]/);\n fromParts.pop(); // get dirname\n\n while (fromParts[0] === toParts[0]) {\n fromParts.shift();\n toParts.shift();\n }\n\n if (fromParts.length) {\n var i = fromParts.length;\n\n while (i--) {\n fromParts[i] = '..';\n }\n }\n\n return fromParts.concat(toParts).join('/');\n}\n\nvar toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n return toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n var originalLines = source.split('\\n');\n var lineOffsets = [];\n\n for (var i = 0, pos = 0; i < originalLines.length; i++) {\n lineOffsets.push(pos);\n pos += originalLines[i].length + 1;\n }\n\n return function locate(index) {\n var i = 0;\n var j = lineOffsets.length;\n\n while (i < j) {\n var m = i + j >> 1;\n\n if (index < lineOffsets[m]) {\n j = m;\n } else {\n i = m + 1;\n }\n }\n\n var line = i - 1;\n var column = index - lineOffsets[line];\n return {\n line: line,\n column: column\n };\n };\n}\n\nvar Mappings = function Mappings(hires) {\n this.hires = hires;\n this.generatedCodeLine = 0;\n this.generatedCodeColumn = 0;\n this.raw = [];\n this.rawSegments = this.raw[this.generatedCodeLine] = [];\n this.pending = null;\n};\n\nMappings.prototype.addEdit = function addEdit(sourceIndex, content, loc, nameIndex) {\n if (content.length) {\n var segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n if (nameIndex >= 0) {\n segment.push(nameIndex);\n }\n\n this.rawSegments.push(segment);\n } else if (this.pending) {\n this.rawSegments.push(this.pending);\n }\n\n this.advance(content);\n this.pending = null;\n};\n\nMappings.prototype.addUneditedChunk = function addUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n var originalCharIndex = chunk.start;\n var first = true;\n\n while (originalCharIndex < chunk.end) {\n if (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n this.rawSegments.push([this.generatedCodeColumn, sourceIndex, loc.line, loc.column]);\n }\n\n if (original[originalCharIndex] === '\\n') {\n loc.line += 1;\n loc.column = 0;\n this.generatedCodeLine += 1;\n this.raw[this.generatedCodeLine] = this.rawSegments = [];\n this.generatedCodeColumn = 0;\n first = true;\n } else {\n loc.column += 1;\n this.generatedCodeColumn += 1;\n first = false;\n }\n\n originalCharIndex += 1;\n }\n\n this.pending = null;\n};\n\nMappings.prototype.advance = function advance(str) {\n if (!str) {\n return;\n }\n\n var lines = str.split('\\n');\n\n if (lines.length > 1) {\n for (var i = 0; i < lines.length - 1; i++) {\n this.generatedCodeLine++;\n this.raw[this.generatedCodeLine] = this.rawSegments = [];\n }\n\n this.generatedCodeColumn = 0;\n }\n\n this.generatedCodeColumn += lines[lines.length - 1].length;\n};\n\nvar n = '\\n';\nvar warned = {\n insertLeft: false,\n insertRight: false,\n storeName: false\n};\n\nvar MagicString = function MagicString(string, options) {\n if (options === void 0) options = {};\n var chunk = new Chunk(0, string.length, string);\n Object.defineProperties(this, {\n original: {\n writable: true,\n value: string\n },\n outro: {\n writable: true,\n value: ''\n },\n intro: {\n writable: true,\n value: ''\n },\n firstChunk: {\n writable: true,\n value: chunk\n },\n lastChunk: {\n writable: true,\n value: chunk\n },\n lastSearchedChunk: {\n writable: true,\n value: chunk\n },\n byStart: {\n writable: true,\n value: {}\n },\n byEnd: {\n writable: true,\n value: {}\n },\n filename: {\n writable: true,\n value: options.filename\n },\n indentExclusionRanges: {\n writable: true,\n value: options.indentExclusionRanges\n },\n sourcemapLocations: {\n writable: true,\n value: new BitSet()\n },\n storedNames: {\n writable: true,\n value: {}\n },\n indentStr: {\n writable: true,\n value: guessIndent(string)\n }\n });\n this.byStart[0] = chunk;\n this.byEnd[string.length] = chunk;\n};\n\nMagicString.prototype.addSourcemapLocation = function addSourcemapLocation(char) {\n this.sourcemapLocations.add(char);\n};\n\nMagicString.prototype.append = function append(content) {\n if (typeof content !== 'string') {\n throw new TypeError('outro content must be a string');\n }\n\n this.outro += content;\n return this;\n};\n\nMagicString.prototype.appendLeft = function appendLeft(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byEnd[index];\n\n if (chunk) {\n chunk.appendLeft(content);\n } else {\n this.intro += content;\n }\n\n return this;\n};\n\nMagicString.prototype.appendRight = function appendRight(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byStart[index];\n\n if (chunk) {\n chunk.appendRight(content);\n } else {\n this.outro += content;\n }\n\n return this;\n};\n\nMagicString.prototype.clone = function clone() {\n var cloned = new MagicString(this.original, {\n filename: this.filename\n });\n var originalChunk = this.firstChunk;\n var clonedChunk = cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone();\n\n while (originalChunk) {\n cloned.byStart[clonedChunk.start] = clonedChunk;\n cloned.byEnd[clonedChunk.end] = clonedChunk;\n var nextOriginalChunk = originalChunk.next;\n var nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n if (nextClonedChunk) {\n clonedChunk.next = nextClonedChunk;\n nextClonedChunk.previous = clonedChunk;\n clonedChunk = nextClonedChunk;\n }\n\n originalChunk = nextOriginalChunk;\n }\n\n cloned.lastChunk = clonedChunk;\n\n if (this.indentExclusionRanges) {\n cloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n }\n\n cloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n cloned.intro = this.intro;\n cloned.outro = this.outro;\n return cloned;\n};\n\nMagicString.prototype.generateDecodedMap = function generateDecodedMap(options) {\n var this$1$1 = this;\n options = options || {};\n var sourceIndex = 0;\n var names = Object.keys(this.storedNames);\n var mappings = new Mappings(options.hires);\n var locate = getLocator(this.original);\n\n if (this.intro) {\n mappings.advance(this.intro);\n }\n\n this.firstChunk.eachNext(function (chunk) {\n var loc = locate(chunk.start);\n\n if (chunk.intro.length) {\n mappings.advance(chunk.intro);\n }\n\n if (chunk.edited) {\n mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);\n } else {\n mappings.addUneditedChunk(sourceIndex, chunk, this$1$1.original, loc, this$1$1.sourcemapLocations);\n }\n\n if (chunk.outro.length) {\n mappings.advance(chunk.outro);\n }\n });\n return {\n file: options.file ? options.file.split(/[/\\\\]/).pop() : null,\n sources: [options.source ? getRelativePath(options.file || '', options.source) : null],\n sourcesContent: options.includeContent ? [this.original] : [null],\n names: names,\n mappings: mappings.raw\n };\n};\n\nMagicString.prototype.generateMap = function generateMap(options) {\n return new SourceMap(this.generateDecodedMap(options));\n};\n\nMagicString.prototype.getIndentString = function getIndentString() {\n return this.indentStr === null ? '\\t' : this.indentStr;\n};\n\nMagicString.prototype.indent = function indent(indentStr, options) {\n var pattern = /^[^\\r\\n]/gm;\n\n if (isObject(indentStr)) {\n options = indentStr;\n indentStr = undefined;\n }\n\n indentStr = indentStr !== undefined ? indentStr : this.indentStr || '\\t';\n\n if (indentStr === '') {\n return this;\n } // noop\n\n\n options = options || {}; // Process exclusion ranges\n\n var isExcluded = {};\n\n if (options.exclude) {\n var exclusions = typeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n exclusions.forEach(function (exclusion) {\n for (var i = exclusion[0]; i < exclusion[1]; i += 1) {\n isExcluded[i] = true;\n }\n });\n }\n\n var shouldIndentNextCharacter = options.indentStart !== false;\n\n var replacer = function (match) {\n if (shouldIndentNextCharacter) {\n return \"\" + indentStr + match;\n }\n\n shouldIndentNextCharacter = true;\n return match;\n };\n\n this.intro = this.intro.replace(pattern, replacer);\n var charIndex = 0;\n var chunk = this.firstChunk;\n\n while (chunk) {\n var end = chunk.end;\n\n if (chunk.edited) {\n if (!isExcluded[charIndex]) {\n chunk.content = chunk.content.replace(pattern, replacer);\n\n if (chunk.content.length) {\n shouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n }\n }\n } else {\n charIndex = chunk.start;\n\n while (charIndex < end) {\n if (!isExcluded[charIndex]) {\n var char = this.original[charIndex];\n\n if (char === '\\n') {\n shouldIndentNextCharacter = true;\n } else if (char !== '\\r' && shouldIndentNextCharacter) {\n shouldIndentNextCharacter = false;\n\n if (charIndex === chunk.start) {\n chunk.prependRight(indentStr);\n } else {\n this._splitChunk(chunk, charIndex);\n\n chunk = chunk.next;\n chunk.prependRight(indentStr);\n }\n }\n }\n\n charIndex += 1;\n }\n }\n\n charIndex = chunk.end;\n chunk = chunk.next;\n }\n\n this.outro = this.outro.replace(pattern, replacer);\n return this;\n};\n\nMagicString.prototype.insert = function insert() {\n throw new Error('magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)');\n};\n\nMagicString.prototype.insertLeft = function insertLeft(index, content) {\n if (!warned.insertLeft) {\n console.warn('magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead'); // eslint-disable-line no-console\n\n warned.insertLeft = true;\n }\n\n return this.appendLeft(index, content);\n};\n\nMagicString.prototype.insertRight = function insertRight(index, content) {\n if (!warned.insertRight) {\n console.warn('magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead'); // eslint-disable-line no-console\n\n warned.insertRight = true;\n }\n\n return this.prependRight(index, content);\n};\n\nMagicString.prototype.move = function move(start, end, index) {\n if (index >= start && index <= end) {\n throw new Error('Cannot move a selection inside itself');\n }\n\n this._split(start);\n\n this._split(end);\n\n this._split(index);\n\n var first = this.byStart[start];\n var last = this.byEnd[end];\n var oldLeft = first.previous;\n var oldRight = last.next;\n var newRight = this.byStart[index];\n\n if (!newRight && last === this.lastChunk) {\n return this;\n }\n\n var newLeft = newRight ? newRight.previous : this.lastChunk;\n\n if (oldLeft) {\n oldLeft.next = oldRight;\n }\n\n if (oldRight) {\n oldRight.previous = oldLeft;\n }\n\n if (newLeft) {\n newLeft.next = first;\n }\n\n if (newRight) {\n newRight.previous = last;\n }\n\n if (!first.previous) {\n this.firstChunk = last.next;\n }\n\n if (!last.next) {\n this.lastChunk = first.previous;\n this.lastChunk.next = null;\n }\n\n first.previous = newLeft;\n last.next = newRight || null;\n\n if (!newLeft) {\n this.firstChunk = first;\n }\n\n if (!newRight) {\n this.lastChunk = last;\n }\n\n return this;\n};\n\nMagicString.prototype.overwrite = function overwrite(start, end, content, options) {\n if (typeof content !== 'string') {\n throw new TypeError('replacement content must be a string');\n }\n\n while (start < 0) {\n start += this.original.length;\n }\n\n while (end < 0) {\n end += this.original.length;\n }\n\n if (end > this.original.length) {\n throw new Error('end is out of bounds');\n }\n\n if (start === end) {\n throw new Error('Cannot overwrite a zero-length range – use appendLeft or prependRight instead');\n }\n\n this._split(start);\n\n this._split(end);\n\n if (options === true) {\n if (!warned.storeName) {\n console.warn('The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string'); // eslint-disable-line no-console\n\n warned.storeName = true;\n }\n\n options = {\n storeName: true\n };\n }\n\n var storeName = options !== undefined ? options.storeName : false;\n var contentOnly = options !== undefined ? options.contentOnly : false;\n\n if (storeName) {\n var original = this.original.slice(start, end);\n Object.defineProperty(this.storedNames, original, {\n writable: true,\n value: true,\n enumerable: true\n });\n }\n\n var first = this.byStart[start];\n var last = this.byEnd[end];\n\n if (first) {\n var chunk = first;\n\n while (chunk !== last) {\n if (chunk.next !== this.byStart[chunk.end]) {\n throw new Error('Cannot overwrite across a split point');\n }\n\n chunk = chunk.next;\n chunk.edit('', false);\n }\n\n first.edit(content, storeName, contentOnly);\n } else {\n // must be inserting at the end\n var newChunk = new Chunk(start, end, '').edit(content, storeName); // TODO last chunk in the array may not be the last chunk, if it's moved...\n\n last.next = newChunk;\n newChunk.previous = last;\n }\n\n return this;\n};\n\nMagicString.prototype.prepend = function prepend(content) {\n if (typeof content !== 'string') {\n throw new TypeError('outro content must be a string');\n }\n\n this.intro = content + this.intro;\n return this;\n};\n\nMagicString.prototype.prependLeft = function prependLeft(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byEnd[index];\n\n if (chunk) {\n chunk.prependLeft(content);\n } else {\n this.intro = content + this.intro;\n }\n\n return this;\n};\n\nMagicString.prototype.prependRight = function prependRight(index, content) {\n if (typeof content !== 'string') {\n throw new TypeError('inserted content must be a string');\n }\n\n this._split(index);\n\n var chunk = this.byStart[index];\n\n if (chunk) {\n chunk.prependRight(content);\n } else {\n this.outro = content + this.outro;\n }\n\n return this;\n};\n\nMagicString.prototype.remove = function remove(start, end) {\n while (start < 0) {\n start += this.original.length;\n }\n\n while (end < 0) {\n end += this.original.length;\n }\n\n if (start === end) {\n return this;\n }\n\n if (start < 0 || end > this.original.length) {\n throw new Error('Character is out of bounds');\n }\n\n if (start > end) {\n throw new Error('end must be greater than start');\n }\n\n this._split(start);\n\n this._split(end);\n\n var chunk = this.byStart[start];\n\n while (chunk) {\n chunk.intro = '';\n chunk.outro = '';\n chunk.edit('');\n chunk = end > chunk.end ? this.byStart[chunk.end] : null;\n }\n\n return this;\n};\n\nMagicString.prototype.lastChar = function lastChar() {\n if (this.outro.length) {\n return this.outro[this.outro.length - 1];\n }\n\n var chunk = this.lastChunk;\n\n do {\n if (chunk.outro.length) {\n return chunk.outro[chunk.outro.length - 1];\n }\n\n if (chunk.content.length) {\n return chunk.content[chunk.content.length - 1];\n }\n\n if (chunk.intro.length) {\n return chunk.intro[chunk.intro.length - 1];\n }\n } while (chunk = chunk.previous);\n\n if (this.intro.length) {\n return this.intro[this.intro.length - 1];\n }\n\n return '';\n};\n\nMagicString.prototype.lastLine = function lastLine() {\n var lineIndex = this.outro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return this.outro.substr(lineIndex + 1);\n }\n\n var lineStr = this.outro;\n var chunk = this.lastChunk;\n\n do {\n if (chunk.outro.length > 0) {\n lineIndex = chunk.outro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return chunk.outro.substr(lineIndex + 1) + lineStr;\n }\n\n lineStr = chunk.outro + lineStr;\n }\n\n if (chunk.content.length > 0) {\n lineIndex = chunk.content.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return chunk.content.substr(lineIndex + 1) + lineStr;\n }\n\n lineStr = chunk.content + lineStr;\n }\n\n if (chunk.intro.length > 0) {\n lineIndex = chunk.intro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return chunk.intro.substr(lineIndex + 1) + lineStr;\n }\n\n lineStr = chunk.intro + lineStr;\n }\n } while (chunk = chunk.previous);\n\n lineIndex = this.intro.lastIndexOf(n);\n\n if (lineIndex !== -1) {\n return this.intro.substr(lineIndex + 1) + lineStr;\n }\n\n return this.intro + lineStr;\n};\n\nMagicString.prototype.slice = function slice(start, end) {\n if (start === void 0) start = 0;\n if (end === void 0) end = this.original.length;\n\n while (start < 0) {\n start += this.original.length;\n }\n\n while (end < 0) {\n end += this.original.length;\n }\n\n var result = ''; // find start chunk\n\n var chunk = this.firstChunk;\n\n while (chunk && (chunk.start > start || chunk.end <= start)) {\n // found end chunk before start\n if (chunk.start < end && chunk.end >= end) {\n return result;\n }\n\n chunk = chunk.next;\n }\n\n if (chunk && chunk.edited && chunk.start !== start) {\n throw new Error(\"Cannot use replaced character \" + start + \" as slice start anchor.\");\n }\n\n var startChunk = chunk;\n\n while (chunk) {\n if (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n result += chunk.intro;\n }\n\n var containsEnd = chunk.start < end && chunk.end >= end;\n\n if (containsEnd && chunk.edited && chunk.end !== end) {\n throw new Error(\"Cannot use replaced character \" + end + \" as slice end anchor.\");\n }\n\n var sliceStart = startChunk === chunk ? start - chunk.start : 0;\n var sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n result += chunk.content.slice(sliceStart, sliceEnd);\n\n if (chunk.outro && (!containsEnd || chunk.end === end)) {\n result += chunk.outro;\n }\n\n if (containsEnd) {\n break;\n }\n\n chunk = chunk.next;\n }\n\n return result;\n}; // TODO deprecate this? not really very useful\n\n\nMagicString.prototype.snip = function snip(start, end) {\n var clone = this.clone();\n clone.remove(0, start);\n clone.remove(end, clone.original.length);\n return clone;\n};\n\nMagicString.prototype._split = function _split(index) {\n if (this.byStart[index] || this.byEnd[index]) {\n return;\n }\n\n var chunk = this.lastSearchedChunk;\n var searchForward = index > chunk.end;\n\n while (chunk) {\n if (chunk.contains(index)) {\n return this._splitChunk(chunk, index);\n }\n\n chunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n }\n};\n\nMagicString.prototype._splitChunk = function _splitChunk(chunk, index) {\n if (chunk.edited && chunk.content.length) {\n // zero-length edited chunks are a special case (overlapping replacements)\n var loc = getLocator(this.original)(index);\n throw new Error(\"Cannot split a chunk that has already been edited (\" + loc.line + \":\" + loc.column + \" – \\\"\" + chunk.original + \"\\\")\");\n }\n\n var newChunk = chunk.split(index);\n this.byEnd[index] = chunk;\n this.byStart[index] = newChunk;\n this.byEnd[newChunk.end] = newChunk;\n\n if (chunk === this.lastChunk) {\n this.lastChunk = newChunk;\n }\n\n this.lastSearchedChunk = chunk;\n return true;\n};\n\nMagicString.prototype.toString = function toString() {\n var str = this.intro;\n var chunk = this.firstChunk;\n\n while (chunk) {\n str += chunk.toString();\n chunk = chunk.next;\n }\n\n return str + this.outro;\n};\n\nMagicString.prototype.isEmpty = function isEmpty() {\n var chunk = this.firstChunk;\n\n do {\n if (chunk.intro.length && chunk.intro.trim() || chunk.content.length && chunk.content.trim() || chunk.outro.length && chunk.outro.trim()) {\n return false;\n }\n } while (chunk = chunk.next);\n\n return true;\n};\n\nMagicString.prototype.length = function length() {\n var chunk = this.firstChunk;\n var length = 0;\n\n do {\n length += chunk.intro.length + chunk.content.length + chunk.outro.length;\n } while (chunk = chunk.next);\n\n return length;\n};\n\nMagicString.prototype.trimLines = function trimLines() {\n return this.trim('[\\\\r\\\\n]');\n};\n\nMagicString.prototype.trim = function trim(charType) {\n return this.trimStart(charType).trimEnd(charType);\n};\n\nMagicString.prototype.trimEndAborted = function trimEndAborted(charType) {\n var rx = new RegExp((charType || '\\\\s') + '+$');\n this.outro = this.outro.replace(rx, '');\n\n if (this.outro.length) {\n return true;\n }\n\n var chunk = this.lastChunk;\n\n do {\n var end = chunk.end;\n var aborted = chunk.trimEnd(rx); // if chunk was trimmed, we have a new lastChunk\n\n if (chunk.end !== end) {\n if (this.lastChunk === chunk) {\n this.lastChunk = chunk.next;\n }\n\n this.byEnd[chunk.end] = chunk;\n this.byStart[chunk.next.start] = chunk.next;\n this.byEnd[chunk.next.end] = chunk.next;\n }\n\n if (aborted) {\n return true;\n }\n\n chunk = chunk.previous;\n } while (chunk);\n\n return false;\n};\n\nMagicString.prototype.trimEnd = function trimEnd(charType) {\n this.trimEndAborted(charType);\n return this;\n};\n\nMagicString.prototype.trimStartAborted = function trimStartAborted(charType) {\n var rx = new RegExp('^' + (charType || '\\\\s') + '+');\n this.intro = this.intro.replace(rx, '');\n\n if (this.intro.length) {\n return true;\n }\n\n var chunk = this.firstChunk;\n\n do {\n var end = chunk.end;\n var aborted = chunk.trimStart(rx);\n\n if (chunk.end !== end) {\n // special case...\n if (chunk === this.lastChunk) {\n this.lastChunk = chunk.next;\n }\n\n this.byEnd[chunk.end] = chunk;\n this.byStart[chunk.next.start] = chunk.next;\n this.byEnd[chunk.next.end] = chunk.next;\n }\n\n if (aborted) {\n return true;\n }\n\n chunk = chunk.next;\n } while (chunk);\n\n return false;\n};\n\nMagicString.prototype.trimStart = function trimStart(charType) {\n this.trimStartAborted(charType);\n return this;\n};\n\nvar hasOwnProp = Object.prototype.hasOwnProperty;\n\nvar Bundle = function Bundle(options) {\n if (options === void 0) options = {};\n this.intro = options.intro || '';\n this.separator = options.separator !== undefined ? options.separator : '\\n';\n this.sources = [];\n this.uniqueSources = [];\n this.uniqueSourceIndexByFilename = {};\n};\n\nBundle.prototype.addSource = function addSource(source) {\n if (source instanceof MagicString) {\n return this.addSource({\n content: source,\n filename: source.filename,\n separator: this.separator\n });\n }\n\n if (!isObject(source) || !source.content) {\n throw new Error('bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`');\n }\n\n ['filename', 'indentExclusionRanges', 'separator'].forEach(function (option) {\n if (!hasOwnProp.call(source, option)) {\n source[option] = source.content[option];\n }\n });\n\n if (source.separator === undefined) {\n // TODO there's a bunch of this sort of thing, needs cleaning up\n source.separator = this.separator;\n }\n\n if (source.filename) {\n if (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n this.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n this.uniqueSources.push({\n filename: source.filename,\n content: source.content.original\n });\n } else {\n var uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\n if (source.content.original !== uniqueSource.content) {\n throw new Error(\"Illegal source: same filename (\" + source.filename + \"), different contents\");\n }\n }\n }\n\n this.sources.push(source);\n return this;\n};\n\nBundle.prototype.append = function append(str, options) {\n this.addSource({\n content: new MagicString(str),\n separator: options && options.separator || ''\n });\n return this;\n};\n\nBundle.prototype.clone = function clone() {\n var bundle = new Bundle({\n intro: this.intro,\n separator: this.separator\n });\n this.sources.forEach(function (source) {\n bundle.addSource({\n filename: source.filename,\n content: source.content.clone(),\n separator: source.separator\n });\n });\n return bundle;\n};\n\nBundle.prototype.generateDecodedMap = function generateDecodedMap(options) {\n var this$1$1 = this;\n if (options === void 0) options = {};\n var names = [];\n this.sources.forEach(function (source) {\n Object.keys(source.content.storedNames).forEach(function (name) {\n if (!~names.indexOf(name)) {\n names.push(name);\n }\n });\n });\n var mappings = new Mappings(options.hires);\n\n if (this.intro) {\n mappings.advance(this.intro);\n }\n\n this.sources.forEach(function (source, i) {\n if (i > 0) {\n mappings.advance(this$1$1.separator);\n }\n\n var sourceIndex = source.filename ? this$1$1.uniqueSourceIndexByFilename[source.filename] : -1;\n var magicString = source.content;\n var locate = getLocator(magicString.original);\n\n if (magicString.intro) {\n mappings.advance(magicString.intro);\n }\n\n magicString.firstChunk.eachNext(function (chunk) {\n var loc = locate(chunk.start);\n\n if (chunk.intro.length) {\n mappings.advance(chunk.intro);\n }\n\n if (source.filename) {\n if (chunk.edited) {\n mappings.addEdit(sourceIndex, chunk.content, loc, chunk.storeName ? names.indexOf(chunk.original) : -1);\n } else {\n mappings.addUneditedChunk(sourceIndex, chunk, magicString.original, loc, magicString.sourcemapLocations);\n }\n } else {\n mappings.advance(chunk.content);\n }\n\n if (chunk.outro.length) {\n mappings.advance(chunk.outro);\n }\n });\n\n if (magicString.outro) {\n mappings.advance(magicString.outro);\n }\n });\n return {\n file: options.file ? options.file.split(/[/\\\\]/).pop() : null,\n sources: this.uniqueSources.map(function (source) {\n return options.file ? getRelativePath(options.file, source.filename) : source.filename;\n }),\n sourcesContent: this.uniqueSources.map(function (source) {\n return options.includeContent ? source.content : null;\n }),\n names: names,\n mappings: mappings.raw\n };\n};\n\nBundle.prototype.generateMap = function generateMap(options) {\n return new SourceMap(this.generateDecodedMap(options));\n};\n\nBundle.prototype.getIndentString = function getIndentString() {\n var indentStringCounts = {};\n this.sources.forEach(function (source) {\n var indentStr = source.content.indentStr;\n\n if (indentStr === null) {\n return;\n }\n\n if (!indentStringCounts[indentStr]) {\n indentStringCounts[indentStr] = 0;\n }\n\n indentStringCounts[indentStr] += 1;\n });\n return Object.keys(indentStringCounts).sort(function (a, b) {\n return indentStringCounts[a] - indentStringCounts[b];\n })[0] || '\\t';\n};\n\nBundle.prototype.indent = function indent(indentStr) {\n var this$1$1 = this;\n\n if (!arguments.length) {\n indentStr = this.getIndentString();\n }\n\n if (indentStr === '') {\n return this;\n } // noop\n\n\n var trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n this.sources.forEach(function (source, i) {\n var separator = source.separator !== undefined ? source.separator : this$1$1.separator;\n var indentStart = trailingNewline || i > 0 && /\\r?\\n$/.test(separator);\n source.content.indent(indentStr, {\n exclude: source.indentExclusionRanges,\n indentStart: indentStart //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\n });\n trailingNewline = source.content.lastChar() === '\\n';\n });\n\n if (this.intro) {\n this.intro = indentStr + this.intro.replace(/^[^\\n]/gm, function (match, index) {\n return index > 0 ? indentStr + match : match;\n });\n }\n\n return this;\n};\n\nBundle.prototype.prepend = function prepend(str) {\n this.intro = str + this.intro;\n return this;\n};\n\nBundle.prototype.toString = function toString() {\n var this$1$1 = this;\n var body = this.sources.map(function (source, i) {\n var separator = source.separator !== undefined ? source.separator : this$1$1.separator;\n var str = (i > 0 ? separator : '') + source.content.toString();\n return str;\n }).join('');\n return this.intro + body;\n};\n\nBundle.prototype.isEmpty = function isEmpty() {\n if (this.intro.length && this.intro.trim()) {\n return false;\n }\n\n if (this.sources.some(function (source) {\n return !source.content.isEmpty();\n })) {\n return false;\n }\n\n return true;\n};\n\nBundle.prototype.length = function length() {\n return this.sources.reduce(function (length, source) {\n return length + source.content.length();\n }, this.intro.length);\n};\n\nBundle.prototype.trimLines = function trimLines() {\n return this.trim('[\\\\r\\\\n]');\n};\n\nBundle.prototype.trim = function trim(charType) {\n return this.trimStart(charType).trimEnd(charType);\n};\n\nBundle.prototype.trimStart = function trimStart(charType) {\n var rx = new RegExp('^' + (charType || '\\\\s') + '+');\n this.intro = this.intro.replace(rx, '');\n\n if (!this.intro) {\n var source;\n var i = 0;\n\n do {\n source = this.sources[i++];\n\n if (!source) {\n break;\n }\n } while (!source.content.trimStartAborted(charType));\n }\n\n return this;\n};\n\nBundle.prototype.trimEnd = function trimEnd(charType) {\n var rx = new RegExp((charType || '\\\\s') + '+$');\n var source;\n var i = this.sources.length - 1;\n\n do {\n source = this.sources[i--];\n\n if (!source) {\n this.intro = this.intro.replace(rx, '');\n break;\n }\n } while (!source.content.trimEndAborted(charType));\n\n return this;\n};\n\nexport { Bundle, SourceMap, MagicString as default };","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false;\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;\n\n it = a.entries();\n\n while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false;\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false;\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","export var IconsManifest = [{\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n}, {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n}, {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n}, {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n}, {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n}, {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n}, {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n}, {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n}, {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n}, {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n}, {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}, {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n}, {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n}];","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n\nvar b = \"function\" === typeof Symbol && Symbol.for,\n c = b ? Symbol.for(\"react.element\") : 60103,\n d = b ? Symbol.for(\"react.portal\") : 60106,\n e = b ? Symbol.for(\"react.fragment\") : 60107,\n f = b ? Symbol.for(\"react.strict_mode\") : 60108,\n g = b ? Symbol.for(\"react.profiler\") : 60114,\n h = b ? Symbol.for(\"react.provider\") : 60109,\n k = b ? Symbol.for(\"react.context\") : 60110,\n l = b ? Symbol.for(\"react.async_mode\") : 60111,\n m = b ? Symbol.for(\"react.concurrent_mode\") : 60111,\n n = b ? Symbol.for(\"react.forward_ref\") : 60112,\n p = b ? Symbol.for(\"react.suspense\") : 60113,\n q = b ? Symbol.for(\"react.suspense_list\") : 60120,\n r = b ? Symbol.for(\"react.memo\") : 60115,\n t = b ? Symbol.for(\"react.lazy\") : 60116,\n v = b ? Symbol.for(\"react.block\") : 60121,\n w = b ? Symbol.for(\"react.fundamental\") : 60117,\n x = b ? Symbol.for(\"react.responder\") : 60118,\n y = b ? Symbol.for(\"react.scope\") : 60119;\n\nfunction z(a) {\n if (\"object\" === typeof a && null !== a) {\n var u = a.$$typeof;\n\n switch (u) {\n case c:\n switch (a = a.type, a) {\n case l:\n case m:\n case e:\n case g:\n case f:\n case p:\n return a;\n\n default:\n switch (a = a && a.$$typeof, a) {\n case k:\n case n:\n case t:\n case r:\n case h:\n return a;\n\n default:\n return u;\n }\n\n }\n\n case d:\n return u;\n }\n }\n}\n\nfunction A(a) {\n return z(a) === m;\n}\n\nexports.AsyncMode = l;\nexports.ConcurrentMode = m;\nexports.ContextConsumer = k;\nexports.ContextProvider = h;\nexports.Element = c;\nexports.ForwardRef = n;\nexports.Fragment = e;\nexports.Lazy = t;\nexports.Memo = r;\nexports.Portal = d;\nexports.Profiler = g;\nexports.StrictMode = f;\nexports.Suspense = p;\n\nexports.isAsyncMode = function (a) {\n return A(a) || z(a) === l;\n};\n\nexports.isConcurrentMode = A;\n\nexports.isContextConsumer = function (a) {\n return z(a) === k;\n};\n\nexports.isContextProvider = function (a) {\n return z(a) === h;\n};\n\nexports.isElement = function (a) {\n return \"object\" === typeof a && null !== a && a.$$typeof === c;\n};\n\nexports.isForwardRef = function (a) {\n return z(a) === n;\n};\n\nexports.isFragment = function (a) {\n return z(a) === e;\n};\n\nexports.isLazy = function (a) {\n return z(a) === t;\n};\n\nexports.isMemo = function (a) {\n return z(a) === r;\n};\n\nexports.isPortal = function (a) {\n return z(a) === d;\n};\n\nexports.isProfiler = function (a) {\n return z(a) === g;\n};\n\nexports.isStrictMode = function (a) {\n return z(a) === f;\n};\n\nexports.isSuspense = function (a) {\n return z(a) === p;\n};\n\nexports.isValidElementType = function (a) {\n return \"string\" === typeof a || \"function\" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || \"object\" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);\n};\n\nexports.typeOf = z;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","\"use strict\";\n\nvar __extends = this && this.__extends || function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n\n return extendStatics(d, b);\n };\n\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n }\n };\n }\n\n Object.defineProperty(o, k2, desc);\n} : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nvar __setModuleDefault = this && this.__setModuleDefault || (Object.create ? function (o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function (o, v) {\n o[\"default\"] = v;\n});\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n\n __setModuleDefault(result, mod);\n\n return result;\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar React = __importStar(require(\"react\"));\n\nvar KEYCODE_ENTER = 13;\nvar KEYCODE_TAB = 9;\nvar KEYCODE_BACKSPACE = 8;\nvar KEYCODE_Y = 89;\nvar KEYCODE_Z = 90;\nvar KEYCODE_M = 77;\nvar KEYCODE_PARENS = 57;\nvar KEYCODE_BRACKETS = 219;\nvar KEYCODE_QUOTE = 222;\nvar KEYCODE_BACK_QUOTE = 192;\nvar KEYCODE_ESCAPE = 27;\nvar HISTORY_LIMIT = 100;\nvar HISTORY_TIME_GAP = 3000;\nvar isWindows = typeof window !== 'undefined' && 'navigator' in window && /Win/i.test(navigator.platform);\nvar isMacLike = typeof window !== 'undefined' && 'navigator' in window && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\nvar className = 'npm__react-simple-code-editor__textarea';\nvar cssText =\n/* CSS */\n\"\\n/**\\n * Reset the text fill color so that placeholder is visible\\n */\\n.\".concat(className, \":empty {\\n -webkit-text-fill-color: inherit !important;\\n}\\n\\n/**\\n * Hack to apply on some CSS on IE10 and IE11\\n */\\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\\n /**\\n * IE doesn't support '-webkit-text-fill-color'\\n * So we use 'color: transparent' to make the text transparent on IE\\n * Unlike other browsers, it doesn't affect caret color in IE\\n */\\n .\").concat(className, \" {\\n color: transparent !important;\\n }\\n\\n .\").concat(className, \"::selection {\\n background-color: #accef7 !important;\\n color: transparent !important;\\n }\\n}\\n\");\n\nvar Editor =\n/** @class */\nfunction (_super) {\n __extends(Editor, _super);\n\n function Editor() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.state = {\n capture: true\n };\n\n _this._recordCurrentState = function () {\n var input = _this._input;\n if (!input) return; // Save current state of the input\n\n var value = input.value,\n selectionStart = input.selectionStart,\n selectionEnd = input.selectionEnd;\n\n _this._recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n });\n };\n\n _this._getLines = function (text, position) {\n return text.substring(0, position).split('\\n');\n };\n\n _this._recordChange = function (record, overwrite) {\n var _a, _b, _c;\n\n if (overwrite === void 0) {\n overwrite = false;\n }\n\n var _d = _this._history,\n stack = _d.stack,\n offset = _d.offset;\n\n if (stack.length && offset > -1) {\n // When something updates, drop the redo operations\n _this._history.stack = stack.slice(0, offset + 1); // Limit the number of operations to 100\n\n var count = _this._history.stack.length;\n\n if (count > HISTORY_LIMIT) {\n var extras = count - HISTORY_LIMIT;\n _this._history.stack = stack.slice(extras, count);\n _this._history.offset = Math.max(_this._history.offset - extras, 0);\n }\n }\n\n var timestamp = Date.now();\n\n if (overwrite) {\n var last = _this._history.stack[_this._history.offset];\n\n if (last && timestamp - last.timestamp < HISTORY_TIME_GAP) {\n // A previous entry exists and was in short interval\n // Match the last word in the line\n var re = /[^a-z0-9]([a-z0-9]+)$/i; // Get the previous line\n\n var previous = (_a = _this._getLines(last.value, last.selectionStart).pop()) === null || _a === void 0 ? void 0 : _a.match(re); // Get the current line\n\n var current = (_b = _this._getLines(record.value, record.selectionStart).pop()) === null || _b === void 0 ? void 0 : _b.match(re);\n\n if ((previous === null || previous === void 0 ? void 0 : previous[1]) && ((_c = current === null || current === void 0 ? void 0 : current[1]) === null || _c === void 0 ? void 0 : _c.startsWith(previous[1]))) {\n // The last word of the previous line and current line match\n // Overwrite previous entry so that undo will remove whole word\n _this._history.stack[_this._history.offset] = __assign(__assign({}, record), {\n timestamp: timestamp\n });\n return;\n }\n }\n } // Add the new operation to the stack\n\n\n _this._history.stack.push(__assign(__assign({}, record), {\n timestamp: timestamp\n }));\n\n _this._history.offset++;\n };\n\n _this._updateInput = function (record) {\n var input = _this._input;\n if (!input) return; // Update values and selection state\n\n input.value = record.value;\n input.selectionStart = record.selectionStart;\n input.selectionEnd = record.selectionEnd;\n\n _this.props.onValueChange(record.value);\n };\n\n _this._applyEdits = function (record) {\n // Save last selection state\n var input = _this._input;\n var last = _this._history.stack[_this._history.offset];\n\n if (last && input) {\n _this._history.stack[_this._history.offset] = __assign(__assign({}, last), {\n selectionStart: input.selectionStart,\n selectionEnd: input.selectionEnd\n });\n } // Save the changes\n\n\n _this._recordChange(record);\n\n _this._updateInput(record);\n };\n\n _this._undoEdit = function () {\n var _a = _this._history,\n stack = _a.stack,\n offset = _a.offset; // Get the previous edit\n\n var record = stack[offset - 1];\n\n if (record) {\n // Apply the changes and update the offset\n _this._updateInput(record);\n\n _this._history.offset = Math.max(offset - 1, 0);\n }\n };\n\n _this._redoEdit = function () {\n var _a = _this._history,\n stack = _a.stack,\n offset = _a.offset; // Get the next edit\n\n var record = stack[offset + 1];\n\n if (record) {\n // Apply the changes and update the offset\n _this._updateInput(record);\n\n _this._history.offset = Math.min(offset + 1, stack.length - 1);\n }\n };\n\n _this._handleKeyDown = function (e) {\n var _a = _this.props,\n tabSize = _a.tabSize,\n insertSpaces = _a.insertSpaces,\n ignoreTabKey = _a.ignoreTabKey,\n onKeyDown = _a.onKeyDown;\n\n if (onKeyDown) {\n onKeyDown(e);\n\n if (e.defaultPrevented) {\n return;\n }\n }\n\n if (e.keyCode === KEYCODE_ESCAPE) {\n e.currentTarget.blur();\n }\n\n var _b = e.currentTarget,\n value = _b.value,\n selectionStart = _b.selectionStart,\n selectionEnd = _b.selectionEnd;\n var tabCharacter = (insertSpaces ? ' ' : '\\t').repeat(tabSize);\n\n if (e.keyCode === KEYCODE_TAB && !ignoreTabKey && _this.state.capture) {\n // Prevent focus change\n e.preventDefault();\n\n if (e.shiftKey) {\n // Unindent selected lines\n var linesBeforeCaret = _this._getLines(value, selectionStart);\n\n var startLine_1 = linesBeforeCaret.length - 1;\n var endLine_1 = _this._getLines(value, selectionEnd).length - 1;\n var nextValue = value.split('\\n').map(function (line, i) {\n if (i >= startLine_1 && i <= endLine_1 && line.startsWith(tabCharacter)) {\n return line.substring(tabCharacter.length);\n }\n\n return line;\n }).join('\\n');\n\n if (value !== nextValue) {\n var startLineText = linesBeforeCaret[startLine_1];\n\n _this._applyEdits({\n value: nextValue,\n // Move the start cursor if first line in selection was modified\n // It was modified only if it started with a tab\n selectionStart: (startLineText === null || startLineText === void 0 ? void 0 : startLineText.startsWith(tabCharacter)) ? selectionStart - tabCharacter.length : selectionStart,\n // Move the end cursor by total number of characters removed\n selectionEnd: selectionEnd - (value.length - nextValue.length)\n });\n }\n } else if (selectionStart !== selectionEnd) {\n // Indent selected lines\n var linesBeforeCaret = _this._getLines(value, selectionStart);\n\n var startLine_2 = linesBeforeCaret.length - 1;\n var endLine_2 = _this._getLines(value, selectionEnd).length - 1;\n var startLineText = linesBeforeCaret[startLine_2];\n\n _this._applyEdits({\n value: value.split('\\n').map(function (line, i) {\n if (i >= startLine_2 && i <= endLine_2) {\n return tabCharacter + line;\n }\n\n return line;\n }).join('\\n'),\n // Move the start cursor by number of characters added in first line of selection\n // Don't move it if it there was no text before cursor\n selectionStart: startLineText && /\\S/.test(startLineText) ? selectionStart + tabCharacter.length : selectionStart,\n // Move the end cursor by total number of characters added\n selectionEnd: selectionEnd + tabCharacter.length * (endLine_2 - startLine_2 + 1)\n });\n } else {\n var updatedSelection = selectionStart + tabCharacter.length;\n\n _this._applyEdits({\n // Insert tab character at caret\n value: value.substring(0, selectionStart) + tabCharacter + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n } else if (e.keyCode === KEYCODE_BACKSPACE) {\n var hasSelection = selectionStart !== selectionEnd;\n var textBeforeCaret = value.substring(0, selectionStart);\n\n if (textBeforeCaret.endsWith(tabCharacter) && !hasSelection) {\n // Prevent default delete behaviour\n e.preventDefault();\n var updatedSelection = selectionStart - tabCharacter.length;\n\n _this._applyEdits({\n // Remove tab character at caret\n value: value.substring(0, selectionStart - tabCharacter.length) + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n } else if (e.keyCode === KEYCODE_ENTER) {\n // Ignore selections\n if (selectionStart === selectionEnd) {\n // Get the current line\n var line = _this._getLines(value, selectionStart).pop();\n\n var matches = line === null || line === void 0 ? void 0 : line.match(/^\\s+/);\n\n if (matches === null || matches === void 0 ? void 0 : matches[0]) {\n e.preventDefault(); // Preserve indentation on inserting a new line\n\n var indent = '\\n' + matches[0];\n var updatedSelection = selectionStart + indent.length;\n\n _this._applyEdits({\n // Insert indentation character at caret\n value: value.substring(0, selectionStart) + indent + value.substring(selectionEnd),\n // Update caret position\n selectionStart: updatedSelection,\n selectionEnd: updatedSelection\n });\n }\n }\n } else if (e.keyCode === KEYCODE_PARENS || e.keyCode === KEYCODE_BRACKETS || e.keyCode === KEYCODE_QUOTE || e.keyCode === KEYCODE_BACK_QUOTE) {\n var chars = void 0;\n\n if (e.keyCode === KEYCODE_PARENS && e.shiftKey) {\n chars = ['(', ')'];\n } else if (e.keyCode === KEYCODE_BRACKETS) {\n if (e.shiftKey) {\n chars = ['{', '}'];\n } else {\n chars = ['[', ']'];\n }\n } else if (e.keyCode === KEYCODE_QUOTE) {\n if (e.shiftKey) {\n chars = ['\"', '\"'];\n } else {\n chars = [\"'\", \"'\"];\n }\n } else if (e.keyCode === KEYCODE_BACK_QUOTE && !e.shiftKey) {\n chars = ['`', '`'];\n } // If text is selected, wrap them in the characters\n\n\n if (selectionStart !== selectionEnd && chars) {\n e.preventDefault();\n\n _this._applyEdits({\n value: value.substring(0, selectionStart) + chars[0] + value.substring(selectionStart, selectionEnd) + chars[1] + value.substring(selectionEnd),\n // Update caret position\n selectionStart: selectionStart,\n selectionEnd: selectionEnd + 2\n });\n }\n } else if ((isMacLike ? // Trigger undo with ⌘+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z : // Trigger undo with Ctrl+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z) && !e.shiftKey && !e.altKey) {\n e.preventDefault();\n\n _this._undoEdit();\n } else if ((isMacLike ? // Trigger redo with ⌘+Shift+Z on Mac\n e.metaKey && e.keyCode === KEYCODE_Z && e.shiftKey : isWindows ? // Trigger redo with Ctrl+Y on Windows\n e.ctrlKey && e.keyCode === KEYCODE_Y : // Trigger redo with Ctrl+Shift+Z on other platforms\n e.ctrlKey && e.keyCode === KEYCODE_Z && e.shiftKey) && !e.altKey) {\n e.preventDefault();\n\n _this._redoEdit();\n } else if (e.keyCode === KEYCODE_M && e.ctrlKey && (isMacLike ? e.shiftKey : true)) {\n e.preventDefault(); // Toggle capturing tab key so users can focus away\n\n _this.setState(function (state) {\n return {\n capture: !state.capture\n };\n });\n }\n };\n\n _this._handleChange = function (e) {\n var _a = e.currentTarget,\n value = _a.value,\n selectionStart = _a.selectionStart,\n selectionEnd = _a.selectionEnd;\n\n _this._recordChange({\n value: value,\n selectionStart: selectionStart,\n selectionEnd: selectionEnd\n }, true);\n\n _this.props.onValueChange(value);\n };\n\n _this._history = {\n stack: [],\n offset: -1\n };\n _this._input = null;\n return _this;\n }\n\n Editor.prototype.componentDidMount = function () {\n this._recordCurrentState();\n };\n\n Object.defineProperty(Editor.prototype, \"session\", {\n get: function () {\n return {\n history: this._history\n };\n },\n set: function (session) {\n this._history = session.history;\n },\n enumerable: false,\n configurable: true\n });\n\n Editor.prototype.render = function () {\n var _this = this;\n\n var _a = this.props,\n value = _a.value,\n style = _a.style,\n padding = _a.padding,\n highlight = _a.highlight,\n textareaId = _a.textareaId,\n textareaClassName = _a.textareaClassName,\n autoFocus = _a.autoFocus,\n disabled = _a.disabled,\n form = _a.form,\n maxLength = _a.maxLength,\n minLength = _a.minLength,\n name = _a.name,\n placeholder = _a.placeholder,\n readOnly = _a.readOnly,\n required = _a.required,\n onClick = _a.onClick,\n onFocus = _a.onFocus,\n onBlur = _a.onBlur,\n onKeyUp = _a.onKeyUp,\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n onKeyDown = _a.onKeyDown,\n onValueChange = _a.onValueChange,\n tabSize = _a.tabSize,\n insertSpaces = _a.insertSpaces,\n ignoreTabKey = _a.ignoreTabKey,\n\n /* eslint-enable @typescript-eslint/no-unused-vars */\n preClassName = _a.preClassName,\n rest = __rest(_a, [\"value\", \"style\", \"padding\", \"highlight\", \"textareaId\", \"textareaClassName\", \"autoFocus\", \"disabled\", \"form\", \"maxLength\", \"minLength\", \"name\", \"placeholder\", \"readOnly\", \"required\", \"onClick\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onValueChange\", \"tabSize\", \"insertSpaces\", \"ignoreTabKey\", \"preClassName\"]);\n\n var contentStyle = {\n paddingTop: padding,\n paddingRight: padding,\n paddingBottom: padding,\n paddingLeft: padding\n };\n var highlighted = highlight(value);\n return React.createElement(\"div\", __assign({}, rest, {\n style: __assign(__assign({}, styles.container), style)\n }), React.createElement(\"textarea\", {\n ref: function (c) {\n return _this._input = c;\n },\n style: __assign(__assign(__assign({}, styles.editor), styles.textarea), contentStyle),\n className: className + (textareaClassName ? \" \".concat(textareaClassName) : ''),\n id: textareaId,\n value: value,\n onChange: this._handleChange,\n onKeyDown: this._handleKeyDown,\n onClick: onClick,\n onKeyUp: onKeyUp,\n onFocus: onFocus,\n onBlur: onBlur,\n disabled: disabled,\n form: form,\n maxLength: maxLength,\n minLength: minLength,\n name: name,\n placeholder: placeholder,\n readOnly: readOnly,\n required: required,\n autoFocus: autoFocus,\n autoCapitalize: \"off\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n \"data-gramm\": false\n }), React.createElement(\"pre\", __assign({\n className: preClassName,\n \"aria-hidden\": \"true\",\n style: __assign(__assign(__assign({}, styles.editor), styles.highlight), contentStyle)\n }, typeof highlighted === 'string' ? {\n dangerouslySetInnerHTML: {\n __html: highlighted + '
'\n }\n } : {\n children: highlighted\n })), React.createElement(\"style\", {\n type: \"text/css\",\n dangerouslySetInnerHTML: {\n __html: cssText\n }\n }));\n };\n\n Editor.defaultProps = {\n tabSize: 2,\n insertSpaces: true,\n ignoreTabKey: false,\n padding: 0\n };\n return Editor;\n}(React.Component);\n\nexports.default = Editor;\nvar styles = {\n container: {\n position: 'relative',\n textAlign: 'left',\n boxSizing: 'border-box',\n padding: 0,\n overflow: 'hidden'\n },\n textarea: {\n position: 'absolute',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%',\n resize: 'none',\n color: 'inherit',\n overflow: 'hidden',\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n WebkitTextFillColor: 'transparent'\n },\n highlight: {\n position: 'relative',\n pointerEvents: 'none'\n },\n editor: {\n margin: 0,\n border: 0,\n background: 'none',\n boxSizing: 'inherit',\n display: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n fontStyle: 'inherit',\n fontVariantLigatures: 'inherit',\n fontWeight: 'inherit',\n letterSpacing: 'inherit',\n lineHeight: 'inherit',\n tabSize: 'inherit',\n textIndent: 'inherit',\n textRendering: 'inherit',\n textTransform: 'inherit',\n whiteSpace: 'pre-wrap',\n wordBreak: 'keep-all',\n overflowWrap: 'break-word'\n }\n};","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\n\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\nexports.strings = ['\\xA9\\uFE0F', '\\xAE\\uFE0F', '\\u203C\\uFE0F', '\\u2049\\uFE0F', '\\u2122\\uFE0F', '\\u2139\\uFE0F', '\\u2194\\uFE0F', '\\u2195\\uFE0F', '\\u2196\\uFE0F', '\\u2197\\uFE0F', '\\u2198\\uFE0F', '\\u2199\\uFE0F', '\\u21A9\\uFE0F', '\\u21AA\\uFE0F', '\\u2328\\uFE0F', '\\u23CF\\uFE0F', '\\u23ED\\uFE0F', '\\u23EE\\uFE0F', '\\u23EF\\uFE0F', '\\u23F1\\uFE0F', '\\u23F2\\uFE0F', '\\u23F8\\uFE0F', '\\u23F9\\uFE0F', '\\u23FA\\uFE0F', '\\u24C2\\uFE0F', '\\u25AA\\uFE0F', '\\u25AB\\uFE0F', '\\u25B6\\uFE0F', '\\u25C0\\uFE0F', '\\u25FB\\uFE0F', '\\u25FC\\uFE0F', '\\u2600\\uFE0F', '\\u2601\\uFE0F', '\\u2602\\uFE0F', '\\u2603\\uFE0F', '\\u2604\\uFE0F', '\\u260E\\uFE0F', '\\u2611\\uFE0F', '\\u2618\\uFE0F', '\\u261D\\uFE0F', '\\u2620\\uFE0F', '\\u2622\\uFE0F', '\\u2623\\uFE0F', '\\u2626\\uFE0F', '\\u262A\\uFE0F', '\\u262E\\uFE0F', '\\u262F\\uFE0F', '\\u2638\\uFE0F', '\\u2639\\uFE0F', '\\u263A\\uFE0F', '\\u2640\\uFE0F', '\\u2642\\uFE0F', '\\u265F\\uFE0F', '\\u2660\\uFE0F', '\\u2663\\uFE0F', '\\u2665\\uFE0F', '\\u2666\\uFE0F', '\\u2668\\uFE0F', '\\u267B\\uFE0F', '\\u267E\\uFE0F', '\\u2692\\uFE0F', '\\u2694\\uFE0F', '\\u2695\\uFE0F', '\\u2696\\uFE0F', '\\u2697\\uFE0F', '\\u2699\\uFE0F', '\\u269B\\uFE0F', '\\u269C\\uFE0F', '\\u26A0\\uFE0F', '\\u26A7\\uFE0F', '\\u26B0\\uFE0F', '\\u26B1\\uFE0F', '\\u26C8\\uFE0F', '\\u26CF\\uFE0F', '\\u26D1\\uFE0F', '\\u26D3\\uFE0F', '\\u26E9\\uFE0F', '\\u26F0\\uFE0F', '\\u26F1\\uFE0F', '\\u26F4\\uFE0F', '\\u26F7\\uFE0F', '\\u26F8\\uFE0F', '\\u26F9\\uFE0F', '\\u2702\\uFE0F', '\\u2708\\uFE0F', '\\u2709\\uFE0F', '\\u270C\\uFE0F', '\\u270D\\uFE0F', '\\u270F\\uFE0F', '\\u2712\\uFE0F', '\\u2714\\uFE0F', '\\u2716\\uFE0F', '\\u271D\\uFE0F', '\\u2721\\uFE0F', '\\u2733\\uFE0F', '\\u2734\\uFE0F', '\\u2744\\uFE0F', '\\u2747\\uFE0F', '\\u2763\\uFE0F', '\\u2764\\uFE0F', '\\u27A1\\uFE0F', '\\u2934\\uFE0F', '\\u2935\\uFE0F', '\\u2B05\\uFE0F', '\\u2B06\\uFE0F', '\\u2B07\\uFE0F', '\\u3030\\uFE0F', '\\u303D\\uFE0F', '\\u3297\\uFE0F', '\\u3299\\uFE0F', '\\u{1F170}\\uFE0F', '\\u{1F171}\\uFE0F', '\\u{1F17E}\\uFE0F', '\\u{1F17F}\\uFE0F', '\\u{1F202}\\uFE0F', '\\u{1F237}\\uFE0F', '\\u{1F321}\\uFE0F', '\\u{1F324}\\uFE0F', '\\u{1F325}\\uFE0F', '\\u{1F326}\\uFE0F', '\\u{1F327}\\uFE0F', '\\u{1F328}\\uFE0F', '\\u{1F329}\\uFE0F', '\\u{1F32A}\\uFE0F', '\\u{1F32B}\\uFE0F', '\\u{1F32C}\\uFE0F', '\\u{1F336}\\uFE0F', '\\u{1F37D}\\uFE0F', '\\u{1F396}\\uFE0F', '\\u{1F397}\\uFE0F', '\\u{1F399}\\uFE0F', '\\u{1F39A}\\uFE0F', '\\u{1F39B}\\uFE0F', '\\u{1F39E}\\uFE0F', '\\u{1F39F}\\uFE0F', '\\u{1F3CB}\\uFE0F', '\\u{1F3CC}\\uFE0F', '\\u{1F3CD}\\uFE0F', '\\u{1F3CE}\\uFE0F', '\\u{1F3D4}\\uFE0F', '\\u{1F3D5}\\uFE0F', '\\u{1F3D6}\\uFE0F', '\\u{1F3D7}\\uFE0F', '\\u{1F3D8}\\uFE0F', '\\u{1F3D9}\\uFE0F', '\\u{1F3DA}\\uFE0F', '\\u{1F3DB}\\uFE0F', '\\u{1F3DC}\\uFE0F', '\\u{1F3DD}\\uFE0F', '\\u{1F3DE}\\uFE0F', '\\u{1F3DF}\\uFE0F', '\\u{1F3F3}\\uFE0F', '\\u{1F3F5}\\uFE0F', '\\u{1F3F7}\\uFE0F', '\\u{1F43F}\\uFE0F', '\\u{1F441}\\uFE0F', '\\u{1F4FD}\\uFE0F', '\\u{1F549}\\uFE0F', '\\u{1F54A}\\uFE0F', '\\u{1F56F}\\uFE0F', '\\u{1F570}\\uFE0F', '\\u{1F573}\\uFE0F', '\\u{1F574}\\uFE0F', '\\u{1F575}\\uFE0F', '\\u{1F576}\\uFE0F', '\\u{1F577}\\uFE0F', '\\u{1F578}\\uFE0F', '\\u{1F579}\\uFE0F', '\\u{1F587}\\uFE0F', '\\u{1F58A}\\uFE0F', '\\u{1F58B}\\uFE0F', '\\u{1F58C}\\uFE0F', '\\u{1F58D}\\uFE0F', '\\u{1F590}\\uFE0F', '\\u{1F5A5}\\uFE0F', '\\u{1F5A8}\\uFE0F', '\\u{1F5B1}\\uFE0F', '\\u{1F5B2}\\uFE0F', '\\u{1F5BC}\\uFE0F', '\\u{1F5C2}\\uFE0F', '\\u{1F5C3}\\uFE0F', '\\u{1F5C4}\\uFE0F', '\\u{1F5D1}\\uFE0F', '\\u{1F5D2}\\uFE0F', '\\u{1F5D3}\\uFE0F', '\\u{1F5DC}\\uFE0F', '\\u{1F5DD}\\uFE0F', '\\u{1F5DE}\\uFE0F', '\\u{1F5E1}\\uFE0F', '\\u{1F5E3}\\uFE0F', '\\u{1F5E8}\\uFE0F', '\\u{1F5EF}\\uFE0F', '\\u{1F5F3}\\uFE0F', '\\u{1F5FA}\\uFE0F', '\\u{1F6CB}\\uFE0F', '\\u{1F6CD}\\uFE0F', '\\u{1F6CE}\\uFE0F', '\\u{1F6CF}\\uFE0F', '\\u{1F6E0}\\uFE0F', '\\u{1F6E1}\\uFE0F', '\\u{1F6E2}\\uFE0F', '\\u{1F6E3}\\uFE0F', '\\u{1F6E4}\\uFE0F', '\\u{1F6E5}\\uFE0F', '\\u{1F6E9}\\uFE0F', '\\u{1F6F0}\\uFE0F', '\\u{1F6F3}\\uFE0F'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['#\\uFE0F\\u20E3', '*\\uFE0F\\u20E3', '0\\uFE0F\\u20E3', '1\\uFE0F\\u20E3', '2\\uFE0F\\u20E3', '3\\uFE0F\\u20E3', '4\\uFE0F\\u20E3', '5\\uFE0F\\u20E3', '6\\uFE0F\\u20E3', '7\\uFE0F\\u20E3', '8\\uFE0F\\u20E3', '9\\uFE0F\\u20E3'];","const set = require('regenerate')(0x23F0, 0x23F3, 0x267F, 0x2693, 0x26A1, 0x26CE, 0x26D4, 0x26EA, 0x26F5, 0x26FA, 0x26FD, 0x2705, 0x2728, 0x274C, 0x274E, 0x2757, 0x27B0, 0x27BF, 0x2B50, 0x2B55, 0x1F004, 0x1F0CF, 0x1F18E, 0x1F201, 0x1F21A, 0x1F22F, 0x1F3F4, 0x1F440, 0x1F57A, 0x1F5A4, 0x1F6CC, 0x1F7F0);\n\nset.addRange(0x231A, 0x231B).addRange(0x23E9, 0x23EC).addRange(0x25FD, 0x25FE).addRange(0x2614, 0x2615).addRange(0x2648, 0x2653).addRange(0x26AA, 0x26AB).addRange(0x26BD, 0x26BE).addRange(0x26C4, 0x26C5).addRange(0x26F2, 0x26F3).addRange(0x270A, 0x270B).addRange(0x2753, 0x2755).addRange(0x2795, 0x2797).addRange(0x2B1B, 0x2B1C).addRange(0x1F191, 0x1F19A).addRange(0x1F232, 0x1F236).addRange(0x1F238, 0x1F23A).addRange(0x1F250, 0x1F251).addRange(0x1F300, 0x1F320).addRange(0x1F32D, 0x1F335).addRange(0x1F337, 0x1F37C).addRange(0x1F37E, 0x1F393).addRange(0x1F3A0, 0x1F3CA).addRange(0x1F3CF, 0x1F3D3).addRange(0x1F3E0, 0x1F3F0).addRange(0x1F3F8, 0x1F43E).addRange(0x1F442, 0x1F4FC).addRange(0x1F4FF, 0x1F53D).addRange(0x1F54B, 0x1F54E).addRange(0x1F550, 0x1F567).addRange(0x1F595, 0x1F596).addRange(0x1F5FB, 0x1F64F).addRange(0x1F680, 0x1F6C5).addRange(0x1F6D0, 0x1F6D2).addRange(0x1F6D5, 0x1F6D7).addRange(0x1F6DC, 0x1F6DF).addRange(0x1F6EB, 0x1F6EC).addRange(0x1F6F4, 0x1F6FC).addRange(0x1F7E0, 0x1F7EB).addRange(0x1F90C, 0x1F93A).addRange(0x1F93C, 0x1F945).addRange(0x1F947, 0x1F9FF).addRange(0x1FA70, 0x1FA7C).addRange(0x1FA80, 0x1FA88).addRange(0x1FA90, 0x1FABD).addRange(0x1FABF, 0x1FAC5).addRange(0x1FACE, 0x1FADB).addRange(0x1FAE0, 0x1FAE8).addRange(0x1FAF0, 0x1FAF8);\nexports.characters = set;\nexports.strings = ['#\\uFE0F\\u20E3', '*\\uFE0F\\u20E3', '0\\uFE0F\\u20E3', '1\\uFE0F\\u20E3', '2\\uFE0F\\u20E3', '3\\uFE0F\\u20E3', '4\\uFE0F\\u20E3', '5\\uFE0F\\u20E3', '6\\uFE0F\\u20E3', '7\\uFE0F\\u20E3', '8\\uFE0F\\u20E3', '9\\uFE0F\\u20E3', '\\xA9\\uFE0F', '\\xAE\\uFE0F', '\\u203C\\uFE0F', '\\u2049\\uFE0F', '\\u2122\\uFE0F', '\\u2139\\uFE0F', '\\u2194\\uFE0F', '\\u2195\\uFE0F', '\\u2196\\uFE0F', '\\u2197\\uFE0F', '\\u2198\\uFE0F', '\\u2199\\uFE0F', '\\u21A9\\uFE0F', '\\u21AA\\uFE0F', '\\u2328\\uFE0F', '\\u23CF\\uFE0F', '\\u23ED\\uFE0F', '\\u23EE\\uFE0F', '\\u23EF\\uFE0F', '\\u23F1\\uFE0F', '\\u23F2\\uFE0F', '\\u23F8\\uFE0F', '\\u23F9\\uFE0F', '\\u23FA\\uFE0F', '\\u24C2\\uFE0F', '\\u25AA\\uFE0F', '\\u25AB\\uFE0F', '\\u25B6\\uFE0F', '\\u25C0\\uFE0F', '\\u25FB\\uFE0F', '\\u25FC\\uFE0F', '\\u2600\\uFE0F', '\\u2601\\uFE0F', '\\u2602\\uFE0F', '\\u2603\\uFE0F', '\\u2604\\uFE0F', '\\u260E\\uFE0F', '\\u2611\\uFE0F', '\\u2618\\uFE0F', '\\u261D\\u{1F3FB}', '\\u261D\\u{1F3FC}', '\\u261D\\u{1F3FD}', '\\u261D\\u{1F3FE}', '\\u261D\\u{1F3FF}', '\\u261D\\uFE0F', '\\u2620\\uFE0F', '\\u2622\\uFE0F', '\\u2623\\uFE0F', '\\u2626\\uFE0F', '\\u262A\\uFE0F', '\\u262E\\uFE0F', '\\u262F\\uFE0F', '\\u2638\\uFE0F', '\\u2639\\uFE0F', '\\u263A\\uFE0F', '\\u2640\\uFE0F', '\\u2642\\uFE0F', '\\u265F\\uFE0F', '\\u2660\\uFE0F', '\\u2663\\uFE0F', '\\u2665\\uFE0F', '\\u2666\\uFE0F', '\\u2668\\uFE0F', '\\u267B\\uFE0F', '\\u267E\\uFE0F', '\\u2692\\uFE0F', '\\u2694\\uFE0F', '\\u2695\\uFE0F', '\\u2696\\uFE0F', '\\u2697\\uFE0F', '\\u2699\\uFE0F', '\\u269B\\uFE0F', '\\u269C\\uFE0F', '\\u26A0\\uFE0F', '\\u26A7\\uFE0F', '\\u26B0\\uFE0F', '\\u26B1\\uFE0F', '\\u26C8\\uFE0F', '\\u26CF\\uFE0F', '\\u26D1\\uFE0F', '\\u26D3\\uFE0F', '\\u26E9\\uFE0F', '\\u26F0\\uFE0F', '\\u26F1\\uFE0F', '\\u26F4\\uFE0F', '\\u26F7\\uFE0F', '\\u26F8\\uFE0F', '\\u26F9\\u{1F3FB}', '\\u26F9\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FC}', '\\u26F9\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FD}', '\\u26F9\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FE}', '\\u26F9\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FF}', '\\u26F9\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u26F9\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F', '\\u2702\\uFE0F', '\\u2708\\uFE0F', '\\u2709\\uFE0F', '\\u270A\\u{1F3FB}', '\\u270A\\u{1F3FC}', '\\u270A\\u{1F3FD}', '\\u270A\\u{1F3FE}', '\\u270A\\u{1F3FF}', '\\u270B\\u{1F3FB}', '\\u270B\\u{1F3FC}', '\\u270B\\u{1F3FD}', '\\u270B\\u{1F3FE}', '\\u270B\\u{1F3FF}', '\\u270C\\u{1F3FB}', '\\u270C\\u{1F3FC}', '\\u270C\\u{1F3FD}', '\\u270C\\u{1F3FE}', '\\u270C\\u{1F3FF}', '\\u270C\\uFE0F', '\\u270D\\u{1F3FB}', '\\u270D\\u{1F3FC}', '\\u270D\\u{1F3FD}', '\\u270D\\u{1F3FE}', '\\u270D\\u{1F3FF}', '\\u270D\\uFE0F', '\\u270F\\uFE0F', '\\u2712\\uFE0F', '\\u2714\\uFE0F', '\\u2716\\uFE0F', '\\u271D\\uFE0F', '\\u2721\\uFE0F', '\\u2733\\uFE0F', '\\u2734\\uFE0F', '\\u2744\\uFE0F', '\\u2747\\uFE0F', '\\u2763\\uFE0F', '\\u2764\\uFE0F', '\\u2764\\uFE0F\\u200D\\u{1F525}', '\\u2764\\uFE0F\\u200D\\u{1FA79}', '\\u27A1\\uFE0F', '\\u2934\\uFE0F', '\\u2935\\uFE0F', '\\u2B05\\uFE0F', '\\u2B06\\uFE0F', '\\u2B07\\uFE0F', '\\u3030\\uFE0F', '\\u303D\\uFE0F', '\\u3297\\uFE0F', '\\u3299\\uFE0F', '\\u{1F170}\\uFE0F', '\\u{1F171}\\uFE0F', '\\u{1F17E}\\uFE0F', '\\u{1F17F}\\uFE0F', '\\u{1F1E6}\\u{1F1E8}', '\\u{1F1E6}\\u{1F1E9}', '\\u{1F1E6}\\u{1F1EA}', '\\u{1F1E6}\\u{1F1EB}', '\\u{1F1E6}\\u{1F1EC}', '\\u{1F1E6}\\u{1F1EE}', '\\u{1F1E6}\\u{1F1F1}', '\\u{1F1E6}\\u{1F1F2}', '\\u{1F1E6}\\u{1F1F4}', '\\u{1F1E6}\\u{1F1F6}', '\\u{1F1E6}\\u{1F1F7}', '\\u{1F1E6}\\u{1F1F8}', '\\u{1F1E6}\\u{1F1F9}', '\\u{1F1E6}\\u{1F1FA}', '\\u{1F1E6}\\u{1F1FC}', '\\u{1F1E6}\\u{1F1FD}', '\\u{1F1E6}\\u{1F1FF}', '\\u{1F1E7}\\u{1F1E6}', '\\u{1F1E7}\\u{1F1E7}', '\\u{1F1E7}\\u{1F1E9}', '\\u{1F1E7}\\u{1F1EA}', '\\u{1F1E7}\\u{1F1EB}', '\\u{1F1E7}\\u{1F1EC}', '\\u{1F1E7}\\u{1F1ED}', '\\u{1F1E7}\\u{1F1EE}', '\\u{1F1E7}\\u{1F1EF}', '\\u{1F1E7}\\u{1F1F1}', '\\u{1F1E7}\\u{1F1F2}', '\\u{1F1E7}\\u{1F1F3}', '\\u{1F1E7}\\u{1F1F4}', '\\u{1F1E7}\\u{1F1F6}', '\\u{1F1E7}\\u{1F1F7}', '\\u{1F1E7}\\u{1F1F8}', '\\u{1F1E7}\\u{1F1F9}', '\\u{1F1E7}\\u{1F1FB}', '\\u{1F1E7}\\u{1F1FC}', '\\u{1F1E7}\\u{1F1FE}', '\\u{1F1E7}\\u{1F1FF}', '\\u{1F1E8}\\u{1F1E6}', '\\u{1F1E8}\\u{1F1E8}', '\\u{1F1E8}\\u{1F1E9}', '\\u{1F1E8}\\u{1F1EB}', '\\u{1F1E8}\\u{1F1EC}', '\\u{1F1E8}\\u{1F1ED}', '\\u{1F1E8}\\u{1F1EE}', '\\u{1F1E8}\\u{1F1F0}', '\\u{1F1E8}\\u{1F1F1}', '\\u{1F1E8}\\u{1F1F2}', '\\u{1F1E8}\\u{1F1F3}', '\\u{1F1E8}\\u{1F1F4}', '\\u{1F1E8}\\u{1F1F5}', '\\u{1F1E8}\\u{1F1F7}', '\\u{1F1E8}\\u{1F1FA}', '\\u{1F1E8}\\u{1F1FB}', '\\u{1F1E8}\\u{1F1FC}', '\\u{1F1E8}\\u{1F1FD}', '\\u{1F1E8}\\u{1F1FE}', '\\u{1F1E8}\\u{1F1FF}', '\\u{1F1E9}\\u{1F1EA}', '\\u{1F1E9}\\u{1F1EC}', '\\u{1F1E9}\\u{1F1EF}', '\\u{1F1E9}\\u{1F1F0}', '\\u{1F1E9}\\u{1F1F2}', '\\u{1F1E9}\\u{1F1F4}', '\\u{1F1E9}\\u{1F1FF}', '\\u{1F1EA}\\u{1F1E6}', '\\u{1F1EA}\\u{1F1E8}', '\\u{1F1EA}\\u{1F1EA}', '\\u{1F1EA}\\u{1F1EC}', '\\u{1F1EA}\\u{1F1ED}', '\\u{1F1EA}\\u{1F1F7}', '\\u{1F1EA}\\u{1F1F8}', '\\u{1F1EA}\\u{1F1F9}', '\\u{1F1EA}\\u{1F1FA}', '\\u{1F1EB}\\u{1F1EE}', '\\u{1F1EB}\\u{1F1EF}', '\\u{1F1EB}\\u{1F1F0}', '\\u{1F1EB}\\u{1F1F2}', '\\u{1F1EB}\\u{1F1F4}', '\\u{1F1EB}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1E6}', '\\u{1F1EC}\\u{1F1E7}', '\\u{1F1EC}\\u{1F1E9}', '\\u{1F1EC}\\u{1F1EA}', '\\u{1F1EC}\\u{1F1EB}', '\\u{1F1EC}\\u{1F1EC}', '\\u{1F1EC}\\u{1F1ED}', '\\u{1F1EC}\\u{1F1EE}', '\\u{1F1EC}\\u{1F1F1}', '\\u{1F1EC}\\u{1F1F2}', '\\u{1F1EC}\\u{1F1F3}', '\\u{1F1EC}\\u{1F1F5}', '\\u{1F1EC}\\u{1F1F6}', '\\u{1F1EC}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1F8}', '\\u{1F1EC}\\u{1F1F9}', '\\u{1F1EC}\\u{1F1FA}', '\\u{1F1EC}\\u{1F1FC}', '\\u{1F1EC}\\u{1F1FE}', '\\u{1F1ED}\\u{1F1F0}', '\\u{1F1ED}\\u{1F1F2}', '\\u{1F1ED}\\u{1F1F3}', '\\u{1F1ED}\\u{1F1F7}', '\\u{1F1ED}\\u{1F1F9}', '\\u{1F1ED}\\u{1F1FA}', '\\u{1F1EE}\\u{1F1E8}', '\\u{1F1EE}\\u{1F1E9}', '\\u{1F1EE}\\u{1F1EA}', '\\u{1F1EE}\\u{1F1F1}', '\\u{1F1EE}\\u{1F1F2}', '\\u{1F1EE}\\u{1F1F3}', '\\u{1F1EE}\\u{1F1F4}', '\\u{1F1EE}\\u{1F1F6}', '\\u{1F1EE}\\u{1F1F7}', '\\u{1F1EE}\\u{1F1F8}', '\\u{1F1EE}\\u{1F1F9}', '\\u{1F1EF}\\u{1F1EA}', '\\u{1F1EF}\\u{1F1F2}', '\\u{1F1EF}\\u{1F1F4}', '\\u{1F1EF}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1EA}', '\\u{1F1F0}\\u{1F1EC}', '\\u{1F1F0}\\u{1F1ED}', '\\u{1F1F0}\\u{1F1EE}', '\\u{1F1F0}\\u{1F1F2}', '\\u{1F1F0}\\u{1F1F3}', '\\u{1F1F0}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1F7}', '\\u{1F1F0}\\u{1F1FC}', '\\u{1F1F0}\\u{1F1FE}', '\\u{1F1F0}\\u{1F1FF}', '\\u{1F1F1}\\u{1F1E6}', '\\u{1F1F1}\\u{1F1E7}', '\\u{1F1F1}\\u{1F1E8}', '\\u{1F1F1}\\u{1F1EE}', '\\u{1F1F1}\\u{1F1F0}', '\\u{1F1F1}\\u{1F1F7}', '\\u{1F1F1}\\u{1F1F8}', '\\u{1F1F1}\\u{1F1F9}', '\\u{1F1F1}\\u{1F1FA}', '\\u{1F1F1}\\u{1F1FB}', '\\u{1F1F1}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1E6}', '\\u{1F1F2}\\u{1F1E8}', '\\u{1F1F2}\\u{1F1E9}', '\\u{1F1F2}\\u{1F1EA}', '\\u{1F1F2}\\u{1F1EB}', '\\u{1F1F2}\\u{1F1EC}', '\\u{1F1F2}\\u{1F1ED}', '\\u{1F1F2}\\u{1F1F0}', '\\u{1F1F2}\\u{1F1F1}', '\\u{1F1F2}\\u{1F1F2}', '\\u{1F1F2}\\u{1F1F3}', '\\u{1F1F2}\\u{1F1F4}', '\\u{1F1F2}\\u{1F1F5}', '\\u{1F1F2}\\u{1F1F6}', '\\u{1F1F2}\\u{1F1F7}', '\\u{1F1F2}\\u{1F1F8}', '\\u{1F1F2}\\u{1F1F9}', '\\u{1F1F2}\\u{1F1FA}', '\\u{1F1F2}\\u{1F1FB}', '\\u{1F1F2}\\u{1F1FC}', '\\u{1F1F2}\\u{1F1FD}', '\\u{1F1F2}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1FF}', '\\u{1F1F3}\\u{1F1E6}', '\\u{1F1F3}\\u{1F1E8}', '\\u{1F1F3}\\u{1F1EA}', '\\u{1F1F3}\\u{1F1EB}', '\\u{1F1F3}\\u{1F1EC}', '\\u{1F1F3}\\u{1F1EE}', '\\u{1F1F3}\\u{1F1F1}', '\\u{1F1F3}\\u{1F1F4}', '\\u{1F1F3}\\u{1F1F5}', '\\u{1F1F3}\\u{1F1F7}', '\\u{1F1F3}\\u{1F1FA}', '\\u{1F1F3}\\u{1F1FF}', '\\u{1F1F4}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1E6}', '\\u{1F1F5}\\u{1F1EA}', '\\u{1F1F5}\\u{1F1EB}', '\\u{1F1F5}\\u{1F1EC}', '\\u{1F1F5}\\u{1F1ED}', '\\u{1F1F5}\\u{1F1F0}', '\\u{1F1F5}\\u{1F1F1}', '\\u{1F1F5}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1F3}', '\\u{1F1F5}\\u{1F1F7}', '\\u{1F1F5}\\u{1F1F8}', '\\u{1F1F5}\\u{1F1F9}', '\\u{1F1F5}\\u{1F1FC}', '\\u{1F1F5}\\u{1F1FE}', '\\u{1F1F6}\\u{1F1E6}', '\\u{1F1F7}\\u{1F1EA}', '\\u{1F1F7}\\u{1F1F4}', '\\u{1F1F7}\\u{1F1F8}', '\\u{1F1F7}\\u{1F1FA}', '\\u{1F1F7}\\u{1F1FC}', '\\u{1F1F8}\\u{1F1E6}', '\\u{1F1F8}\\u{1F1E7}', '\\u{1F1F8}\\u{1F1E8}', '\\u{1F1F8}\\u{1F1E9}', '\\u{1F1F8}\\u{1F1EA}', '\\u{1F1F8}\\u{1F1EC}', '\\u{1F1F8}\\u{1F1ED}', '\\u{1F1F8}\\u{1F1EE}', '\\u{1F1F8}\\u{1F1EF}', '\\u{1F1F8}\\u{1F1F0}', '\\u{1F1F8}\\u{1F1F1}', '\\u{1F1F8}\\u{1F1F2}', '\\u{1F1F8}\\u{1F1F3}', '\\u{1F1F8}\\u{1F1F4}', '\\u{1F1F8}\\u{1F1F7}', '\\u{1F1F8}\\u{1F1F8}', '\\u{1F1F8}\\u{1F1F9}', '\\u{1F1F8}\\u{1F1FB}', '\\u{1F1F8}\\u{1F1FD}', '\\u{1F1F8}\\u{1F1FE}', '\\u{1F1F8}\\u{1F1FF}', '\\u{1F1F9}\\u{1F1E6}', '\\u{1F1F9}\\u{1F1E8}', '\\u{1F1F9}\\u{1F1E9}', '\\u{1F1F9}\\u{1F1EB}', '\\u{1F1F9}\\u{1F1EC}', '\\u{1F1F9}\\u{1F1ED}', '\\u{1F1F9}\\u{1F1EF}', '\\u{1F1F9}\\u{1F1F0}', '\\u{1F1F9}\\u{1F1F1}', '\\u{1F1F9}\\u{1F1F2}', '\\u{1F1F9}\\u{1F1F3}', '\\u{1F1F9}\\u{1F1F4}', '\\u{1F1F9}\\u{1F1F7}', '\\u{1F1F9}\\u{1F1F9}', '\\u{1F1F9}\\u{1F1FB}', '\\u{1F1F9}\\u{1F1FC}', '\\u{1F1F9}\\u{1F1FF}', '\\u{1F1FA}\\u{1F1E6}', '\\u{1F1FA}\\u{1F1EC}', '\\u{1F1FA}\\u{1F1F2}', '\\u{1F1FA}\\u{1F1F3}', '\\u{1F1FA}\\u{1F1F8}', '\\u{1F1FA}\\u{1F1FE}', '\\u{1F1FA}\\u{1F1FF}', '\\u{1F1FB}\\u{1F1E6}', '\\u{1F1FB}\\u{1F1E8}', '\\u{1F1FB}\\u{1F1EA}', '\\u{1F1FB}\\u{1F1EC}', '\\u{1F1FB}\\u{1F1EE}', '\\u{1F1FB}\\u{1F1F3}', '\\u{1F1FB}\\u{1F1FA}', '\\u{1F1FC}\\u{1F1EB}', '\\u{1F1FC}\\u{1F1F8}', '\\u{1F1FD}\\u{1F1F0}', '\\u{1F1FE}\\u{1F1EA}', '\\u{1F1FE}\\u{1F1F9}', '\\u{1F1FF}\\u{1F1E6}', '\\u{1F1FF}\\u{1F1F2}', '\\u{1F1FF}\\u{1F1FC}', '\\u{1F202}\\uFE0F', '\\u{1F237}\\uFE0F', '\\u{1F321}\\uFE0F', '\\u{1F324}\\uFE0F', '\\u{1F325}\\uFE0F', '\\u{1F326}\\uFE0F', '\\u{1F327}\\uFE0F', '\\u{1F328}\\uFE0F', '\\u{1F329}\\uFE0F', '\\u{1F32A}\\uFE0F', '\\u{1F32B}\\uFE0F', '\\u{1F32C}\\uFE0F', '\\u{1F336}\\uFE0F', '\\u{1F37D}\\uFE0F', '\\u{1F385}\\u{1F3FB}', '\\u{1F385}\\u{1F3FC}', '\\u{1F385}\\u{1F3FD}', '\\u{1F385}\\u{1F3FE}', '\\u{1F385}\\u{1F3FF}', '\\u{1F396}\\uFE0F', '\\u{1F397}\\uFE0F', '\\u{1F399}\\uFE0F', '\\u{1F39A}\\uFE0F', '\\u{1F39B}\\uFE0F', '\\u{1F39E}\\uFE0F', '\\u{1F39F}\\uFE0F', '\\u{1F3C2}\\u{1F3FB}', '\\u{1F3C2}\\u{1F3FC}', '\\u{1F3C2}\\u{1F3FD}', '\\u{1F3C2}\\u{1F3FE}', '\\u{1F3C2}\\u{1F3FF}', '\\u{1F3C3}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FB}', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FC}', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FD}', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FE}', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FF}', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FB}', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FC}', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FD}', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FE}', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FF}', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3C7}\\u{1F3FB}', '\\u{1F3C7}\\u{1F3FC}', '\\u{1F3C7}\\u{1F3FD}', '\\u{1F3C7}\\u{1F3FE}', '\\u{1F3C7}\\u{1F3FF}', '\\u{1F3CA}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FB}', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FC}', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FD}', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FE}', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FF}', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FB}', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FC}', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FD}', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FE}', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FF}', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FB}', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FC}', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FD}', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FE}', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FF}', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3CD}\\uFE0F', '\\u{1F3CE}\\uFE0F', '\\u{1F3D4}\\uFE0F', '\\u{1F3D5}\\uFE0F', '\\u{1F3D6}\\uFE0F', '\\u{1F3D7}\\uFE0F', '\\u{1F3D8}\\uFE0F', '\\u{1F3D9}\\uFE0F', '\\u{1F3DA}\\uFE0F', '\\u{1F3DB}\\uFE0F', '\\u{1F3DC}\\uFE0F', '\\u{1F3DD}\\uFE0F', '\\u{1F3DE}\\uFE0F', '\\u{1F3DF}\\uFE0F', '\\u{1F3F3}\\uFE0F', '\\u{1F3F3}\\uFE0F\\u200D\\u26A7\\uFE0F', '\\u{1F3F3}\\uFE0F\\u200D\\u{1F308}', '\\u{1F3F4}\\u200D\\u2620\\uFE0F', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0065}\\u{E006E}\\u{E0067}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0073}\\u{E0063}\\u{E0074}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0077}\\u{E006C}\\u{E0073}\\u{E007F}', '\\u{1F3F5}\\uFE0F', '\\u{1F3F7}\\uFE0F', '\\u{1F408}\\u200D\\u2B1B', '\\u{1F415}\\u200D\\u{1F9BA}', '\\u{1F426}\\u200D\\u2B1B', '\\u{1F43B}\\u200D\\u2744\\uFE0F', '\\u{1F43F}\\uFE0F', '\\u{1F441}\\uFE0F', '\\u{1F441}\\uFE0F\\u200D\\u{1F5E8}\\uFE0F', '\\u{1F442}\\u{1F3FB}', '\\u{1F442}\\u{1F3FC}', '\\u{1F442}\\u{1F3FD}', '\\u{1F442}\\u{1F3FE}', '\\u{1F442}\\u{1F3FF}', '\\u{1F443}\\u{1F3FB}', '\\u{1F443}\\u{1F3FC}', '\\u{1F443}\\u{1F3FD}', '\\u{1F443}\\u{1F3FE}', '\\u{1F443}\\u{1F3FF}', '\\u{1F446}\\u{1F3FB}', '\\u{1F446}\\u{1F3FC}', '\\u{1F446}\\u{1F3FD}', '\\u{1F446}\\u{1F3FE}', '\\u{1F446}\\u{1F3FF}', '\\u{1F447}\\u{1F3FB}', '\\u{1F447}\\u{1F3FC}', '\\u{1F447}\\u{1F3FD}', '\\u{1F447}\\u{1F3FE}', '\\u{1F447}\\u{1F3FF}', '\\u{1F448}\\u{1F3FB}', '\\u{1F448}\\u{1F3FC}', '\\u{1F448}\\u{1F3FD}', '\\u{1F448}\\u{1F3FE}', '\\u{1F448}\\u{1F3FF}', '\\u{1F449}\\u{1F3FB}', '\\u{1F449}\\u{1F3FC}', '\\u{1F449}\\u{1F3FD}', '\\u{1F449}\\u{1F3FE}', '\\u{1F449}\\u{1F3FF}', '\\u{1F44A}\\u{1F3FB}', '\\u{1F44A}\\u{1F3FC}', '\\u{1F44A}\\u{1F3FD}', '\\u{1F44A}\\u{1F3FE}', '\\u{1F44A}\\u{1F3FF}', '\\u{1F44B}\\u{1F3FB}', '\\u{1F44B}\\u{1F3FC}', '\\u{1F44B}\\u{1F3FD}', '\\u{1F44B}\\u{1F3FE}', '\\u{1F44B}\\u{1F3FF}', '\\u{1F44C}\\u{1F3FB}', '\\u{1F44C}\\u{1F3FC}', '\\u{1F44C}\\u{1F3FD}', '\\u{1F44C}\\u{1F3FE}', '\\u{1F44C}\\u{1F3FF}', '\\u{1F44D}\\u{1F3FB}', '\\u{1F44D}\\u{1F3FC}', '\\u{1F44D}\\u{1F3FD}', '\\u{1F44D}\\u{1F3FE}', '\\u{1F44D}\\u{1F3FF}', '\\u{1F44E}\\u{1F3FB}', '\\u{1F44E}\\u{1F3FC}', '\\u{1F44E}\\u{1F3FD}', '\\u{1F44E}\\u{1F3FE}', '\\u{1F44E}\\u{1F3FF}', '\\u{1F44F}\\u{1F3FB}', '\\u{1F44F}\\u{1F3FC}', '\\u{1F44F}\\u{1F3FD}', '\\u{1F44F}\\u{1F3FE}', '\\u{1F44F}\\u{1F3FF}', '\\u{1F450}\\u{1F3FB}', '\\u{1F450}\\u{1F3FC}', '\\u{1F450}\\u{1F3FD}', '\\u{1F450}\\u{1F3FE}', '\\u{1F450}\\u{1F3FF}', '\\u{1F466}\\u{1F3FB}', '\\u{1F466}\\u{1F3FC}', '\\u{1F466}\\u{1F3FD}', '\\u{1F466}\\u{1F3FE}', '\\u{1F466}\\u{1F3FF}', '\\u{1F467}\\u{1F3FB}', '\\u{1F467}\\u{1F3FC}', '\\u{1F467}\\u{1F3FD}', '\\u{1F467}\\u{1F3FE}', '\\u{1F467}\\u{1F3FF}', '\\u{1F468}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u{1F33E}', '\\u{1F468}\\u200D\\u{1F373}', '\\u{1F468}\\u200D\\u{1F37C}', '\\u{1F468}\\u200D\\u{1F393}', '\\u{1F468}\\u200D\\u{1F3A4}', '\\u{1F468}\\u200D\\u{1F3A8}', '\\u{1F468}\\u200D\\u{1F3EB}', '\\u{1F468}\\u200D\\u{1F3ED}', '\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F4BB}', '\\u{1F468}\\u200D\\u{1F4BC}', '\\u{1F468}\\u200D\\u{1F527}', '\\u{1F468}\\u200D\\u{1F52C}', '\\u{1F468}\\u200D\\u{1F680}', '\\u{1F468}\\u200D\\u{1F692}', '\\u{1F468}\\u200D\\u{1F9AF}', '\\u{1F468}\\u200D\\u{1F9B0}', '\\u{1F468}\\u200D\\u{1F9B1}', '\\u{1F468}\\u200D\\u{1F9B2}', '\\u{1F468}\\u200D\\u{1F9B3}', '\\u{1F468}\\u200D\\u{1F9BC}', '\\u{1F468}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F469}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u{1F33E}', '\\u{1F469}\\u200D\\u{1F373}', '\\u{1F469}\\u200D\\u{1F37C}', '\\u{1F469}\\u200D\\u{1F393}', '\\u{1F469}\\u200D\\u{1F3A4}', '\\u{1F469}\\u200D\\u{1F3A8}', '\\u{1F469}\\u200D\\u{1F3EB}', '\\u{1F469}\\u200D\\u{1F3ED}', '\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F4BB}', '\\u{1F469}\\u200D\\u{1F4BC}', '\\u{1F469}\\u200D\\u{1F527}', '\\u{1F469}\\u200D\\u{1F52C}', '\\u{1F469}\\u200D\\u{1F680}', '\\u{1F469}\\u200D\\u{1F692}', '\\u{1F469}\\u200D\\u{1F9AF}', '\\u{1F469}\\u200D\\u{1F9B0}', '\\u{1F469}\\u200D\\u{1F9B1}', '\\u{1F469}\\u200D\\u{1F9B2}', '\\u{1F469}\\u200D\\u{1F9B3}', '\\u{1F469}\\u200D\\u{1F9BC}', '\\u{1F469}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F46B}\\u{1F3FB}', '\\u{1F46B}\\u{1F3FC}', '\\u{1F46B}\\u{1F3FD}', '\\u{1F46B}\\u{1F3FE}', '\\u{1F46B}\\u{1F3FF}', '\\u{1F46C}\\u{1F3FB}', '\\u{1F46C}\\u{1F3FC}', '\\u{1F46C}\\u{1F3FD}', '\\u{1F46C}\\u{1F3FE}', '\\u{1F46C}\\u{1F3FF}', '\\u{1F46D}\\u{1F3FB}', '\\u{1F46D}\\u{1F3FC}', '\\u{1F46D}\\u{1F3FD}', '\\u{1F46D}\\u{1F3FE}', '\\u{1F46D}\\u{1F3FF}', '\\u{1F46E}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FB}', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FC}', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FD}', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FE}', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FF}', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F46F}\\u200D\\u2640\\uFE0F', '\\u{1F46F}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FB}', '\\u{1F470}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FC}', '\\u{1F470}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FD}', '\\u{1F470}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FE}', '\\u{1F470}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FF}', '\\u{1F470}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FB}', '\\u{1F471}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FC}', '\\u{1F471}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FD}', '\\u{1F471}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FE}', '\\u{1F471}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FF}', '\\u{1F471}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F472}\\u{1F3FB}', '\\u{1F472}\\u{1F3FC}', '\\u{1F472}\\u{1F3FD}', '\\u{1F472}\\u{1F3FE}', '\\u{1F472}\\u{1F3FF}', '\\u{1F473}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FB}', '\\u{1F473}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FC}', '\\u{1F473}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FD}', '\\u{1F473}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FE}', '\\u{1F473}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FF}', '\\u{1F473}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F474}\\u{1F3FB}', '\\u{1F474}\\u{1F3FC}', '\\u{1F474}\\u{1F3FD}', '\\u{1F474}\\u{1F3FE}', '\\u{1F474}\\u{1F3FF}', '\\u{1F475}\\u{1F3FB}', '\\u{1F475}\\u{1F3FC}', '\\u{1F475}\\u{1F3FD}', '\\u{1F475}\\u{1F3FE}', '\\u{1F475}\\u{1F3FF}', '\\u{1F476}\\u{1F3FB}', '\\u{1F476}\\u{1F3FC}', '\\u{1F476}\\u{1F3FD}', '\\u{1F476}\\u{1F3FE}', '\\u{1F476}\\u{1F3FF}', '\\u{1F477}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FB}', '\\u{1F477}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FC}', '\\u{1F477}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FD}', '\\u{1F477}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FE}', '\\u{1F477}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FF}', '\\u{1F477}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F478}\\u{1F3FB}', '\\u{1F478}\\u{1F3FC}', '\\u{1F478}\\u{1F3FD}', '\\u{1F478}\\u{1F3FE}', '\\u{1F478}\\u{1F3FF}', '\\u{1F47C}\\u{1F3FB}', '\\u{1F47C}\\u{1F3FC}', '\\u{1F47C}\\u{1F3FD}', '\\u{1F47C}\\u{1F3FE}', '\\u{1F47C}\\u{1F3FF}', '\\u{1F481}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FB}', '\\u{1F481}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FC}', '\\u{1F481}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FD}', '\\u{1F481}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FE}', '\\u{1F481}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FF}', '\\u{1F481}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FB}', '\\u{1F482}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FC}', '\\u{1F482}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FD}', '\\u{1F482}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FE}', '\\u{1F482}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FF}', '\\u{1F482}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F483}\\u{1F3FB}', '\\u{1F483}\\u{1F3FC}', '\\u{1F483}\\u{1F3FD}', '\\u{1F483}\\u{1F3FE}', '\\u{1F483}\\u{1F3FF}', '\\u{1F485}\\u{1F3FB}', '\\u{1F485}\\u{1F3FC}', '\\u{1F485}\\u{1F3FD}', '\\u{1F485}\\u{1F3FE}', '\\u{1F485}\\u{1F3FF}', '\\u{1F486}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FB}', '\\u{1F486}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FC}', '\\u{1F486}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FD}', '\\u{1F486}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FE}', '\\u{1F486}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FF}', '\\u{1F486}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FB}', '\\u{1F487}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FC}', '\\u{1F487}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FD}', '\\u{1F487}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FE}', '\\u{1F487}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FF}', '\\u{1F487}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F48F}\\u{1F3FB}', '\\u{1F48F}\\u{1F3FC}', '\\u{1F48F}\\u{1F3FD}', '\\u{1F48F}\\u{1F3FE}', '\\u{1F48F}\\u{1F3FF}', '\\u{1F491}\\u{1F3FB}', '\\u{1F491}\\u{1F3FC}', '\\u{1F491}\\u{1F3FD}', '\\u{1F491}\\u{1F3FE}', '\\u{1F491}\\u{1F3FF}', '\\u{1F4AA}\\u{1F3FB}', '\\u{1F4AA}\\u{1F3FC}', '\\u{1F4AA}\\u{1F3FD}', '\\u{1F4AA}\\u{1F3FE}', '\\u{1F4AA}\\u{1F3FF}', '\\u{1F4FD}\\uFE0F', '\\u{1F549}\\uFE0F', '\\u{1F54A}\\uFE0F', '\\u{1F56F}\\uFE0F', '\\u{1F570}\\uFE0F', '\\u{1F573}\\uFE0F', '\\u{1F574}\\u{1F3FB}', '\\u{1F574}\\u{1F3FC}', '\\u{1F574}\\u{1F3FD}', '\\u{1F574}\\u{1F3FE}', '\\u{1F574}\\u{1F3FF}', '\\u{1F574}\\uFE0F', '\\u{1F575}\\u{1F3FB}', '\\u{1F575}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FC}', '\\u{1F575}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FD}', '\\u{1F575}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FE}', '\\u{1F575}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FF}', '\\u{1F575}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F576}\\uFE0F', '\\u{1F577}\\uFE0F', '\\u{1F578}\\uFE0F', '\\u{1F579}\\uFE0F', '\\u{1F57A}\\u{1F3FB}', '\\u{1F57A}\\u{1F3FC}', '\\u{1F57A}\\u{1F3FD}', '\\u{1F57A}\\u{1F3FE}', '\\u{1F57A}\\u{1F3FF}', '\\u{1F587}\\uFE0F', '\\u{1F58A}\\uFE0F', '\\u{1F58B}\\uFE0F', '\\u{1F58C}\\uFE0F', '\\u{1F58D}\\uFE0F', '\\u{1F590}\\u{1F3FB}', '\\u{1F590}\\u{1F3FC}', '\\u{1F590}\\u{1F3FD}', '\\u{1F590}\\u{1F3FE}', '\\u{1F590}\\u{1F3FF}', '\\u{1F590}\\uFE0F', '\\u{1F595}\\u{1F3FB}', '\\u{1F595}\\u{1F3FC}', '\\u{1F595}\\u{1F3FD}', '\\u{1F595}\\u{1F3FE}', '\\u{1F595}\\u{1F3FF}', '\\u{1F596}\\u{1F3FB}', '\\u{1F596}\\u{1F3FC}', '\\u{1F596}\\u{1F3FD}', '\\u{1F596}\\u{1F3FE}', '\\u{1F596}\\u{1F3FF}', '\\u{1F5A5}\\uFE0F', '\\u{1F5A8}\\uFE0F', '\\u{1F5B1}\\uFE0F', '\\u{1F5B2}\\uFE0F', '\\u{1F5BC}\\uFE0F', '\\u{1F5C2}\\uFE0F', '\\u{1F5C3}\\uFE0F', '\\u{1F5C4}\\uFE0F', '\\u{1F5D1}\\uFE0F', '\\u{1F5D2}\\uFE0F', '\\u{1F5D3}\\uFE0F', '\\u{1F5DC}\\uFE0F', '\\u{1F5DD}\\uFE0F', '\\u{1F5DE}\\uFE0F', '\\u{1F5E1}\\uFE0F', '\\u{1F5E3}\\uFE0F', '\\u{1F5E8}\\uFE0F', '\\u{1F5EF}\\uFE0F', '\\u{1F5F3}\\uFE0F', '\\u{1F5FA}\\uFE0F', '\\u{1F62E}\\u200D\\u{1F4A8}', '\\u{1F635}\\u200D\\u{1F4AB}', '\\u{1F636}\\u200D\\u{1F32B}\\uFE0F', '\\u{1F645}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FB}', '\\u{1F645}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FC}', '\\u{1F645}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FD}', '\\u{1F645}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FE}', '\\u{1F645}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FF}', '\\u{1F645}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FB}', '\\u{1F646}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FC}', '\\u{1F646}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FD}', '\\u{1F646}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FE}', '\\u{1F646}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FF}', '\\u{1F646}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FB}', '\\u{1F647}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FC}', '\\u{1F647}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FD}', '\\u{1F647}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FE}', '\\u{1F647}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FF}', '\\u{1F647}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FB}', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FC}', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FD}', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FE}', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FF}', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64C}\\u{1F3FB}', '\\u{1F64C}\\u{1F3FC}', '\\u{1F64C}\\u{1F3FD}', '\\u{1F64C}\\u{1F3FE}', '\\u{1F64C}\\u{1F3FF}', '\\u{1F64D}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FB}', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FC}', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FD}', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FE}', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FF}', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FB}', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FC}', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FD}', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FE}', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FF}', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64F}\\u{1F3FB}', '\\u{1F64F}\\u{1F3FC}', '\\u{1F64F}\\u{1F3FD}', '\\u{1F64F}\\u{1F3FE}', '\\u{1F64F}\\u{1F3FF}', '\\u{1F6A3}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FB}', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FC}', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FD}', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FE}', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FF}', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FB}', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FC}', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FD}', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FE}', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FF}', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FB}', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FC}', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FD}', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FE}', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FF}', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FB}', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FC}', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FD}', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FE}', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FF}', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6C0}\\u{1F3FB}', '\\u{1F6C0}\\u{1F3FC}', '\\u{1F6C0}\\u{1F3FD}', '\\u{1F6C0}\\u{1F3FE}', '\\u{1F6C0}\\u{1F3FF}', '\\u{1F6CB}\\uFE0F', '\\u{1F6CC}\\u{1F3FB}', '\\u{1F6CC}\\u{1F3FC}', '\\u{1F6CC}\\u{1F3FD}', '\\u{1F6CC}\\u{1F3FE}', '\\u{1F6CC}\\u{1F3FF}', '\\u{1F6CD}\\uFE0F', '\\u{1F6CE}\\uFE0F', '\\u{1F6CF}\\uFE0F', '\\u{1F6E0}\\uFE0F', '\\u{1F6E1}\\uFE0F', '\\u{1F6E2}\\uFE0F', '\\u{1F6E3}\\uFE0F', '\\u{1F6E4}\\uFE0F', '\\u{1F6E5}\\uFE0F', '\\u{1F6E9}\\uFE0F', '\\u{1F6F0}\\uFE0F', '\\u{1F6F3}\\uFE0F', '\\u{1F90C}\\u{1F3FB}', '\\u{1F90C}\\u{1F3FC}', '\\u{1F90C}\\u{1F3FD}', '\\u{1F90C}\\u{1F3FE}', '\\u{1F90C}\\u{1F3FF}', '\\u{1F90F}\\u{1F3FB}', '\\u{1F90F}\\u{1F3FC}', '\\u{1F90F}\\u{1F3FD}', '\\u{1F90F}\\u{1F3FE}', '\\u{1F90F}\\u{1F3FF}', '\\u{1F918}\\u{1F3FB}', '\\u{1F918}\\u{1F3FC}', '\\u{1F918}\\u{1F3FD}', '\\u{1F918}\\u{1F3FE}', '\\u{1F918}\\u{1F3FF}', '\\u{1F919}\\u{1F3FB}', '\\u{1F919}\\u{1F3FC}', '\\u{1F919}\\u{1F3FD}', '\\u{1F919}\\u{1F3FE}', '\\u{1F919}\\u{1F3FF}', '\\u{1F91A}\\u{1F3FB}', '\\u{1F91A}\\u{1F3FC}', '\\u{1F91A}\\u{1F3FD}', '\\u{1F91A}\\u{1F3FE}', '\\u{1F91A}\\u{1F3FF}', '\\u{1F91B}\\u{1F3FB}', '\\u{1F91B}\\u{1F3FC}', '\\u{1F91B}\\u{1F3FD}', '\\u{1F91B}\\u{1F3FE}', '\\u{1F91B}\\u{1F3FF}', '\\u{1F91C}\\u{1F3FB}', '\\u{1F91C}\\u{1F3FC}', '\\u{1F91C}\\u{1F3FD}', '\\u{1F91C}\\u{1F3FE}', '\\u{1F91C}\\u{1F3FF}', '\\u{1F91D}\\u{1F3FB}', '\\u{1F91D}\\u{1F3FC}', '\\u{1F91D}\\u{1F3FD}', '\\u{1F91D}\\u{1F3FE}', '\\u{1F91D}\\u{1F3FF}', '\\u{1F91E}\\u{1F3FB}', '\\u{1F91E}\\u{1F3FC}', '\\u{1F91E}\\u{1F3FD}', '\\u{1F91E}\\u{1F3FE}', '\\u{1F91E}\\u{1F3FF}', '\\u{1F91F}\\u{1F3FB}', '\\u{1F91F}\\u{1F3FC}', '\\u{1F91F}\\u{1F3FD}', '\\u{1F91F}\\u{1F3FE}', '\\u{1F91F}\\u{1F3FF}', '\\u{1F926}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FB}', '\\u{1F926}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FC}', '\\u{1F926}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FD}', '\\u{1F926}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FE}', '\\u{1F926}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FF}', '\\u{1F926}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F930}\\u{1F3FB}', '\\u{1F930}\\u{1F3FC}', '\\u{1F930}\\u{1F3FD}', '\\u{1F930}\\u{1F3FE}', '\\u{1F930}\\u{1F3FF}', '\\u{1F931}\\u{1F3FB}', '\\u{1F931}\\u{1F3FC}', '\\u{1F931}\\u{1F3FD}', '\\u{1F931}\\u{1F3FE}', '\\u{1F931}\\u{1F3FF}', '\\u{1F932}\\u{1F3FB}', '\\u{1F932}\\u{1F3FC}', '\\u{1F932}\\u{1F3FD}', '\\u{1F932}\\u{1F3FE}', '\\u{1F932}\\u{1F3FF}', '\\u{1F933}\\u{1F3FB}', '\\u{1F933}\\u{1F3FC}', '\\u{1F933}\\u{1F3FD}', '\\u{1F933}\\u{1F3FE}', '\\u{1F933}\\u{1F3FF}', '\\u{1F934}\\u{1F3FB}', '\\u{1F934}\\u{1F3FC}', '\\u{1F934}\\u{1F3FD}', '\\u{1F934}\\u{1F3FE}', '\\u{1F934}\\u{1F3FF}', '\\u{1F935}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FB}', '\\u{1F935}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FC}', '\\u{1F935}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FD}', '\\u{1F935}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FE}', '\\u{1F935}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FF}', '\\u{1F935}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F936}\\u{1F3FB}', '\\u{1F936}\\u{1F3FC}', '\\u{1F936}\\u{1F3FD}', '\\u{1F936}\\u{1F3FE}', '\\u{1F936}\\u{1F3FF}', '\\u{1F937}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FB}', '\\u{1F937}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FC}', '\\u{1F937}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FD}', '\\u{1F937}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FE}', '\\u{1F937}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FF}', '\\u{1F937}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FB}', '\\u{1F938}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FC}', '\\u{1F938}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FD}', '\\u{1F938}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FE}', '\\u{1F938}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FF}', '\\u{1F938}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FB}', '\\u{1F939}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FC}', '\\u{1F939}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FD}', '\\u{1F939}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FE}', '\\u{1F939}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FF}', '\\u{1F939}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93C}\\u200D\\u2640\\uFE0F', '\\u{1F93C}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FB}', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FC}', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FD}', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FE}', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FF}', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FB}', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FC}', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FD}', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FE}', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FF}', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F977}\\u{1F3FB}', '\\u{1F977}\\u{1F3FC}', '\\u{1F977}\\u{1F3FD}', '\\u{1F977}\\u{1F3FE}', '\\u{1F977}\\u{1F3FF}', '\\u{1F9B5}\\u{1F3FB}', '\\u{1F9B5}\\u{1F3FC}', '\\u{1F9B5}\\u{1F3FD}', '\\u{1F9B5}\\u{1F3FE}', '\\u{1F9B5}\\u{1F3FF}', '\\u{1F9B6}\\u{1F3FB}', '\\u{1F9B6}\\u{1F3FC}', '\\u{1F9B6}\\u{1F3FD}', '\\u{1F9B6}\\u{1F3FE}', '\\u{1F9B6}\\u{1F3FF}', '\\u{1F9B8}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FB}', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FC}', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FD}', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FE}', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FF}', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FB}', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FC}', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FD}', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FE}', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FF}', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9BB}\\u{1F3FB}', '\\u{1F9BB}\\u{1F3FC}', '\\u{1F9BB}\\u{1F3FD}', '\\u{1F9BB}\\u{1F3FE}', '\\u{1F9BB}\\u{1F3FF}', '\\u{1F9CD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FB}', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FC}', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FD}', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FE}', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FF}', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FB}', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FC}', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FD}', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FE}', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FF}', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FB}', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FC}', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FD}', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FE}', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FF}', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D1}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u200D\\u{1F373}', '\\u{1F9D1}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u200D\\u{1F384}', '\\u{1F9D1}\\u200D\\u{1F393}', '\\u{1F9D1}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u200D\\u{1F527}', '\\u{1F9D1}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u200D\\u{1F680}', '\\u{1F9D1}\\u200D\\u{1F692}', '\\u{1F9D1}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}', '\\u{1F9D1}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F9D2}\\u{1F3FB}', '\\u{1F9D2}\\u{1F3FC}', '\\u{1F9D2}\\u{1F3FD}', '\\u{1F9D2}\\u{1F3FE}', '\\u{1F9D2}\\u{1F3FF}', '\\u{1F9D3}\\u{1F3FB}', '\\u{1F9D3}\\u{1F3FC}', '\\u{1F9D3}\\u{1F3FD}', '\\u{1F9D3}\\u{1F3FE}', '\\u{1F9D3}\\u{1F3FF}', '\\u{1F9D4}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FB}', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FC}', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FD}', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FE}', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FF}', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D5}\\u{1F3FB}', '\\u{1F9D5}\\u{1F3FC}', '\\u{1F9D5}\\u{1F3FD}', '\\u{1F9D5}\\u{1F3FE}', '\\u{1F9D5}\\u{1F3FF}', '\\u{1F9D6}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FB}', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FC}', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FD}', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FE}', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FF}', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FB}', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FC}', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FD}', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FE}', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FF}', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FB}', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FC}', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FD}', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FE}', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FF}', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FB}', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FC}', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FD}', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FE}', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FF}', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FB}', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FC}', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FD}', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FE}', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FF}', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FB}', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FC}', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FD}', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FE}', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FF}', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FB}', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FC}', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FD}', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FE}', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FF}', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FB}', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FC}', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FD}', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FE}', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FF}', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DE}\\u200D\\u2640\\uFE0F', '\\u{1F9DE}\\u200D\\u2642\\uFE0F', '\\u{1F9DF}\\u200D\\u2640\\uFE0F', '\\u{1F9DF}\\u200D\\u2642\\uFE0F', '\\u{1FAC3}\\u{1F3FB}', '\\u{1FAC3}\\u{1F3FC}', '\\u{1FAC3}\\u{1F3FD}', '\\u{1FAC3}\\u{1F3FE}', '\\u{1FAC3}\\u{1F3FF}', '\\u{1FAC4}\\u{1F3FB}', '\\u{1FAC4}\\u{1F3FC}', '\\u{1FAC4}\\u{1F3FD}', '\\u{1FAC4}\\u{1F3FE}', '\\u{1FAC4}\\u{1F3FF}', '\\u{1FAC5}\\u{1F3FB}', '\\u{1FAC5}\\u{1F3FC}', '\\u{1FAC5}\\u{1F3FD}', '\\u{1FAC5}\\u{1F3FE}', '\\u{1FAC5}\\u{1F3FF}', '\\u{1FAF0}\\u{1F3FB}', '\\u{1FAF0}\\u{1F3FC}', '\\u{1FAF0}\\u{1F3FD}', '\\u{1FAF0}\\u{1F3FE}', '\\u{1FAF0}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF3}\\u{1F3FB}', '\\u{1FAF3}\\u{1F3FC}', '\\u{1FAF3}\\u{1F3FD}', '\\u{1FAF3}\\u{1F3FE}', '\\u{1FAF3}\\u{1F3FF}', '\\u{1FAF4}\\u{1F3FB}', '\\u{1FAF4}\\u{1F3FC}', '\\u{1FAF4}\\u{1F3FD}', '\\u{1FAF4}\\u{1F3FE}', '\\u{1FAF4}\\u{1F3FF}', '\\u{1FAF5}\\u{1F3FB}', '\\u{1FAF5}\\u{1F3FC}', '\\u{1FAF5}\\u{1F3FD}', '\\u{1FAF5}\\u{1F3FE}', '\\u{1FAF5}\\u{1F3FF}', '\\u{1FAF6}\\u{1F3FB}', '\\u{1FAF6}\\u{1F3FC}', '\\u{1FAF6}\\u{1F3FD}', '\\u{1FAF6}\\u{1F3FE}', '\\u{1FAF6}\\u{1F3FF}', '\\u{1FAF7}\\u{1F3FB}', '\\u{1FAF7}\\u{1F3FC}', '\\u{1FAF7}\\u{1F3FD}', '\\u{1FAF7}\\u{1F3FE}', '\\u{1FAF7}\\u{1F3FF}', '\\u{1FAF8}\\u{1F3FB}', '\\u{1FAF8}\\u{1F3FC}', '\\u{1FAF8}\\u{1F3FD}', '\\u{1FAF8}\\u{1F3FE}', '\\u{1FAF8}\\u{1F3FF}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F1E6}\\u{1F1E8}', '\\u{1F1E6}\\u{1F1E9}', '\\u{1F1E6}\\u{1F1EA}', '\\u{1F1E6}\\u{1F1EB}', '\\u{1F1E6}\\u{1F1EC}', '\\u{1F1E6}\\u{1F1EE}', '\\u{1F1E6}\\u{1F1F1}', '\\u{1F1E6}\\u{1F1F2}', '\\u{1F1E6}\\u{1F1F4}', '\\u{1F1E6}\\u{1F1F6}', '\\u{1F1E6}\\u{1F1F7}', '\\u{1F1E6}\\u{1F1F8}', '\\u{1F1E6}\\u{1F1F9}', '\\u{1F1E6}\\u{1F1FA}', '\\u{1F1E6}\\u{1F1FC}', '\\u{1F1E6}\\u{1F1FD}', '\\u{1F1E6}\\u{1F1FF}', '\\u{1F1E7}\\u{1F1E6}', '\\u{1F1E7}\\u{1F1E7}', '\\u{1F1E7}\\u{1F1E9}', '\\u{1F1E7}\\u{1F1EA}', '\\u{1F1E7}\\u{1F1EB}', '\\u{1F1E7}\\u{1F1EC}', '\\u{1F1E7}\\u{1F1ED}', '\\u{1F1E7}\\u{1F1EE}', '\\u{1F1E7}\\u{1F1EF}', '\\u{1F1E7}\\u{1F1F1}', '\\u{1F1E7}\\u{1F1F2}', '\\u{1F1E7}\\u{1F1F3}', '\\u{1F1E7}\\u{1F1F4}', '\\u{1F1E7}\\u{1F1F6}', '\\u{1F1E7}\\u{1F1F7}', '\\u{1F1E7}\\u{1F1F8}', '\\u{1F1E7}\\u{1F1F9}', '\\u{1F1E7}\\u{1F1FB}', '\\u{1F1E7}\\u{1F1FC}', '\\u{1F1E7}\\u{1F1FE}', '\\u{1F1E7}\\u{1F1FF}', '\\u{1F1E8}\\u{1F1E6}', '\\u{1F1E8}\\u{1F1E8}', '\\u{1F1E8}\\u{1F1E9}', '\\u{1F1E8}\\u{1F1EB}', '\\u{1F1E8}\\u{1F1EC}', '\\u{1F1E8}\\u{1F1ED}', '\\u{1F1E8}\\u{1F1EE}', '\\u{1F1E8}\\u{1F1F0}', '\\u{1F1E8}\\u{1F1F1}', '\\u{1F1E8}\\u{1F1F2}', '\\u{1F1E8}\\u{1F1F3}', '\\u{1F1E8}\\u{1F1F4}', '\\u{1F1E8}\\u{1F1F5}', '\\u{1F1E8}\\u{1F1F7}', '\\u{1F1E8}\\u{1F1FA}', '\\u{1F1E8}\\u{1F1FB}', '\\u{1F1E8}\\u{1F1FC}', '\\u{1F1E8}\\u{1F1FD}', '\\u{1F1E8}\\u{1F1FE}', '\\u{1F1E8}\\u{1F1FF}', '\\u{1F1E9}\\u{1F1EA}', '\\u{1F1E9}\\u{1F1EC}', '\\u{1F1E9}\\u{1F1EF}', '\\u{1F1E9}\\u{1F1F0}', '\\u{1F1E9}\\u{1F1F2}', '\\u{1F1E9}\\u{1F1F4}', '\\u{1F1E9}\\u{1F1FF}', '\\u{1F1EA}\\u{1F1E6}', '\\u{1F1EA}\\u{1F1E8}', '\\u{1F1EA}\\u{1F1EA}', '\\u{1F1EA}\\u{1F1EC}', '\\u{1F1EA}\\u{1F1ED}', '\\u{1F1EA}\\u{1F1F7}', '\\u{1F1EA}\\u{1F1F8}', '\\u{1F1EA}\\u{1F1F9}', '\\u{1F1EA}\\u{1F1FA}', '\\u{1F1EB}\\u{1F1EE}', '\\u{1F1EB}\\u{1F1EF}', '\\u{1F1EB}\\u{1F1F0}', '\\u{1F1EB}\\u{1F1F2}', '\\u{1F1EB}\\u{1F1F4}', '\\u{1F1EB}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1E6}', '\\u{1F1EC}\\u{1F1E7}', '\\u{1F1EC}\\u{1F1E9}', '\\u{1F1EC}\\u{1F1EA}', '\\u{1F1EC}\\u{1F1EB}', '\\u{1F1EC}\\u{1F1EC}', '\\u{1F1EC}\\u{1F1ED}', '\\u{1F1EC}\\u{1F1EE}', '\\u{1F1EC}\\u{1F1F1}', '\\u{1F1EC}\\u{1F1F2}', '\\u{1F1EC}\\u{1F1F3}', '\\u{1F1EC}\\u{1F1F5}', '\\u{1F1EC}\\u{1F1F6}', '\\u{1F1EC}\\u{1F1F7}', '\\u{1F1EC}\\u{1F1F8}', '\\u{1F1EC}\\u{1F1F9}', '\\u{1F1EC}\\u{1F1FA}', '\\u{1F1EC}\\u{1F1FC}', '\\u{1F1EC}\\u{1F1FE}', '\\u{1F1ED}\\u{1F1F0}', '\\u{1F1ED}\\u{1F1F2}', '\\u{1F1ED}\\u{1F1F3}', '\\u{1F1ED}\\u{1F1F7}', '\\u{1F1ED}\\u{1F1F9}', '\\u{1F1ED}\\u{1F1FA}', '\\u{1F1EE}\\u{1F1E8}', '\\u{1F1EE}\\u{1F1E9}', '\\u{1F1EE}\\u{1F1EA}', '\\u{1F1EE}\\u{1F1F1}', '\\u{1F1EE}\\u{1F1F2}', '\\u{1F1EE}\\u{1F1F3}', '\\u{1F1EE}\\u{1F1F4}', '\\u{1F1EE}\\u{1F1F6}', '\\u{1F1EE}\\u{1F1F7}', '\\u{1F1EE}\\u{1F1F8}', '\\u{1F1EE}\\u{1F1F9}', '\\u{1F1EF}\\u{1F1EA}', '\\u{1F1EF}\\u{1F1F2}', '\\u{1F1EF}\\u{1F1F4}', '\\u{1F1EF}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1EA}', '\\u{1F1F0}\\u{1F1EC}', '\\u{1F1F0}\\u{1F1ED}', '\\u{1F1F0}\\u{1F1EE}', '\\u{1F1F0}\\u{1F1F2}', '\\u{1F1F0}\\u{1F1F3}', '\\u{1F1F0}\\u{1F1F5}', '\\u{1F1F0}\\u{1F1F7}', '\\u{1F1F0}\\u{1F1FC}', '\\u{1F1F0}\\u{1F1FE}', '\\u{1F1F0}\\u{1F1FF}', '\\u{1F1F1}\\u{1F1E6}', '\\u{1F1F1}\\u{1F1E7}', '\\u{1F1F1}\\u{1F1E8}', '\\u{1F1F1}\\u{1F1EE}', '\\u{1F1F1}\\u{1F1F0}', '\\u{1F1F1}\\u{1F1F7}', '\\u{1F1F1}\\u{1F1F8}', '\\u{1F1F1}\\u{1F1F9}', '\\u{1F1F1}\\u{1F1FA}', '\\u{1F1F1}\\u{1F1FB}', '\\u{1F1F1}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1E6}', '\\u{1F1F2}\\u{1F1E8}', '\\u{1F1F2}\\u{1F1E9}', '\\u{1F1F2}\\u{1F1EA}', '\\u{1F1F2}\\u{1F1EB}', '\\u{1F1F2}\\u{1F1EC}', '\\u{1F1F2}\\u{1F1ED}', '\\u{1F1F2}\\u{1F1F0}', '\\u{1F1F2}\\u{1F1F1}', '\\u{1F1F2}\\u{1F1F2}', '\\u{1F1F2}\\u{1F1F3}', '\\u{1F1F2}\\u{1F1F4}', '\\u{1F1F2}\\u{1F1F5}', '\\u{1F1F2}\\u{1F1F6}', '\\u{1F1F2}\\u{1F1F7}', '\\u{1F1F2}\\u{1F1F8}', '\\u{1F1F2}\\u{1F1F9}', '\\u{1F1F2}\\u{1F1FA}', '\\u{1F1F2}\\u{1F1FB}', '\\u{1F1F2}\\u{1F1FC}', '\\u{1F1F2}\\u{1F1FD}', '\\u{1F1F2}\\u{1F1FE}', '\\u{1F1F2}\\u{1F1FF}', '\\u{1F1F3}\\u{1F1E6}', '\\u{1F1F3}\\u{1F1E8}', '\\u{1F1F3}\\u{1F1EA}', '\\u{1F1F3}\\u{1F1EB}', '\\u{1F1F3}\\u{1F1EC}', '\\u{1F1F3}\\u{1F1EE}', '\\u{1F1F3}\\u{1F1F1}', '\\u{1F1F3}\\u{1F1F4}', '\\u{1F1F3}\\u{1F1F5}', '\\u{1F1F3}\\u{1F1F7}', '\\u{1F1F3}\\u{1F1FA}', '\\u{1F1F3}\\u{1F1FF}', '\\u{1F1F4}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1E6}', '\\u{1F1F5}\\u{1F1EA}', '\\u{1F1F5}\\u{1F1EB}', '\\u{1F1F5}\\u{1F1EC}', '\\u{1F1F5}\\u{1F1ED}', '\\u{1F1F5}\\u{1F1F0}', '\\u{1F1F5}\\u{1F1F1}', '\\u{1F1F5}\\u{1F1F2}', '\\u{1F1F5}\\u{1F1F3}', '\\u{1F1F5}\\u{1F1F7}', '\\u{1F1F5}\\u{1F1F8}', '\\u{1F1F5}\\u{1F1F9}', '\\u{1F1F5}\\u{1F1FC}', '\\u{1F1F5}\\u{1F1FE}', '\\u{1F1F6}\\u{1F1E6}', '\\u{1F1F7}\\u{1F1EA}', '\\u{1F1F7}\\u{1F1F4}', '\\u{1F1F7}\\u{1F1F8}', '\\u{1F1F7}\\u{1F1FA}', '\\u{1F1F7}\\u{1F1FC}', '\\u{1F1F8}\\u{1F1E6}', '\\u{1F1F8}\\u{1F1E7}', '\\u{1F1F8}\\u{1F1E8}', '\\u{1F1F8}\\u{1F1E9}', '\\u{1F1F8}\\u{1F1EA}', '\\u{1F1F8}\\u{1F1EC}', '\\u{1F1F8}\\u{1F1ED}', '\\u{1F1F8}\\u{1F1EE}', '\\u{1F1F8}\\u{1F1EF}', '\\u{1F1F8}\\u{1F1F0}', '\\u{1F1F8}\\u{1F1F1}', '\\u{1F1F8}\\u{1F1F2}', '\\u{1F1F8}\\u{1F1F3}', '\\u{1F1F8}\\u{1F1F4}', '\\u{1F1F8}\\u{1F1F7}', '\\u{1F1F8}\\u{1F1F8}', '\\u{1F1F8}\\u{1F1F9}', '\\u{1F1F8}\\u{1F1FB}', '\\u{1F1F8}\\u{1F1FD}', '\\u{1F1F8}\\u{1F1FE}', '\\u{1F1F8}\\u{1F1FF}', '\\u{1F1F9}\\u{1F1E6}', '\\u{1F1F9}\\u{1F1E8}', '\\u{1F1F9}\\u{1F1E9}', '\\u{1F1F9}\\u{1F1EB}', '\\u{1F1F9}\\u{1F1EC}', '\\u{1F1F9}\\u{1F1ED}', '\\u{1F1F9}\\u{1F1EF}', '\\u{1F1F9}\\u{1F1F0}', '\\u{1F1F9}\\u{1F1F1}', '\\u{1F1F9}\\u{1F1F2}', '\\u{1F1F9}\\u{1F1F3}', '\\u{1F1F9}\\u{1F1F4}', '\\u{1F1F9}\\u{1F1F7}', '\\u{1F1F9}\\u{1F1F9}', '\\u{1F1F9}\\u{1F1FB}', '\\u{1F1F9}\\u{1F1FC}', '\\u{1F1F9}\\u{1F1FF}', '\\u{1F1FA}\\u{1F1E6}', '\\u{1F1FA}\\u{1F1EC}', '\\u{1F1FA}\\u{1F1F2}', '\\u{1F1FA}\\u{1F1F3}', '\\u{1F1FA}\\u{1F1F8}', '\\u{1F1FA}\\u{1F1FE}', '\\u{1F1FA}\\u{1F1FF}', '\\u{1F1FB}\\u{1F1E6}', '\\u{1F1FB}\\u{1F1E8}', '\\u{1F1FB}\\u{1F1EA}', '\\u{1F1FB}\\u{1F1EC}', '\\u{1F1FB}\\u{1F1EE}', '\\u{1F1FB}\\u{1F1F3}', '\\u{1F1FB}\\u{1F1FA}', '\\u{1F1FC}\\u{1F1EB}', '\\u{1F1FC}\\u{1F1F8}', '\\u{1F1FD}\\u{1F1F0}', '\\u{1F1FE}\\u{1F1EA}', '\\u{1F1FE}\\u{1F1F9}', '\\u{1F1FF}\\u{1F1E6}', '\\u{1F1FF}\\u{1F1F2}', '\\u{1F1FF}\\u{1F1FC}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u261D\\u{1F3FB}', '\\u261D\\u{1F3FC}', '\\u261D\\u{1F3FD}', '\\u261D\\u{1F3FE}', '\\u261D\\u{1F3FF}', '\\u26F9\\u{1F3FB}', '\\u26F9\\u{1F3FC}', '\\u26F9\\u{1F3FD}', '\\u26F9\\u{1F3FE}', '\\u26F9\\u{1F3FF}', '\\u270A\\u{1F3FB}', '\\u270A\\u{1F3FC}', '\\u270A\\u{1F3FD}', '\\u270A\\u{1F3FE}', '\\u270A\\u{1F3FF}', '\\u270B\\u{1F3FB}', '\\u270B\\u{1F3FC}', '\\u270B\\u{1F3FD}', '\\u270B\\u{1F3FE}', '\\u270B\\u{1F3FF}', '\\u270C\\u{1F3FB}', '\\u270C\\u{1F3FC}', '\\u270C\\u{1F3FD}', '\\u270C\\u{1F3FE}', '\\u270C\\u{1F3FF}', '\\u270D\\u{1F3FB}', '\\u270D\\u{1F3FC}', '\\u270D\\u{1F3FD}', '\\u270D\\u{1F3FE}', '\\u270D\\u{1F3FF}', '\\u{1F385}\\u{1F3FB}', '\\u{1F385}\\u{1F3FC}', '\\u{1F385}\\u{1F3FD}', '\\u{1F385}\\u{1F3FE}', '\\u{1F385}\\u{1F3FF}', '\\u{1F3C2}\\u{1F3FB}', '\\u{1F3C2}\\u{1F3FC}', '\\u{1F3C2}\\u{1F3FD}', '\\u{1F3C2}\\u{1F3FE}', '\\u{1F3C2}\\u{1F3FF}', '\\u{1F3C3}\\u{1F3FB}', '\\u{1F3C3}\\u{1F3FC}', '\\u{1F3C3}\\u{1F3FD}', '\\u{1F3C3}\\u{1F3FE}', '\\u{1F3C3}\\u{1F3FF}', '\\u{1F3C4}\\u{1F3FB}', '\\u{1F3C4}\\u{1F3FC}', '\\u{1F3C4}\\u{1F3FD}', '\\u{1F3C4}\\u{1F3FE}', '\\u{1F3C4}\\u{1F3FF}', '\\u{1F3C7}\\u{1F3FB}', '\\u{1F3C7}\\u{1F3FC}', '\\u{1F3C7}\\u{1F3FD}', '\\u{1F3C7}\\u{1F3FE}', '\\u{1F3C7}\\u{1F3FF}', '\\u{1F3CA}\\u{1F3FB}', '\\u{1F3CA}\\u{1F3FC}', '\\u{1F3CA}\\u{1F3FD}', '\\u{1F3CA}\\u{1F3FE}', '\\u{1F3CA}\\u{1F3FF}', '\\u{1F3CB}\\u{1F3FB}', '\\u{1F3CB}\\u{1F3FC}', '\\u{1F3CB}\\u{1F3FD}', '\\u{1F3CB}\\u{1F3FE}', '\\u{1F3CB}\\u{1F3FF}', '\\u{1F3CC}\\u{1F3FB}', '\\u{1F3CC}\\u{1F3FC}', '\\u{1F3CC}\\u{1F3FD}', '\\u{1F3CC}\\u{1F3FE}', '\\u{1F3CC}\\u{1F3FF}', '\\u{1F442}\\u{1F3FB}', '\\u{1F442}\\u{1F3FC}', '\\u{1F442}\\u{1F3FD}', '\\u{1F442}\\u{1F3FE}', '\\u{1F442}\\u{1F3FF}', '\\u{1F443}\\u{1F3FB}', '\\u{1F443}\\u{1F3FC}', '\\u{1F443}\\u{1F3FD}', '\\u{1F443}\\u{1F3FE}', '\\u{1F443}\\u{1F3FF}', '\\u{1F446}\\u{1F3FB}', '\\u{1F446}\\u{1F3FC}', '\\u{1F446}\\u{1F3FD}', '\\u{1F446}\\u{1F3FE}', '\\u{1F446}\\u{1F3FF}', '\\u{1F447}\\u{1F3FB}', '\\u{1F447}\\u{1F3FC}', '\\u{1F447}\\u{1F3FD}', '\\u{1F447}\\u{1F3FE}', '\\u{1F447}\\u{1F3FF}', '\\u{1F448}\\u{1F3FB}', '\\u{1F448}\\u{1F3FC}', '\\u{1F448}\\u{1F3FD}', '\\u{1F448}\\u{1F3FE}', '\\u{1F448}\\u{1F3FF}', '\\u{1F449}\\u{1F3FB}', '\\u{1F449}\\u{1F3FC}', '\\u{1F449}\\u{1F3FD}', '\\u{1F449}\\u{1F3FE}', '\\u{1F449}\\u{1F3FF}', '\\u{1F44A}\\u{1F3FB}', '\\u{1F44A}\\u{1F3FC}', '\\u{1F44A}\\u{1F3FD}', '\\u{1F44A}\\u{1F3FE}', '\\u{1F44A}\\u{1F3FF}', '\\u{1F44B}\\u{1F3FB}', '\\u{1F44B}\\u{1F3FC}', '\\u{1F44B}\\u{1F3FD}', '\\u{1F44B}\\u{1F3FE}', '\\u{1F44B}\\u{1F3FF}', '\\u{1F44C}\\u{1F3FB}', '\\u{1F44C}\\u{1F3FC}', '\\u{1F44C}\\u{1F3FD}', '\\u{1F44C}\\u{1F3FE}', '\\u{1F44C}\\u{1F3FF}', '\\u{1F44D}\\u{1F3FB}', '\\u{1F44D}\\u{1F3FC}', '\\u{1F44D}\\u{1F3FD}', '\\u{1F44D}\\u{1F3FE}', '\\u{1F44D}\\u{1F3FF}', '\\u{1F44E}\\u{1F3FB}', '\\u{1F44E}\\u{1F3FC}', '\\u{1F44E}\\u{1F3FD}', '\\u{1F44E}\\u{1F3FE}', '\\u{1F44E}\\u{1F3FF}', '\\u{1F44F}\\u{1F3FB}', '\\u{1F44F}\\u{1F3FC}', '\\u{1F44F}\\u{1F3FD}', '\\u{1F44F}\\u{1F3FE}', '\\u{1F44F}\\u{1F3FF}', '\\u{1F450}\\u{1F3FB}', '\\u{1F450}\\u{1F3FC}', '\\u{1F450}\\u{1F3FD}', '\\u{1F450}\\u{1F3FE}', '\\u{1F450}\\u{1F3FF}', '\\u{1F466}\\u{1F3FB}', '\\u{1F466}\\u{1F3FC}', '\\u{1F466}\\u{1F3FD}', '\\u{1F466}\\u{1F3FE}', '\\u{1F466}\\u{1F3FF}', '\\u{1F467}\\u{1F3FB}', '\\u{1F467}\\u{1F3FC}', '\\u{1F467}\\u{1F3FD}', '\\u{1F467}\\u{1F3FE}', '\\u{1F467}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}', '\\u{1F46B}\\u{1F3FB}', '\\u{1F46B}\\u{1F3FC}', '\\u{1F46B}\\u{1F3FD}', '\\u{1F46B}\\u{1F3FE}', '\\u{1F46B}\\u{1F3FF}', '\\u{1F46C}\\u{1F3FB}', '\\u{1F46C}\\u{1F3FC}', '\\u{1F46C}\\u{1F3FD}', '\\u{1F46C}\\u{1F3FE}', '\\u{1F46C}\\u{1F3FF}', '\\u{1F46D}\\u{1F3FB}', '\\u{1F46D}\\u{1F3FC}', '\\u{1F46D}\\u{1F3FD}', '\\u{1F46D}\\u{1F3FE}', '\\u{1F46D}\\u{1F3FF}', '\\u{1F46E}\\u{1F3FB}', '\\u{1F46E}\\u{1F3FC}', '\\u{1F46E}\\u{1F3FD}', '\\u{1F46E}\\u{1F3FE}', '\\u{1F46E}\\u{1F3FF}', '\\u{1F470}\\u{1F3FB}', '\\u{1F470}\\u{1F3FC}', '\\u{1F470}\\u{1F3FD}', '\\u{1F470}\\u{1F3FE}', '\\u{1F470}\\u{1F3FF}', '\\u{1F471}\\u{1F3FB}', '\\u{1F471}\\u{1F3FC}', '\\u{1F471}\\u{1F3FD}', '\\u{1F471}\\u{1F3FE}', '\\u{1F471}\\u{1F3FF}', '\\u{1F472}\\u{1F3FB}', '\\u{1F472}\\u{1F3FC}', '\\u{1F472}\\u{1F3FD}', '\\u{1F472}\\u{1F3FE}', '\\u{1F472}\\u{1F3FF}', '\\u{1F473}\\u{1F3FB}', '\\u{1F473}\\u{1F3FC}', '\\u{1F473}\\u{1F3FD}', '\\u{1F473}\\u{1F3FE}', '\\u{1F473}\\u{1F3FF}', '\\u{1F474}\\u{1F3FB}', '\\u{1F474}\\u{1F3FC}', '\\u{1F474}\\u{1F3FD}', '\\u{1F474}\\u{1F3FE}', '\\u{1F474}\\u{1F3FF}', '\\u{1F475}\\u{1F3FB}', '\\u{1F475}\\u{1F3FC}', '\\u{1F475}\\u{1F3FD}', '\\u{1F475}\\u{1F3FE}', '\\u{1F475}\\u{1F3FF}', '\\u{1F476}\\u{1F3FB}', '\\u{1F476}\\u{1F3FC}', '\\u{1F476}\\u{1F3FD}', '\\u{1F476}\\u{1F3FE}', '\\u{1F476}\\u{1F3FF}', '\\u{1F477}\\u{1F3FB}', '\\u{1F477}\\u{1F3FC}', '\\u{1F477}\\u{1F3FD}', '\\u{1F477}\\u{1F3FE}', '\\u{1F477}\\u{1F3FF}', '\\u{1F478}\\u{1F3FB}', '\\u{1F478}\\u{1F3FC}', '\\u{1F478}\\u{1F3FD}', '\\u{1F478}\\u{1F3FE}', '\\u{1F478}\\u{1F3FF}', '\\u{1F47C}\\u{1F3FB}', '\\u{1F47C}\\u{1F3FC}', '\\u{1F47C}\\u{1F3FD}', '\\u{1F47C}\\u{1F3FE}', '\\u{1F47C}\\u{1F3FF}', '\\u{1F481}\\u{1F3FB}', '\\u{1F481}\\u{1F3FC}', '\\u{1F481}\\u{1F3FD}', '\\u{1F481}\\u{1F3FE}', '\\u{1F481}\\u{1F3FF}', '\\u{1F482}\\u{1F3FB}', '\\u{1F482}\\u{1F3FC}', '\\u{1F482}\\u{1F3FD}', '\\u{1F482}\\u{1F3FE}', '\\u{1F482}\\u{1F3FF}', '\\u{1F483}\\u{1F3FB}', '\\u{1F483}\\u{1F3FC}', '\\u{1F483}\\u{1F3FD}', '\\u{1F483}\\u{1F3FE}', '\\u{1F483}\\u{1F3FF}', '\\u{1F485}\\u{1F3FB}', '\\u{1F485}\\u{1F3FC}', '\\u{1F485}\\u{1F3FD}', '\\u{1F485}\\u{1F3FE}', '\\u{1F485}\\u{1F3FF}', '\\u{1F486}\\u{1F3FB}', '\\u{1F486}\\u{1F3FC}', '\\u{1F486}\\u{1F3FD}', '\\u{1F486}\\u{1F3FE}', '\\u{1F486}\\u{1F3FF}', '\\u{1F487}\\u{1F3FB}', '\\u{1F487}\\u{1F3FC}', '\\u{1F487}\\u{1F3FD}', '\\u{1F487}\\u{1F3FE}', '\\u{1F487}\\u{1F3FF}', '\\u{1F48F}\\u{1F3FB}', '\\u{1F48F}\\u{1F3FC}', '\\u{1F48F}\\u{1F3FD}', '\\u{1F48F}\\u{1F3FE}', '\\u{1F48F}\\u{1F3FF}', '\\u{1F491}\\u{1F3FB}', '\\u{1F491}\\u{1F3FC}', '\\u{1F491}\\u{1F3FD}', '\\u{1F491}\\u{1F3FE}', '\\u{1F491}\\u{1F3FF}', '\\u{1F4AA}\\u{1F3FB}', '\\u{1F4AA}\\u{1F3FC}', '\\u{1F4AA}\\u{1F3FD}', '\\u{1F4AA}\\u{1F3FE}', '\\u{1F4AA}\\u{1F3FF}', '\\u{1F574}\\u{1F3FB}', '\\u{1F574}\\u{1F3FC}', '\\u{1F574}\\u{1F3FD}', '\\u{1F574}\\u{1F3FE}', '\\u{1F574}\\u{1F3FF}', '\\u{1F575}\\u{1F3FB}', '\\u{1F575}\\u{1F3FC}', '\\u{1F575}\\u{1F3FD}', '\\u{1F575}\\u{1F3FE}', '\\u{1F575}\\u{1F3FF}', '\\u{1F57A}\\u{1F3FB}', '\\u{1F57A}\\u{1F3FC}', '\\u{1F57A}\\u{1F3FD}', '\\u{1F57A}\\u{1F3FE}', '\\u{1F57A}\\u{1F3FF}', '\\u{1F590}\\u{1F3FB}', '\\u{1F590}\\u{1F3FC}', '\\u{1F590}\\u{1F3FD}', '\\u{1F590}\\u{1F3FE}', '\\u{1F590}\\u{1F3FF}', '\\u{1F595}\\u{1F3FB}', '\\u{1F595}\\u{1F3FC}', '\\u{1F595}\\u{1F3FD}', '\\u{1F595}\\u{1F3FE}', '\\u{1F595}\\u{1F3FF}', '\\u{1F596}\\u{1F3FB}', '\\u{1F596}\\u{1F3FC}', '\\u{1F596}\\u{1F3FD}', '\\u{1F596}\\u{1F3FE}', '\\u{1F596}\\u{1F3FF}', '\\u{1F645}\\u{1F3FB}', '\\u{1F645}\\u{1F3FC}', '\\u{1F645}\\u{1F3FD}', '\\u{1F645}\\u{1F3FE}', '\\u{1F645}\\u{1F3FF}', '\\u{1F646}\\u{1F3FB}', '\\u{1F646}\\u{1F3FC}', '\\u{1F646}\\u{1F3FD}', '\\u{1F646}\\u{1F3FE}', '\\u{1F646}\\u{1F3FF}', '\\u{1F647}\\u{1F3FB}', '\\u{1F647}\\u{1F3FC}', '\\u{1F647}\\u{1F3FD}', '\\u{1F647}\\u{1F3FE}', '\\u{1F647}\\u{1F3FF}', '\\u{1F64B}\\u{1F3FB}', '\\u{1F64B}\\u{1F3FC}', '\\u{1F64B}\\u{1F3FD}', '\\u{1F64B}\\u{1F3FE}', '\\u{1F64B}\\u{1F3FF}', '\\u{1F64C}\\u{1F3FB}', '\\u{1F64C}\\u{1F3FC}', '\\u{1F64C}\\u{1F3FD}', '\\u{1F64C}\\u{1F3FE}', '\\u{1F64C}\\u{1F3FF}', '\\u{1F64D}\\u{1F3FB}', '\\u{1F64D}\\u{1F3FC}', '\\u{1F64D}\\u{1F3FD}', '\\u{1F64D}\\u{1F3FE}', '\\u{1F64D}\\u{1F3FF}', '\\u{1F64E}\\u{1F3FB}', '\\u{1F64E}\\u{1F3FC}', '\\u{1F64E}\\u{1F3FD}', '\\u{1F64E}\\u{1F3FE}', '\\u{1F64E}\\u{1F3FF}', '\\u{1F64F}\\u{1F3FB}', '\\u{1F64F}\\u{1F3FC}', '\\u{1F64F}\\u{1F3FD}', '\\u{1F64F}\\u{1F3FE}', '\\u{1F64F}\\u{1F3FF}', '\\u{1F6A3}\\u{1F3FB}', '\\u{1F6A3}\\u{1F3FC}', '\\u{1F6A3}\\u{1F3FD}', '\\u{1F6A3}\\u{1F3FE}', '\\u{1F6A3}\\u{1F3FF}', '\\u{1F6B4}\\u{1F3FB}', '\\u{1F6B4}\\u{1F3FC}', '\\u{1F6B4}\\u{1F3FD}', '\\u{1F6B4}\\u{1F3FE}', '\\u{1F6B4}\\u{1F3FF}', '\\u{1F6B5}\\u{1F3FB}', '\\u{1F6B5}\\u{1F3FC}', '\\u{1F6B5}\\u{1F3FD}', '\\u{1F6B5}\\u{1F3FE}', '\\u{1F6B5}\\u{1F3FF}', '\\u{1F6B6}\\u{1F3FB}', '\\u{1F6B6}\\u{1F3FC}', '\\u{1F6B6}\\u{1F3FD}', '\\u{1F6B6}\\u{1F3FE}', '\\u{1F6B6}\\u{1F3FF}', '\\u{1F6C0}\\u{1F3FB}', '\\u{1F6C0}\\u{1F3FC}', '\\u{1F6C0}\\u{1F3FD}', '\\u{1F6C0}\\u{1F3FE}', '\\u{1F6C0}\\u{1F3FF}', '\\u{1F6CC}\\u{1F3FB}', '\\u{1F6CC}\\u{1F3FC}', '\\u{1F6CC}\\u{1F3FD}', '\\u{1F6CC}\\u{1F3FE}', '\\u{1F6CC}\\u{1F3FF}', '\\u{1F90C}\\u{1F3FB}', '\\u{1F90C}\\u{1F3FC}', '\\u{1F90C}\\u{1F3FD}', '\\u{1F90C}\\u{1F3FE}', '\\u{1F90C}\\u{1F3FF}', '\\u{1F90F}\\u{1F3FB}', '\\u{1F90F}\\u{1F3FC}', '\\u{1F90F}\\u{1F3FD}', '\\u{1F90F}\\u{1F3FE}', '\\u{1F90F}\\u{1F3FF}', '\\u{1F918}\\u{1F3FB}', '\\u{1F918}\\u{1F3FC}', '\\u{1F918}\\u{1F3FD}', '\\u{1F918}\\u{1F3FE}', '\\u{1F918}\\u{1F3FF}', '\\u{1F919}\\u{1F3FB}', '\\u{1F919}\\u{1F3FC}', '\\u{1F919}\\u{1F3FD}', '\\u{1F919}\\u{1F3FE}', '\\u{1F919}\\u{1F3FF}', '\\u{1F91A}\\u{1F3FB}', '\\u{1F91A}\\u{1F3FC}', '\\u{1F91A}\\u{1F3FD}', '\\u{1F91A}\\u{1F3FE}', '\\u{1F91A}\\u{1F3FF}', '\\u{1F91B}\\u{1F3FB}', '\\u{1F91B}\\u{1F3FC}', '\\u{1F91B}\\u{1F3FD}', '\\u{1F91B}\\u{1F3FE}', '\\u{1F91B}\\u{1F3FF}', '\\u{1F91C}\\u{1F3FB}', '\\u{1F91C}\\u{1F3FC}', '\\u{1F91C}\\u{1F3FD}', '\\u{1F91C}\\u{1F3FE}', '\\u{1F91C}\\u{1F3FF}', '\\u{1F91D}\\u{1F3FB}', '\\u{1F91D}\\u{1F3FC}', '\\u{1F91D}\\u{1F3FD}', '\\u{1F91D}\\u{1F3FE}', '\\u{1F91D}\\u{1F3FF}', '\\u{1F91E}\\u{1F3FB}', '\\u{1F91E}\\u{1F3FC}', '\\u{1F91E}\\u{1F3FD}', '\\u{1F91E}\\u{1F3FE}', '\\u{1F91E}\\u{1F3FF}', '\\u{1F91F}\\u{1F3FB}', '\\u{1F91F}\\u{1F3FC}', '\\u{1F91F}\\u{1F3FD}', '\\u{1F91F}\\u{1F3FE}', '\\u{1F91F}\\u{1F3FF}', '\\u{1F926}\\u{1F3FB}', '\\u{1F926}\\u{1F3FC}', '\\u{1F926}\\u{1F3FD}', '\\u{1F926}\\u{1F3FE}', '\\u{1F926}\\u{1F3FF}', '\\u{1F930}\\u{1F3FB}', '\\u{1F930}\\u{1F3FC}', '\\u{1F930}\\u{1F3FD}', '\\u{1F930}\\u{1F3FE}', '\\u{1F930}\\u{1F3FF}', '\\u{1F931}\\u{1F3FB}', '\\u{1F931}\\u{1F3FC}', '\\u{1F931}\\u{1F3FD}', '\\u{1F931}\\u{1F3FE}', '\\u{1F931}\\u{1F3FF}', '\\u{1F932}\\u{1F3FB}', '\\u{1F932}\\u{1F3FC}', '\\u{1F932}\\u{1F3FD}', '\\u{1F932}\\u{1F3FE}', '\\u{1F932}\\u{1F3FF}', '\\u{1F933}\\u{1F3FB}', '\\u{1F933}\\u{1F3FC}', '\\u{1F933}\\u{1F3FD}', '\\u{1F933}\\u{1F3FE}', '\\u{1F933}\\u{1F3FF}', '\\u{1F934}\\u{1F3FB}', '\\u{1F934}\\u{1F3FC}', '\\u{1F934}\\u{1F3FD}', '\\u{1F934}\\u{1F3FE}', '\\u{1F934}\\u{1F3FF}', '\\u{1F935}\\u{1F3FB}', '\\u{1F935}\\u{1F3FC}', '\\u{1F935}\\u{1F3FD}', '\\u{1F935}\\u{1F3FE}', '\\u{1F935}\\u{1F3FF}', '\\u{1F936}\\u{1F3FB}', '\\u{1F936}\\u{1F3FC}', '\\u{1F936}\\u{1F3FD}', '\\u{1F936}\\u{1F3FE}', '\\u{1F936}\\u{1F3FF}', '\\u{1F937}\\u{1F3FB}', '\\u{1F937}\\u{1F3FC}', '\\u{1F937}\\u{1F3FD}', '\\u{1F937}\\u{1F3FE}', '\\u{1F937}\\u{1F3FF}', '\\u{1F938}\\u{1F3FB}', '\\u{1F938}\\u{1F3FC}', '\\u{1F938}\\u{1F3FD}', '\\u{1F938}\\u{1F3FE}', '\\u{1F938}\\u{1F3FF}', '\\u{1F939}\\u{1F3FB}', '\\u{1F939}\\u{1F3FC}', '\\u{1F939}\\u{1F3FD}', '\\u{1F939}\\u{1F3FE}', '\\u{1F939}\\u{1F3FF}', '\\u{1F93D}\\u{1F3FB}', '\\u{1F93D}\\u{1F3FC}', '\\u{1F93D}\\u{1F3FD}', '\\u{1F93D}\\u{1F3FE}', '\\u{1F93D}\\u{1F3FF}', '\\u{1F93E}\\u{1F3FB}', '\\u{1F93E}\\u{1F3FC}', '\\u{1F93E}\\u{1F3FD}', '\\u{1F93E}\\u{1F3FE}', '\\u{1F93E}\\u{1F3FF}', '\\u{1F977}\\u{1F3FB}', '\\u{1F977}\\u{1F3FC}', '\\u{1F977}\\u{1F3FD}', '\\u{1F977}\\u{1F3FE}', '\\u{1F977}\\u{1F3FF}', '\\u{1F9B5}\\u{1F3FB}', '\\u{1F9B5}\\u{1F3FC}', '\\u{1F9B5}\\u{1F3FD}', '\\u{1F9B5}\\u{1F3FE}', '\\u{1F9B5}\\u{1F3FF}', '\\u{1F9B6}\\u{1F3FB}', '\\u{1F9B6}\\u{1F3FC}', '\\u{1F9B6}\\u{1F3FD}', '\\u{1F9B6}\\u{1F3FE}', '\\u{1F9B6}\\u{1F3FF}', '\\u{1F9B8}\\u{1F3FB}', '\\u{1F9B8}\\u{1F3FC}', '\\u{1F9B8}\\u{1F3FD}', '\\u{1F9B8}\\u{1F3FE}', '\\u{1F9B8}\\u{1F3FF}', '\\u{1F9B9}\\u{1F3FB}', '\\u{1F9B9}\\u{1F3FC}', '\\u{1F9B9}\\u{1F3FD}', '\\u{1F9B9}\\u{1F3FE}', '\\u{1F9B9}\\u{1F3FF}', '\\u{1F9BB}\\u{1F3FB}', '\\u{1F9BB}\\u{1F3FC}', '\\u{1F9BB}\\u{1F3FD}', '\\u{1F9BB}\\u{1F3FE}', '\\u{1F9BB}\\u{1F3FF}', '\\u{1F9CD}\\u{1F3FB}', '\\u{1F9CD}\\u{1F3FC}', '\\u{1F9CD}\\u{1F3FD}', '\\u{1F9CD}\\u{1F3FE}', '\\u{1F9CD}\\u{1F3FF}', '\\u{1F9CE}\\u{1F3FB}', '\\u{1F9CE}\\u{1F3FC}', '\\u{1F9CE}\\u{1F3FD}', '\\u{1F9CE}\\u{1F3FE}', '\\u{1F9CE}\\u{1F3FF}', '\\u{1F9CF}\\u{1F3FB}', '\\u{1F9CF}\\u{1F3FC}', '\\u{1F9CF}\\u{1F3FD}', '\\u{1F9CF}\\u{1F3FE}', '\\u{1F9CF}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D2}\\u{1F3FB}', '\\u{1F9D2}\\u{1F3FC}', '\\u{1F9D2}\\u{1F3FD}', '\\u{1F9D2}\\u{1F3FE}', '\\u{1F9D2}\\u{1F3FF}', '\\u{1F9D3}\\u{1F3FB}', '\\u{1F9D3}\\u{1F3FC}', '\\u{1F9D3}\\u{1F3FD}', '\\u{1F9D3}\\u{1F3FE}', '\\u{1F9D3}\\u{1F3FF}', '\\u{1F9D4}\\u{1F3FB}', '\\u{1F9D4}\\u{1F3FC}', '\\u{1F9D4}\\u{1F3FD}', '\\u{1F9D4}\\u{1F3FE}', '\\u{1F9D4}\\u{1F3FF}', '\\u{1F9D5}\\u{1F3FB}', '\\u{1F9D5}\\u{1F3FC}', '\\u{1F9D5}\\u{1F3FD}', '\\u{1F9D5}\\u{1F3FE}', '\\u{1F9D5}\\u{1F3FF}', '\\u{1F9D6}\\u{1F3FB}', '\\u{1F9D6}\\u{1F3FC}', '\\u{1F9D6}\\u{1F3FD}', '\\u{1F9D6}\\u{1F3FE}', '\\u{1F9D6}\\u{1F3FF}', '\\u{1F9D7}\\u{1F3FB}', '\\u{1F9D7}\\u{1F3FC}', '\\u{1F9D7}\\u{1F3FD}', '\\u{1F9D7}\\u{1F3FE}', '\\u{1F9D7}\\u{1F3FF}', '\\u{1F9D8}\\u{1F3FB}', '\\u{1F9D8}\\u{1F3FC}', '\\u{1F9D8}\\u{1F3FD}', '\\u{1F9D8}\\u{1F3FE}', '\\u{1F9D8}\\u{1F3FF}', '\\u{1F9D9}\\u{1F3FB}', '\\u{1F9D9}\\u{1F3FC}', '\\u{1F9D9}\\u{1F3FD}', '\\u{1F9D9}\\u{1F3FE}', '\\u{1F9D9}\\u{1F3FF}', '\\u{1F9DA}\\u{1F3FB}', '\\u{1F9DA}\\u{1F3FC}', '\\u{1F9DA}\\u{1F3FD}', '\\u{1F9DA}\\u{1F3FE}', '\\u{1F9DA}\\u{1F3FF}', '\\u{1F9DB}\\u{1F3FB}', '\\u{1F9DB}\\u{1F3FC}', '\\u{1F9DB}\\u{1F3FD}', '\\u{1F9DB}\\u{1F3FE}', '\\u{1F9DB}\\u{1F3FF}', '\\u{1F9DC}\\u{1F3FB}', '\\u{1F9DC}\\u{1F3FC}', '\\u{1F9DC}\\u{1F3FD}', '\\u{1F9DC}\\u{1F3FE}', '\\u{1F9DC}\\u{1F3FF}', '\\u{1F9DD}\\u{1F3FB}', '\\u{1F9DD}\\u{1F3FC}', '\\u{1F9DD}\\u{1F3FD}', '\\u{1F9DD}\\u{1F3FE}', '\\u{1F9DD}\\u{1F3FF}', '\\u{1FAC3}\\u{1F3FB}', '\\u{1FAC3}\\u{1F3FC}', '\\u{1FAC3}\\u{1F3FD}', '\\u{1FAC3}\\u{1F3FE}', '\\u{1FAC3}\\u{1F3FF}', '\\u{1FAC4}\\u{1F3FB}', '\\u{1FAC4}\\u{1F3FC}', '\\u{1FAC4}\\u{1F3FD}', '\\u{1FAC4}\\u{1F3FE}', '\\u{1FAC4}\\u{1F3FF}', '\\u{1FAC5}\\u{1F3FB}', '\\u{1FAC5}\\u{1F3FC}', '\\u{1FAC5}\\u{1F3FD}', '\\u{1FAC5}\\u{1F3FE}', '\\u{1FAC5}\\u{1F3FF}', '\\u{1FAF0}\\u{1F3FB}', '\\u{1FAF0}\\u{1F3FC}', '\\u{1FAF0}\\u{1F3FD}', '\\u{1FAF0}\\u{1F3FE}', '\\u{1FAF0}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FF}', '\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF3}\\u{1F3FB}', '\\u{1FAF3}\\u{1F3FC}', '\\u{1FAF3}\\u{1F3FD}', '\\u{1FAF3}\\u{1F3FE}', '\\u{1FAF3}\\u{1F3FF}', '\\u{1FAF4}\\u{1F3FB}', '\\u{1FAF4}\\u{1F3FC}', '\\u{1FAF4}\\u{1F3FD}', '\\u{1FAF4}\\u{1F3FE}', '\\u{1FAF4}\\u{1F3FF}', '\\u{1FAF5}\\u{1F3FB}', '\\u{1FAF5}\\u{1F3FC}', '\\u{1FAF5}\\u{1F3FD}', '\\u{1FAF5}\\u{1F3FE}', '\\u{1FAF5}\\u{1F3FF}', '\\u{1FAF6}\\u{1F3FB}', '\\u{1FAF6}\\u{1F3FC}', '\\u{1FAF6}\\u{1F3FD}', '\\u{1FAF6}\\u{1F3FE}', '\\u{1FAF6}\\u{1F3FF}', '\\u{1FAF7}\\u{1F3FB}', '\\u{1FAF7}\\u{1F3FC}', '\\u{1FAF7}\\u{1F3FD}', '\\u{1FAF7}\\u{1F3FE}', '\\u{1FAF7}\\u{1F3FF}', '\\u{1FAF8}\\u{1F3FB}', '\\u{1FAF8}\\u{1F3FC}', '\\u{1FAF8}\\u{1F3FD}', '\\u{1FAF8}\\u{1F3FE}', '\\u{1FAF8}\\u{1F3FF}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0065}\\u{E006E}\\u{E0067}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0073}\\u{E0063}\\u{E0074}\\u{E007F}', '\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0077}\\u{E006C}\\u{E0073}\\u{E007F}'];","const set = require('regenerate')();\n\nexports.characters = set;\nexports.strings = ['\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}', '\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}', '\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}', '\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\\u{1F3FF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F468}\\u{1F3FE}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F469}\\u{1F3FE}', '\\u{1F9D1}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2764\\uFE0F\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F384}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FE}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FB}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FC}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1FAF1}\\u{1F3FD}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FE}\\u200D\\u{1FAF2}\\u{1F3FF}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FB}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FC}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FD}', '\\u{1FAF1}\\u{1F3FF}\\u200D\\u{1FAF2}\\u{1F3FE}', '\\u{1F468}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u200D\\u{1F33E}', '\\u{1F468}\\u200D\\u{1F373}', '\\u{1F468}\\u200D\\u{1F37C}', '\\u{1F468}\\u200D\\u{1F393}', '\\u{1F468}\\u200D\\u{1F3A4}', '\\u{1F468}\\u200D\\u{1F3A8}', '\\u{1F468}\\u200D\\u{1F3EB}', '\\u{1F468}\\u200D\\u{1F3ED}', '\\u{1F468}\\u200D\\u{1F4BB}', '\\u{1F468}\\u200D\\u{1F4BC}', '\\u{1F468}\\u200D\\u{1F527}', '\\u{1F468}\\u200D\\u{1F52C}', '\\u{1F468}\\u200D\\u{1F680}', '\\u{1F468}\\u200D\\u{1F692}', '\\u{1F468}\\u200D\\u{1F9AF}', '\\u{1F468}\\u200D\\u{1F9BC}', '\\u{1F468}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F468}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F469}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u200D\\u{1F33E}', '\\u{1F469}\\u200D\\u{1F373}', '\\u{1F469}\\u200D\\u{1F37C}', '\\u{1F469}\\u200D\\u{1F393}', '\\u{1F469}\\u200D\\u{1F3A4}', '\\u{1F469}\\u200D\\u{1F3A8}', '\\u{1F469}\\u200D\\u{1F3EB}', '\\u{1F469}\\u200D\\u{1F3ED}', '\\u{1F469}\\u200D\\u{1F4BB}', '\\u{1F469}\\u200D\\u{1F4BC}', '\\u{1F469}\\u200D\\u{1F527}', '\\u{1F469}\\u200D\\u{1F52C}', '\\u{1F469}\\u200D\\u{1F680}', '\\u{1F469}\\u200D\\u{1F692}', '\\u{1F469}\\u200D\\u{1F9AF}', '\\u{1F469}\\u200D\\u{1F9BC}', '\\u{1F469}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F469}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u200D\\u{1F373}', '\\u{1F9D1}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u200D\\u{1F393}', '\\u{1F9D1}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u200D\\u{1F527}', '\\u{1F9D1}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u200D\\u{1F680}', '\\u{1F9D1}\\u200D\\u{1F692}', '\\u{1F9D1}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9BD}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2695\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2696\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u2708\\uFE0F', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F33E}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F373}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F37C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F393}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A4}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3A8}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3EB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F3ED}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BB}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F4BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F527}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F52C}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F680}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F692}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9AF}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BC}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9BD}', '\\u26F9\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u26F9\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u26F9\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F', '\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3C4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CB}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F3CC}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F46E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F46F}\\u200D\\u2640\\uFE0F', '\\u{1F46F}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F470}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F470}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F471}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F471}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F473}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F473}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F477}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F477}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F481}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F481}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F482}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F482}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F486}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F486}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F487}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F487}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F575}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2640\\uFE0F', '\\u{1F575}\\uFE0F\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F645}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F645}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F646}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F646}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F647}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F647}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64B}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F64E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6A3}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B5}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F6B6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F926}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F926}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F935}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F935}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F937}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F937}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F938}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F938}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F939}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F939}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93C}\\u200D\\u2640\\uFE0F', '\\u{1F93C}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93D}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F93E}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9B9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CE}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9CF}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D4}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D6}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D7}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D8}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9D9}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DA}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DB}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DC}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FB}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FC}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FD}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FE}\\u200D\\u2642\\uFE0F', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2640\\uFE0F', '\\u{1F9DD}\\u{1F3FF}\\u200D\\u2642\\uFE0F', '\\u{1F9DE}\\u200D\\u2640\\uFE0F', '\\u{1F9DE}\\u200D\\u2642\\uFE0F', '\\u{1F9DF}\\u200D\\u2640\\uFE0F', '\\u{1F9DF}\\u200D\\u2642\\uFE0F', '\\u{1F468}\\u200D\\u{1F9B0}', '\\u{1F468}\\u200D\\u{1F9B1}', '\\u{1F468}\\u200D\\u{1F9B2}', '\\u{1F468}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F468}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F469}\\u200D\\u{1F9B0}', '\\u{1F469}\\u200D\\u{1F9B1}', '\\u{1F469}\\u200D\\u{1F9B2}', '\\u{1F469}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F469}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FB}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FC}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FD}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FE}\\u200D\\u{1F9B3}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B0}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B1}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B2}', '\\u{1F9D1}\\u{1F3FF}\\u200D\\u{1F9B3}', '\\u2764\\uFE0F\\u200D\\u{1F525}', '\\u2764\\uFE0F\\u200D\\u{1FA79}', '\\u{1F3F3}\\uFE0F\\u200D\\u26A7\\uFE0F', '\\u{1F3F3}\\uFE0F\\u200D\\u{1F308}', '\\u{1F3F4}\\u200D\\u2620\\uFE0F', '\\u{1F408}\\u200D\\u2B1B', '\\u{1F415}\\u200D\\u{1F9BA}', '\\u{1F426}\\u200D\\u2B1B', '\\u{1F43B}\\u200D\\u2744\\uFE0F', '\\u{1F441}\\uFE0F\\u200D\\u{1F5E8}\\uFE0F', '\\u{1F62E}\\u200D\\u{1F4A8}', '\\u{1F635}\\u200D\\u{1F4AB}', '\\u{1F636}\\u200D\\u{1F32B}\\uFE0F', '\\u{1F9D1}\\u200D\\u{1F384}'];","const set = require('regenerate')();\n\nset.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);\nexports.characters = set;","const set = require('regenerate')();\n\nset.addRange(0x1E4D0, 0x1E4F9);\nexports.characters = set;","const set = require('regenerate')();\n\nset.addRange(0x11F00, 0x11F10).addRange(0x11F12, 0x11F3A).addRange(0x11F3E, 0x11F59);\nexports.characters = set;","const set = require('regenerate')();\n\nset.addRange(0x1E4D0, 0x1E4F9);\nexports.characters = set;","/*! https://mths.be/regenerate v1.4.2 by @mathias | MIT license */\n;\n\n(function (root) {\n // Detect free variables `exports`.\n var freeExports = typeof exports == 'object' && exports; // Detect free variable `module`.\n\n var freeModule = typeof module == 'object' && module && module.exports == freeExports && module; // Detect free variable `global`, from Node.js/io.js or Browserified code,\n // and use it as `root`.\n\n var freeGlobal = typeof global == 'object' && global;\n\n if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {\n root = freeGlobal;\n }\n /*--------------------------------------------------------------------------*/\n\n\n var ERRORS = {\n 'rangeOrder': 'A range\\u2019s `stop` value must be greater than or equal ' + 'to the `start` value.',\n 'codePointRange': 'Invalid code point value. Code points range from ' + 'U+000000 to U+10FFFF.'\n }; // https://mathiasbynens.be/notes/javascript-encoding#surrogate-pairs\n\n var HIGH_SURROGATE_MIN = 0xD800;\n var HIGH_SURROGATE_MAX = 0xDBFF;\n var LOW_SURROGATE_MIN = 0xDC00;\n var LOW_SURROGATE_MAX = 0xDFFF; // In Regenerate output, `\\0` is never preceded by `\\` because we sort by\n // code point value, so let’s keep this regular expression simple.\n\n var regexNull = /\\\\x00([^0123456789]|$)/g;\n var object = {};\n var hasOwnProperty = object.hasOwnProperty;\n\n var extend = function (destination, source) {\n var key;\n\n for (key in source) {\n if (hasOwnProperty.call(source, key)) {\n destination[key] = source[key];\n }\n }\n\n return destination;\n };\n\n var forEach = function (array, callback) {\n var index = -1;\n var length = array.length;\n\n while (++index < length) {\n callback(array[index], index);\n }\n };\n\n var toString = object.toString;\n\n var isArray = function (value) {\n return toString.call(value) == '[object Array]';\n };\n\n var isNumber = function (value) {\n return typeof value == 'number' || toString.call(value) == '[object Number]';\n }; // This assumes that `number` is a positive integer that `toString()`s nicely\n // (which is the case for all code point values).\n\n\n var zeroes = '0000';\n\n var pad = function (number, totalCharacters) {\n var string = String(number);\n return string.length < totalCharacters ? (zeroes + string).slice(-totalCharacters) : string;\n };\n\n var hex = function (number) {\n return Number(number).toString(16).toUpperCase();\n };\n\n var slice = [].slice;\n /*--------------------------------------------------------------------------*/\n\n var dataFromCodePoints = function (codePoints) {\n var index = -1;\n var length = codePoints.length;\n var max = length - 1;\n var result = [];\n var isStart = true;\n var tmp;\n var previous = 0;\n\n while (++index < length) {\n tmp = codePoints[index];\n\n if (isStart) {\n result.push(tmp);\n previous = tmp;\n isStart = false;\n } else {\n if (tmp == previous + 1) {\n if (index != max) {\n previous = tmp;\n continue;\n } else {\n isStart = true;\n result.push(tmp + 1);\n }\n } else {\n // End the previous range and start a new one.\n result.push(previous + 1, tmp);\n previous = tmp;\n }\n }\n }\n\n if (!isStart) {\n result.push(tmp + 1);\n }\n\n return result;\n };\n\n var dataRemove = function (data, codePoint) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n if (codePoint >= start && codePoint < end) {\n // Modify this pair.\n if (codePoint == start) {\n if (end == start + 1) {\n // Just remove `start` and `end`.\n data.splice(index, 2);\n return data;\n } else {\n // Just replace `start` with a new value.\n data[index] = codePoint + 1;\n return data;\n }\n } else if (codePoint == end - 1) {\n // Just replace `end` with a new value.\n data[index + 1] = codePoint;\n return data;\n } else {\n // Replace `[start, end]` with `[startA, endA, startB, endB]`.\n data.splice(index, 2, start, codePoint, codePoint + 1, end);\n return data;\n }\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataRemoveRange = function (data, rangeStart, rangeEnd) {\n if (rangeEnd < rangeStart) {\n throw Error(ERRORS.rangeOrder);\n } // Iterate over the data per `(start, end)` pair.\n\n\n var index = 0;\n var start;\n var end;\n\n while (index < data.length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n // Exit as soon as no more matching pairs can be found.\n\n if (start > rangeEnd) {\n return data;\n } // Check if this range pair is equal to, or forms a subset of, the range\n // to be removed.\n // E.g. we have `[0, 11, 40, 51]` and want to remove 0-10 → `[40, 51]`.\n // E.g. we have `[40, 51]` and want to remove 0-100 → `[]`.\n\n\n if (rangeStart <= start && rangeEnd >= end) {\n // Remove this pair.\n data.splice(index, 2);\n continue;\n } // Check if both `rangeStart` and `rangeEnd` are within the bounds of\n // this pair.\n // E.g. we have `[0, 11]` and want to remove 4-6 → `[0, 4, 7, 11]`.\n\n\n if (rangeStart >= start && rangeEnd < end) {\n if (rangeStart == start) {\n // Replace `[start, end]` with `[startB, endB]`.\n data[index] = rangeEnd + 1;\n data[index + 1] = end + 1;\n return data;\n } // Replace `[start, end]` with `[startA, endA, startB, endB]`.\n\n\n data.splice(index, 2, start, rangeStart, rangeEnd + 1, end + 1);\n return data;\n } // Check if only `rangeStart` is within the bounds of this pair.\n // E.g. we have `[0, 11]` and want to remove 4-20 → `[0, 4]`.\n\n\n if (rangeStart >= start && rangeStart <= end) {\n // Replace `end` with `rangeStart`.\n data[index + 1] = rangeStart; // Note: we cannot `return` just yet, in case any following pairs still\n // contain matching code points.\n // E.g. we have `[0, 11, 14, 31]` and want to remove 4-20\n // → `[0, 4, 21, 31]`.\n } // Check if only `rangeEnd` is within the bounds of this pair.\n // E.g. we have `[14, 31]` and want to remove 4-20 → `[21, 31]`.\n else if (rangeEnd >= start && rangeEnd <= end) {\n // Just replace `start`.\n data[index] = rangeEnd + 1;\n return data;\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataAdd = function (data, codePoint) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var lastIndex = null;\n var length = data.length;\n\n if (codePoint < 0x0 || codePoint > 0x10FFFF) {\n throw RangeError(ERRORS.codePointRange);\n }\n\n while (index < length) {\n start = data[index];\n end = data[index + 1]; // Check if the code point is already in the set.\n\n if (codePoint >= start && codePoint < end) {\n return data;\n }\n\n if (codePoint == start - 1) {\n // Just replace `start` with a new value.\n data[index] = codePoint;\n return data;\n } // At this point, if `start` is `greater` than `codePoint`, insert a new\n // `[start, end]` pair before the current pair, or after the current pair\n // if there is a known `lastIndex`.\n\n\n if (start > codePoint) {\n data.splice(lastIndex != null ? lastIndex + 2 : 0, 0, codePoint, codePoint + 1);\n return data;\n }\n\n if (codePoint == end) {\n // Check if adding this code point causes two separate ranges to become\n // a single range, e.g. `dataAdd([0, 4, 5, 10], 4)` → `[0, 10]`.\n if (codePoint + 1 == data[index + 2]) {\n data.splice(index, 4, start, data[index + 3]);\n return data;\n } // Else, just replace `end` with a new value.\n\n\n data[index + 1] = codePoint + 1;\n return data;\n }\n\n lastIndex = index;\n index += 2;\n } // The loop has finished; add the new pair to the end of the data set.\n\n\n data.push(codePoint, codePoint + 1);\n return data;\n };\n\n var dataAddData = function (dataA, dataB) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var data = dataA.slice();\n var length = dataB.length;\n\n while (index < length) {\n start = dataB[index];\n end = dataB[index + 1] - 1;\n\n if (start == end) {\n data = dataAdd(data, start);\n } else {\n data = dataAddRange(data, start, end);\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataRemoveData = function (dataA, dataB) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var data = dataA.slice();\n var length = dataB.length;\n\n while (index < length) {\n start = dataB[index];\n end = dataB[index + 1] - 1;\n\n if (start == end) {\n data = dataRemove(data, start);\n } else {\n data = dataRemoveRange(data, start, end);\n }\n\n index += 2;\n }\n\n return data;\n };\n\n var dataAddRange = function (data, rangeStart, rangeEnd) {\n if (rangeEnd < rangeStart) {\n throw Error(ERRORS.rangeOrder);\n }\n\n if (rangeStart < 0x0 || rangeStart > 0x10FFFF || rangeEnd < 0x0 || rangeEnd > 0x10FFFF) {\n throw RangeError(ERRORS.codePointRange);\n } // Iterate over the data per `(start, end)` pair.\n\n\n var index = 0;\n var start;\n var end;\n var added = false;\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n if (added) {\n // The range has already been added to the set; at this point, we just\n // need to get rid of the following ranges in case they overlap.\n // Check if this range can be combined with the previous range.\n if (start == rangeEnd + 1) {\n data.splice(index - 1, 2);\n return data;\n } // Exit as soon as no more possibly overlapping pairs can be found.\n\n\n if (start > rangeEnd) {\n return data;\n } // E.g. `[0, 11, 12, 16]` and we’ve added 5-15, so we now have\n // `[0, 16, 12, 16]`. Remove the `12,16` part, as it lies within the\n // `0,16` range that was previously added.\n\n\n if (start >= rangeStart && start <= rangeEnd) {\n // `start` lies within the range that was previously added.\n if (end > rangeStart && end - 1 <= rangeEnd) {\n // `end` lies within the range that was previously added as well,\n // so remove this pair.\n data.splice(index, 2);\n index -= 2; // Note: we cannot `return` just yet, as there may still be other\n // overlapping pairs.\n } else {\n // `start` lies within the range that was previously added, but\n // `end` doesn’t. E.g. `[0, 11, 12, 31]` and we’ve added 5-15, so\n // now we have `[0, 16, 12, 31]`. This must be written as `[0, 31]`.\n // Remove the previously added `end` and the current `start`.\n data.splice(index - 1, 2);\n index -= 2;\n } // Note: we cannot return yet.\n\n }\n } else if (start == rangeEnd + 1 || start == rangeEnd) {\n data[index] = rangeStart;\n return data;\n } // Check if a new pair must be inserted *before* the current one.\n else if (start > rangeEnd) {\n data.splice(index, 0, rangeStart, rangeEnd + 1);\n return data;\n } else if (rangeStart >= start && rangeStart < end && rangeEnd + 1 <= end) {\n // The new range lies entirely within an existing range pair. No action\n // needed.\n return data;\n } else if ( // E.g. `[0, 11]` and you add 5-15 → `[0, 16]`.\n rangeStart >= start && rangeStart < end || // E.g. `[0, 3]` and you add 3-6 → `[0, 7]`.\n end == rangeStart) {\n // Replace `end` with the new value.\n data[index + 1] = rangeEnd + 1; // Make sure the next range pair doesn’t overlap, e.g. `[0, 11, 12, 14]`\n // and you add 5-15 → `[0, 16]`, i.e. remove the `12,14` part.\n\n added = true; // Note: we cannot `return` just yet.\n } else if (rangeStart <= start && rangeEnd + 1 >= end) {\n // The new range is a superset of the old range.\n data[index] = rangeStart;\n data[index + 1] = rangeEnd + 1;\n added = true;\n }\n\n index += 2;\n } // The loop has finished without doing anything; add the new pair to the end\n // of the data set.\n\n\n if (!added) {\n data.push(rangeStart, rangeEnd + 1);\n }\n\n return data;\n };\n\n var dataContains = function (data, codePoint) {\n var index = 0;\n var length = data.length; // Exit early if `codePoint` is not within `data`’s overall range.\n\n var start = data[index];\n var end = data[length - 1];\n\n if (length >= 2) {\n if (codePoint < start || codePoint > end) {\n return false;\n }\n } // Iterate over the data per `(start, end)` pair.\n\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n if (codePoint >= start && codePoint < end) {\n return true;\n }\n\n index += 2;\n }\n\n return false;\n };\n\n var dataIntersection = function (data, codePoints) {\n var index = 0;\n var length = codePoints.length;\n var codePoint;\n var result = [];\n\n while (index < length) {\n codePoint = codePoints[index];\n\n if (dataContains(data, codePoint)) {\n result.push(codePoint);\n }\n\n ++index;\n }\n\n return dataFromCodePoints(result);\n };\n\n var dataIsEmpty = function (data) {\n return !data.length;\n };\n\n var dataIsSingleton = function (data) {\n // Check if the set only represents a single code point.\n return data.length == 2 && data[0] + 1 == data[1];\n };\n\n var dataToArray = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var index = 0;\n var start;\n var end;\n var result = [];\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1];\n\n while (start < end) {\n result.push(start);\n ++start;\n }\n\n index += 2;\n }\n\n return result;\n };\n /*--------------------------------------------------------------------------*/\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\n\n var floor = Math.floor;\n\n var highSurrogate = function (codePoint) {\n return parseInt(floor((codePoint - 0x10000) / 0x400) + HIGH_SURROGATE_MIN, 10);\n };\n\n var lowSurrogate = function (codePoint) {\n return parseInt((codePoint - 0x10000) % 0x400 + LOW_SURROGATE_MIN, 10);\n };\n\n var stringFromCharCode = String.fromCharCode;\n\n var codePointToString = function (codePoint) {\n var string; // https://mathiasbynens.be/notes/javascript-escapes#single\n // Note: the `\\b` escape sequence for U+0008 BACKSPACE in strings has a\n // different meaning in regular expressions (word boundary), so it cannot\n // be used here.\n\n if (codePoint == 0x09) {\n string = '\\\\t';\n } // Note: IE < 9 treats `'\\v'` as `'v'`, so avoid using it.\n // else if (codePoint == 0x0B) {\n // \tstring = '\\\\v';\n // }\n else if (codePoint == 0x0A) {\n string = '\\\\n';\n } else if (codePoint == 0x0C) {\n string = '\\\\f';\n } else if (codePoint == 0x0D) {\n string = '\\\\r';\n } else if (codePoint == 0x2D) {\n // https://mathiasbynens.be/notes/javascript-escapes#hexadecimal\n // Note: `-` (U+002D HYPHEN-MINUS) is escaped in this way rather\n // than by backslash-escaping, in case the output is used outside\n // of a character class in a `u` RegExp. /\\-/u throws, but\n // /\\x2D/u is fine.\n string = '\\\\x2D';\n } else if (codePoint == 0x5C) {\n string = '\\\\\\\\';\n } else if (codePoint == 0x24 || codePoint >= 0x28 && codePoint <= 0x2B || codePoint == 0x2E || codePoint == 0x2F || codePoint == 0x3F || codePoint >= 0x5B && codePoint <= 0x5E || codePoint >= 0x7B && codePoint <= 0x7D) {\n // The code point maps to an unsafe printable ASCII character;\n // backslash-escape it. Here’s the list of those symbols:\n //\n // $()*+./?[\\]^{|}\n //\n // This matches SyntaxCharacters as well as `/` (U+002F SOLIDUS).\n // https://tc39.github.io/ecma262/#prod-SyntaxCharacter\n string = '\\\\' + stringFromCharCode(codePoint);\n } else if (codePoint >= 0x20 && codePoint <= 0x7E) {\n // The code point maps to one of these printable ASCII symbols\n // (including the space character):\n //\n // !\"#%&',/0123456789:;<=>@ABCDEFGHIJKLMNO\n // PQRSTUVWXYZ_`abcdefghijklmnopqrstuvwxyz~\n //\n // These can safely be used directly.\n string = stringFromCharCode(codePoint);\n } else if (codePoint <= 0xFF) {\n string = '\\\\x' + pad(hex(codePoint), 2);\n } else {\n // `codePoint <= 0xFFFF` holds true.\n // https://mathiasbynens.be/notes/javascript-escapes#unicode\n string = '\\\\u' + pad(hex(codePoint), 4);\n } // There’s no need to account for astral symbols / surrogate pairs here,\n // since `codePointToString` is private and only used for BMP code points.\n // But if that’s what you need, just add an `else` block with this code:\n //\n // string = '\\\\u' + pad(hex(highSurrogate(codePoint)), 4)\n // \t+ '\\\\u' + pad(hex(lowSurrogate(codePoint)), 4);\n\n\n return string;\n };\n\n var codePointToStringUnicode = function (codePoint) {\n if (codePoint <= 0xFFFF) {\n return codePointToString(codePoint);\n }\n\n return '\\\\u{' + codePoint.toString(16).toUpperCase() + '}';\n };\n\n var symbolToCodePoint = function (symbol) {\n var length = symbol.length;\n var first = symbol.charCodeAt(0);\n var second;\n\n if (first >= HIGH_SURROGATE_MIN && first <= HIGH_SURROGATE_MAX && length > 1 // There is a next code unit.\n ) {\n // `first` is a high surrogate, and there is a next character. Assume\n // it’s a low surrogate (else it’s invalid usage of Regenerate anyway).\n second = symbol.charCodeAt(1); // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\n return (first - HIGH_SURROGATE_MIN) * 0x400 + second - LOW_SURROGATE_MIN + 0x10000;\n }\n\n return first;\n };\n\n var createBMPCharacterClasses = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var result = '';\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n if (dataIsSingleton(data)) {\n return codePointToString(data[0]);\n }\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n if (start == end) {\n result += codePointToString(start);\n } else if (start + 1 == end) {\n result += codePointToString(start) + codePointToString(end);\n } else {\n result += codePointToString(start) + '-' + codePointToString(end);\n }\n\n index += 2;\n }\n\n return '[' + result + ']';\n };\n\n var createUnicodeCharacterClasses = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var result = '';\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n if (dataIsSingleton(data)) {\n return codePointToStringUnicode(data[0]);\n }\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n if (start == end) {\n result += codePointToStringUnicode(start);\n } else if (start + 1 == end) {\n result += codePointToStringUnicode(start) + codePointToStringUnicode(end);\n } else {\n result += codePointToStringUnicode(start) + '-' + codePointToStringUnicode(end);\n }\n\n index += 2;\n }\n\n return '[' + result + ']';\n };\n\n var splitAtBMP = function (data) {\n // Iterate over the data per `(start, end)` pair.\n var loneHighSurrogates = [];\n var loneLowSurrogates = [];\n var bmp = [];\n var astral = [];\n var index = 0;\n var start;\n var end;\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1; // Note: the `- 1` makes `end` inclusive.\n\n if (start < HIGH_SURROGATE_MIN) {\n // The range starts and ends before the high surrogate range.\n // E.g. (0, 0x10).\n if (end < HIGH_SURROGATE_MIN) {\n bmp.push(start, end + 1);\n } // The range starts before the high surrogate range and ends within it.\n // E.g. (0, 0xD855).\n\n\n if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, end + 1);\n } // The range starts before the high surrogate range and ends in the low\n // surrogate range. E.g. (0, 0xDCFF).\n\n\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n } // The range starts before the high surrogate range and ends after the\n // low surrogate range. E.g. (0, 0x10FFFF).\n\n\n if (end > LOW_SURROGATE_MAX) {\n bmp.push(start, HIGH_SURROGATE_MIN);\n loneHighSurrogates.push(HIGH_SURROGATE_MIN, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start >= HIGH_SURROGATE_MIN && start <= HIGH_SURROGATE_MAX) {\n // The range starts and ends in the high surrogate range.\n // E.g. (0xD855, 0xD866).\n if (end >= HIGH_SURROGATE_MIN && end <= HIGH_SURROGATE_MAX) {\n loneHighSurrogates.push(start, end + 1);\n } // The range starts in the high surrogate range and ends in the low\n // surrogate range. E.g. (0xD855, 0xDCFF).\n\n\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, end + 1);\n } // The range starts in the high surrogate range and ends after the low\n // surrogate range. E.g. (0xD855, 0x10FFFF).\n\n\n if (end > LOW_SURROGATE_MAX) {\n loneHighSurrogates.push(start, HIGH_SURROGATE_MAX + 1);\n loneLowSurrogates.push(LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1);\n\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start >= LOW_SURROGATE_MIN && start <= LOW_SURROGATE_MAX) {\n // The range starts and ends in the low surrogate range.\n // E.g. (0xDCFF, 0xDDFF).\n if (end >= LOW_SURROGATE_MIN && end <= LOW_SURROGATE_MAX) {\n loneLowSurrogates.push(start, end + 1);\n } // The range starts in the low surrogate range and ends after the low\n // surrogate range. E.g. (0xDCFF, 0x10FFFF).\n\n\n if (end > LOW_SURROGATE_MAX) {\n loneLowSurrogates.push(start, LOW_SURROGATE_MAX + 1);\n\n if (end <= 0xFFFF) {\n bmp.push(LOW_SURROGATE_MAX + 1, end + 1);\n } else {\n bmp.push(LOW_SURROGATE_MAX + 1, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n }\n } else if (start > LOW_SURROGATE_MAX && start <= 0xFFFF) {\n // The range starts and ends after the low surrogate range.\n // E.g. (0xFFAA, 0x10FFFF).\n if (end <= 0xFFFF) {\n bmp.push(start, end + 1);\n } else {\n bmp.push(start, 0xFFFF + 1);\n astral.push(0xFFFF + 1, end + 1);\n }\n } else {\n // The range starts and ends in the astral range.\n astral.push(start, end + 1);\n }\n\n index += 2;\n }\n\n return {\n 'loneHighSurrogates': loneHighSurrogates,\n 'loneLowSurrogates': loneLowSurrogates,\n 'bmp': bmp,\n 'astral': astral\n };\n };\n\n var optimizeSurrogateMappings = function (surrogateMappings) {\n var result = [];\n var tmpLow = [];\n var addLow = false;\n var mapping;\n var nextMapping;\n var highSurrogates;\n var lowSurrogates;\n var nextHighSurrogates;\n var nextLowSurrogates;\n var index = -1;\n var length = surrogateMappings.length;\n\n while (++index < length) {\n mapping = surrogateMappings[index];\n nextMapping = surrogateMappings[index + 1];\n\n if (!nextMapping) {\n result.push(mapping);\n continue;\n }\n\n highSurrogates = mapping[0];\n lowSurrogates = mapping[1];\n nextHighSurrogates = nextMapping[0];\n nextLowSurrogates = nextMapping[1]; // Check for identical high surrogate ranges.\n\n tmpLow = lowSurrogates;\n\n while (nextHighSurrogates && highSurrogates[0] == nextHighSurrogates[0] && highSurrogates[1] == nextHighSurrogates[1]) {\n // Merge with the next item.\n if (dataIsSingleton(nextLowSurrogates)) {\n tmpLow = dataAdd(tmpLow, nextLowSurrogates[0]);\n } else {\n tmpLow = dataAddRange(tmpLow, nextLowSurrogates[0], nextLowSurrogates[1] - 1);\n }\n\n ++index;\n mapping = surrogateMappings[index];\n highSurrogates = mapping[0];\n lowSurrogates = mapping[1];\n nextMapping = surrogateMappings[index + 1];\n nextHighSurrogates = nextMapping && nextMapping[0];\n nextLowSurrogates = nextMapping && nextMapping[1];\n addLow = true;\n }\n\n result.push([highSurrogates, addLow ? tmpLow : lowSurrogates]);\n addLow = false;\n }\n\n return optimizeByLowSurrogates(result);\n };\n\n var optimizeByLowSurrogates = function (surrogateMappings) {\n if (surrogateMappings.length == 1) {\n return surrogateMappings;\n }\n\n var index = -1;\n var innerIndex = -1;\n\n while (++index < surrogateMappings.length) {\n var mapping = surrogateMappings[index];\n var lowSurrogates = mapping[1];\n var lowSurrogateStart = lowSurrogates[0];\n var lowSurrogateEnd = lowSurrogates[1];\n innerIndex = index; // Note: the loop starts at the next index.\n\n while (++innerIndex < surrogateMappings.length) {\n var otherMapping = surrogateMappings[innerIndex];\n var otherLowSurrogates = otherMapping[1];\n var otherLowSurrogateStart = otherLowSurrogates[0];\n var otherLowSurrogateEnd = otherLowSurrogates[1];\n\n if (lowSurrogateStart == otherLowSurrogateStart && lowSurrogateEnd == otherLowSurrogateEnd && otherLowSurrogates.length === 2) {\n // Add the code points in the other item to this one.\n if (dataIsSingleton(otherMapping[0])) {\n mapping[0] = dataAdd(mapping[0], otherMapping[0][0]);\n } else {\n mapping[0] = dataAddRange(mapping[0], otherMapping[0][0], otherMapping[0][1] - 1);\n } // Remove the other, now redundant, item.\n\n\n surrogateMappings.splice(innerIndex, 1);\n --innerIndex;\n }\n }\n }\n\n return surrogateMappings;\n };\n\n var surrogateSet = function (data) {\n // Exit early if `data` is an empty set.\n if (!data.length) {\n return [];\n } // Iterate over the data per `(start, end)` pair.\n\n\n var index = 0;\n var start;\n var end;\n var startHigh;\n var startLow;\n var endHigh;\n var endLow;\n var surrogateMappings = [];\n var length = data.length;\n\n while (index < length) {\n start = data[index];\n end = data[index + 1] - 1;\n startHigh = highSurrogate(start);\n startLow = lowSurrogate(start);\n endHigh = highSurrogate(end);\n endLow = lowSurrogate(end);\n var startsWithLowestLowSurrogate = startLow == LOW_SURROGATE_MIN;\n var endsWithHighestLowSurrogate = endLow == LOW_SURROGATE_MAX;\n var complete = false; // Append the previous high-surrogate-to-low-surrogate mappings.\n // Step 1: `(startHigh, startLow)` to `(startHigh, LOW_SURROGATE_MAX)`.\n\n if (startHigh == endHigh || startsWithLowestLowSurrogate && endsWithHighestLowSurrogate) {\n surrogateMappings.push([[startHigh, endHigh + 1], [startLow, endLow + 1]]);\n complete = true;\n } else {\n surrogateMappings.push([[startHigh, startHigh + 1], [startLow, LOW_SURROGATE_MAX + 1]]);\n } // Step 2: `(startHigh + 1, LOW_SURROGATE_MIN)` to\n // `(endHigh - 1, LOW_SURROGATE_MAX)`.\n\n\n if (!complete && startHigh + 1 < endHigh) {\n if (endsWithHighestLowSurrogate) {\n // Combine step 2 and step 3.\n surrogateMappings.push([[startHigh + 1, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);\n complete = true;\n } else {\n surrogateMappings.push([[startHigh + 1, endHigh], [LOW_SURROGATE_MIN, LOW_SURROGATE_MAX + 1]]);\n }\n } // Step 3. `(endHigh, LOW_SURROGATE_MIN)` to `(endHigh, endLow)`.\n\n\n if (!complete) {\n surrogateMappings.push([[endHigh, endHigh + 1], [LOW_SURROGATE_MIN, endLow + 1]]);\n }\n\n index += 2;\n } // The format of `surrogateMappings` is as follows:\n //\n // [ surrogateMapping1, surrogateMapping2 ]\n //\n // i.e.:\n //\n // [\n // [ highSurrogates1, lowSurrogates1 ],\n // [ highSurrogates2, lowSurrogates2 ]\n // ]\n\n\n return optimizeSurrogateMappings(surrogateMappings);\n };\n\n var createSurrogateCharacterClasses = function (surrogateMappings) {\n var result = [];\n forEach(surrogateMappings, function (surrogateMapping) {\n var highSurrogates = surrogateMapping[0];\n var lowSurrogates = surrogateMapping[1];\n result.push(createBMPCharacterClasses(highSurrogates) + createBMPCharacterClasses(lowSurrogates));\n });\n return result.join('|');\n };\n\n var createCharacterClassesFromData = function (data, bmpOnly, hasUnicodeFlag) {\n if (hasUnicodeFlag) {\n return createUnicodeCharacterClasses(data);\n }\n\n var result = [];\n var parts = splitAtBMP(data);\n var loneHighSurrogates = parts.loneHighSurrogates;\n var loneLowSurrogates = parts.loneLowSurrogates;\n var bmp = parts.bmp;\n var astral = parts.astral;\n var hasLoneHighSurrogates = !dataIsEmpty(loneHighSurrogates);\n var hasLoneLowSurrogates = !dataIsEmpty(loneLowSurrogates);\n var surrogateMappings = surrogateSet(astral);\n\n if (bmpOnly) {\n bmp = dataAddData(bmp, loneHighSurrogates);\n hasLoneHighSurrogates = false;\n bmp = dataAddData(bmp, loneLowSurrogates);\n hasLoneLowSurrogates = false;\n }\n\n if (!dataIsEmpty(bmp)) {\n // The data set contains BMP code points that are not high surrogates\n // needed for astral code points in the set.\n result.push(createBMPCharacterClasses(bmp));\n }\n\n if (surrogateMappings.length) {\n // The data set contains astral code points; append character classes\n // based on their surrogate pairs.\n result.push(createSurrogateCharacterClasses(surrogateMappings));\n } // https://gist.github.com/mathiasbynens/bbe7f870208abcfec860\n\n\n if (hasLoneHighSurrogates) {\n result.push(createBMPCharacterClasses(loneHighSurrogates) + // Make sure the high surrogates aren’t part of a surrogate pair.\n '(?![\\\\uDC00-\\\\uDFFF])');\n }\n\n if (hasLoneLowSurrogates) {\n result.push( // It is not possible to accurately assert the low surrogates aren’t\n // part of a surrogate pair, since JavaScript regular expressions do\n // not support lookbehind.\n '(?:[^\\\\uD800-\\\\uDBFF]|^)' + createBMPCharacterClasses(loneLowSurrogates));\n }\n\n return result.join('|');\n };\n /*--------------------------------------------------------------------------*/\n // `regenerate` can be used as a constructor (and new methods can be added to\n // its prototype) but also as a regular function, the latter of which is the\n // documented and most common usage. For that reason, it’s not capitalized.\n\n\n var regenerate = function (value) {\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n\n if (this instanceof regenerate) {\n this.data = [];\n return value ? this.add(value) : this;\n }\n\n return new regenerate().add(value);\n };\n\n regenerate.version = '1.4.2';\n var proto = regenerate.prototype;\n extend(proto, {\n 'add': function (value) {\n var $this = this;\n\n if (value == null) {\n return $this;\n }\n\n if (value instanceof regenerate) {\n // Allow passing other Regenerate instances.\n $this.data = dataAddData($this.data, value.data);\n return $this;\n }\n\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n\n if (isArray(value)) {\n forEach(value, function (item) {\n $this.add(item);\n });\n return $this;\n }\n\n $this.data = dataAdd($this.data, isNumber(value) ? value : symbolToCodePoint(value));\n return $this;\n },\n 'remove': function (value) {\n var $this = this;\n\n if (value == null) {\n return $this;\n }\n\n if (value instanceof regenerate) {\n // Allow passing other Regenerate instances.\n $this.data = dataRemoveData($this.data, value.data);\n return $this;\n }\n\n if (arguments.length > 1) {\n value = slice.call(arguments);\n }\n\n if (isArray(value)) {\n forEach(value, function (item) {\n $this.remove(item);\n });\n return $this;\n }\n\n $this.data = dataRemove($this.data, isNumber(value) ? value : symbolToCodePoint(value));\n return $this;\n },\n 'addRange': function (start, end) {\n var $this = this;\n $this.data = dataAddRange($this.data, isNumber(start) ? start : symbolToCodePoint(start), isNumber(end) ? end : symbolToCodePoint(end));\n return $this;\n },\n 'removeRange': function (start, end) {\n var $this = this;\n var startCodePoint = isNumber(start) ? start : symbolToCodePoint(start);\n var endCodePoint = isNumber(end) ? end : symbolToCodePoint(end);\n $this.data = dataRemoveRange($this.data, startCodePoint, endCodePoint);\n return $this;\n },\n 'intersection': function (argument) {\n var $this = this; // Allow passing other Regenerate instances.\n // TODO: Optimize this by writing and using `dataIntersectionData()`.\n\n var array = argument instanceof regenerate ? dataToArray(argument.data) : argument;\n $this.data = dataIntersection($this.data, array);\n return $this;\n },\n 'contains': function (codePoint) {\n return dataContains(this.data, isNumber(codePoint) ? codePoint : symbolToCodePoint(codePoint));\n },\n 'clone': function () {\n var set = new regenerate();\n set.data = this.data.slice(0);\n return set;\n },\n 'toString': function (options) {\n var result = createCharacterClassesFromData(this.data, options ? options.bmpOnly : false, options ? options.hasUnicodeFlag : false);\n\n if (!result) {\n // For an empty set, return something that can be inserted `/here/` to\n // form a valid regular expression. Avoid `(?:)` since that matches the\n // empty string.\n return '[]';\n } // Use `\\0` instead of `\\x00` where possible.\n\n\n return result.replace(regexNull, '\\\\0$1');\n },\n 'toRegExp': function (flags) {\n var pattern = this.toString(flags && flags.indexOf('u') != -1 ? {\n 'hasUnicodeFlag': true\n } : null);\n return RegExp(pattern, flags || '');\n },\n 'valueOf': function () {\n // Note: `valueOf` is aliased as `toArray`.\n return dataToArray(this.data);\n }\n });\n proto.toArray = proto.valueOf; // Some AMD build optimizers, like r.js, check for specific condition patterns\n // like the following:\n\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n define(function () {\n return regenerate;\n });\n } else if (freeExports && !freeExports.nodeType) {\n if (freeModule) {\n // in Node.js, io.js, or RingoJS v0.8.0+\n freeModule.exports = regenerate;\n } else {\n // in Narwhal or RingoJS v0.7.0-\n freeExports.regenerate = regenerate;\n }\n } else {\n // in Rhino or a web browser\n root.regenerate = regenerate;\n }\n})(this);","//\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB); // Test for A's keys different from B.\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n\n return true;\n};","function stylis_min(W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {}\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\nexport default unitlessKeys;","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;","import memoize from '@emotion/memoize';\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\nexport default isPropValid;","import { typeOf as e, isElement as t, isValidElementType as n } from \"react-is\";\nimport r, { useState as o, useContext as s, useMemo as i, useEffect as a, useRef as c, createElement as u, useDebugValue as l, useLayoutEffect as d } from \"react\";\nimport h from \"shallowequal\";\nimport p from \"@emotion/stylis\";\nimport f from \"@emotion/unitless\";\nimport m from \"@emotion/is-prop-valid\";\nimport y from \"hoist-non-react-statics\";\n\nfunction v() {\n return (v = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nvar g = function (e, t) {\n for (var n = [e[0]], r = 0, o = t.length; r < o; r += 1) n.push(t[r], e[r + 1]);\n\n return n;\n},\n S = function (t) {\n return null !== t && \"object\" == typeof t && \"[object Object]\" === (t.toString ? t.toString() : Object.prototype.toString.call(t)) && !e(t);\n},\n w = Object.freeze([]),\n E = Object.freeze({});\n\nfunction b(e) {\n return \"function\" == typeof e;\n}\n\nfunction _(e) {\n return \"production\" !== process.env.NODE_ENV && \"string\" == typeof e && e || e.displayName || e.name || \"Component\";\n}\n\nfunction N(e) {\n return e && \"string\" == typeof e.styledComponentId;\n}\n\nvar A = \"undefined\" != typeof process && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || \"data-styled\",\n C = \"5.3.6\",\n I = \"undefined\" != typeof window && \"HTMLElement\" in window,\n P = Boolean(\"boolean\" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && \"\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? \"false\" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : \"undefined\" != typeof process && void 0 !== process.env.SC_DISABLE_SPEEDY && \"\" !== process.env.SC_DISABLE_SPEEDY ? \"false\" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : \"production\" !== process.env.NODE_ENV),\n O = {},\n R = \"production\" !== process.env.NODE_ENV ? {\n 1: \"Cannot create styled-component for component: %s.\\n\\n\",\n 2: \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n 3: \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n 4: \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n 5: \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n 6: \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n 7: 'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',\n 8: 'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',\n 9: \"Missing document ``\\n\\n\",\n 10: \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n 11: \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n 12: \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n 13: \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n 14: 'ThemeProvider: \"theme\" prop is required.\\n\\n',\n 15: \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n 16: \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n 17: \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n} : {};\n\nfunction D() {\n for (var e = arguments.length <= 0 ? void 0 : arguments[0], t = [], n = 1, r = arguments.length; n < r; n += 1) t.push(n < 0 || arguments.length <= n ? void 0 : arguments[n]);\n\n return t.forEach(function (t) {\n e = e.replace(/%[a-z]/, t);\n }), e;\n}\n\nfunction j(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n throw \"production\" === process.env.NODE_ENV ? new Error(\"An error occurred. See https://git.io/JUIaE#\" + e + \" for more information.\" + (n.length > 0 ? \" Args: \" + n.join(\", \") : \"\")) : new Error(D.apply(void 0, [R[e]].concat(n)).trim());\n}\n\nvar T = function () {\n function e(e) {\n this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e;\n }\n\n var t = e.prototype;\n return t.indexOfGroup = function (e) {\n for (var t = 0, n = 0; n < e; n++) t += this.groupSizes[n];\n\n return t;\n }, t.insertRules = function (e, t) {\n if (e >= this.groupSizes.length) {\n for (var n = this.groupSizes, r = n.length, o = r; e >= o;) (o <<= 1) < 0 && j(16, \"\" + e);\n\n this.groupSizes = new Uint32Array(o), this.groupSizes.set(n), this.length = o;\n\n for (var s = r; s < o; s++) this.groupSizes[s] = 0;\n }\n\n for (var i = this.indexOfGroup(e + 1), a = 0, c = t.length; a < c; a++) this.tag.insertRule(i, t[a]) && (this.groupSizes[e]++, i++);\n }, t.clearGroup = function (e) {\n if (e < this.length) {\n var t = this.groupSizes[e],\n n = this.indexOfGroup(e),\n r = n + t;\n this.groupSizes[e] = 0;\n\n for (var o = n; o < r; o++) this.tag.deleteRule(n);\n }\n }, t.getGroup = function (e) {\n var t = \"\";\n if (e >= this.length || 0 === this.groupSizes[e]) return t;\n\n for (var n = this.groupSizes[e], r = this.indexOfGroup(e), o = r + n, s = r; s < o; s++) t += this.tag.getRule(s) + \"/*!sc*/\\n\";\n\n return t;\n }, e;\n}(),\n x = new Map(),\n k = new Map(),\n V = 1,\n B = function (e) {\n if (x.has(e)) return x.get(e);\n\n for (; k.has(V);) V++;\n\n var t = V++;\n return \"production\" !== process.env.NODE_ENV && ((0 | t) < 0 || t > 1 << 30) && j(16, \"\" + t), x.set(e, t), k.set(t, e), t;\n},\n z = function (e) {\n return k.get(e);\n},\n M = function (e, t) {\n t >= V && (V = t + 1), x.set(e, t), k.set(t, e);\n},\n G = \"style[\" + A + '][data-styled-version=\"5.3.6\"]',\n L = new RegExp(\"^\" + A + '\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),\n F = function (e, t, n) {\n for (var r, o = n.split(\",\"), s = 0, i = o.length; s < i; s++) (r = o[s]) && e.registerName(t, r);\n},\n Y = function (e, t) {\n for (var n = (t.textContent || \"\").split(\"/*!sc*/\\n\"), r = [], o = 0, s = n.length; o < s; o++) {\n var i = n[o].trim();\n\n if (i) {\n var a = i.match(L);\n\n if (a) {\n var c = 0 | parseInt(a[1], 10),\n u = a[2];\n 0 !== c && (M(u, c), F(e, u, a[3]), e.getTag().insertRules(c, r)), r.length = 0;\n } else r.push(i);\n }\n }\n},\n q = function () {\n return \"undefined\" != typeof __webpack_nonce__ ? __webpack_nonce__ : null;\n},\n H = function (e) {\n var t = document.head,\n n = e || t,\n r = document.createElement(\"style\"),\n o = function (e) {\n for (var t = e.childNodes, n = t.length; n >= 0; n--) {\n var r = t[n];\n if (r && 1 === r.nodeType && r.hasAttribute(A)) return r;\n }\n }(n),\n s = void 0 !== o ? o.nextSibling : null;\n\n r.setAttribute(A, \"active\"), r.setAttribute(\"data-styled-version\", \"5.3.6\");\n var i = q();\n return i && r.setAttribute(\"nonce\", i), n.insertBefore(r, s), r;\n},\n $ = function () {\n function e(e) {\n var t = this.element = H(e);\n t.appendChild(document.createTextNode(\"\")), this.sheet = function (e) {\n if (e.sheet) return e.sheet;\n\n for (var t = document.styleSheets, n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n if (o.ownerNode === e) return o;\n }\n\n j(17);\n }(t), this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n try {\n return this.sheet.insertRule(t, e), this.length++, !0;\n } catch (e) {\n return !1;\n }\n }, t.deleteRule = function (e) {\n this.sheet.deleteRule(e), this.length--;\n }, t.getRule = function (e) {\n var t = this.sheet.cssRules[e];\n return void 0 !== t && \"string\" == typeof t.cssText ? t.cssText : \"\";\n }, e;\n}(),\n W = function () {\n function e(e) {\n var t = this.element = H(e);\n this.nodes = t.childNodes, this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n if (e <= this.length && e >= 0) {\n var n = document.createTextNode(t),\n r = this.nodes[e];\n return this.element.insertBefore(n, r || null), this.length++, !0;\n }\n\n return !1;\n }, t.deleteRule = function (e) {\n this.element.removeChild(this.nodes[e]), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.nodes[e].textContent : \"\";\n }, e;\n}(),\n U = function () {\n function e(e) {\n this.rules = [], this.length = 0;\n }\n\n var t = e.prototype;\n return t.insertRule = function (e, t) {\n return e <= this.length && (this.rules.splice(e, 0, t), this.length++, !0);\n }, t.deleteRule = function (e) {\n this.rules.splice(e, 1), this.length--;\n }, t.getRule = function (e) {\n return e < this.length ? this.rules[e] : \"\";\n }, e;\n}(),\n J = I,\n X = {\n isServer: !I,\n useCSSOMInjection: !P\n},\n Z = function () {\n function e(e, t, n) {\n void 0 === e && (e = E), void 0 === t && (t = {}), this.options = v({}, X, {}, e), this.gs = t, this.names = new Map(n), this.server = !!e.isServer, !this.server && I && J && (J = !1, function (e) {\n for (var t = document.querySelectorAll(G), n = 0, r = t.length; n < r; n++) {\n var o = t[n];\n o && \"active\" !== o.getAttribute(A) && (Y(e, o), o.parentNode && o.parentNode.removeChild(o));\n }\n }(this));\n }\n\n e.registerId = function (e) {\n return B(e);\n };\n\n var t = e.prototype;\n return t.reconstructWithOptions = function (t, n) {\n return void 0 === n && (n = !0), new e(v({}, this.options, {}, t), this.gs, n && this.names || void 0);\n }, t.allocateGSInstance = function (e) {\n return this.gs[e] = (this.gs[e] || 0) + 1;\n }, t.getTag = function () {\n return this.tag || (this.tag = (n = (t = this.options).isServer, r = t.useCSSOMInjection, o = t.target, e = n ? new U(o) : r ? new $(o) : new W(o), new T(e)));\n var e, t, n, r, o;\n }, t.hasNameForId = function (e, t) {\n return this.names.has(e) && this.names.get(e).has(t);\n }, t.registerName = function (e, t) {\n if (B(e), this.names.has(e)) this.names.get(e).add(t);else {\n var n = new Set();\n n.add(t), this.names.set(e, n);\n }\n }, t.insertRules = function (e, t, n) {\n this.registerName(e, t), this.getTag().insertRules(B(e), n);\n }, t.clearNames = function (e) {\n this.names.has(e) && this.names.get(e).clear();\n }, t.clearRules = function (e) {\n this.getTag().clearGroup(B(e)), this.clearNames(e);\n }, t.clearTag = function () {\n this.tag = void 0;\n }, t.toString = function () {\n return function (e) {\n for (var t = e.getTag(), n = t.length, r = \"\", o = 0; o < n; o++) {\n var s = z(o);\n\n if (void 0 !== s) {\n var i = e.names.get(s),\n a = t.getGroup(o);\n\n if (i && a && i.size) {\n var c = A + \".g\" + o + '[id=\"' + s + '\"]',\n u = \"\";\n void 0 !== i && i.forEach(function (e) {\n e.length > 0 && (u += e + \",\");\n }), r += \"\" + a + c + '{content:\"' + u + '\"}/*!sc*/\\n';\n }\n }\n }\n\n return r;\n }(this);\n }, e;\n}(),\n K = /(a)(d)/gi,\n Q = function (e) {\n return String.fromCharCode(e + (e > 25 ? 39 : 97));\n};\n\nfunction ee(e) {\n var t,\n n = \"\";\n\n for (t = Math.abs(e); t > 52; t = t / 52 | 0) n = Q(t % 52) + n;\n\n return (Q(t % 52) + n).replace(K, \"$1-$2\");\n}\n\nvar te = function (e, t) {\n for (var n = t.length; n;) e = 33 * e ^ t.charCodeAt(--n);\n\n return e;\n},\n ne = function (e) {\n return te(5381, e);\n};\n\nfunction re(e) {\n for (var t = 0; t < e.length; t += 1) {\n var n = e[t];\n if (b(n) && !N(n)) return !1;\n }\n\n return !0;\n}\n\nvar oe = ne(\"5.3.6\"),\n se = function () {\n function e(e, t, n) {\n this.rules = e, this.staticRulesId = \"\", this.isStatic = \"production\" === process.env.NODE_ENV && (void 0 === n || n.isStatic) && re(e), this.componentId = t, this.baseHash = te(oe, t), this.baseStyle = n, Z.registerId(t);\n }\n\n return e.prototype.generateAndInjectStyles = function (e, t, n) {\n var r = this.componentId,\n o = [];\n if (this.baseStyle && o.push(this.baseStyle.generateAndInjectStyles(e, t, n)), this.isStatic && !n.hash) {\n if (this.staticRulesId && t.hasNameForId(r, this.staticRulesId)) o.push(this.staticRulesId);else {\n var s = Ne(this.rules, e, t, n).join(\"\"),\n i = ee(te(this.baseHash, s) >>> 0);\n\n if (!t.hasNameForId(r, i)) {\n var a = n(s, \".\" + i, void 0, r);\n t.insertRules(r, i, a);\n }\n\n o.push(i), this.staticRulesId = i;\n }\n } else {\n for (var c = this.rules.length, u = te(this.baseHash, n.hash), l = \"\", d = 0; d < c; d++) {\n var h = this.rules[d];\n if (\"string\" == typeof h) l += h, \"production\" !== process.env.NODE_ENV && (u = te(u, h + d));else if (h) {\n var p = Ne(h, e, t, n),\n f = Array.isArray(p) ? p.join(\"\") : p;\n u = te(u, f + d), l += f;\n }\n }\n\n if (l) {\n var m = ee(u >>> 0);\n\n if (!t.hasNameForId(r, m)) {\n var y = n(l, \".\" + m, void 0, r);\n t.insertRules(r, m, y);\n }\n\n o.push(m);\n }\n }\n return o.join(\" \");\n }, e;\n}(),\n ie = /^\\s*\\/\\/.*$/gm,\n ae = [\":\", \"[\", \".\", \"#\"];\n\nfunction ce(e) {\n var t,\n n,\n r,\n o,\n s = void 0 === e ? E : e,\n i = s.options,\n a = void 0 === i ? E : i,\n c = s.plugins,\n u = void 0 === c ? w : c,\n l = new p(a),\n d = [],\n h = function (e) {\n function t(t) {\n if (t) try {\n e(t + \"}\");\n } catch (e) {}\n }\n\n return function (n, r, o, s, i, a, c, u, l, d) {\n switch (n) {\n case 1:\n if (0 === l && 64 === r.charCodeAt(0)) return e(r + \";\"), \"\";\n break;\n\n case 2:\n if (0 === u) return r + \"/*|*/\";\n break;\n\n case 3:\n switch (u) {\n case 102:\n case 112:\n return e(o[0] + r), \"\";\n\n default:\n return r + (0 === d ? \"/*|*/\" : \"\");\n }\n\n case -2:\n r.split(\"/*|*/}\").forEach(t);\n }\n };\n }(function (e) {\n d.push(e);\n }),\n f = function (e, r, s) {\n return 0 === r && -1 !== ae.indexOf(s[n.length]) || s.match(o) ? e : \".\" + t;\n };\n\n function m(e, s, i, a) {\n void 0 === a && (a = \"&\");\n var c = e.replace(ie, \"\"),\n u = s && i ? i + \" \" + s + \" { \" + c + \" }\" : c;\n return t = a, n = s, r = new RegExp(\"\\\\\" + n + \"\\\\b\", \"g\"), o = new RegExp(\"(\\\\\" + n + \"\\\\b){2,}\"), l(i || !s ? \"\" : s, u);\n }\n\n return l.use([].concat(u, [function (e, t, o) {\n 2 === e && o.length && o[0].lastIndexOf(n) > 0 && (o[0] = o[0].replace(r, f));\n }, h, function (e) {\n if (-2 === e) {\n var t = d;\n return d = [], t;\n }\n }])), m.hash = u.length ? u.reduce(function (e, t) {\n return t.name || j(15), te(e, t.name);\n }, 5381).toString() : \"\", m;\n}\n\nvar ue = r.createContext(),\n le = ue.Consumer,\n de = r.createContext(),\n he = (de.Consumer, new Z()),\n pe = ce();\n\nfunction fe() {\n return s(ue) || he;\n}\n\nfunction me() {\n return s(de) || pe;\n}\n\nfunction ye(e) {\n var t = o(e.stylisPlugins),\n n = t[0],\n s = t[1],\n c = fe(),\n u = i(function () {\n var t = c;\n return e.sheet ? t = e.sheet : e.target && (t = t.reconstructWithOptions({\n target: e.target\n }, !1)), e.disableCSSOMInjection && (t = t.reconstructWithOptions({\n useCSSOMInjection: !1\n })), t;\n }, [e.disableCSSOMInjection, e.sheet, e.target]),\n l = i(function () {\n return ce({\n options: {\n prefix: !e.disableVendorPrefixes\n },\n plugins: n\n });\n }, [e.disableVendorPrefixes, n]);\n return a(function () {\n h(n, e.stylisPlugins) || s(e.stylisPlugins);\n }, [e.stylisPlugins]), r.createElement(ue.Provider, {\n value: u\n }, r.createElement(de.Provider, {\n value: l\n }, \"production\" !== process.env.NODE_ENV ? r.Children.only(e.children) : e.children));\n}\n\nvar ve = function () {\n function e(e, t) {\n var n = this;\n this.inject = function (e, t) {\n void 0 === t && (t = pe);\n var r = n.name + t.hash;\n e.hasNameForId(n.id, r) || e.insertRules(n.id, r, t(n.rules, r, \"@keyframes\"));\n }, this.toString = function () {\n return j(12, String(n.name));\n }, this.name = e, this.id = \"sc-keyframes-\" + e, this.rules = t;\n }\n\n return e.prototype.getName = function (e) {\n return void 0 === e && (e = pe), this.name + e.hash;\n }, e;\n}(),\n ge = /([A-Z])/,\n Se = /([A-Z])/g,\n we = /^ms-/,\n Ee = function (e) {\n return \"-\" + e.toLowerCase();\n};\n\nfunction be(e) {\n return ge.test(e) ? e.replace(Se, Ee).replace(we, \"-ms-\") : e;\n}\n\nvar _e = function (e) {\n return null == e || !1 === e || \"\" === e;\n};\n\nfunction Ne(e, n, r, o) {\n if (Array.isArray(e)) {\n for (var s, i = [], a = 0, c = e.length; a < c; a += 1) \"\" !== (s = Ne(e[a], n, r, o)) && (Array.isArray(s) ? i.push.apply(i, s) : i.push(s));\n\n return i;\n }\n\n if (_e(e)) return \"\";\n if (N(e)) return \".\" + e.styledComponentId;\n\n if (b(e)) {\n if (\"function\" != typeof (l = e) || l.prototype && l.prototype.isReactComponent || !n) return e;\n var u = e(n);\n return \"production\" !== process.env.NODE_ENV && t(u) && console.warn(_(e) + \" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"), Ne(u, n, r, o);\n }\n\n var l;\n return e instanceof ve ? r ? (e.inject(r, o), e.getName(o)) : e : S(e) ? function e(t, n) {\n var r,\n o,\n s = [];\n\n for (var i in t) t.hasOwnProperty(i) && !_e(t[i]) && (Array.isArray(t[i]) && t[i].isCss || b(t[i]) ? s.push(be(i) + \":\", t[i], \";\") : S(t[i]) ? s.push.apply(s, e(t[i], i)) : s.push(be(i) + \": \" + (r = i, null == (o = t[i]) || \"boolean\" == typeof o || \"\" === o ? \"\" : \"number\" != typeof o || 0 === o || r in f ? String(o).trim() : o + \"px\") + \";\"));\n\n return n ? [n + \" {\"].concat(s, [\"}\"]) : s;\n }(e) : e.toString();\n}\n\nvar Ae = function (e) {\n return Array.isArray(e) && (e.isCss = !0), e;\n};\n\nfunction Ce(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n return b(e) || S(e) ? Ae(Ne(g(w, [e].concat(n)))) : 0 === n.length && 1 === e.length && \"string\" == typeof e[0] ? e : Ae(Ne(g(e, n)));\n}\n\nvar Ie = /invalid hook call/i,\n Pe = new Set(),\n Oe = function (e, t) {\n if (\"production\" !== process.env.NODE_ENV) {\n var n = \"The component \" + e + (t ? ' with the id of \"' + t + '\"' : \"\") + \" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",\n r = console.error;\n\n try {\n var o = !0;\n console.error = function (e) {\n if (Ie.test(e)) o = !1, Pe.delete(n);else {\n for (var t = arguments.length, s = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) s[i - 1] = arguments[i];\n\n r.apply(void 0, [e].concat(s));\n }\n }, c(), o && !Pe.has(n) && (console.warn(n), Pe.add(n));\n } catch (e) {\n Ie.test(e.message) && Pe.delete(n);\n } finally {\n console.error = r;\n }\n }\n},\n Re = function (e, t, n) {\n return void 0 === n && (n = E), e.theme !== n.theme && e.theme || t || n.theme;\n},\n De = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,\n je = /(^-|-$)/g;\n\nfunction Te(e) {\n return e.replace(De, \"-\").replace(je, \"\");\n}\n\nvar xe = function (e) {\n return ee(ne(e) >>> 0);\n};\n\nfunction ke(e) {\n return \"string\" == typeof e && (\"production\" === process.env.NODE_ENV || e.charAt(0) === e.charAt(0).toLowerCase());\n}\n\nvar Ve = function (e) {\n return \"function\" == typeof e || \"object\" == typeof e && null !== e && !Array.isArray(e);\n},\n Be = function (e) {\n return \"__proto__\" !== e && \"constructor\" !== e && \"prototype\" !== e;\n};\n\nfunction ze(e, t, n) {\n var r = e[n];\n Ve(t) && Ve(r) ? Me(r, t) : e[n] = t;\n}\n\nfunction Me(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n for (var o = 0, s = n; o < s.length; o++) {\n var i = s[o];\n if (Ve(i)) for (var a in i) Be(a) && ze(e, i[a], a);\n }\n\n return e;\n}\n\nvar Ge = r.createContext(),\n Le = Ge.Consumer;\n\nfunction Fe(e) {\n var t = s(Ge),\n n = i(function () {\n return function (e, t) {\n if (!e) return j(14);\n\n if (b(e)) {\n var n = e(t);\n return \"production\" === process.env.NODE_ENV || null !== n && !Array.isArray(n) && \"object\" == typeof n ? n : j(7);\n }\n\n return Array.isArray(e) || \"object\" != typeof e ? j(8) : t ? v({}, t, {}, e) : e;\n }(e.theme, t);\n }, [e.theme, t]);\n return e.children ? r.createElement(Ge.Provider, {\n value: n\n }, e.children) : null;\n}\n\nvar Ye = {};\n\nfunction qe(e, t, n) {\n var o = N(e),\n i = !ke(e),\n a = t.attrs,\n c = void 0 === a ? w : a,\n d = t.componentId,\n h = void 0 === d ? function (e, t) {\n var n = \"string\" != typeof e ? \"sc\" : Te(e);\n Ye[n] = (Ye[n] || 0) + 1;\n var r = n + \"-\" + xe(\"5.3.6\" + n + Ye[n]);\n return t ? t + \"-\" + r : r;\n }(t.displayName, t.parentComponentId) : d,\n p = t.displayName,\n f = void 0 === p ? function (e) {\n return ke(e) ? \"styled.\" + e : \"Styled(\" + _(e) + \")\";\n }(e) : p,\n g = t.displayName && t.componentId ? Te(t.displayName) + \"-\" + t.componentId : t.componentId || h,\n S = o && e.attrs ? Array.prototype.concat(e.attrs, c).filter(Boolean) : c,\n A = t.shouldForwardProp;\n o && e.shouldForwardProp && (A = t.shouldForwardProp ? function (n, r, o) {\n return e.shouldForwardProp(n, r, o) && t.shouldForwardProp(n, r, o);\n } : e.shouldForwardProp);\n\n var C,\n I = new se(n, g, o ? e.componentStyle : void 0),\n P = I.isStatic && 0 === c.length,\n O = function (e, t) {\n return function (e, t, n, r) {\n var o = e.attrs,\n i = e.componentStyle,\n a = e.defaultProps,\n c = e.foldedComponentIds,\n d = e.shouldForwardProp,\n h = e.styledComponentId,\n p = e.target;\n \"production\" !== process.env.NODE_ENV && l(h);\n\n var f = function (e, t, n) {\n void 0 === e && (e = E);\n var r = v({}, t, {\n theme: e\n }),\n o = {};\n return n.forEach(function (e) {\n var t,\n n,\n s,\n i = e;\n\n for (t in b(i) && (i = i(r)), i) r[t] = o[t] = \"className\" === t ? (n = o[t], s = i[t], n && s ? n + \" \" + s : n || s) : i[t];\n }), [r, o];\n }(Re(t, s(Ge), a) || E, t, o),\n y = f[0],\n g = f[1],\n S = function (e, t, n, r) {\n var o = fe(),\n s = me(),\n i = t ? e.generateAndInjectStyles(E, o, s) : e.generateAndInjectStyles(n, o, s);\n return \"production\" !== process.env.NODE_ENV && l(i), \"production\" !== process.env.NODE_ENV && !t && r && r(i), i;\n }(i, r, y, \"production\" !== process.env.NODE_ENV ? e.warnTooManyClasses : void 0),\n w = n,\n _ = g.$as || t.$as || g.as || t.as || p,\n N = ke(_),\n A = g !== t ? v({}, t, {}, g) : t,\n C = {};\n\n for (var I in A) \"$\" !== I[0] && \"as\" !== I && (\"forwardedAs\" === I ? C.as = A[I] : (d ? d(I, m, _) : !N || m(I)) && (C[I] = A[I]));\n\n return t.style && g.style !== t.style && (C.style = v({}, t.style, {}, g.style)), C.className = Array.prototype.concat(c, h, S !== h ? S : null, t.className, g.className).filter(Boolean).join(\" \"), C.ref = w, u(_, C);\n }(C, e, t, P);\n };\n\n return O.displayName = f, (C = r.forwardRef(O)).attrs = S, C.componentStyle = I, C.displayName = f, C.shouldForwardProp = A, C.foldedComponentIds = o ? Array.prototype.concat(e.foldedComponentIds, e.styledComponentId) : w, C.styledComponentId = g, C.target = o ? e.target : e, C.withComponent = function (e) {\n var r = t.componentId,\n o = function (e, t) {\n if (null == e) return {};\n var n,\n r,\n o = {},\n s = Object.keys(e);\n\n for (r = 0; r < s.length; r++) n = s[r], t.indexOf(n) >= 0 || (o[n] = e[n]);\n\n return o;\n }(t, [\"componentId\"]),\n s = r && r + \"-\" + (ke(e) ? e : Te(_(e)));\n\n return qe(e, v({}, o, {\n attrs: S,\n componentId: s\n }), n);\n }, Object.defineProperty(C, \"defaultProps\", {\n get: function () {\n return this._foldedDefaultProps;\n },\n set: function (t) {\n this._foldedDefaultProps = o ? Me({}, e.defaultProps, t) : t;\n }\n }), \"production\" !== process.env.NODE_ENV && (Oe(f, g), C.warnTooManyClasses = function (e, t) {\n var n = {},\n r = !1;\n return function (o) {\n if (!r && (n[o] = !0, Object.keys(n).length >= 200)) {\n var s = t ? ' with the id of \"' + t + '\"' : \"\";\n console.warn(\"Over 200 classes were generated for component \" + e + s + \".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"), r = !0, n = {};\n }\n };\n }(f, g)), C.toString = function () {\n return \".\" + C.styledComponentId;\n }, i && y(C, e, {\n attrs: !0,\n componentStyle: !0,\n displayName: !0,\n foldedComponentIds: !0,\n shouldForwardProp: !0,\n styledComponentId: !0,\n target: !0,\n withComponent: !0\n }), C;\n}\n\nvar He = function (e) {\n return function e(t, r, o) {\n if (void 0 === o && (o = E), !n(r)) return j(1, String(r));\n\n var s = function () {\n return t(r, o, Ce.apply(void 0, arguments));\n };\n\n return s.withConfig = function (n) {\n return e(t, r, v({}, o, {}, n));\n }, s.attrs = function (n) {\n return e(t, r, v({}, o, {\n attrs: Array.prototype.concat(o.attrs, n).filter(Boolean)\n }));\n }, s;\n }(qe, e);\n};\n\n[\"a\", \"abbr\", \"address\", \"area\", \"article\", \"aside\", \"audio\", \"b\", \"base\", \"bdi\", \"bdo\", \"big\", \"blockquote\", \"body\", \"br\", \"button\", \"canvas\", \"caption\", \"cite\", \"code\", \"col\", \"colgroup\", \"data\", \"datalist\", \"dd\", \"del\", \"details\", \"dfn\", \"dialog\", \"div\", \"dl\", \"dt\", \"em\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"head\", \"header\", \"hgroup\", \"hr\", \"html\", \"i\", \"iframe\", \"img\", \"input\", \"ins\", \"kbd\", \"keygen\", \"label\", \"legend\", \"li\", \"link\", \"main\", \"map\", \"mark\", \"marquee\", \"menu\", \"menuitem\", \"meta\", \"meter\", \"nav\", \"noscript\", \"object\", \"ol\", \"optgroup\", \"option\", \"output\", \"p\", \"param\", \"picture\", \"pre\", \"progress\", \"q\", \"rp\", \"rt\", \"ruby\", \"s\", \"samp\", \"script\", \"section\", \"select\", \"small\", \"source\", \"span\", \"strong\", \"style\", \"sub\", \"summary\", \"sup\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"thead\", \"time\", \"title\", \"tr\", \"track\", \"u\", \"ul\", \"var\", \"video\", \"wbr\", \"circle\", \"clipPath\", \"defs\", \"ellipse\", \"foreignObject\", \"g\", \"image\", \"line\", \"linearGradient\", \"marker\", \"mask\", \"path\", \"pattern\", \"polygon\", \"polyline\", \"radialGradient\", \"rect\", \"stop\", \"svg\", \"text\", \"textPath\", \"tspan\"].forEach(function (e) {\n He[e] = He(e);\n});\n\nvar $e = function () {\n function e(e, t) {\n this.rules = e, this.componentId = t, this.isStatic = re(e), Z.registerId(this.componentId + 1);\n }\n\n var t = e.prototype;\n return t.createStyles = function (e, t, n, r) {\n var o = r(Ne(this.rules, t, n, r).join(\"\"), \"\"),\n s = this.componentId + e;\n n.insertRules(s, s, o);\n }, t.removeStyles = function (e, t) {\n t.clearRules(this.componentId + e);\n }, t.renderStyles = function (e, t, n, r) {\n e > 2 && Z.registerId(this.componentId + e), this.removeStyles(e, n), this.createStyles(e, t, n, r);\n }, e;\n}();\n\nfunction We(e) {\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) n[o - 1] = arguments[o];\n\n var i = Ce.apply(void 0, [e].concat(n)),\n a = \"sc-global-\" + xe(JSON.stringify(i)),\n u = new $e(i, a);\n\n function l(e) {\n var t = fe(),\n n = me(),\n o = s(Ge),\n l = c(t.allocateGSInstance(a)).current;\n return \"production\" !== process.env.NODE_ENV && r.Children.count(e.children) && console.warn(\"The global style component \" + a + \" was given child JSX. createGlobalStyle does not render children.\"), \"production\" !== process.env.NODE_ENV && i.some(function (e) {\n return \"string\" == typeof e && -1 !== e.indexOf(\"@import\");\n }) && console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"), t.server && h(l, e, t, o, n), d(function () {\n if (!t.server) return h(l, e, t, o, n), function () {\n return u.removeStyles(l, t);\n };\n }, [l, e, t, o, n]), null;\n }\n\n function h(e, t, n, r, o) {\n if (u.isStatic) u.renderStyles(e, O, n, o);else {\n var s = v({}, t, {\n theme: Re(t, r, l.defaultProps)\n });\n u.renderStyles(e, s, n, o);\n }\n }\n\n return \"production\" !== process.env.NODE_ENV && Oe(a), r.memo(l);\n}\n\nfunction Ue(e) {\n \"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");\n\n for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];\n\n var o = Ce.apply(void 0, [e].concat(n)).join(\"\"),\n s = xe(o);\n return new ve(s, o);\n}\n\nvar Je = function () {\n function e() {\n var e = this;\n this._emitSheetCSS = function () {\n var t = e.instance.toString();\n if (!t) return \"\";\n var n = q();\n return \"\";\n }, this.getStyleTags = function () {\n return e.sealed ? j(2) : e._emitSheetCSS();\n }, this.getStyleElement = function () {\n var t;\n if (e.sealed) return j(2);\n var n = ((t = {})[A] = \"\", t[\"data-styled-version\"] = \"5.3.6\", t.dangerouslySetInnerHTML = {\n __html: e.instance.toString()\n }, t),\n o = q();\n return o && (n.nonce = o), [r.createElement(\"style\", v({}, n, {\n key: \"sc-0-0\"\n }))];\n }, this.seal = function () {\n e.sealed = !0;\n }, this.instance = new Z({\n isServer: !0\n }), this.sealed = !1;\n }\n\n var t = e.prototype;\n return t.collectStyles = function (e) {\n return this.sealed ? j(2) : r.createElement(ye, {\n sheet: this.instance\n }, e);\n }, t.interleaveWithNodeStream = function (e) {\n return j(3);\n }, e;\n}(),\n Xe = function (e) {\n var t = r.forwardRef(function (t, n) {\n var o = s(Ge),\n i = e.defaultProps,\n a = Re(t, o, i);\n return \"production\" !== process.env.NODE_ENV && void 0 === a && console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"' + _(e) + '\"'), r.createElement(e, v({}, t, {\n theme: a,\n ref: n\n }));\n });\n return y(t, e), t.displayName = \"WithTheme(\" + _(e) + \")\", t;\n},\n Ze = function () {\n return s(Ge);\n},\n Ke = {\n StyleSheet: Z,\n masterSheet: he\n};\n\n\"production\" !== process.env.NODE_ENV && \"undefined\" != typeof navigator && \"ReactNative\" === navigator.product && console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"), \"production\" !== process.env.NODE_ENV && \"test\" !== process.env.NODE_ENV && \"undefined\" != typeof window && (window[\"__styled-components-init__\"] = window[\"__styled-components-init__\"] || 0, 1 === window[\"__styled-components-init__\"] && console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"), window[\"__styled-components-init__\"] += 1);\nexport default He;\nexport { Je as ServerStyleSheet, le as StyleSheetConsumer, ue as StyleSheetContext, ye as StyleSheetManager, Le as ThemeConsumer, Ge as ThemeContext, Fe as ThemeProvider, Ke as __PRIVATE__, We as createGlobalStyle, Ce as css, N as isStyledComponent, Ue as keyframes, Ze as useTheme, C as version, Xe as withTheme };","module.exports = new Set([// Non-binary properties:\n'General_Category', 'Script', 'Script_Extensions', // Binary properties:\n'Alphabetic', 'Any', 'ASCII', 'ASCII_Hex_Digit', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'ID_Continue', 'ID_Start', 'Ideographic', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']);","'use strict';\n\nconst canonicalProperties = require('unicode-canonical-property-names-ecmascript');\n\nconst propertyAliases = require('unicode-property-aliases-ecmascript');\n\nconst matchProperty = function (property) {\n if (canonicalProperties.has(property)) {\n return property;\n }\n\n if (propertyAliases.has(property)) {\n return propertyAliases.get(property);\n }\n\n throw new Error(\"Unknown property: \".concat(property));\n};\n\nmodule.exports = matchProperty;","module.exports = new Map([['General_Category', new Map([['C', 'Other'], ['Cc', 'Control'], ['cntrl', 'Control'], ['Cf', 'Format'], ['Cn', 'Unassigned'], ['Co', 'Private_Use'], ['Cs', 'Surrogate'], ['L', 'Letter'], ['LC', 'Cased_Letter'], ['Ll', 'Lowercase_Letter'], ['Lm', 'Modifier_Letter'], ['Lo', 'Other_Letter'], ['Lt', 'Titlecase_Letter'], ['Lu', 'Uppercase_Letter'], ['M', 'Mark'], ['Combining_Mark', 'Mark'], ['Mc', 'Spacing_Mark'], ['Me', 'Enclosing_Mark'], ['Mn', 'Nonspacing_Mark'], ['N', 'Number'], ['Nd', 'Decimal_Number'], ['digit', 'Decimal_Number'], ['Nl', 'Letter_Number'], ['No', 'Other_Number'], ['P', 'Punctuation'], ['punct', 'Punctuation'], ['Pc', 'Connector_Punctuation'], ['Pd', 'Dash_Punctuation'], ['Pe', 'Close_Punctuation'], ['Pf', 'Final_Punctuation'], ['Pi', 'Initial_Punctuation'], ['Po', 'Other_Punctuation'], ['Ps', 'Open_Punctuation'], ['S', 'Symbol'], ['Sc', 'Currency_Symbol'], ['Sk', 'Modifier_Symbol'], ['Sm', 'Math_Symbol'], ['So', 'Other_Symbol'], ['Z', 'Separator'], ['Zl', 'Line_Separator'], ['Zp', 'Paragraph_Separator'], ['Zs', 'Space_Separator'], ['Other', 'Other'], ['Control', 'Control'], ['Format', 'Format'], ['Unassigned', 'Unassigned'], ['Private_Use', 'Private_Use'], ['Surrogate', 'Surrogate'], ['Letter', 'Letter'], ['Cased_Letter', 'Cased_Letter'], ['Lowercase_Letter', 'Lowercase_Letter'], ['Modifier_Letter', 'Modifier_Letter'], ['Other_Letter', 'Other_Letter'], ['Titlecase_Letter', 'Titlecase_Letter'], ['Uppercase_Letter', 'Uppercase_Letter'], ['Mark', 'Mark'], ['Spacing_Mark', 'Spacing_Mark'], ['Enclosing_Mark', 'Enclosing_Mark'], ['Nonspacing_Mark', 'Nonspacing_Mark'], ['Number', 'Number'], ['Decimal_Number', 'Decimal_Number'], ['Letter_Number', 'Letter_Number'], ['Other_Number', 'Other_Number'], ['Punctuation', 'Punctuation'], ['Connector_Punctuation', 'Connector_Punctuation'], ['Dash_Punctuation', 'Dash_Punctuation'], ['Close_Punctuation', 'Close_Punctuation'], ['Final_Punctuation', 'Final_Punctuation'], ['Initial_Punctuation', 'Initial_Punctuation'], ['Other_Punctuation', 'Other_Punctuation'], ['Open_Punctuation', 'Open_Punctuation'], ['Symbol', 'Symbol'], ['Currency_Symbol', 'Currency_Symbol'], ['Modifier_Symbol', 'Modifier_Symbol'], ['Math_Symbol', 'Math_Symbol'], ['Other_Symbol', 'Other_Symbol'], ['Separator', 'Separator'], ['Line_Separator', 'Line_Separator'], ['Paragraph_Separator', 'Paragraph_Separator'], ['Space_Separator', 'Space_Separator']])], ['Script', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])], ['Script_Extensions', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Chrs', 'Chorasmian'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cpmn', 'Cypro_Minoan'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Diak', 'Dives_Akuru'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Kits', 'Khitan_Small_Script'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Ougr', 'Old_Uyghur'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Tnsa', 'Tangsa'], ['Toto', 'Toto'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Vith', 'Vithkuqi'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yezi', 'Yezidi'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Chorasmian', 'Chorasmian'], ['Coptic', 'Coptic'], ['Cypro_Minoan', 'Cypro_Minoan'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dives_Akuru', 'Dives_Akuru'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Khitan_Small_Script', 'Khitan_Small_Script'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Old_Uyghur', 'Old_Uyghur'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Tangsa', 'Tangsa'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Vithkuqi', 'Vithkuqi'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yezidi', 'Yezidi'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])]]);","'use strict';\n\nconst propertyToValueAliases = require('./data/mappings.js');\n\nconst matchPropertyValue = function (property, value) {\n const aliasToValue = propertyToValueAliases.get(property);\n\n if (!aliasToValue) {\n throw new Error(\"Unknown property `\".concat(property, \"`.\"));\n }\n\n const canonicalValue = aliasToValue.get(value);\n\n if (canonicalValue) {\n return canonicalValue;\n }\n\n throw new Error(\"Unknown value `\".concat(value, \"` for property `\").concat(property, \"`.\"));\n};\n\nmodule.exports = matchPropertyValue;","// Generated using `npm run build`. Do not edit!\nmodule.exports = new Map([['scx', 'Script_Extensions'], ['sc', 'Script'], ['gc', 'General_Category'], ['AHex', 'ASCII_Hex_Digit'], ['Alpha', 'Alphabetic'], ['Bidi_C', 'Bidi_Control'], ['Bidi_M', 'Bidi_Mirrored'], ['Cased', 'Cased'], ['CI', 'Case_Ignorable'], ['CWCF', 'Changes_When_Casefolded'], ['CWCM', 'Changes_When_Casemapped'], ['CWKCF', 'Changes_When_NFKC_Casefolded'], ['CWL', 'Changes_When_Lowercased'], ['CWT', 'Changes_When_Titlecased'], ['CWU', 'Changes_When_Uppercased'], ['Dash', 'Dash'], ['Dep', 'Deprecated'], ['DI', 'Default_Ignorable_Code_Point'], ['Dia', 'Diacritic'], ['EBase', 'Emoji_Modifier_Base'], ['EComp', 'Emoji_Component'], ['EMod', 'Emoji_Modifier'], ['Emoji', 'Emoji'], ['EPres', 'Emoji_Presentation'], ['Ext', 'Extender'], ['ExtPict', 'Extended_Pictographic'], ['Gr_Base', 'Grapheme_Base'], ['Gr_Ext', 'Grapheme_Extend'], ['Hex', 'Hex_Digit'], ['IDC', 'ID_Continue'], ['Ideo', 'Ideographic'], ['IDS', 'ID_Start'], ['IDSB', 'IDS_Binary_Operator'], ['IDST', 'IDS_Trinary_Operator'], ['Join_C', 'Join_Control'], ['LOE', 'Logical_Order_Exception'], ['Lower', 'Lowercase'], ['Math', 'Math'], ['NChar', 'Noncharacter_Code_Point'], ['Pat_Syn', 'Pattern_Syntax'], ['Pat_WS', 'Pattern_White_Space'], ['QMark', 'Quotation_Mark'], ['Radical', 'Radical'], ['RI', 'Regional_Indicator'], ['SD', 'Soft_Dotted'], ['STerm', 'Sentence_Terminal'], ['Term', 'Terminal_Punctuation'], ['UIdeo', 'Unified_Ideograph'], ['Upper', 'Uppercase'], ['VS', 'Variation_Selector'], ['WSpace', 'White_Space'], ['space', 'White_Space'], ['XIDC', 'XID_Continue'], ['XIDS', 'XID_Start']]);","var map = {\n\t\"./Binary_Property/ASCII.js\": 80055,\n\t\"./Binary_Property/ASCII_Hex_Digit.js\": 81731,\n\t\"./Binary_Property/Alphabetic.js\": 75244,\n\t\"./Binary_Property/Any.js\": 25929,\n\t\"./Binary_Property/Assigned.js\": 72573,\n\t\"./Binary_Property/Bidi_Control.js\": 83029,\n\t\"./Binary_Property/Bidi_Mirrored.js\": 50755,\n\t\"./Binary_Property/Case_Ignorable.js\": 86317,\n\t\"./Binary_Property/Cased.js\": 78087,\n\t\"./Binary_Property/Changes_When_Casefolded.js\": 61587,\n\t\"./Binary_Property/Changes_When_Casemapped.js\": 62518,\n\t\"./Binary_Property/Changes_When_Lowercased.js\": 50140,\n\t\"./Binary_Property/Changes_When_NFKC_Casefolded.js\": 97224,\n\t\"./Binary_Property/Changes_When_Titlecased.js\": 40835,\n\t\"./Binary_Property/Changes_When_Uppercased.js\": 95428,\n\t\"./Binary_Property/Dash.js\": 78233,\n\t\"./Binary_Property/Default_Ignorable_Code_Point.js\": 91357,\n\t\"./Binary_Property/Deprecated.js\": 18391,\n\t\"./Binary_Property/Diacritic.js\": 5198,\n\t\"./Binary_Property/Emoji.js\": 42117,\n\t\"./Binary_Property/Emoji_Component.js\": 97581,\n\t\"./Binary_Property/Emoji_Modifier.js\": 39030,\n\t\"./Binary_Property/Emoji_Modifier_Base.js\": 18618,\n\t\"./Binary_Property/Emoji_Presentation.js\": 29702,\n\t\"./Binary_Property/Extended_Pictographic.js\": 5667,\n\t\"./Binary_Property/Extender.js\": 9002,\n\t\"./Binary_Property/Grapheme_Base.js\": 96851,\n\t\"./Binary_Property/Grapheme_Extend.js\": 71054,\n\t\"./Binary_Property/Hex_Digit.js\": 80662,\n\t\"./Binary_Property/IDS_Binary_Operator.js\": 66910,\n\t\"./Binary_Property/IDS_Trinary_Operator.js\": 31548,\n\t\"./Binary_Property/ID_Continue.js\": 97301,\n\t\"./Binary_Property/ID_Start.js\": 47818,\n\t\"./Binary_Property/Ideographic.js\": 82217,\n\t\"./Binary_Property/Join_Control.js\": 15332,\n\t\"./Binary_Property/Logical_Order_Exception.js\": 55780,\n\t\"./Binary_Property/Lowercase.js\": 61091,\n\t\"./Binary_Property/Math.js\": 7146,\n\t\"./Binary_Property/Noncharacter_Code_Point.js\": 51752,\n\t\"./Binary_Property/Pattern_Syntax.js\": 76596,\n\t\"./Binary_Property/Pattern_White_Space.js\": 86436,\n\t\"./Binary_Property/Quotation_Mark.js\": 29467,\n\t\"./Binary_Property/Radical.js\": 68163,\n\t\"./Binary_Property/Regional_Indicator.js\": 16412,\n\t\"./Binary_Property/Sentence_Terminal.js\": 25496,\n\t\"./Binary_Property/Soft_Dotted.js\": 83045,\n\t\"./Binary_Property/Terminal_Punctuation.js\": 20991,\n\t\"./Binary_Property/Unified_Ideograph.js\": 15154,\n\t\"./Binary_Property/Uppercase.js\": 91909,\n\t\"./Binary_Property/Variation_Selector.js\": 64590,\n\t\"./Binary_Property/White_Space.js\": 42886,\n\t\"./Binary_Property/XID_Continue.js\": 83067,\n\t\"./Binary_Property/XID_Start.js\": 86524,\n\t\"./General_Category/Cased_Letter.js\": 94195,\n\t\"./General_Category/Close_Punctuation.js\": 42549,\n\t\"./General_Category/Connector_Punctuation.js\": 72437,\n\t\"./General_Category/Control.js\": 44467,\n\t\"./General_Category/Currency_Symbol.js\": 75431,\n\t\"./General_Category/Dash_Punctuation.js\": 86441,\n\t\"./General_Category/Decimal_Number.js\": 57965,\n\t\"./General_Category/Enclosing_Mark.js\": 89586,\n\t\"./General_Category/Final_Punctuation.js\": 32965,\n\t\"./General_Category/Format.js\": 32277,\n\t\"./General_Category/Initial_Punctuation.js\": 5900,\n\t\"./General_Category/Letter.js\": 63764,\n\t\"./General_Category/Letter_Number.js\": 43043,\n\t\"./General_Category/Line_Separator.js\": 19307,\n\t\"./General_Category/Lowercase_Letter.js\": 45025,\n\t\"./General_Category/Mark.js\": 76197,\n\t\"./General_Category/Math_Symbol.js\": 21803,\n\t\"./General_Category/Modifier_Letter.js\": 31022,\n\t\"./General_Category/Modifier_Symbol.js\": 46858,\n\t\"./General_Category/Nonspacing_Mark.js\": 85948,\n\t\"./General_Category/Number.js\": 78861,\n\t\"./General_Category/Open_Punctuation.js\": 38999,\n\t\"./General_Category/Other.js\": 30567,\n\t\"./General_Category/Other_Letter.js\": 52093,\n\t\"./General_Category/Other_Number.js\": 80180,\n\t\"./General_Category/Other_Punctuation.js\": 72919,\n\t\"./General_Category/Other_Symbol.js\": 57481,\n\t\"./General_Category/Paragraph_Separator.js\": 26400,\n\t\"./General_Category/Private_Use.js\": 55205,\n\t\"./General_Category/Punctuation.js\": 78350,\n\t\"./General_Category/Separator.js\": 66827,\n\t\"./General_Category/Space_Separator.js\": 29909,\n\t\"./General_Category/Spacing_Mark.js\": 67089,\n\t\"./General_Category/Surrogate.js\": 38703,\n\t\"./General_Category/Symbol.js\": 34345,\n\t\"./General_Category/Titlecase_Letter.js\": 87135,\n\t\"./General_Category/Unassigned.js\": 48068,\n\t\"./General_Category/Uppercase_Letter.js\": 54508,\n\t\"./Property_of_Strings/Basic_Emoji.js\": 7134,\n\t\"./Property_of_Strings/Emoji_Keycap_Sequence.js\": 1354,\n\t\"./Property_of_Strings/RGI_Emoji.js\": 64708,\n\t\"./Property_of_Strings/RGI_Emoji_Flag_Sequence.js\": 32530,\n\t\"./Property_of_Strings/RGI_Emoji_Modifier_Sequence.js\": 76685,\n\t\"./Property_of_Strings/RGI_Emoji_Tag_Sequence.js\": 80852,\n\t\"./Property_of_Strings/RGI_Emoji_ZWJ_Sequence.js\": 70523,\n\t\"./Script/Adlam.js\": 67309,\n\t\"./Script/Ahom.js\": 21824,\n\t\"./Script/Anatolian_Hieroglyphs.js\": 44251,\n\t\"./Script/Arabic.js\": 93703,\n\t\"./Script/Armenian.js\": 52003,\n\t\"./Script/Avestan.js\": 91194,\n\t\"./Script/Balinese.js\": 97148,\n\t\"./Script/Bamum.js\": 92508,\n\t\"./Script/Bassa_Vah.js\": 87398,\n\t\"./Script/Batak.js\": 70403,\n\t\"./Script/Bengali.js\": 60285,\n\t\"./Script/Bhaiksuki.js\": 10143,\n\t\"./Script/Bopomofo.js\": 25500,\n\t\"./Script/Brahmi.js\": 69672,\n\t\"./Script/Braille.js\": 67008,\n\t\"./Script/Buginese.js\": 32055,\n\t\"./Script/Buhid.js\": 90141,\n\t\"./Script/Canadian_Aboriginal.js\": 40912,\n\t\"./Script/Carian.js\": 68653,\n\t\"./Script/Caucasian_Albanian.js\": 47231,\n\t\"./Script/Chakma.js\": 38234,\n\t\"./Script/Cham.js\": 29076,\n\t\"./Script/Cherokee.js\": 47242,\n\t\"./Script/Chorasmian.js\": 91466,\n\t\"./Script/Common.js\": 2325,\n\t\"./Script/Coptic.js\": 4957,\n\t\"./Script/Cuneiform.js\": 51215,\n\t\"./Script/Cypriot.js\": 94221,\n\t\"./Script/Cypro_Minoan.js\": 77004,\n\t\"./Script/Cyrillic.js\": 49326,\n\t\"./Script/Deseret.js\": 2436,\n\t\"./Script/Devanagari.js\": 76224,\n\t\"./Script/Dives_Akuru.js\": 28156,\n\t\"./Script/Dogra.js\": 19019,\n\t\"./Script/Duployan.js\": 11233,\n\t\"./Script/Egyptian_Hieroglyphs.js\": 82904,\n\t\"./Script/Elbasan.js\": 50651,\n\t\"./Script/Elymaic.js\": 63404,\n\t\"./Script/Ethiopic.js\": 42249,\n\t\"./Script/Georgian.js\": 77113,\n\t\"./Script/Glagolitic.js\": 84922,\n\t\"./Script/Gothic.js\": 8047,\n\t\"./Script/Grantha.js\": 31338,\n\t\"./Script/Greek.js\": 74214,\n\t\"./Script/Gujarati.js\": 51130,\n\t\"./Script/Gunjala_Gondi.js\": 60046,\n\t\"./Script/Gurmukhi.js\": 37307,\n\t\"./Script/Han.js\": 77439,\n\t\"./Script/Hangul.js\": 73296,\n\t\"./Script/Hanifi_Rohingya.js\": 67439,\n\t\"./Script/Hanunoo.js\": 71394,\n\t\"./Script/Hatran.js\": 68092,\n\t\"./Script/Hebrew.js\": 24189,\n\t\"./Script/Hiragana.js\": 84371,\n\t\"./Script/Imperial_Aramaic.js\": 10780,\n\t\"./Script/Inherited.js\": 71122,\n\t\"./Script/Inscriptional_Pahlavi.js\": 53431,\n\t\"./Script/Inscriptional_Parthian.js\": 580,\n\t\"./Script/Javanese.js\": 37174,\n\t\"./Script/Kaithi.js\": 77983,\n\t\"./Script/Kannada.js\": 29485,\n\t\"./Script/Katakana.js\": 3962,\n\t\"./Script/Kawi.js\": 99140,\n\t\"./Script/Kayah_Li.js\": 88425,\n\t\"./Script/Kharoshthi.js\": 11648,\n\t\"./Script/Khitan_Small_Script.js\": 67968,\n\t\"./Script/Khmer.js\": 21205,\n\t\"./Script/Khojki.js\": 5794,\n\t\"./Script/Khudawadi.js\": 95492,\n\t\"./Script/Lao.js\": 29088,\n\t\"./Script/Latin.js\": 59992,\n\t\"./Script/Lepcha.js\": 66891,\n\t\"./Script/Limbu.js\": 33324,\n\t\"./Script/Linear_A.js\": 74596,\n\t\"./Script/Linear_B.js\": 1620,\n\t\"./Script/Lisu.js\": 42747,\n\t\"./Script/Lycian.js\": 1657,\n\t\"./Script/Lydian.js\": 79038,\n\t\"./Script/Mahajani.js\": 58990,\n\t\"./Script/Makasar.js\": 31935,\n\t\"./Script/Malayalam.js\": 15666,\n\t\"./Script/Mandaic.js\": 81458,\n\t\"./Script/Manichaean.js\": 49002,\n\t\"./Script/Marchen.js\": 38394,\n\t\"./Script/Masaram_Gondi.js\": 13910,\n\t\"./Script/Medefaidrin.js\": 91850,\n\t\"./Script/Meetei_Mayek.js\": 43034,\n\t\"./Script/Mende_Kikakui.js\": 51271,\n\t\"./Script/Meroitic_Cursive.js\": 70039,\n\t\"./Script/Meroitic_Hieroglyphs.js\": 28978,\n\t\"./Script/Miao.js\": 41801,\n\t\"./Script/Modi.js\": 28146,\n\t\"./Script/Mongolian.js\": 34848,\n\t\"./Script/Mro.js\": 75485,\n\t\"./Script/Multani.js\": 45988,\n\t\"./Script/Myanmar.js\": 76042,\n\t\"./Script/Nabataean.js\": 81263,\n\t\"./Script/Nag_Mundari.js\": 17318,\n\t\"./Script/Nandinagari.js\": 16087,\n\t\"./Script/New_Tai_Lue.js\": 93938,\n\t\"./Script/Newa.js\": 12645,\n\t\"./Script/Nko.js\": 41687,\n\t\"./Script/Nushu.js\": 19566,\n\t\"./Script/Nyiakeng_Puachue_Hmong.js\": 57324,\n\t\"./Script/Ogham.js\": 28054,\n\t\"./Script/Ol_Chiki.js\": 50326,\n\t\"./Script/Old_Hungarian.js\": 89704,\n\t\"./Script/Old_Italic.js\": 81737,\n\t\"./Script/Old_North_Arabian.js\": 60623,\n\t\"./Script/Old_Permic.js\": 84547,\n\t\"./Script/Old_Persian.js\": 4062,\n\t\"./Script/Old_Sogdian.js\": 91435,\n\t\"./Script/Old_South_Arabian.js\": 17744,\n\t\"./Script/Old_Turkic.js\": 85004,\n\t\"./Script/Old_Uyghur.js\": 56299,\n\t\"./Script/Oriya.js\": 61702,\n\t\"./Script/Osage.js\": 66820,\n\t\"./Script/Osmanya.js\": 68741,\n\t\"./Script/Pahawh_Hmong.js\": 43421,\n\t\"./Script/Palmyrene.js\": 71540,\n\t\"./Script/Pau_Cin_Hau.js\": 1646,\n\t\"./Script/Phags_Pa.js\": 79532,\n\t\"./Script/Phoenician.js\": 17297,\n\t\"./Script/Psalter_Pahlavi.js\": 59563,\n\t\"./Script/Rejang.js\": 15670,\n\t\"./Script/Runic.js\": 15180,\n\t\"./Script/Samaritan.js\": 85123,\n\t\"./Script/Saurashtra.js\": 40061,\n\t\"./Script/Sharada.js\": 72487,\n\t\"./Script/Shavian.js\": 59504,\n\t\"./Script/Siddham.js\": 565,\n\t\"./Script/SignWriting.js\": 19877,\n\t\"./Script/Sinhala.js\": 66662,\n\t\"./Script/Sogdian.js\": 11761,\n\t\"./Script/Sora_Sompeng.js\": 35055,\n\t\"./Script/Soyombo.js\": 62187,\n\t\"./Script/Sundanese.js\": 78461,\n\t\"./Script/Syloti_Nagri.js\": 74405,\n\t\"./Script/Syriac.js\": 15815,\n\t\"./Script/Tagalog.js\": 2333,\n\t\"./Script/Tagbanwa.js\": 38249,\n\t\"./Script/Tai_Le.js\": 29852,\n\t\"./Script/Tai_Tham.js\": 59997,\n\t\"./Script/Tai_Viet.js\": 92465,\n\t\"./Script/Takri.js\": 95234,\n\t\"./Script/Tamil.js\": 59527,\n\t\"./Script/Tangsa.js\": 946,\n\t\"./Script/Tangut.js\": 86011,\n\t\"./Script/Telugu.js\": 4866,\n\t\"./Script/Thaana.js\": 36876,\n\t\"./Script/Thai.js\": 71517,\n\t\"./Script/Tibetan.js\": 49897,\n\t\"./Script/Tifinagh.js\": 71384,\n\t\"./Script/Tirhuta.js\": 51862,\n\t\"./Script/Toto.js\": 79830,\n\t\"./Script/Ugaritic.js\": 92019,\n\t\"./Script/Vai.js\": 57677,\n\t\"./Script/Vithkuqi.js\": 10301,\n\t\"./Script/Wancho.js\": 12679,\n\t\"./Script/Warang_Citi.js\": 79917,\n\t\"./Script/Yezidi.js\": 33172,\n\t\"./Script/Yi.js\": 94344,\n\t\"./Script/Zanabazar_Square.js\": 90753,\n\t\"./Script_Extensions/Adlam.js\": 38937,\n\t\"./Script_Extensions/Ahom.js\": 9811,\n\t\"./Script_Extensions/Anatolian_Hieroglyphs.js\": 11878,\n\t\"./Script_Extensions/Arabic.js\": 98988,\n\t\"./Script_Extensions/Armenian.js\": 50944,\n\t\"./Script_Extensions/Avestan.js\": 96478,\n\t\"./Script_Extensions/Balinese.js\": 28898,\n\t\"./Script_Extensions/Bamum.js\": 42809,\n\t\"./Script_Extensions/Bassa_Vah.js\": 36382,\n\t\"./Script_Extensions/Batak.js\": 18210,\n\t\"./Script_Extensions/Bengali.js\": 39762,\n\t\"./Script_Extensions/Bhaiksuki.js\": 69666,\n\t\"./Script_Extensions/Bopomofo.js\": 87754,\n\t\"./Script_Extensions/Brahmi.js\": 94830,\n\t\"./Script_Extensions/Braille.js\": 65528,\n\t\"./Script_Extensions/Buginese.js\": 3789,\n\t\"./Script_Extensions/Buhid.js\": 53126,\n\t\"./Script_Extensions/Canadian_Aboriginal.js\": 61228,\n\t\"./Script_Extensions/Carian.js\": 26604,\n\t\"./Script_Extensions/Caucasian_Albanian.js\": 68874,\n\t\"./Script_Extensions/Chakma.js\": 57717,\n\t\"./Script_Extensions/Cham.js\": 50272,\n\t\"./Script_Extensions/Cherokee.js\": 48334,\n\t\"./Script_Extensions/Chorasmian.js\": 61166,\n\t\"./Script_Extensions/Common.js\": 73219,\n\t\"./Script_Extensions/Coptic.js\": 33538,\n\t\"./Script_Extensions/Cuneiform.js\": 59678,\n\t\"./Script_Extensions/Cypriot.js\": 45995,\n\t\"./Script_Extensions/Cypro_Minoan.js\": 19536,\n\t\"./Script_Extensions/Cyrillic.js\": 18638,\n\t\"./Script_Extensions/Deseret.js\": 77756,\n\t\"./Script_Extensions/Devanagari.js\": 85640,\n\t\"./Script_Extensions/Dives_Akuru.js\": 97606,\n\t\"./Script_Extensions/Dogra.js\": 80650,\n\t\"./Script_Extensions/Duployan.js\": 4539,\n\t\"./Script_Extensions/Egyptian_Hieroglyphs.js\": 41585,\n\t\"./Script_Extensions/Elbasan.js\": 40751,\n\t\"./Script_Extensions/Elymaic.js\": 8933,\n\t\"./Script_Extensions/Ethiopic.js\": 56370,\n\t\"./Script_Extensions/Georgian.js\": 60656,\n\t\"./Script_Extensions/Glagolitic.js\": 22125,\n\t\"./Script_Extensions/Gothic.js\": 56298,\n\t\"./Script_Extensions/Grantha.js\": 86631,\n\t\"./Script_Extensions/Greek.js\": 80161,\n\t\"./Script_Extensions/Gujarati.js\": 41962,\n\t\"./Script_Extensions/Gunjala_Gondi.js\": 46189,\n\t\"./Script_Extensions/Gurmukhi.js\": 8194,\n\t\"./Script_Extensions/Han.js\": 5545,\n\t\"./Script_Extensions/Hangul.js\": 94337,\n\t\"./Script_Extensions/Hanifi_Rohingya.js\": 25890,\n\t\"./Script_Extensions/Hanunoo.js\": 54191,\n\t\"./Script_Extensions/Hatran.js\": 62640,\n\t\"./Script_Extensions/Hebrew.js\": 26210,\n\t\"./Script_Extensions/Hiragana.js\": 4645,\n\t\"./Script_Extensions/Imperial_Aramaic.js\": 47790,\n\t\"./Script_Extensions/Inherited.js\": 65719,\n\t\"./Script_Extensions/Inscriptional_Pahlavi.js\": 58626,\n\t\"./Script_Extensions/Inscriptional_Parthian.js\": 50167,\n\t\"./Script_Extensions/Javanese.js\": 29743,\n\t\"./Script_Extensions/Kaithi.js\": 11958,\n\t\"./Script_Extensions/Kannada.js\": 26161,\n\t\"./Script_Extensions/Katakana.js\": 58831,\n\t\"./Script_Extensions/Kawi.js\": 93386,\n\t\"./Script_Extensions/Kayah_Li.js\": 65916,\n\t\"./Script_Extensions/Kharoshthi.js\": 97319,\n\t\"./Script_Extensions/Khitan_Small_Script.js\": 82273,\n\t\"./Script_Extensions/Khmer.js\": 21654,\n\t\"./Script_Extensions/Khojki.js\": 60840,\n\t\"./Script_Extensions/Khudawadi.js\": 84937,\n\t\"./Script_Extensions/Lao.js\": 3895,\n\t\"./Script_Extensions/Latin.js\": 34462,\n\t\"./Script_Extensions/Lepcha.js\": 55753,\n\t\"./Script_Extensions/Limbu.js\": 82970,\n\t\"./Script_Extensions/Linear_A.js\": 61456,\n\t\"./Script_Extensions/Linear_B.js\": 7475,\n\t\"./Script_Extensions/Lisu.js\": 82841,\n\t\"./Script_Extensions/Lycian.js\": 25245,\n\t\"./Script_Extensions/Lydian.js\": 40610,\n\t\"./Script_Extensions/Mahajani.js\": 71461,\n\t\"./Script_Extensions/Makasar.js\": 90995,\n\t\"./Script_Extensions/Malayalam.js\": 4201,\n\t\"./Script_Extensions/Mandaic.js\": 85976,\n\t\"./Script_Extensions/Manichaean.js\": 61361,\n\t\"./Script_Extensions/Marchen.js\": 51089,\n\t\"./Script_Extensions/Masaram_Gondi.js\": 75850,\n\t\"./Script_Extensions/Medefaidrin.js\": 35394,\n\t\"./Script_Extensions/Meetei_Mayek.js\": 65222,\n\t\"./Script_Extensions/Mende_Kikakui.js\": 56734,\n\t\"./Script_Extensions/Meroitic_Cursive.js\": 48438,\n\t\"./Script_Extensions/Meroitic_Hieroglyphs.js\": 63315,\n\t\"./Script_Extensions/Miao.js\": 89426,\n\t\"./Script_Extensions/Modi.js\": 56126,\n\t\"./Script_Extensions/Mongolian.js\": 48441,\n\t\"./Script_Extensions/Mro.js\": 96237,\n\t\"./Script_Extensions/Multani.js\": 12152,\n\t\"./Script_Extensions/Myanmar.js\": 88384,\n\t\"./Script_Extensions/Nabataean.js\": 22445,\n\t\"./Script_Extensions/Nag_Mundari.js\": 48651,\n\t\"./Script_Extensions/Nandinagari.js\": 54947,\n\t\"./Script_Extensions/New_Tai_Lue.js\": 25650,\n\t\"./Script_Extensions/Newa.js\": 997,\n\t\"./Script_Extensions/Nko.js\": 35334,\n\t\"./Script_Extensions/Nushu.js\": 38408,\n\t\"./Script_Extensions/Nyiakeng_Puachue_Hmong.js\": 53615,\n\t\"./Script_Extensions/Ogham.js\": 72435,\n\t\"./Script_Extensions/Ol_Chiki.js\": 6286,\n\t\"./Script_Extensions/Old_Hungarian.js\": 10512,\n\t\"./Script_Extensions/Old_Italic.js\": 7259,\n\t\"./Script_Extensions/Old_North_Arabian.js\": 79715,\n\t\"./Script_Extensions/Old_Permic.js\": 84513,\n\t\"./Script_Extensions/Old_Persian.js\": 29058,\n\t\"./Script_Extensions/Old_Sogdian.js\": 22883,\n\t\"./Script_Extensions/Old_South_Arabian.js\": 25750,\n\t\"./Script_Extensions/Old_Turkic.js\": 38028,\n\t\"./Script_Extensions/Old_Uyghur.js\": 82038,\n\t\"./Script_Extensions/Oriya.js\": 93543,\n\t\"./Script_Extensions/Osage.js\": 55599,\n\t\"./Script_Extensions/Osmanya.js\": 6499,\n\t\"./Script_Extensions/Pahawh_Hmong.js\": 87093,\n\t\"./Script_Extensions/Palmyrene.js\": 33203,\n\t\"./Script_Extensions/Pau_Cin_Hau.js\": 32175,\n\t\"./Script_Extensions/Phags_Pa.js\": 80475,\n\t\"./Script_Extensions/Phoenician.js\": 88683,\n\t\"./Script_Extensions/Psalter_Pahlavi.js\": 13132,\n\t\"./Script_Extensions/Rejang.js\": 10643,\n\t\"./Script_Extensions/Runic.js\": 92370,\n\t\"./Script_Extensions/Samaritan.js\": 62803,\n\t\"./Script_Extensions/Saurashtra.js\": 69504,\n\t\"./Script_Extensions/Sharada.js\": 57957,\n\t\"./Script_Extensions/Shavian.js\": 15581,\n\t\"./Script_Extensions/Siddham.js\": 45898,\n\t\"./Script_Extensions/SignWriting.js\": 73338,\n\t\"./Script_Extensions/Sinhala.js\": 54400,\n\t\"./Script_Extensions/Sogdian.js\": 69554,\n\t\"./Script_Extensions/Sora_Sompeng.js\": 82168,\n\t\"./Script_Extensions/Soyombo.js\": 55339,\n\t\"./Script_Extensions/Sundanese.js\": 17361,\n\t\"./Script_Extensions/Syloti_Nagri.js\": 7453,\n\t\"./Script_Extensions/Syriac.js\": 49190,\n\t\"./Script_Extensions/Tagalog.js\": 78050,\n\t\"./Script_Extensions/Tagbanwa.js\": 6896,\n\t\"./Script_Extensions/Tai_Le.js\": 30486,\n\t\"./Script_Extensions/Tai_Tham.js\": 43272,\n\t\"./Script_Extensions/Tai_Viet.js\": 2338,\n\t\"./Script_Extensions/Takri.js\": 15222,\n\t\"./Script_Extensions/Tamil.js\": 25234,\n\t\"./Script_Extensions/Tangsa.js\": 14113,\n\t\"./Script_Extensions/Tangut.js\": 12606,\n\t\"./Script_Extensions/Telugu.js\": 60209,\n\t\"./Script_Extensions/Thaana.js\": 34190,\n\t\"./Script_Extensions/Thai.js\": 24815,\n\t\"./Script_Extensions/Tibetan.js\": 65333,\n\t\"./Script_Extensions/Tifinagh.js\": 98578,\n\t\"./Script_Extensions/Tirhuta.js\": 25740,\n\t\"./Script_Extensions/Toto.js\": 20190,\n\t\"./Script_Extensions/Ugaritic.js\": 41418,\n\t\"./Script_Extensions/Vai.js\": 95619,\n\t\"./Script_Extensions/Vithkuqi.js\": 4862,\n\t\"./Script_Extensions/Wancho.js\": 80134,\n\t\"./Script_Extensions/Warang_Citi.js\": 61158,\n\t\"./Script_Extensions/Yezidi.js\": 25,\n\t\"./Script_Extensions/Yi.js\": 47685,\n\t\"./Script_Extensions/Zanabazar_Square.js\": 92290,\n\t\"./index.js\": 31714,\n\t\"./unicode-version.js\": 35362\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 38531;","var parent = require('../../stable/object/assign');\n\nmodule.exports = parent;\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","module.exports = require('../../full/object/assign');\n","var parent = require('../../actual/object/assign');\n\nmodule.exports = parent;\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = function (fn) {\n return NATIVE_BIND ? uncurryThisWithBind(fn) : function () {\n return call.apply(fn, arguments);\n };\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","var call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar $TypeError = TypeError;\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return indexOf(string, searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (!isNullOrUndefined(searchValue)) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = toString(requireObjectCoercible(getRegExpFlags(searchValue)));\n if (!~indexOf(flags, 'g')) throw $TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = getMethod(searchValue, REPLACE);\n if (replacer) {\n return call(replacer, searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return replace(toString(O), searchValue, replaceValue);\n }\n }\n string = toString(O);\n searchString = toString(searchValue);\n functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n replacement = functionalReplace\n ? toString(replaceValue(searchString, position, string))\n : getSubstitution(searchString, string, position, [], undefined, replaceValue);\n result += stringSlice(string, endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += stringSlice(string, endOfLastMatch);\n }\n return result;\n }\n});\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.string.replace-all');\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","const listOfMetricsSend = new Set();\n\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(fn, timeout, ...args);\n };\n}\n\nfunction sendWebVitals() {\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n\n listOfMetricsSend.add(data.name);\n sendToGoogleAnalytics(data);\n }\n\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000); // we don't need to debounce FID - we send it when it happens\n\n const debouncedFID = sendData; // LCP can occur multiple times so we debounce it\n\n const debouncedLCP = debounce(sendData, 3000); // With the true flag, we measure all previous occurences too, in case we start listening to late.\n\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\n}\n\nfunction sendToGoogleAnalytics({\n name,\n value,\n id\n}) {\n window.ga(`send`, `event`, {\n eventCategory: `Web Vitals`,\n eventAction: name,\n // The `id` value will be unique to the current page load. When sending\n // multiple values from the same page (e.g. for CLS), Google Analytics can\n // compute a total by grouping on this ID (note: requires `eventLabel` to\n // be a dimension in your report).\n eventLabel: id,\n // Google Analytics metrics must be integers, so the value is rounded.\n // For CLS the value is first multiplied by 1000 for greater precision\n // (note: increase the multiplier for greater precision if needed).\n eventValue: Math.round(name === `CLS` ? value * 1000 : value),\n // Use a non-interaction event to avoid affecting bounce rate.\n nonInteraction: true,\n // Use `sendBeacon()` if the browser supports it.\n transport: `beacon`\n });\n}\n\nexport const onRouteUpdate = ({\n location\n}, pluginOptions = {}) => {\n const ga = window.ga;\n\n if (process.env.NODE_ENV !== `production` || typeof ga !== `function`) {\n return null;\n }\n\n const pathIsExcluded = location && typeof window.excludeGAPaths !== `undefined` && window.excludeGAPaths.some(rx => rx.test(location.pathname));\n if (pathIsExcluded) return null; // wrap inside a timeout to make sure react-helmet is done with it's changes (https://github.com/gatsbyjs/gatsby/issues/9139)\n // reactHelmet is using requestAnimationFrame: https://github.com/nfl/react-helmet/blob/5.2.0/src/HelmetUtils.js#L296-L299\n\n const sendPageView = () => {\n const pagePath = location ? location.pathname + location.search + location.hash : undefined;\n ga(`set`, `page`, pagePath);\n ga(`send`, `pageview`);\n }; // Minimum delay for reactHelmet's requestAnimationFrame\n\n\n const delay = Math.max(32, pluginOptions.pageTransitionDelay || 0);\n setTimeout(sendPageView, delay);\n return null;\n};\nexport function onInitialClientRender(_, pluginOptions) {\n if (process.env.NODE_ENV === `production` && typeof ga === `function` && pluginOptions.enableWebVitalsTracking) {\n sendWebVitals();\n }\n}","import React, { useEffect } from 'react'\r\nimport { graphql, StaticQuery } from 'gatsby'\r\nimport styled, { createGlobalStyle } from '@xstyled/styled-components'\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n #carbonads {\r\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu,\r\n Cantarell, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\r\n }\r\n\r\n #carbonads {\r\n display: inline-flex;\r\n background-color: background-light;\r\n border: 1;\r\n border-color: layout-border;\r\n box-shadow: none;\r\n }\r\n\r\n #carbonads a {\r\n color: inherit;\r\n text-decoration: none;\r\n }\r\n\r\n #carbonads a:hover {\r\n color: inherit;\r\n }\r\n\r\n #carbonads span {\r\n position: relative;\r\n display: block;\r\n overflow: hidden;\r\n }\r\n\r\n #carbonads .carbon-wrap {\r\n display: flex;\r\n }\r\n\r\n .carbon-img {\r\n display: block;\r\n margin: 0;\r\n line-height: 1;\r\n }\r\n\r\n .carbon-img img {\r\n display: block;\r\n }\r\n\r\n .carbon-text {\r\n font-size: 13px;\r\n padding: 10px;\r\n line-height: 1.5;\r\n text-align: left;\r\n }\r\n\r\n .carbon-poweredby {\r\n display: block;\r\n padding: 8px 10px;\r\n background: repeating-linear-gradient(-45deg, transparent, transparent 5px, hsla(0, 0%, 0%, .025) 5px, hsla(0, 0%, 0%, .025) 10px) hsla(203, 11%, 95%, .4);\r\n text-align: center;\r\n text-transform: uppercase;\r\n letter-spacing: .5px;\r\n font-weight: 600;\r\n font-size: 9px;\r\n line-height: 1;\r\n }\r\n`\r\n\r\nconst QUERY = graphql`\r\n query CodeFund {\r\n site {\r\n siteMetadata {\r\n carbonAdsURL\r\n }\r\n }\r\n }\r\n`\r\n\r\nconst AdContainer = styled.aside`\r\n display: block;\r\n height: 125;\r\n min-width: 1;\r\n margin: 3 0;\r\n`\r\n\r\nfunction InnerCarbonAd({ url }) {\r\n const ref = React.useRef()\r\n useEffect(() => {\r\n const wrapper = ref.current\r\n const script = document.createElement('script')\r\n script.src = url\r\n script.async = true\r\n script.id = '_carbonads_js'\r\n wrapper.appendChild(script)\r\n return () => {\r\n wrapper.removeChild(script)\r\n }\r\n }, [url])\r\n return (\r\n <>\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport function CarbonAd() {\r\n return (\r\n \r\n data.site.siteMetadata.carbonAdsURL ? (\r\n \r\n \r\n \r\n ) : null\r\n }\r\n />\r\n )\r\n}\r\n","import styled, { up, css } from '@xstyled/styled-components'\r\n\r\nexport const TableContainer = styled.div`\r\n overflow-y: auto;\r\n margin: 3 0 2;\r\n\r\n ${up(\r\n 'lg',\r\n css`\r\n max-height: 480;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Table = styled.table`\r\n width: 100%;\r\n text-align: left;\r\n border-collapse: collapse;\r\n font-size: 90%;\r\n\r\n tr {\r\n background-color: transparent;\r\n }\r\n\r\n td,\r\n th {\r\n padding: 2 3;\r\n }\r\n\r\n th {\r\n color: on-background-light;\r\n background-color: background-light;\r\n font-weight: 600;\r\n z-index: 20;\r\n position: sticky;\r\n top: 0;\r\n }\r\n\r\n td {\r\n font-size: 85%;\r\n border-top: 1;\r\n border-bottom: 1;\r\n border-color: layout-border;\r\n }\r\n`\r\n","import React from 'react'\r\nimport { MDXProvider as BaseMDXProvider } from '@mdx-js/react'\r\nimport { Code } from './Code'\r\nimport { CarbonAd } from './CarbonAd'\r\nimport { Table, TableContainer } from './Table'\r\n\r\nfunction transformCode({ children, className, ...props }) {\r\n const lang = className && className.split('-')[1]\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nfunction getCodeChild(children) {\r\n const childrenArray = React.Children.toArray(children)\r\n if (childrenArray.length !== 1) return null\r\n const [firstChild] = childrenArray\r\n if (firstChild.type !== 'code') return null\r\n return firstChild\r\n}\r\n\r\nexport const mdxComponents = {\r\n 'carbon-ad': () => ,\r\n pre: ({ children }) => {\r\n const codeChild = getCodeChild(children)\r\n return codeChild ? transformCode(codeChild.props) :
{children}
\r\n },\r\n table: ({ children }) => {\r\n return (\r\n \r\n {children}
\r\n
\r\n )\r\n },\r\n}\r\n\r\nexport function MDXProvider({ children, components }) {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _wrapNativeSuper from '@babel/runtime/helpers/esm/wrapNativeSuper';\nimport _taggedTemplateLiteralLoose from '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose';\n\nfunction last() {\n var _ref;\n\n return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n return -a;\n}\n\nfunction addition(a, b) {\n return a + b;\n}\n\nfunction subtraction(a, b) {\n return a - b;\n}\n\nfunction multiplication(a, b) {\n return a * b;\n}\n\nfunction division(a, b) {\n return a / b;\n}\n\nfunction max() {\n return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n return Array.of.apply(Array, arguments);\n}\n\nvar defaultSymbols = {\n symbols: {\n '*': {\n infix: {\n symbol: '*',\n f: multiplication,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '*',\n regSymbol: '\\\\*'\n },\n '/': {\n infix: {\n symbol: '/',\n f: division,\n notation: 'infix',\n precedence: 4,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: '/',\n regSymbol: '/'\n },\n '+': {\n infix: {\n symbol: '+',\n f: addition,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '+',\n f: last,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '+',\n regSymbol: '\\\\+'\n },\n '-': {\n infix: {\n symbol: '-',\n f: subtraction,\n notation: 'infix',\n precedence: 2,\n rightToLeft: 0,\n argCount: 2\n },\n prefix: {\n symbol: '-',\n f: negation,\n notation: 'prefix',\n precedence: 3,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '-',\n regSymbol: '-'\n },\n ',': {\n infix: {\n symbol: ',',\n f: comma,\n notation: 'infix',\n precedence: 1,\n rightToLeft: 0,\n argCount: 2\n },\n symbol: ',',\n regSymbol: ','\n },\n '(': {\n prefix: {\n symbol: '(',\n f: last,\n notation: 'prefix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: '(',\n regSymbol: '\\\\('\n },\n ')': {\n postfix: {\n symbol: ')',\n f: undefined,\n notation: 'postfix',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: ')',\n regSymbol: '\\\\)'\n },\n min: {\n func: {\n symbol: 'min',\n f: min,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'min',\n regSymbol: 'min\\\\b'\n },\n max: {\n func: {\n symbol: 'max',\n f: max,\n notation: 'func',\n precedence: 0,\n rightToLeft: 0,\n argCount: 1\n },\n symbol: 'max',\n regSymbol: 'max\\\\b'\n }\n }\n};\nvar defaultSymbolMap = defaultSymbols; // based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\n\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n var symbolMap = {};\n symbolMap.symbols = additionalSymbols ? _extends({}, defaultSymbolMap.symbols, additionalSymbols.symbols) : _extends({}, defaultSymbolMap.symbols);\n return symbolMap;\n}\n\nfunction exec(operators, values) {\n var _ref;\n\n var op = operators.pop();\n values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n var symbolMap = mergeSymbolMaps(additionalSymbols);\n var match;\n var operators = [symbolMap.symbols['('].prefix];\n var values = [];\n var pattern = new RegExp( // Pattern for numbers\n \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n Object.keys(symbolMap.symbols).map(function (key) {\n return symbolMap.symbols[key];\n }) // longer symbols should be listed first\n // $FlowFixMe\n .sort(function (a, b) {\n return b.symbol.length - a.symbol.length;\n }) // $FlowFixMe\n .map(function (val) {\n return val.regSymbol;\n }).join('|') + \"|(\\\\S)\", 'g');\n pattern.lastIndex = 0; // Reset regular expression object\n\n var afterValue = false;\n\n do {\n match = pattern.exec(expression);\n\n var _ref2 = match || [')', undefined],\n token = _ref2[0],\n bad = _ref2[1];\n\n var notNumber = symbolMap.symbols[token];\n var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n if (bad || (afterValue ? notAfterValue : notNewValue)) {\n throw new PolishedError(37, match ? match.index : expression.length, expression);\n }\n\n if (afterValue) {\n // We either have an infix or postfix operator (they should be mutually exclusive)\n var curr = notNumber.postfix || notNumber.infix;\n\n do {\n var prev = operators[operators.length - 1];\n if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n afterValue = curr.notation === 'postfix';\n\n if (curr.symbol !== ')') {\n operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n if (afterValue) exec(operators, values);\n }\n } else if (notNumber) {\n // prefix operator or function\n operators.push(notNumber.prefix || notNumber.func);\n\n if (notNumber.func) {\n // Require an opening parenthesis\n match = pattern.exec(expression);\n\n if (!match || match[0] !== '(') {\n throw new PolishedError(38, match ? match.index : expression.length, expression);\n }\n }\n } else {\n // number\n values.push(+token);\n afterValue = true;\n }\n } while (match && operators.length);\n\n if (operators.length) {\n throw new PolishedError(39, match ? match.index : expression.length, expression);\n } else if (match) {\n throw new PolishedError(40, match ? match.index : expression.length, expression);\n } else {\n return values.pop();\n }\n}\n\nfunction reverseString(str) {\n return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: math('12rem + 8rem'),\n * fontSize: math('(12px + 2px) * 3'),\n * fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${math('12rem + 8rem')};\n * fontSize: ${math('(12px + 2px) * 3')};\n * fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * fontSize: '20rem',\n * fontSize: '42px',\n * fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n var reversedFormula = reverseString(formula);\n var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n if (formulaMatch && !formulaMatch.every(function (unit) {\n return unit === formulaMatch[0];\n })) {\n throw new PolishedError(41);\n }\n\n var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable in the :root scope, or otherwise returns a defaultValue if provided.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, defaultValue) {\n if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n throw new PolishedError(73);\n }\n\n var variableValue;\n /* eslint-disable */\n\n /* istanbul ignore next */\n\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n }\n /* eslint-enable */\n\n\n if (variableValue) {\n return variableValue.trim();\n } else if (defaultValue) {\n return defaultValue;\n }\n\n throw new PolishedError(74);\n} // @private\n\n\nfunction capitalizeString(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap$1 = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n if (!property) return position.toLowerCase();\n var splitProperty = property.split('-');\n\n if (splitProperty.length > 1) {\n splitProperty.splice(1, 0, position);\n return splitProperty.reduce(function (acc, val) {\n return \"\" + acc + capitalizeString(val);\n });\n }\n\n var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n var styles = {};\n\n for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n styles[generateProperty(property, positionMap$1[i])] = valuesWithDefaults[i];\n }\n }\n\n return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n } // prettier-ignore\n\n\n var firstValue = values[0],\n _values$ = values[1],\n secondValue = _values$ === void 0 ? firstValue : _values$,\n _values$2 = values[2],\n thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n _values$3 = values[3],\n fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n return generateStyles(property, valuesWithDefaults);\n}\n/**\n * Check if a string ends with something\n * @private\n */\n\n\nfunction endsWith(string, suffix) {\n return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100\n * }\n */\n\nfunction stripUnit(value) {\n if (typeof value !== 'string') return value;\n var matchedValue = value.match(cssRegex$1);\n return matchedValue ? parseFloat(value) : value;\n}\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\n\nvar pxtoFactory = function pxtoFactory(to) {\n return function (pxval, base) {\n if (base === void 0) {\n base = '16px';\n }\n\n var newPxval = pxval;\n var newBase = base;\n\n if (typeof pxval === 'string') {\n if (!endsWith(pxval, 'px')) {\n throw new PolishedError(69, to, pxval);\n }\n\n newPxval = stripUnit(pxval);\n }\n\n if (typeof base === 'string') {\n if (!endsWith(base, 'px')) {\n throw new PolishedError(70, to, base);\n }\n\n newBase = stripUnit(base);\n }\n\n if (typeof newPxval === 'string') {\n throw new PolishedError(71, pxval, to);\n }\n\n if (typeof newBase === 'string') {\n throw new PolishedError(72, base, to);\n }\n\n return \"\" + newPxval / newBase + to;\n };\n};\n\nvar pixelsto = pxtoFactory;\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pixelsto('em');\nvar em$1 = em;\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * '--dimension': getValueAndUnit('100px')[0],\n * '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * --dimension: ${getValueAndUnit('100px')[0]};\n * --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * '--dimension': 100,\n * '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n if (typeof value !== 'string') return [value, ''];\n var matchedValue = value.match(cssRegex);\n if (matchedValue) return [parseFloat(value), matchedValue[2]];\n return [value, undefined];\n}\n/**\n * Helper for targeting rules in a style block generated by polished modules that need !important-level specificity. Can optionally specify a rule (or rules) to target specific rules.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...important(cover())\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${important(cover())}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute !important',\n * 'top': '0 !important',\n * 'right: '0 !important',\n * 'bottom': '0 !important',\n * 'left: '0 !important'\n * }\n */\n\n\nfunction important(styleBlock, rules) {\n if (typeof styleBlock !== 'object' || styleBlock === null) {\n throw new PolishedError(75, typeof styleBlock);\n }\n\n var newStyleBlock = {};\n Object.keys(styleBlock).forEach(function (key) {\n if (typeof styleBlock[key] === 'object' && styleBlock[key] !== null) {\n newStyleBlock[key] = important(styleBlock[key], rules);\n } else if (!rules || rules && (rules === key || rules.indexOf(key) >= 0)) {\n newStyleBlock[key] = styleBlock[key] + \" !important\";\n } else {\n newStyleBlock[key] = styleBlock[key];\n }\n });\n return newStyleBlock;\n}\n\nvar ratioNames = {\n minorSecond: 1.067,\n majorSecond: 1.125,\n minorThird: 1.2,\n majorThird: 1.25,\n perfectFourth: 1.333,\n augFourth: 1.414,\n perfectFifth: 1.5,\n minorSixth: 1.6,\n goldenSection: 1.618,\n majorSixth: 1.667,\n minorSeventh: 1.778,\n majorSeventh: 1.875,\n octave: 2,\n majorTenth: 2.5,\n majorEleventh: 2.667,\n majorTwelfth: 3,\n doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n * // Increment two steps up the default scale\n * 'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * // Increment two steps up the default scale\n * fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n if (base === void 0) {\n base = '1em';\n }\n\n if (ratio === void 0) {\n ratio = 1.333;\n }\n\n if (typeof steps !== 'number') {\n throw new PolishedError(42);\n }\n\n if (typeof ratio === 'string' && !ratioNames[ratio]) {\n throw new PolishedError(43);\n }\n\n var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n realBase = _ref[0],\n unit = _ref[1];\n\n var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n if (typeof realBase === 'string') {\n throw new PolishedError(44, base);\n }\n\n return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '1rem'\n * }\n */\n\n\nvar rem = /*#__PURE__*/pixelsto('rem');\nvar rem$1 = rem;\nvar defaultFontSize = 16;\n\nfunction convertBase(base) {\n var deconstructedValue = getValueAndUnit(base);\n\n if (deconstructedValue[1] === 'px') {\n return parseFloat(base);\n }\n\n if (deconstructedValue[1] === '%') {\n return parseFloat(base) / 100 * defaultFontSize;\n }\n\n throw new PolishedError(78, deconstructedValue[1]);\n}\n\nfunction getBaseFromDoc() {\n /* eslint-disable */\n\n /* istanbul ignore next */\n if (typeof document !== 'undefined' && document.documentElement !== null) {\n var rootFontSize = getComputedStyle(document.documentElement).fontSize;\n return rootFontSize ? convertBase(rootFontSize) : defaultFontSize;\n }\n /* eslint-enable */\n\n /* istanbul ignore next */\n\n\n return defaultFontSize;\n}\n/**\n * Convert rem values to px. By default, the base value is pulled from the font-size property on the root element (if it is set in % or px). It defaults to 16px if not found on the root. You can also override the base value by providing your own base in % or px.\n * @example\n * // Styles as object usage\n * const styles = {\n * 'height': remToPx('1.6rem')\n * 'height': remToPx('1.6rem', '10px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * height: ${remToPx('1.6rem')}\n * height: ${remToPx('1.6rem', '10px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * 'height': '25.6px',\n * 'height': '16px',\n * }\n */\n\n\nfunction remToPx(value, base) {\n var deconstructedValue = getValueAndUnit(value);\n\n if (deconstructedValue[1] !== 'rem' && deconstructedValue[1] !== '') {\n throw new PolishedError(77, deconstructedValue[1]);\n }\n\n var newBase = base ? convertBase(base) : getBaseFromDoc();\n return deconstructedValue[0] * newBase + \"px\";\n}\n\nvar functionsMap$3 = {\n back: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n circ: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n cubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n expo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n quad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n quart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n quint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n sine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeIn('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeIn('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\nfunction easeIn(functionName) {\n return functionsMap$3[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$2 = {\n back: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n circ: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n cubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n expo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n quad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n quart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n quint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n sine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeInOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeInOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n * }\n */\n\nfunction easeInOut(functionName) {\n return functionsMap$2[functionName.toLowerCase().trim()];\n}\n\nvar functionsMap$1 = {\n back: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n cubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n circ: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n expo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n quad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n quart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n quint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n sine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)'\n};\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': easeOut('quad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${easeOut('quad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n * }\n */\n\nfunction easeOut(functionName) {\n return functionsMap$1[functionName.toLowerCase().trim()];\n}\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * fontSize: between('20px', '100px', '400px', '1000px'),\n * fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * fontSize: ${between('20px', '100px', '400px', '1000px')};\n * fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n * 'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n * 'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n var _getValueAndUnit = getValueAndUnit(fromSize),\n unitlessFromSize = _getValueAndUnit[0],\n fromSizeUnit = _getValueAndUnit[1];\n\n var _getValueAndUnit2 = getValueAndUnit(toSize),\n unitlessToSize = _getValueAndUnit2[0],\n toSizeUnit = _getValueAndUnit2[1];\n\n var _getValueAndUnit3 = getValueAndUnit(minScreen),\n unitlessMinScreen = _getValueAndUnit3[0],\n minScreenUnit = _getValueAndUnit3[1];\n\n var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n unitlessMaxScreen = _getValueAndUnit4[0],\n maxScreenUnit = _getValueAndUnit4[1];\n\n if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n throw new PolishedError(47);\n }\n\n if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n throw new PolishedError(48);\n }\n\n if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n throw new PolishedError(76);\n }\n\n var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n var base = unitlessToSize - slope * unitlessMaxScreen;\n return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n * 'clear': 'both',\n * 'content': '\"\"',\n * 'display': 'table'\n * }\n */\n\n\nfunction clearFix(parent) {\n var _ref;\n\n if (parent === void 0) {\n parent = '&';\n }\n\n var pseudoSelector = parent + \"::after\";\n return _ref = {}, _ref[pseudoSelector] = {\n clear: 'both',\n content: '\"\"',\n display: 'table'\n }, _ref;\n}\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'position': 'absolute',\n * 'top': '0',\n * 'right: '0',\n * 'bottom': '0',\n * 'left: '0'\n * }\n */\n\n\nfunction cover(offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n return {\n position: 'absolute',\n top: offset,\n right: offset,\n bottom: offset,\n left: offset\n };\n}\n/**\n * CSS to represent truncated text with an ellipsis. You can optionally pass a max-width and number of lines before truncating.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * 'display': 'inline-block',\n * 'maxWidth': '250px',\n * 'overflow': 'hidden',\n * 'textOverflow': 'ellipsis',\n * 'whiteSpace': 'nowrap',\n * 'wordWrap': 'normal'\n * }\n */\n\n\nfunction ellipsis(width, lines) {\n if (lines === void 0) {\n lines = 1;\n }\n\n var styles = {\n display: 'inline-block',\n maxWidth: width || '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n };\n return lines > 1 ? _extends({}, styles, {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lines,\n display: '-webkit-box',\n whiteSpace: 'normal'\n }) : styles;\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${fluidRange(\n * {\n * prop: 'padding',\n * fromSize: '20px',\n * toSize: '100px',\n * },\n * '400px',\n * '1000px',\n * )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n * \"@media (min-width: 1000px)\": Object {\n * \"padding\": \"100px\",\n * },\n * \"@media (min-width: 400px)\": Object {\n * \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n * },\n * \"padding\": \"20px\",\n * }\n */\n\n\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n if (minScreen === void 0) {\n minScreen = '320px';\n }\n\n if (maxScreen === void 0) {\n maxScreen = '1200px';\n }\n\n if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n throw new PolishedError(49);\n }\n\n if (Array.isArray(cssProp)) {\n var mediaQueries = {};\n var fallbacks = {};\n\n for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n var _extends2, _extends3;\n\n var obj = _step.value;\n\n if (!obj.prop || !obj.fromSize || !obj.toSize) {\n throw new PolishedError(50);\n }\n\n fallbacks[obj.prop] = obj.fromSize;\n mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n }\n\n return _extends({}, fallbacks, mediaQueries);\n } else {\n var _ref, _ref2, _ref3;\n\n if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n throw new PolishedError(51);\n }\n\n return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n woff: 'woff',\n woff2: 'woff2',\n ttf: 'truetype',\n otf: 'opentype',\n eot: 'embedded-opentype',\n svg: 'svg',\n svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n if (!formatHint) return '';\n return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n if (isDataURI(fontFilePath)) {\n return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n }\n\n var fileFontReferences = fileFormats.map(function (format) {\n return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n });\n return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n var localFontReferences = localFonts.map(function (font) {\n return \"local(\\\"\" + font + \"\\\")\";\n });\n return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n var fontReferences = [];\n if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n if (fontFilePath) {\n fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n }\n\n return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration. Defaults to check for local copies of the font on the user's machine. You can disable this by passing `null` to localFonts.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n * ...fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n * fontFace({\n * 'fontFamily': 'Sans-Pro',\n * 'fontFilePath': 'path/to/file'\n * }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n * 'fontFamily': 'Sans-Pro',\n * 'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n var fontFamily = _ref.fontFamily,\n fontFilePath = _ref.fontFilePath,\n fontStretch = _ref.fontStretch,\n fontStyle = _ref.fontStyle,\n fontVariant = _ref.fontVariant,\n fontWeight = _ref.fontWeight,\n _ref$fileFormats = _ref.fileFormats,\n fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n _ref$formatHint = _ref.formatHint,\n formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n _ref$localFonts = _ref.localFonts,\n localFonts = _ref$localFonts === void 0 ? [fontFamily] : _ref$localFonts,\n unicodeRange = _ref.unicodeRange,\n fontDisplay = _ref.fontDisplay,\n fontVariationSettings = _ref.fontVariationSettings,\n fontFeatureSettings = _ref.fontFeatureSettings; // Error Handling\n\n if (!fontFamily) throw new PolishedError(55);\n\n if (!fontFilePath && !localFonts) {\n throw new PolishedError(52);\n }\n\n if (localFonts && !Array.isArray(localFonts)) {\n throw new PolishedError(53);\n }\n\n if (!Array.isArray(fileFormats)) {\n throw new PolishedError(54);\n }\n\n var fontFaceDeclaration = {\n '@font-face': {\n fontFamily: fontFamily,\n src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n unicodeRange: unicodeRange,\n fontStretch: fontStretch,\n fontStyle: fontStyle,\n fontVariant: fontVariant,\n fontWeight: fontWeight,\n fontDisplay: fontDisplay,\n fontVariationSettings: fontVariationSettings,\n fontFeatureSettings: fontFeatureSettings\n }\n }; // Removes undefined fields for cleaner css object.\n\n return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'backgroundImage': 'url(logo.png)',\n * ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * backgroundImage: url(logo.png);\n * ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'backgroundImage': 'url(logo.png)',\n * 'textIndent': '101%',\n * 'overflow': 'hidden',\n * 'whiteSpace': 'nowrap',\n * }\n */\n\n\nfunction hideText() {\n return {\n textIndent: '101%',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n };\n}\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'border': '0',\n * 'clip': 'rect(0 0 0 0)',\n * 'height': '1px',\n * 'margin': '-1px',\n * 'overflow': 'hidden',\n * 'padding': '0',\n * 'position': 'absolute',\n * 'whiteSpace': 'nowrap',\n * 'width': '1px',\n * }\n */\n\n\nfunction hideVisually() {\n return {\n border: '0',\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: '0',\n position: 'absolute',\n whiteSpace: 'nowrap',\n width: '1px'\n };\n}\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * [hiDPI(1.5)]: {\n * width: 200px;\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${hiDPI(1.5)} {\n * width: 200px;\n * }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n * only screen and (min--moz-device-pixel-ratio: 1.5),\n * only screen and (-o-min-device-pixel-ratio: 1.5/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * 'width': '200px',\n * }\n */\n\n\nfunction hiDPI(ratio) {\n if (ratio === void 0) {\n ratio = 1.3;\n }\n\n return \"\\n @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n only screen and (min-resolution: \" + ratio + \"dppx)\\n \";\n}\n\nfunction constructGradientValue(literals) {\n var template = '';\n\n for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n substitutions[_key - 1] = arguments[_key];\n }\n\n for (var i = 0; i < literals.length; i += 1) {\n template += literals[i];\n\n if (i === substitutions.length - 1 && substitutions[i]) {\n var definedValues = substitutions.filter(function (substitute) {\n return !!substitute;\n }); // Adds leading coma if properties preceed color-stops\n\n if (definedValues.length > 1) {\n template = template.slice(0, -1);\n template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n } else if (definedValues.length === 1) {\n template += \"\" + substitutions[i];\n }\n } else if (substitutions[i]) {\n template += substitutions[i] + \" \";\n }\n }\n\n return template.trim();\n}\n\nvar _templateObject$1;\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${linearGradient({\n colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n toDirection: 'to top right',\n fallback: '#FFF',\n })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#FFF',\n * 'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\n\n\nfunction linearGradient(_ref) {\n var colorStops = _ref.colorStops,\n fallback = _ref.fallback,\n _ref$toDirection = _ref.toDirection,\n toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(56);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n };\n}\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n * lineHeight: 1.15,\n * textSizeAdjust: 100%,\n * } ...\n */\n\n\nfunction normalize() {\n var _ref;\n\n return [(_ref = {\n html: {\n lineHeight: '1.15',\n textSizeAdjust: '100%'\n },\n body: {\n margin: '0'\n },\n main: {\n display: 'block'\n },\n h1: {\n fontSize: '2em',\n margin: '0.67em 0'\n },\n hr: {\n boxSizing: 'content-box',\n height: '0',\n overflow: 'visible'\n },\n pre: {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n },\n a: {\n backgroundColor: 'transparent'\n },\n 'abbr[title]': {\n borderBottom: 'none',\n textDecoration: 'underline'\n }\n }, _ref[\"b,\\n strong\"] = {\n fontWeight: 'bolder'\n }, _ref[\"code,\\n kbd,\\n samp\"] = {\n fontFamily: 'monospace, monospace',\n fontSize: '1em'\n }, _ref.small = {\n fontSize: '80%'\n }, _ref[\"sub,\\n sup\"] = {\n fontSize: '75%',\n lineHeight: '0',\n position: 'relative',\n verticalAlign: 'baseline'\n }, _ref.sub = {\n bottom: '-0.25em'\n }, _ref.sup = {\n top: '-0.5em'\n }, _ref.img = {\n borderStyle: 'none'\n }, _ref[\"button,\\n input,\\n optgroup,\\n select,\\n textarea\"] = {\n fontFamily: 'inherit',\n fontSize: '100%',\n lineHeight: '1.15',\n margin: '0'\n }, _ref[\"button,\\n input\"] = {\n overflow: 'visible'\n }, _ref[\"button,\\n select\"] = {\n textTransform: 'none'\n }, _ref[\"button,\\n html [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"]\"] = {\n WebkitAppearance: 'button'\n }, _ref[\"button::-moz-focus-inner,\\n [type=\\\"button\\\"]::-moz-focus-inner,\\n [type=\\\"reset\\\"]::-moz-focus-inner,\\n [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n borderStyle: 'none',\n padding: '0'\n }, _ref[\"button:-moz-focusring,\\n [type=\\\"button\\\"]:-moz-focusring,\\n [type=\\\"reset\\\"]:-moz-focusring,\\n [type=\\\"submit\\\"]:-moz-focusring\"] = {\n outline: '1px dotted ButtonText'\n }, _ref.fieldset = {\n padding: '0.35em 0.625em 0.75em'\n }, _ref.legend = {\n boxSizing: 'border-box',\n color: 'inherit',\n display: 'table',\n maxWidth: '100%',\n padding: '0',\n whiteSpace: 'normal'\n }, _ref.progress = {\n verticalAlign: 'baseline'\n }, _ref.textarea = {\n overflow: 'auto'\n }, _ref[\"[type=\\\"checkbox\\\"],\\n [type=\\\"radio\\\"]\"] = {\n boxSizing: 'border-box',\n padding: '0'\n }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n height: 'auto'\n }, _ref['[type=\"search\"]'] = {\n WebkitAppearance: 'textfield',\n outlineOffset: '-2px'\n }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n WebkitAppearance: 'none'\n }, _ref['::-webkit-file-upload-button'] = {\n WebkitAppearance: 'button',\n font: 'inherit'\n }, _ref.details = {\n display: 'block'\n }, _ref.summary = {\n display: 'list-item'\n }, _ref.template = {\n display: 'none'\n }, _ref['[hidden]'] = {\n display: 'none'\n }, _ref), {\n 'abbr[title]': {\n textDecoration: 'underline dotted'\n }\n }];\n}\n\nvar _templateObject;\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${radialGradient({\n * colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n * extent: 'farthest-corner at 45px 45px',\n * position: 'center',\n * shape: 'ellipse',\n * })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n * 'backgroundColor': '#00FFFF',\n * 'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\n\n\nfunction radialGradient(_ref) {\n var colorStops = _ref.colorStops,\n _ref$extent = _ref.extent,\n extent = _ref$extent === void 0 ? '' : _ref$extent,\n fallback = _ref.fallback,\n _ref$position = _ref.position,\n position = _ref$position === void 0 ? '' : _ref$position,\n _ref$shape = _ref.shape,\n shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n if (!colorStops || colorStops.length < 2) {\n throw new PolishedError(57);\n }\n\n return {\n backgroundColor: fallback || colorStops[0].split(' ')[0],\n backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n };\n}\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n * backgroundImage: 'url(my-img.png)',\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n * only screen and (min--moz-device-pixel-ratio: 1.3),\n * only screen and (-o-min-device-pixel-ratio: 1.3/1),\n * only screen and (min-resolution: 144dpi),\n * only screen and (min-resolution: 1.5dppx)': {\n * backgroundImage: 'url(my-img_2x.png)',\n * }\n * }\n */\n\n\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n var _ref;\n\n if (extension === void 0) {\n extension = 'png';\n }\n\n if (retinaSuffix === void 0) {\n retinaSuffix = '_2x';\n }\n\n if (!filename) {\n throw new PolishedError(58);\n } // Replace the dot at the beginning of the passed extension if one exists\n\n\n var ext = extension.replace(/^\\./, '');\n var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n return _ref = {\n backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n }, _ref[hiDPI()] = _extends({\n backgroundImage: \"url(\" + rFilename + \")\"\n }, backgroundSize ? {\n backgroundSize: backgroundSize\n } : {}), _ref;\n}\n/* eslint-disable key-spacing */\n\n\nvar functionsMap = {\n easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n easeInCirc: 'cubic-bezier(0.600, 0.040, 0.980, 0.335)',\n easeInCubic: 'cubic-bezier(0.550, 0.055, 0.675, 0.190)',\n easeInExpo: 'cubic-bezier(0.950, 0.050, 0.795, 0.035)',\n easeInQuad: 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n easeInQuart: 'cubic-bezier(0.895, 0.030, 0.685, 0.220)',\n easeInQuint: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n easeInSine: 'cubic-bezier(0.470, 0.000, 0.745, 0.715)',\n easeOutBack: 'cubic-bezier(0.175, 0.885, 0.320, 1.275)',\n easeOutCubic: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n easeOutCirc: 'cubic-bezier(0.075, 0.820, 0.165, 1.000)',\n easeOutExpo: 'cubic-bezier(0.190, 1.000, 0.220, 1.000)',\n easeOutQuad: 'cubic-bezier(0.250, 0.460, 0.450, 0.940)',\n easeOutQuart: 'cubic-bezier(0.165, 0.840, 0.440, 1.000)',\n easeOutQuint: 'cubic-bezier(0.230, 1.000, 0.320, 1.000)',\n easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)',\n easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n easeInOutCirc: 'cubic-bezier(0.785, 0.135, 0.150, 0.860)',\n easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1.000)',\n easeInOutExpo: 'cubic-bezier(1.000, 0.000, 0.000, 1.000)',\n easeInOutQuad: 'cubic-bezier(0.455, 0.030, 0.515, 0.955)',\n easeInOutQuart: 'cubic-bezier(0.770, 0.000, 0.175, 1.000)',\n easeInOutQuint: 'cubic-bezier(0.860, 0.000, 0.070, 1.000)',\n easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @deprecated - This will be deprecated in v5 in favor of `easeIn`, `easeOut`, `easeInOut`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * 'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n * 'transitionTimingFunction': 'cubic-bezier(0.550, 0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n var fullWidth = \"\" + width[0] + (width[1] || '');\n var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n var fullHeight = \"\" + height[0] + (height[1] || '');\n var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n switch (pointingDirection) {\n case 'top':\n return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n case 'topLeft':\n return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n case 'left':\n return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n case 'bottomLeft':\n return fullWidth + \" 0 0 \" + fullHeight;\n\n case 'bottom':\n return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n case 'bottomRight':\n return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n case 'right':\n return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n case 'topRight':\n default:\n return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n switch (pointingDirection) {\n case 'top':\n case 'bottomRight':\n return {\n borderBottomColor: foregroundColor\n };\n\n case 'right':\n case 'bottomLeft':\n return {\n borderLeftColor: foregroundColor\n };\n\n case 'bottom':\n case 'topLeft':\n return {\n borderTopColor: foregroundColor\n };\n\n case 'left':\n case 'topRight':\n return {\n borderRightColor: foregroundColor\n };\n\n default:\n throw new PolishedError(59);\n }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n * ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n * ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n * 'borderColor': 'transparent transparent transparent red',\n * 'borderStyle': 'solid',\n * 'borderWidth': '50px 0 50px 100px',\n * 'height': '0',\n * 'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n var pointingDirection = _ref.pointingDirection,\n height = _ref.height,\n width = _ref.width,\n foregroundColor = _ref.foregroundColor,\n _ref$backgroundColor = _ref.backgroundColor,\n backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n var widthAndUnit = getValueAndUnit(width);\n var heightAndUnit = getValueAndUnit(height);\n\n if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n throw new PolishedError(60);\n }\n\n return _extends({\n width: '0',\n height: '0',\n borderColor: backgroundColor\n }, getBorderColor(pointingDirection, foregroundColor), {\n borderStyle: 'solid',\n borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n });\n}\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n * overflowWrap: 'break-word',\n * wordWrap: 'break-word',\n * wordBreak: 'break-all',\n * }\n */\n\n\nfunction wordWrap(wrap) {\n if (wrap === void 0) {\n wrap = 'break-word';\n }\n\n var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n return {\n overflowWrap: wrap,\n wordWrap: wrap,\n wordBreak: wordBreak\n };\n}\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgb(?:a)?\\(\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,)?\\s*(\\d{1,3})\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsl(?:a)?\\(\\s*(\\d{0,3}[.]?[0-9]+(?:deg)?)\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,)?\\s*(\\d{1,3}[.]?[0-9]?)%\\s*(?:,|\\/)\\s*([-+]?\\d*[.]?\\d+[%]?)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4]) > 1 ? parseFloat(\"\" + rgbaMatched[4]) / 100 : parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4]) > 1 ? parseFloat(\"\" + hslaMatched[4]) / 100 : parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\n\n\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\n\n\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nvar reduceHexValue$1 = reduceHexValue;\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue$1(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\n\n\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\n\n\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\n\n\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue$1(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue$1(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\n\n\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (typeof color !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n} // Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\n\n\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: adjustHue(180, '#448'),\n * background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${adjustHue(180, '#448')};\n * background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#888844\";\n * background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\n\nfunction adjustHue(degree, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: hslColor.hue + parseFloat(degree)\n }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* :: */\n(adjustHue);\nvar curriedAdjustHue$1 = curriedAdjustHue;\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, ).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: complement('#448'),\n * background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${complement('#448')};\n * background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#884\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n hue: (hslColor.hue + 180) % 360\n }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\nvar curriedDarken$1 = curriedDarken;\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: desaturate(0.2, '#CCCD64'),\n * background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${desaturate(0.2, '#CCCD64')};\n * background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#b8b979\";\n * background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* :: */\n(desaturate);\nvar curriedDesaturate$1 = curriedDesaturate;\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n * background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n * background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n * 'rgba(58, 133, 255, 1)' :\n * 'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n * background: \"#CCCD64\";\n * background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n if (color === 'transparent') return 0;\n var rgbColor = parseToRgb(color);\n\n var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n var channel = rgbColor[key] / 255;\n return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n }),\n r = _Object$keys$map[0],\n g = _Object$keys$map[1],\n b = _Object$keys$map[2];\n\n return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\n\nfunction getContrast(color1, color2) {\n var luminance1 = getLuminance(color1);\n var luminance2 = getLuminance(color2);\n return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: grayscale('#CCCD64'),\n * background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${grayscale('#CCCD64')};\n * background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#999\";\n * background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\n\nfunction grayscale(color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: 0\n }));\n}\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction hslToColorString(color) {\n if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n if (color.alpha && typeof color.alpha === 'number') {\n return hsla({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness,\n alpha: color.alpha\n });\n }\n\n return hsl({\n hue: color.hue,\n saturation: color.saturation,\n lightness: color.lightness\n });\n }\n\n throw new PolishedError(45);\n}\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: invert('#CCCD64'),\n * background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${invert('#CCCD64')};\n * background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#33329b\";\n * background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\n\nfunction invert(color) {\n if (color === 'transparent') return color; // parse color string to rgb\n\n var value = parseToRgb(color);\n return toColorString(_extends({}, value, {\n red: 255 - value.red,\n green: 255 - value.green,\n blue: 255 - value.blue\n }));\n}\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\nvar curriedLighten$1 = curriedLighten;\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\n\nfunction meetsContrastGuidelines(color1, color2) {\n var contrastRatio = getContrast(color1, color2);\n return {\n AA: contrastRatio >= 4.5,\n AALarge: contrastRatio >= 3,\n AAA: contrastRatio >= 7,\n AAALarge: contrastRatio >= 4.5\n };\n}\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: mix(0.5, '#f00', '#00f')\n * background: mix(0.25, '#f00', '#00f')\n * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${mix(0.5, '#f00', '#00f')};\n * background: ${mix(0.25, '#f00', '#00f')};\n * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#7f007f\";\n * background: \"#3f00bf\";\n * background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\n\nfunction mix(weight, color, otherColor) {\n if (color === 'transparent') return otherColor;\n if (otherColor === 'transparent') return color;\n if (weight === 0) return otherColor;\n var parsedColor1 = parseToRgb(color);\n\n var color1 = _extends({}, parsedColor1, {\n alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n });\n\n var parsedColor2 = parseToRgb(otherColor);\n\n var color2 = _extends({}, parsedColor2, {\n alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n }); // The formula is copied from the original Sass implementation:\n // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n var alphaDelta = color1.alpha - color2.alpha;\n var x = parseFloat(weight) * 2 - 1;\n var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n var z = 1 + x * alphaDelta;\n var weight1 = (y / z + 1) / 2.0;\n var weight2 = 1 - weight1;\n var mixedColor = {\n red: Math.floor(color1.red * weight1 + color2.red * weight2),\n green: Math.floor(color1.green * weight1 + color2.green * weight2),\n blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n alpha: color1.alpha * parseFloat(weight) + color2.alpha * (1 - parseFloat(weight))\n };\n return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* :: */\n(mix);\nvar mix$1 = curriedMix;\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n * background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n * background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n * background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n * background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#fff\";\n * background: \"rgba(255,255,255,0.7)\";\n * background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* :: */\n(opacify);\nvar curriedOpacify$1 = curriedOpacify;\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * color: readableColor('#000'),\n * color: readableColor('black', '#001', '#ff8'),\n * color: readableColor('white', '#001', '#ff8'),\n * color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * color: ${readableColor('#000')};\n * color: ${readableColor('black', '#001', '#ff8')};\n * color: ${readableColor('white', '#001', '#ff8')};\n * color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n * color: \"#fff\";\n * color: \"#ff8\";\n * color: \"#001\";\n * color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n if (returnIfLightColor === void 0) {\n returnIfLightColor = defaultReturnIfLightColor;\n }\n\n if (returnIfDarkColor === void 0) {\n returnIfDarkColor = defaultReturnIfDarkColor;\n }\n\n if (strict === void 0) {\n strict = true;\n }\n\n var isColorLight = getLuminance(color) > 0.179;\n var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n return preferredReturnColor;\n }\n\n return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n * background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * }\n */\n\n\nfunction rgbToColorString(color) {\n if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n if (typeof color.alpha === 'number') {\n return rgba({\n red: color.red,\n green: color.green,\n blue: color.blue,\n alpha: color.alpha\n });\n }\n\n return rgb({\n red: color.red,\n green: color.green,\n blue: color.blue\n });\n }\n\n throw new PolishedError(46);\n}\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: saturate(0.2, '#CCCD64'),\n * background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${saturate(0.2, '#FFCD64')};\n * background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e0e250\";\n * background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\n\nfunction saturate(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* :: */\n(saturate);\nvar curriedSaturate$1 = curriedSaturate;\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setHue(42, '#CCCD64'),\n * background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setHue(42, '#CCCD64')};\n * background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#cdae64\";\n * background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n hue: parseFloat(hue)\n }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* :: */\n(setHue);\nvar curriedSetHue$1 = curriedSetHue;\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setLightness(0.2, '#CCCD64'),\n * background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setLightness(0.2, '#CCCD64')};\n * background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#4d4d19\";\n * background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n lightness: parseFloat(lightness)\n }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* :: */\n(setLightness);\nvar curriedSetLightness$1 = curriedSetLightness;\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: setSaturation(0.2, '#CCCD64'),\n * background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${setSaturation(0.2, '#CCCD64')};\n * background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#adad84\";\n * background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n if (color === 'transparent') return color;\n return toColorString(_extends({}, parseToHsl(color), {\n saturation: parseFloat(saturation)\n }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* :: */\n(setSaturation);\nvar curriedSetSaturation$1 = curriedSetSaturation;\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* :: */\n(shade);\nvar curriedShade$1 = curriedShade;\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n if (color === 'transparent') return color;\n return mix$1(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* :: */\n(tint);\nvar curriedTint$1 = curriedTint;\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: transparentize(0.1, '#fff'),\n * background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n * background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${transparentize(0.1, '#fff')};\n * background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')};\n * background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,255,255,0.9)\";\n * background: \"rgba(255,255,255,0.8)\";\n * background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n if (color === 'transparent') return color;\n var parsedColor = parseToRgb(color);\n var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n var colorWithAlpha = _extends({}, parsedColor, {\n alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n });\n\n return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* :: */\n(transparentize);\nvar curriedTransparentize$1 = curriedTransparentize;\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n * ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'animation': 'rotate 1s ease-in-out'\n * }\n */\n\nfunction animation() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n } // Allow single or multiple animations passed\n\n\n var multiMode = Array.isArray(args[0]);\n\n if (!multiMode && args.length > 8) {\n throw new PolishedError(64);\n }\n\n var code = args.map(function (arg) {\n if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n throw new PolishedError(65);\n }\n\n if (Array.isArray(arg) && arg.length > 8) {\n throw new PolishedError(66);\n }\n\n return Array.isArray(arg) ? arg.join(' ') : arg;\n }).join(', ');\n return {\n animation: code\n };\n}\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\n\n\nfunction backgroundImages() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n backgroundImage: properties.join(', ')\n };\n}\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\n\n\nfunction backgrounds() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n return {\n background: properties.join(', ')\n };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderColor': 'red',\n * 'borderStyle': 'solid',\n * 'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderTopStyle': 'solid',\n * 'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n } else {\n values.unshift(sideKeyword);\n return {\n borderWidth: values[0],\n borderStyle: values[1],\n borderColor: values[2]\n };\n }\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopColor': 'red',\n * 'borderRightColor': 'green',\n * 'borderBottomColor': 'blue',\n * 'borderLeftColor': 'yellow'\n * }\n */\n\n\nfunction borderColor() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopRightRadius': '5px',\n * 'borderTopLeftRadius': '5px',\n * }\n */\n\n\nfunction borderRadius(side, radius) {\n var uppercaseSide = capitalizeString(side);\n\n if (!radius && radius !== 0) {\n throw new PolishedError(62);\n }\n\n if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n var _ref;\n\n return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n }\n\n if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n var _ref2;\n\n return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n }\n\n throw new PolishedError(63);\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopStyle': 'solid',\n * 'borderRightStyle': 'dashed',\n * 'borderBottomStyle': 'dotted',\n * 'borderLeftStyle': 'double'\n * }\n */\n\n\nfunction borderStyle() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'borderTopWidth': '12px',\n * 'borderRightWidth': '24px',\n * 'borderBottomWidth': '36px',\n * 'borderLeftWidth': '48px'\n * }\n */\n\n\nfunction borderWidth() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n var stateSuffix = state ? \":\" + state : '';\n return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n if (!template) throw new PolishedError(67);\n if (states.length === 0) return generateSelectors(template, null);\n var selectors = [];\n\n for (var i = 0; i < states.length; i += 1) {\n if (stateMap && stateMap.indexOf(states[i]) < 0) {\n throw new PolishedError(68);\n }\n\n selectors.push(generateSelectors(template, states[i]));\n }\n\n selectors = selectors.join(',');\n return selectors;\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n return \"button\" + state + \",\\n input[type=\\\"button\\\"]\" + state + \",\\n input[type=\\\"reset\\\"]\" + state + \",\\n input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [buttons('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${buttons('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'button:active,\n * 'input[type=\"button\"]:active,\n * 'input[type=\\\"reset\\\"]:active,\n * 'input[type=\\\"submit\\\"]:active: {\n * 'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template$1, stateMap$1);\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'marginTop': '12px',\n * 'marginRight': '24px',\n * 'marginBottom': '36px',\n * 'marginLeft': '48px'\n * }\n */\n\n\nfunction margin() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'paddingTop': '12px',\n * 'paddingRight': '24px',\n * 'paddingBottom': '36px',\n * 'paddingLeft': '48px'\n * }\n */\n\n\nfunction padding() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n * ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'position': 'absolute',\n * 'top': '12px',\n * 'right': '24px',\n * 'bottom': '36px',\n * 'left': '48px'\n * }\n */\n\nfunction position(firstValue) {\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n values[_key - 1] = arguments[_key];\n }\n\n if (positionMap.indexOf(firstValue) >= 0 && firstValue) {\n return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n position: firstValue\n });\n } else {\n return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n }\n}\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n * ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'height': '300px',\n * 'width': '250px',\n * }\n */\n\n\nfunction size(height, width) {\n if (width === void 0) {\n width = height;\n }\n\n return {\n height: height,\n width: width\n };\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n return \"input[type=\\\"color\\\"]\" + state + \",\\n input[type=\\\"date\\\"]\" + state + \",\\n input[type=\\\"datetime\\\"]\" + state + \",\\n input[type=\\\"datetime-local\\\"]\" + state + \",\\n input[type=\\\"email\\\"]\" + state + \",\\n input[type=\\\"month\\\"]\" + state + \",\\n input[type=\\\"number\\\"]\" + state + \",\\n input[type=\\\"password\\\"]\" + state + \",\\n input[type=\\\"search\\\"]\" + state + \",\\n input[type=\\\"tel\\\"]\" + state + \",\\n input[type=\\\"text\\\"]\" + state + \",\\n input[type=\\\"time\\\"]\" + state + \",\\n input[type=\\\"url\\\"]\" + state + \",\\n input[type=\\\"week\\\"]\" + state + \",\\n input:not([type])\" + state + \",\\n textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n * [textInputs('active')]: {\n * 'border': 'none'\n * }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * > ${textInputs('active')} {\n * border: none;\n * }\n * `\n *\n * // CSS in JS Output\n *\n * 'input[type=\"color\"]:active,\n * input[type=\"date\"]:active,\n * input[type=\"datetime\"]:active,\n * input[type=\"datetime-local\"]:active,\n * input[type=\"email\"]:active,\n * input[type=\"month\"]:active,\n * input[type=\"number\"]:active,\n * input[type=\"password\"]:active,\n * input[type=\"search\"]:active,\n * input[type=\"tel\"]:active,\n * input[type=\"text\"]:active,\n * input[type=\"time\"]:active,\n * input[type=\"url\"]:active,\n * input[type=\"week\"]:active,\n * input:not([type]):active,\n * textarea:active': {\n * 'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return statefulSelectors(states, template, stateMap);\n}\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n * ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n * ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n * ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n * 'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n * 'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\n\nfunction transitions() {\n for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n properties[_key] = arguments[_key];\n }\n\n if (Array.isArray(properties[0]) && properties.length === 2) {\n var value = properties[1];\n\n if (typeof value !== 'string') {\n throw new PolishedError(61);\n }\n\n var transitionsString = properties[0].map(function (property) {\n return property + \" \" + value;\n }).join(', ');\n return {\n transition: transitionsString\n };\n } else {\n return {\n transition: properties.join(', ')\n };\n }\n}\n\nexport { curriedAdjustHue$1 as adjustHue, animation, backgroundImages, backgrounds, between, border, borderColor, borderRadius, borderStyle, borderWidth, buttons, clearFix, complement, cover, cssVar, curriedDarken$1 as darken, curriedDesaturate$1 as desaturate, directionalProperty, easeIn, easeInOut, easeOut, ellipsis, em$1 as em, fluidRange, fontFace, getContrast, getLuminance, getValueAndUnit, grayscale, hiDPI, hideText, hideVisually, hsl, hslToColorString, hsla, important, invert, curriedLighten$1 as lighten, linearGradient, margin, math, meetsContrastGuidelines, mix$1 as mix, modularScale, normalize, curriedOpacify$1 as opacify, padding, parseToHsl, parseToRgb, position, radialGradient, readableColor, rem$1 as rem, remToPx, retinaImage, rgb, rgbToColorString, rgba, curriedSaturate$1 as saturate, curriedSetHue$1 as setHue, curriedSetLightness$1 as setLightness, curriedSetSaturation$1 as setSaturation, curriedShade$1 as shade, size, stripUnit, textInputs, timingFunctions, curriedTint$1 as tint, toColorString, transitions, curriedTransparentize$1 as transparentize, triangle, wordWrap };","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import { transparentize } from 'polished'\r\nimport { css, th, defaultTheme, aliasColor } from '@xstyled/styled-components'\r\n\r\nexport function primaryColor(color) {\r\n return aliasColor('primary', color)\r\n}\r\n\r\nexport const theme = {\r\n initialColorModeName: 'light',\r\n ...defaultTheme,\r\n global: css`\r\n html,\r\n body {\r\n transition: 300ms ease-in color, 300ms ease-in background-color;\r\n margin: 0;\r\n font-family: base;\r\n background-color: background;\r\n color: on-background;\r\n line-height: base;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n \r\n img {\r\n display: inline-block;\r\n }\r\n\r\n :focus {\r\n outline-color: primary-500;\r\n }\r\n blockquote.quote {\r\n background-color: var(--xstyled-colors-editor-background,#18181b);\r\n margin: 3vw 3vw;\r\n box-sizing: border-box;\r\n position: relative;\r\n font-size: 24px;\r\n padding: 1vw 5vw;\r\n border-radius: 8px;\r\n \r\n font-style: italic;\r\n }\r\n @media (min-width: 768px) {\r\n blockquote.quote:before {\r\n width: 6vw;\r\n height: 7vw;\r\n top: 50%;\r\n left: 0;\r\n transform: translate(-50%, -50%);\r\n }\r\n .only-small {\r\n display: none;\r\n }\r\n }\r\n @media (max-width: 768px) {\r\n .only-wide {\r\n display: none;\r\n }\r\n }\r\n blockquote.quote:before {\r\n content: \"\";\r\n background-image: url(/resources/quote.svg);\r\n position: absolute;\r\n background-size: contain;\r\n background-repeat: no-repeat;\r\n }\r\n .xstyled-color-mode-light blockquote.quote {\r\n color: black;\r\n background-color: #d4d4d8;\r\n border-color: #a8a8af;\r\n }\r\n \r\n .wide-feature-text h3 {\r\n font-size: 38px;\r\n text-align: center;\r\n }\r\n .wide-feature-text p {\r\n font-size: 24px;\r\n margin: 0.5em auto;\r\n }\r\n .wide-feature-text ul {\r\n font-size: 24px;\r\n list-style-type: \"👉 \";\r\n margin-left: 3rem;\r\n }\r\n .wide-feature-text li {\r\n margin: 0.5em auto;\r\n }\r\n .wide-feature-text strong,\r\n strong.orange {\r\n color: #F2A41F;\r\n // font-weight: normal;\r\n }\r\n \r\n .home-screenshots {\r\n margin-bottom: 2rem;\r\n }\r\n .home-screenshots h2 {\r\n font-size: 34px;\r\n font-weight: 400;\r\n margin-top: 3rem;\r\n margin-bottom: 1rem;\r\n text-align: center;\r\n }\r\n .home-screenshots img {\r\n width: 80%;\r\n }\r\n \r\n \r\n .home-links {\r\n text-align: center;\r\n display: flex;\r\n }\r\n .home-links > * {\r\n width:30%;\r\n padding: 1rem;\r\n }\r\n\r\n .home-links a {\r\n color: var(--xstyled-colors-on-background, #ffffff)!important;\r\n }\r\n \r\n h3 {\r\n font-size: 1.17em;\r\n margin-bottom: 0.5em;\r\n }\r\n \r\n .carousel__back-button, .carousel__next-button {\r\n background: transparent;\r\n }\r\n\r\n `,\r\n 'prism-theme': () => ({\r\n styles: [\r\n {\r\n types: ['comment'],\r\n style: {\r\n color: 'rgb(106, 171, 115)',\r\n fontStyle: 'italic',\r\n },\r\n },\r\n {\r\n types: ['line-comment'],\r\n style: {\r\n color: 'rgb(99,103,100)',\r\n fontStyle: 'italic',\r\n },\r\n },\r\n {\r\n types: ['zdl-keyword', 'keyword'],\r\n style: {\r\n color: 'rgb(207, 142, 107)',\r\n },\r\n },\r\n {\r\n types: ['zdl-annotation', 'zdl-validation'],\r\n style: {\r\n color: 'rgb(179, 174, 96)',\r\n },\r\n },\r\n {\r\n types: ['zdl-class-name'],\r\n style: {\r\n color: 'rgb(102,127,209)',\r\n },\r\n },\r\n {\r\n types: ['zdl-field'],\r\n style: {\r\n color: 'rgb(198, 120, 221)',\r\n },\r\n },\r\n {\r\n types: ['punctuation'],\r\n style: {\r\n color: 'rgb(230,233,236)', // fixme\r\n },\r\n },\r\n {\r\n types: ['boolean', 'bool', 'char', 'number'],\r\n style: {\r\n color: 'rgb(33,51,157)',// fixme\r\n },\r\n },\r\n {\r\n types: ['tag'],\r\n style: {\r\n color: 'rgb(229, 192, 123)',\r\n },\r\n },\r\n {\r\n types: ['operator'],\r\n style: {\r\n color: 'rgb(171, 178, 191)',\r\n },\r\n },\r\n {\r\n types: ['string'],\r\n style: {\r\n color: 'rgb(152, 195, 121)',\r\n },\r\n },\r\n {\r\n types: ['attr-name', 'comment'],\r\n style: {\r\n fontStyle: 'italic',\r\n },\r\n },\r\n {\r\n types: ['function'],\r\n style: {\r\n color: 'rgb(97, 175, 239)',\r\n },\r\n },\r\n ],\r\n }),\r\n fonts: {\r\n base: '-apple-system,system-ui,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif',\r\n },\r\n lineHeights: {\r\n base: 1.4,\r\n control: th.lineHeight('base'),\r\n },\r\n transitions: {\r\n base: '300ms ease all',\r\n fast: '150ms cubic-bezier(0.215, 0.61, 0.355, 1) all',\r\n control: th.transition('base'),\r\n },\r\n radii: {\r\n base: 4,\r\n control: th.radius('base'),\r\n editor: th.radius('base'),\r\n blockquote: th.radius('base'),\r\n },\r\n borderWidths: {\r\n base: 1,\r\n control: th.borderWidth('base'),\r\n },\r\n shadows: {\r\n focus: (p) => `0 0 0 ${th.px(2)(p)} ${th.color('primary-a500')(p)}`,\r\n 'control-focus': th.shadow('focus'),\r\n },\r\n sizes: {\r\n screen: 1669, // 1440,\r\n },\r\n space: {\r\n 0: 0,\r\n 1: 4,\r\n 2: 8,\r\n 3: 16,\r\n 4: 24,\r\n 5: 48,\r\n 6: 96,\r\n 7: 144,\r\n 8: 192,\r\n 9: 240,\r\n 'preview-padding-y': 16,\r\n 'preview-padding-x': 24,\r\n },\r\n colors: {\r\n ...defaultTheme.colors,\r\n\r\n // Primary = indigo\r\n ...aliasColor('primary', 'indigo'),\r\n\r\n primary: th.color('primary-500'),\r\n 'primary-a500': (p) => transparentize(0.5, th.color('primary-500')(p)),\r\n\r\n background: th.color('white'),\r\n 'background-light': th.color('gray-100'),\r\n 'background-primary': th.color('primary-100'),\r\n 'background-mark': th.color('yellow-200'),\r\n 'background-light-a50': (p) =>\r\n transparentize(0.05, th.color('background-light')(p)),\r\n 'on-background': th.color('black'),\r\n 'on-background-light': th.color('gray-700'),\r\n 'on-background-primary': th.color('primary-700'),\r\n 'on-background-primary-dark': th.color('primary-800'),\r\n\r\n 'layout-border': th.color('gray-300'),\r\n\r\n 'control-background': th.color('gray-100'),\r\n 'control-placeholder': th.color('gray-600'),\r\n 'control-on': th.color('gray-900'),\r\n 'control-border': th.color('layout-border'),\r\n 'control-border-hover': th.color('gray-500'),\r\n 'control-border-active': th.color('primary-400'),\r\n\r\n 'editor-background': th.color('gray-900'),\r\n 'editor-on': th.color('gray-100'),\r\n 'editor-border': th.color('layout-border'),\r\n\r\n 'blockquote-link': th.color('yellow-800'),\r\n 'blockquote-background': th.color('yellow-200'),\r\n 'blockquote-border': th.color('yellow'),\r\n\r\n 'doc-search-suggestion-highlight-background': th.color('primary-200'),\r\n 'doc-search-suggestion-highlight-on-background': th.color('primary-800'),\r\n 'doc-search-suggestion-content-background': th.color('primary-100'),\r\n 'doc-search-suggestion-content-underline': th.color('primary-700'),\r\n\r\n modes: {\r\n dark: {\r\n background: th.color('gray-900'),\r\n 'editor-background': th.color('black'),\r\n 'background-light': th.color('gray-800'),\r\n 'background-primary': th.color('primary-900'),\r\n 'background-mark': th.color('yellow-500'),\r\n 'background-light-a50': (p) =>\r\n transparentize(0.05, th.color('background-light')(p)),\r\n 'on-background': th.color('white'),\r\n 'on-background-light': th.color('gray-300'),\r\n 'on-background-primary': th.color('primary-300'),\r\n 'on-background-primary-dark': th.color('primary-200'),\r\n\r\n 'layout-border': th.color('gray-700'),\r\n\r\n 'control-background': th.color('gray-800'),\r\n 'control-placeholder': th.color('gray-400'),\r\n 'control-on': th.color('gray-100'),\r\n 'control-border': th.color('layout-border'),\r\n 'control-border-hover': th.color('gray-500'),\r\n 'control-border-active': th.color('primary-600'),\r\n\r\n 'blockquote-link': th.color('yellow-200'),\r\n 'blockquote-background': th.color('yellow-900'),\r\n 'blockquote-border': th.color('yellow-300'),\r\n\r\n 'doc-search-suggestion-highlight-background': th.color('primary-800'),\r\n 'doc-search-suggestion-highlight-on-background':\r\n th.color('primary-200'),\r\n 'doc-search-suggestion-content-background': th.color('primary-900'),\r\n 'doc-search-suggestion-content-underline': th.color('primary-300'),\r\n },\r\n },\r\n },\r\n}\r\n","import React from 'react'\r\nimport {\r\n createGlobalStyle,\r\n ThemeProvider as SCThemeProvider,\r\n th,\r\n} from '@xstyled/styled-components'\r\nimport { theme } from '../theme'\r\n\r\nexport const GlobalStyle = createGlobalStyle`\r\n ${th('global')}\r\n`\r\n\r\nexport function ThemeProvider({ children }) {\r\n return {children}\r\n}\r\n","import React from 'react'\r\nimport { ColorModeProvider, Preflight } from '@xstyled/styled-components'\r\nimport { MDXProvider } from './MDX'\r\nimport { GlobalStyle, ThemeProvider } from './Theme'\r\n\r\nexport function RootWrapper({ children }) {\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n )\r\n}\r\n","import { useDisclosureState } from '../disclosure/disclosure-state.js';\n/**\n * Provides state for the `Dialog` components.\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * \n * Content\n * ```\n */\n\nfunction useDialogState(props) {\n if (props === void 0) {\n props = {};\n }\n\n const disclosure = useDisclosureState(props);\n return disclosure;\n}\n\nexport { useDialogState };","import { useRef, useState, useCallback, useMemo } from 'react';\nimport { useControlledState, usePreviousValue } from 'ariakit-utils/hooks';\n/**\n * Provides state for the `Disclosure` components.\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\n\nfunction useDisclosureState(_temp) {\n var _props$defaultOpen;\n\n let {\n animated = false,\n ...props\n } = _temp === void 0 ? {} : _temp;\n const disclosureRef = useRef(null);\n const [open, setOpen] = useControlledState((_props$defaultOpen = props.defaultOpen) != null ? _props$defaultOpen : false, props.open, props.setOpen);\n const [contentElement, setContentElement] = useState(null);\n const [animating, setAnimating] = useState(!!animated && open);\n const prevOpen = usePreviousValue(open);\n const mounted = open || animating;\n\n if (animated && !animating && prevOpen !== open) {\n setAnimating(true);\n }\n\n const show = useCallback(() => setOpen(true), [setOpen]);\n const hide = useCallback(() => setOpen(false), [setOpen]);\n const toggle = useCallback(() => setOpen(v => !v), [setOpen]);\n const stopAnimation = useCallback(() => setAnimating(false), []);\n const state = useMemo(() => ({\n disclosureRef,\n open,\n mounted,\n animated,\n animating,\n contentElement,\n setContentElement,\n setOpen,\n show,\n hide,\n toggle,\n stopAnimation\n }), [open, mounted, animated, animating, contentElement, setContentElement, setOpen, show, hide, toggle, stopAnimation]);\n return state;\n}\n\nexport { useDisclosureState };","import { useState } from 'react';\nimport { useId, useSafeLayoutEffect, useForkRef } from 'ariakit-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { flushSync } from 'react-dom';\n\nfunction afterTimeout(timeoutMs, cb) {\n const timeoutId = setTimeout(cb, timeoutMs);\n return () => clearTimeout(timeoutId);\n}\n\nfunction afterPaint(cb) {\n let raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(cb);\n });\n return () => cancelAnimationFrame(raf);\n}\n\nfunction parseCSSTime() {\n for (var _len = arguments.length, times = new Array(_len), _key = 0; _key < _len; _key++) {\n times[_key] = arguments[_key];\n }\n\n return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n const currentTime = parseFloat(currentTimeString || \"0s\") * 1000; // When multiple times are specified, we want to use the longest one so we\n // wait until the longest transition has finished.\n\n if (currentTime > longestTime) return currentTime;\n return longestTime;\n }, 0);\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that can be shown or hidden.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const state = useDisclosureState();\n * const props = useDisclosureContent({ state });\n * Disclosure\n * Content\n * ```\n */\n\n\nconst useDisclosureContent = createHook(_ref => {\n let {\n state,\n ...props\n } = _ref;\n const id = useId(props.id);\n const [transition, setTransition] = useState(null);\n useSafeLayoutEffect(() => {\n var _state$contentElement;\n\n if (!state.animated) return; // When the disclosure content element is rendered in a portal, we need to\n // wait for the portal to be mounted and connected to the DOM before we\n // can start the animation.\n\n if (!((_state$contentElement = state.contentElement) != null && _state$contentElement.isConnected)) {\n setTransition(null);\n return;\n } // Double requestAnimationFrame is necessary here to avoid potential bugs\n // when the data attribute is added before the element is fully rendered\n // in the DOM, which wouldn't trigger the animation.\n\n\n return afterPaint(() => {\n setTransition(state.open ? \"enter\" : \"leave\");\n });\n }, [state.animated, state.contentElement, state.open]);\n useSafeLayoutEffect(() => {\n if (!state.animated) return;\n if (!state.contentElement) return;\n if (!transition) return;\n if (transition === \"enter\" && !state.open) return;\n if (transition === \"leave\" && state.open) return; // When the animated state is a number, the user has manually set the\n // animation timeout, so we just respect it.\n\n if (typeof state.animated === \"number\") {\n const timeoutMs = state.animated;\n return afterTimeout(timeoutMs, () => flushSync(state.stopAnimation));\n } // Otherwise, we need to parse the CSS transition/animation duration and\n // delay to know when the animation ends. This is safer than relying on\n // the transitionend/animationend events because it's not guaranteed that\n // these events will fire. For example, if the element is removed from the\n // DOM before the animation ends or if the animation wasn't triggered in\n // the first place, the events won't fire.\n\n\n const {\n transitionDuration,\n animationDuration,\n transitionDelay,\n animationDelay\n } = getComputedStyle(state.contentElement);\n const delay = parseCSSTime(transitionDelay, animationDelay);\n const duration = parseCSSTime(transitionDuration, animationDuration);\n const timeoutMs = delay + duration; // If the animation/transition delay and duration are 0, this means the\n // element is not animated with CSS (they may be using framer-motion,\n // react-spring, or something else). In this case, the user is responsible\n // for calling `stopAnimation` when the animation ends.\n\n if (!timeoutMs) return; // TODO: We should probably warn if `stopAnimation` hasn't been called\n // after X seconds.\n\n return afterTimeout(timeoutMs, () => flushSync(state.stopAnimation));\n }, [state.animated, state.contentElement, transition, state.open, state.stopAnimation]);\n const style = state.mounted || props.hidden === false ? props.style : { ...props.style,\n display: \"none\"\n };\n props = {\n id,\n \"data-enter\": transition === \"enter\" ? \"\" : undefined,\n \"data-leave\": transition === \"leave\" ? \"\" : undefined,\n hidden: !state.mounted,\n ...props,\n ref: useForkRef(id ? state.setContentElement : null, props.ref),\n style\n };\n return props;\n});\n/**\n * A component that renders an element that can be shown or hidden.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\n\nconst DisclosureContent = createComponent(props => {\n const htmlProps = useDisclosureContent(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n DisclosureContent.displayName = \"DisclosureContent\";\n}\n\nexport { DisclosureContent, useDisclosureContent };","import { createHook, createComponent, createElement } from 'ariakit-utils/system';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component. When applying the props returned by this hook to a\n * component, the component will be visually hidden, but still accessible to\n * screen readers.\n * @see https://ariakit.org/components/visually-hidden\n * @example\n * ```jsx\n * const props = useVisuallyHidden();\n * \n * Learn more about the Solar System.\n * \n * ```\n */\n\nconst useVisuallyHidden = createHook(props => {\n props = { ...props,\n style: {\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n ...props.style\n }\n };\n return props;\n});\n/**\n * A component that renders an element that's visually hidden, but still\n * accessible to screen readers.\n * @see https://ariakit.org/components/visually-hidden\n * @example\n * ```jsx\n * \n * Learn more about the Solar System.\n * \n * ```\n */\n\nconst VisuallyHidden = createComponent(props => {\n const htmlProps = useVisuallyHidden(props);\n return createElement(\"span\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n VisuallyHidden.displayName = \"VisuallyHidden\";\n}\n\nexport { VisuallyHidden, useVisuallyHidden };","import { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useVisuallyHidden } from '../visually-hidden/visually-hidden.js';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a focus trap element.\n * @see https://ariakit.org/components/focus-trap\n * @example\n * ```jsx\n * const props = useFocusTrap();\n * \n * ```\n */\n\nconst useFocusTrap = createHook(props => {\n props = {\n \"data-focus-trap\": \"\",\n tabIndex: 0,\n \"aria-hidden\": true,\n ...props,\n style: {\n // Prevents unintended scroll jumps.\n position: \"fixed\",\n top: 0,\n left: 0,\n ...props.style\n }\n };\n props = useVisuallyHidden(props);\n return props;\n});\n/**\n * A component that renders a focus trap element.\n * @see https://ariakit.org/components/focus-trap\n * @example\n * ```jsx\n * \n * ```\n */\n\nconst FocusTrap = createComponent(props => {\n const htmlProps = useFocusTrap(props);\n return createElement(\"span\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FocusTrap.displayName = \"FocusTrap\";\n}\n\nexport { FocusTrap, useFocusTrap };","import { useRef } from 'react';\nimport { getAllTabbableIn } from 'ariakit-utils/focus';\nimport { useWrapElement, useForkRef } from 'ariakit-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { FocusTrap } from './focus-trap.js';\nimport { jsxs, Fragment, jsx } from 'react/jsx-runtime';\nconst useFocusTrapRegion = createHook(_ref => {\n let {\n enabled = false,\n ...props\n } = _ref;\n const ref = useRef(null);\n props = useWrapElement(props, element => {\n const renderFocusTrap = () => {\n if (!enabled) return null;\n return /*#__PURE__*/jsx(FocusTrap, {\n onFocus: event => {\n const container = ref.current;\n if (!container) return;\n const tabbables = getAllTabbableIn(container, true);\n const first = tabbables[0];\n const last = tabbables[tabbables.length - 1]; // Fallbacks to the container element\n\n if (!tabbables.length) {\n container.focus();\n return;\n }\n\n if (event.relatedTarget === first) {\n last == null ? void 0 : last.focus();\n } else {\n first == null ? void 0 : first.focus();\n }\n }\n });\n };\n\n return /*#__PURE__*/jsxs(Fragment, {\n children: [renderFocusTrap(), element, renderFocusTrap()]\n });\n }, [enabled]);\n props = { ...props,\n ref: useForkRef(ref, props.ref)\n };\n return props;\n});\n/**\n * A component that renders a focus trap region element.\n * @see https://ariakit.org/components/focus-trap-region\n * @example\n * ```jsx\n * \n * \n * \n * \n * \n * ```\n */\n\nconst FocusTrapRegion = createComponent(props => {\n const htmlProps = useFocusTrapRegion(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FocusTrapRegion.displayName = \"FocusTrapRegion\";\n}\n\nexport { FocusTrapRegion, useFocusTrapRegion };","import { createContext } from 'react';\nconst HeadingContext = /*#__PURE__*/createContext(0);\nexport { HeadingContext as H };","import { useContext } from 'react';\nimport { H as HeadingContext } from '../__utils-5a52896b.js';\nimport { jsx } from 'react/jsx-runtime';\n\nfunction HeadingLevel(_ref) {\n let {\n level,\n children\n } = _ref;\n const contextLevel = useContext(HeadingContext);\n const nextLevel = Math.max(Math.min(level || contextLevel + 1, 6), 1);\n return /*#__PURE__*/jsx(HeadingContext.Provider, {\n value: nextLevel,\n children: children\n });\n}\n\nexport { HeadingLevel };","import { createContext } from 'react';\n/**\n * Stores the element that will contain the portal. By default, it will be the\n * body of the document.\n * @example\n * ```jsx\n * const container = document.getElementById(\"container\");\n *\n * function App() {\n * return (\n * \n * \n * \n * );\n * }\n * ```\n */\n\nconst PortalContext = /*#__PURE__*/createContext(null);\nexport { PortalContext };","import { useRef, useContext, useState, useEffect } from 'react';\nimport { getDocument } from 'ariakit-utils/dom';\nimport { isFocusEventOutside } from 'ariakit-utils/events';\nimport { getNextTabbable, getPreviousTabbable, restoreFocusIn, disableFocusIn } from 'ariakit-utils/focus';\nimport { useForkRef, useSafeLayoutEffect, useWrapElement } from 'ariakit-utils/hooks';\nimport { setRef, queueMicrotask } from 'ariakit-utils/misc';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { createPortal } from 'react-dom';\nimport { PortalContext } from './portal-context.js';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { FocusTrap } from '../focus-trap/focus-trap.js';\n\nfunction getRootElement(element) {\n return getDocument(element).body;\n}\n\nfunction getPortalElement(element, portalElement) {\n if (!portalElement) {\n return getDocument(element).createElement(\"div\");\n }\n\n if (typeof portalElement === \"function\") {\n return portalElement(element);\n }\n\n return portalElement;\n}\n\nfunction getRandomId(prefix) {\n if (prefix === void 0) {\n prefix = \"id\";\n }\n\n return \"\" + (prefix ? prefix + \"-\" : \"\") + Math.random().toString(36).substr(2, 6);\n}\n\nfunction queueFocus(element) {\n queueMicrotask(() => {\n element == null ? void 0 : element.focus();\n });\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element using `ReactDOM.createPortal`.\n * @see https://ariakit.org/components/portal\n * @example\n * ```jsx\n * const props = usePortal();\n * Content\n * ```\n */\n\n\nconst usePortal = createHook(_ref => {\n let {\n preserveTabOrder,\n portalElement,\n portalRef,\n portal = true,\n ...props\n } = _ref;\n const ref = useRef(null);\n const refProp = useForkRef(ref, props.ref);\n const context = useContext(PortalContext);\n const [portalNode, setPortalNode] = useState(null);\n const beforeOutsideRef = useRef(null);\n const beforeInsideRef = useRef(null);\n const afterInsideRef = useRef(null);\n const afterOutsideRef = useRef(null); // Create the portal node and attach it to the DOM.\n\n useSafeLayoutEffect(() => {\n const element = ref.current;\n\n if (!element || !portal) {\n setPortalNode(null);\n return;\n }\n\n const portalEl = getPortalElement(element, portalElement); // TODO: Warn about portals as the document.body element.\n\n if (!portalEl) {\n setPortalNode(null);\n return;\n }\n\n const isPortalInDocument = portalEl.isConnected;\n\n if (!isPortalInDocument) {\n const rootElement = context || getRootElement(element);\n rootElement.appendChild(portalEl);\n } // If the portal element doesn't have an id already, set one.\n\n\n if (!portalEl.id) {\n // Use the element's id so rendering will\n // produce predictable results.\n portalEl.id = element.id ? element.id + \"-portal\" : getRandomId();\n } // Set the internal portal node state and the portalRef prop.\n\n\n setPortalNode(portalEl);\n setRef(portalRef, portalEl); // If the portal element was already in the document, we don't need to\n // remove it when the element is unmounted, so we just return.\n\n if (isPortalInDocument) return; // Otherwise, we need to remove the portal from the DOM.\n\n return () => {\n portalEl.remove();\n setRef(portalRef, null);\n };\n }, [portal, portalElement, context, portalRef]); // When preserveTabOrder is true, make sure elements inside the portal\n // element are tabbable only when the portal has already been focused,\n // either by tabbing into a focus trap element outside or using the mouse.\n\n useEffect(() => {\n if (!portalNode) return;\n if (!preserveTabOrder) return;\n let raf = 0;\n\n const onFocus = event => {\n if (isFocusEventOutside(event)) {\n const focusing = event.type === \"focusin\";\n if (focusing) return restoreFocusIn(portalNode); // Wait for the next frame to allow tabindex changes after the focus\n // event.\n\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n disableFocusIn(portalNode, true);\n });\n }\n }; // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n\n\n portalNode.addEventListener(\"focusin\", onFocus, true);\n portalNode.addEventListener(\"focusout\", onFocus, true);\n return () => {\n portalNode.removeEventListener(\"focusin\", onFocus, true);\n portalNode.removeEventListener(\"focusout\", onFocus, true);\n };\n }, [portalNode, preserveTabOrder]);\n props = useWrapElement(props, element => {\n element =\n /*#__PURE__*/\n // While the portal node is not in the DOM, we need to pass the\n // current context to the portal context, otherwise it's going to\n // reset to the body element on nested portals.\n jsx(PortalContext.Provider, {\n value: portalNode || context,\n children: element\n });\n if (!portal) return element;\n\n if (!portalNode) {\n // If the element should be rendered within a portal, but the portal\n // node is not yet in the DOM, we'll return an empty div element. We\n // assign the id to the element so we can use it to set the portal id\n // later on. We're using position: fixed here so that the browser\n // doesn't add margin to the element when setting gap on a parent\n // element.\n return /*#__PURE__*/jsx(\"span\", {\n ref: refProp,\n id: props.id,\n style: {\n position: \"fixed\"\n }\n });\n }\n\n element = /*#__PURE__*/jsxs(Fragment, {\n children: [preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: beforeInsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(getNextTabbable());\n } else {\n queueFocus(beforeOutsideRef.current);\n }\n }\n }), element, preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: afterInsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(getPreviousTabbable());\n } else {\n queueFocus(afterOutsideRef.current);\n }\n }\n })]\n });\n\n if (portalNode) {\n element = /*#__PURE__*/createPortal(element, portalNode);\n }\n\n element = /*#__PURE__*/jsxs(Fragment, {\n children: [preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(beforeInsideRef.current);\n } else {\n queueFocus(getPreviousTabbable());\n }\n }\n }), preserveTabOrder &&\n /*#__PURE__*/\n // We're using position: fixed here so that the browser doesn't\n // add margin to the element when setting gap on a parent element.\n jsx(\"span\", {\n \"aria-owns\": portalNode == null ? void 0 : portalNode.id,\n style: {\n position: \"fixed\"\n }\n }), element, preserveTabOrder && portalNode && /*#__PURE__*/jsx(FocusTrap, {\n ref: afterOutsideRef,\n onFocus: event => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(afterInsideRef.current);\n } else {\n queueFocus(getNextTabbable());\n }\n }\n })]\n });\n return element;\n }, [portalNode, context, portal, props.id, preserveTabOrder]);\n props = { ...props,\n ref: refProp\n };\n return props;\n});\n/**\n * A component that renders an element using `ReactDOM.createPortal`.\n * @see https://ariakit.org/components/portal\n * @example\n * ```jsx\n * Content\n * ```\n */\n\nconst Portal = createComponent(props => {\n const htmlProps = usePortal(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n}\n\nexport { Portal, usePortal };","import { createContext } from 'react';\nconst DialogContext = /*#__PURE__*/createContext(undefined);\nconst DialogHeadingContext = /*#__PURE__*/createContext(undefined);\nconst DialogDescriptionContext = /*#__PURE__*/createContext(undefined);\nexport { DialogContext as D, DialogHeadingContext as a, DialogDescriptionContext as b };","import { useRef, useEffect, useMemo, useCallback, useContext, useState, createContext } from 'react';\nimport { getDocument, contains, getActiveElement, getWindow, isButton, closest } from 'ariakit-utils/dom';\nimport { addGlobalEventListener, isSelfTarget, queueBeforeEvent } from 'ariakit-utils/events';\nimport { getFirstTabbableIn, focusIfNeeded, isFocusable } from 'ariakit-utils/focus';\nimport { useSafeLayoutEffect, useBooleanEvent, useEvent, useForkRef, useForceUpdate, useLiveRef, usePortalRef, useId, useWrapElement } from 'ariakit-utils/hooks';\nimport { noop, chain } from 'ariakit-utils/misc';\nimport { isApple, isMac, isSafari } from 'ariakit-utils/platform';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useDisclosureContent } from '../disclosure/disclosure-content.js';\nimport { useFocusTrapRegion } from '../focus-trap/focus-trap-region.js';\nimport { useFocusable } from '../focusable/focusable.js';\nimport { HeadingLevel } from '../heading/heading-level.js';\nimport { usePortal } from '../portal/portal.js';\nimport { jsx } from 'react/jsx-runtime';\nimport { D as DialogContext, a as DialogHeadingContext, b as DialogDescriptionContext } from '../dialog-context-f963dd70.js';\nimport { flushSync } from 'react-dom';\n\nfunction usePreviousMouseDownRef(enabled) {\n const previousMouseDownRef = useRef();\n useEffect(() => {\n if (!enabled) {\n previousMouseDownRef.current = null;\n return;\n }\n\n const onMouseDown = event => {\n previousMouseDownRef.current = event.target;\n };\n\n return addGlobalEventListener(\"mousedown\", onMouseDown, true);\n }, [enabled]);\n return previousMouseDownRef;\n}\n\nfunction DialogBackdrop(_ref) {\n var _state$contentElement;\n\n let {\n state,\n backdrop,\n backdropProps,\n hideOnInteractOutside = true,\n hideOnEscape = true,\n hidden,\n children\n } = _ref;\n const ref = useRef(null);\n state = useMemo(() => ({ ...state,\n // Override the setContentElement method to prevent the backdrop from\n // overwriting the dialog's content element.\n setContentElement: noop\n }), [state]);\n useSafeLayoutEffect(() => {\n const backdrop = ref.current;\n const dialog = state.contentElement;\n if (!backdrop) return;\n if (!dialog) return;\n backdrop.style.zIndex = getComputedStyle(dialog).zIndex;\n }, [state.contentElement]);\n const onClickProp = backdropProps == null ? void 0 : backdropProps.onClick;\n const hideOnInteractOutsideProp = useBooleanEvent(hideOnInteractOutside);\n const previousMouseDownRef = usePreviousMouseDownRef(state.mounted);\n const onClick = useEvent(event => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented) return;\n if (!isSelfTarget(event)) return;\n if (previousMouseDownRef.current !== event.currentTarget) return;\n if (!hideOnInteractOutsideProp(event)) return;\n event.stopPropagation();\n state.hide();\n });\n const onKeyDownProp = backdropProps == null ? void 0 : backdropProps.onKeyDown;\n const hideOnEscapeProp = useBooleanEvent(hideOnEscape); // When hideOnInteractOutside is false and the backdrop is clicked, the\n // backdrop will receive focus (because we set the tabIndex on it). Therefore,\n // the Escape key will not be captured by the Dialog component. So we listen\n // to it here.\n\n const onKeyDown = useEvent(event => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n if (event.defaultPrevented) return;\n if (event.key !== \"Escape\") return;\n if (!isSelfTarget(event)) return;\n if (!hideOnEscapeProp(event)) return;\n state.hide();\n });\n const props = useDisclosureContent({\n state,\n id: undefined,\n role: \"presentation\",\n tabIndex: -1,\n hidden,\n ...backdropProps,\n ref: useForkRef(backdropProps == null ? void 0 : backdropProps.ref, ref),\n onClick,\n onKeyDown,\n style: {\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...(backdropProps == null ? void 0 : backdropProps.style)\n }\n });\n const Component = typeof backdrop !== \"boolean\" ? backdrop || \"div\" : \"div\";\n return /*#__PURE__*/jsx(Component, { ...props,\n \"data-backdrop\": (_state$contentElement = state.contentElement) == null ? void 0 : _state$contentElement.id,\n children: children\n });\n} // We don't need to walk through certain tags.\n\n\nconst ignoreTags = [\"SCRIPT\", \"STYLE\"];\n\nfunction isValidElement(element, ignoredElements) {\n if (ignoreTags.includes(element.tagName)) return false;\n return !ignoredElements.some(enabledElement => enabledElement && contains(element, enabledElement));\n}\n\nfunction walkTreeOutside(elements, callback) {\n for (let element of elements) {\n const document = getDocument(element); // Loops through the parent elements and then through each of their\n // children.\n\n while ((_element = element) != null && _element.parentElement && element !== document.body) {\n var _element;\n\n for (const child of element.parentElement.children) {\n if (isValidElement(child, elements)) {\n callback(child);\n }\n }\n\n element = element.parentElement;\n }\n }\n}\n\nfunction disableElement$1(element) {\n const previousAriaHidden = element.getAttribute(\"aria-hidden\") || \"\";\n element.setAttribute(\"aria-hidden\", \"true\");\n\n const enableElement = () => {\n if (previousAriaHidden) {\n element.setAttribute(\"aria-hidden\", previousAriaHidden);\n } else {\n element.removeAttribute(\"aria-hidden\");\n }\n };\n\n return enableElement;\n}\n\nfunction disableAccessibilityTreeOutside() {\n const cleanups = [];\n\n for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {\n elements[_key] = arguments[_key];\n }\n\n walkTreeOutside(elements, element => {\n cleanups.unshift(disableElement$1(element));\n });\n\n const restoreAccessibilityTree = () => {\n cleanups.forEach(fn => fn());\n };\n\n return restoreAccessibilityTree;\n}\n\nfunction disableElement(element) {\n if (!(\"style\" in element)) return noop;\n const previousPointerEvents = element.style.pointerEvents;\n element.style.pointerEvents = \"none\";\n\n const enableElement = () => {\n element.style.pointerEvents = previousPointerEvents != null ? previousPointerEvents : \"\";\n };\n\n return enableElement;\n}\n\nfunction disablePointerEventsOutside() {\n const cleanups = [];\n\n for (var _len = arguments.length, elements = new Array(_len), _key = 0; _key < _len; _key++) {\n elements[_key] = arguments[_key];\n }\n\n walkTreeOutside(elements, element => {\n cleanups.unshift(disableElement(element));\n });\n\n const restorePointerEvents = () => {\n cleanups.forEach(fn => fn());\n };\n\n return restorePointerEvents;\n}\n\nfunction prependHiddenDismiss(container, onClick) {\n const document = getDocument(container);\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.tabIndex = -1;\n button.textContent = \"Dismiss popup\"; // Visually hidden styles\n\n button.style.border = \"0px\";\n button.style.clip = \"rect(0 0 0 0)\";\n button.style.height = \"1px\";\n button.style.margin = \"-1px\";\n button.style.overflow = \"hidden\";\n button.style.padding = \"0px\";\n button.style.position = \"absolute\";\n button.style.whiteSpace = \"nowrap\";\n button.style.width = \"1px\";\n button.addEventListener(\"click\", onClick);\n container.prepend(button);\n\n const removeHiddenDismiss = () => {\n button.removeEventListener(\"click\", onClick);\n button.remove();\n };\n\n return removeHiddenDismiss;\n}\n/**\n * Controls which dialog is the champion that will control global behavior such\n * as body scrolling and accessibility tree outside.\n */\n\n\nfunction useChampionDialog(dialogRef, attribute, enabled) {\n const [updated, retry] = useForceUpdate();\n const isChampionDialog = useCallback(() => {\n if (!enabled) return false;\n const dialog = dialogRef.current;\n if (!dialog) return false;\n const {\n body\n } = getDocument(dialog);\n const id = body.getAttribute(attribute);\n return !id || id === dialog.id;\n }, [updated, enabled, attribute]);\n useSafeLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!enabled) return;\n const {\n body\n } = getDocument(dialog);\n\n if (!isChampionDialog()) {\n const observer = new MutationObserver(() => flushSync(retry));\n observer.observe(body, {\n attributeFilter: [attribute]\n });\n return () => observer.disconnect();\n }\n\n body.setAttribute(attribute, dialog.id);\n return () => {\n body.removeAttribute(attribute);\n };\n }, [updated, dialogRef, enabled, isChampionDialog, attribute]);\n return isChampionDialog;\n}\n/**\n * When the focused child gets removed from the DOM, we make sure to move focus\n * to the dialog.\n */\n\n\nfunction useFocusOnChildUnmount(dialogRef, state) {\n useEffect(() => {\n if (!state.open) return;\n const dialog = dialogRef.current;\n if (!dialog) return;\n const observer = new MutationObserver(_ref => {\n let [mutation] = _ref;\n if (!mutation) return; // If target is not dialog, then this observer was triggered by a nested\n // dialog, so we just ignore it here and let the nested dialog handle it.\n\n if (mutation.target !== dialog) return;\n const document = getDocument(dialog);\n const activeElement = getActiveElement(dialog); // We can check if the current focused element is the document body.\n\n if (activeElement === document.body) {\n dialog.focus();\n }\n });\n observer.observe(dialog, {\n childList: true,\n subtree: true\n });\n return () => observer.disconnect();\n }, [state.open, dialogRef]);\n}\n\nfunction isInDocument(target) {\n if (target.tagName === \"HTML\") return true;\n return contains(getDocument(target).body, target);\n}\n\nfunction isDisclosure(disclosure, target) {\n if (contains(disclosure, target)) return true;\n const activeId = target.getAttribute(\"aria-activedescendant\");\n\n if (activeId) {\n const activeElement = getDocument(disclosure).getElementById(activeId);\n\n if (activeElement) {\n return contains(disclosure, activeElement);\n }\n }\n\n return false;\n}\n\nfunction isBackdrop$1(dialog, target) {\n if (!dialog) return false;\n if (!target) return false;\n return target.hasAttribute(\"data-backdrop\") && target.getAttribute(\"data-backdrop\") === dialog.id;\n}\n\nfunction dialogContains(target) {\n return dialogRef => {\n const dialog = dialogRef.current;\n if (!dialog) return false;\n if (contains(dialog, target)) return true;\n if (isBackdrop$1(dialog, target)) return true;\n return false;\n };\n}\n\nfunction useEventOutside(_ref) {\n let {\n type,\n listener,\n dialogRef,\n nestedDialogs,\n disclosureRef,\n enabled,\n capture\n } = _ref;\n const callListener = useEvent(listener);\n const nestedDialogsRef = useLiveRef(nestedDialogs);\n useEffect(() => {\n if (!enabled) return;\n\n const onEvent = event => {\n const container = dialogRef.current;\n const disclosure = disclosureRef == null ? void 0 : disclosureRef.current;\n const target = event.target;\n if (!container) return;\n if (!target) return; // When an element is unmounted right after it receives focus, the focus\n // event is triggered after that, when the element isn't part of the\n // current document anymore. We just ignore it.\n\n if (!isInDocument(target)) return; // Event inside dialog\n\n if (contains(container, target)) return; // Event on disclosure\n\n if (disclosure && isDisclosure(disclosure, target)) return; // Event on focus trap\n\n if (target.hasAttribute(\"data-focus-trap\")) return; // Event inside a nested dialog\n\n if (nestedDialogsRef.current.some(dialogContains(target))) return;\n callListener(event);\n };\n\n return addGlobalEventListener(type, onEvent, capture);\n }, [enabled, dialogRef, disclosureRef, callListener, capture]);\n}\n\nfunction shouldHideOnInteractOutside(hideOnInteractOutside, event) {\n if (typeof hideOnInteractOutside === \"function\") {\n return hideOnInteractOutside(event);\n }\n\n return !!hideOnInteractOutside;\n}\n\nfunction useHideOnInteractOutside(dialogRef, nestedDialogs, _ref2) {\n let {\n state,\n modal,\n hideOnInteractOutside,\n enabled = state.open\n } = _ref2;\n const previousMouseDownRef = usePreviousMouseDownRef(enabled);\n const props = {\n disclosureRef: state.disclosureRef,\n enabled,\n dialogRef,\n nestedDialogs,\n capture: true\n };\n useEventOutside({ ...props,\n type: \"mousedown\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (modal && !shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n // If the dialog is modal and the user clicked outside the dialog, but\n // shouldHideOnInteractOutside is false, we don't hide the dialog, but\n // ensure focus is placed on it. Otherwise the focus might end up on an\n // element outside of the dialog or the body element itself.\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n });\n useEventOutside({ ...props,\n type: \"click\",\n listener: event => {\n const previousMouseDown = previousMouseDownRef.current; // If there's no previously mousedown'd element, this probably means that\n // the dialog opened with a mousedown event, and a subsequent click event\n // was dispatched outside of the dialog. See form-select example. We just\n // ignore this.\n\n if (!previousMouseDown) return;\n\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return;\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n const dialog = dialogRef.current;\n const draggingFromDialog = dialog && contains(dialog, previousMouseDown); // This prevents the dialog from closing by dragging the cursor (for\n // example, selecting some text inside the dialog and releasing the mouse\n // outside of it). See https://github.com/ariakit/ariakit/issues/1336\n\n if (draggingFromDialog) return;\n state.hide();\n }\n });\n useEventOutside({ ...props,\n type: \"focusin\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return; // Same as the mousedown listener.\n\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n return;\n } // Fix for https://github.com/ariakit/ariakit/issues/619\n\n\n if (event.target === getDocument(dialog)) return;\n state.hide();\n }\n });\n useEventOutside({ ...props,\n type: \"contextmenu\",\n listener: event => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event)) {\n if (!modal) return; // Same as the mousedown listener.\n\n dialog.focus();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n state.hide();\n }\n });\n}\n\nconst NestedDialogsContext = /*#__PURE__*/createContext({});\n/**\n * Handles nested dialogs.\n */\n\nfunction useNestedDialogs(dialogRef, _ref) {\n let {\n state,\n modal\n } = _ref;\n const context = useContext(NestedDialogsContext);\n const [openModals, setOpenModals] = useState([]);\n const [nestedDialogs, setNestedDialogs] = useState([]);\n const addDialog = useCallback(ref => {\n const removeFromContext = context.addDialog == null ? void 0 : context.addDialog(ref);\n setNestedDialogs(dialogs => [...dialogs, ref]);\n return () => {\n removeFromContext == null ? void 0 : removeFromContext();\n setNestedDialogs(dialogs => dialogs.filter(dialog => dialog !== ref));\n };\n }, [context.addDialog]);\n const showModal = useCallback(ref => {\n const hideModal = context.showModal == null ? void 0 : context.showModal(ref);\n setOpenModals(modals => [...modals, ref]);\n return () => {\n hideModal == null ? void 0 : hideModal();\n setOpenModals(modals => modals.filter(modal => modal !== ref));\n };\n }, [context.showModal]); // If this is a nested dialog, add it to the context.\n\n useSafeLayoutEffect(() => {\n return context.addDialog == null ? void 0 : context.addDialog(dialogRef);\n }, [context.addDialog, dialogRef]);\n useSafeLayoutEffect(() => {\n if (!modal) return;\n if (!state.open) return;\n return context.showModal == null ? void 0 : context.showModal(dialogRef);\n }, [modal, state.open, context.showModal, dialogRef]); // Close all nested dialogs when parent dialog closes.\n\n useSafeLayoutEffect(() => {\n if (context.open === false && state.open) {\n state.hide();\n }\n }, [context.open, state.open, state.hide]); // Provider\n\n const providerValue = useMemo(() => ({\n open: state.open,\n addDialog,\n showModal\n }), [state.open, addDialog, showModal]);\n const wrapElement = useCallback(element => /*#__PURE__*/jsx(NestedDialogsContext.Provider, {\n value: providerValue,\n children: element\n }), [providerValue]);\n return {\n nestedDialogs,\n openModals,\n wrapElement\n };\n} // Based on https://github.com/floating-ui/floating-ui/blob/1201e72e67a80e479122293d46d96c9bbc8f156d/packages/react-dom-interactions/src/FloatingOverlay.tsx\n\n\nfunction assignStyle(element, style) {\n if (!element) return () => {};\n const previousStyle = element.style.cssText;\n Object.assign(element.style, style);\n return () => {\n element.style.cssText = previousStyle;\n };\n}\n\nfunction setCSSProperty(element, property, value) {\n if (!element) return () => {};\n const previousValue = element.style.getPropertyValue(property);\n element.style.setProperty(property, value);\n return () => {\n if (previousValue) {\n element.style.setProperty(property, previousValue);\n } else {\n element.style.removeProperty(property);\n }\n };\n}\n\nfunction getPaddingProperty(documentElement) {\n // RTL scrollbar\n const documentLeft = documentElement.getBoundingClientRect().left;\n const scrollbarX = Math.round(documentLeft) + documentElement.scrollLeft;\n return scrollbarX ? \"paddingLeft\" : \"paddingRight\";\n}\n\nfunction usePreventBodyScroll(dialogRef, enabled) {\n const isChampionDialog = useChampionDialog(dialogRef, \"data-dialog-body-scroll\", enabled);\n useSafeLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (!dialog) return;\n if (!isChampionDialog()) return;\n const doc = getDocument(dialog);\n const win = getWindow(dialog);\n const {\n documentElement,\n body\n } = doc;\n const scrollbarWidth = win.innerWidth - documentElement.clientWidth;\n\n const setScrollbarWidthProperty = () => setCSSProperty(documentElement, \"--scrollbar-width\", scrollbarWidth + \"px\");\n\n const paddingProperty = getPaddingProperty(documentElement);\n\n const setStyle = () => assignStyle(body, {\n overflow: \"hidden\",\n [paddingProperty]: scrollbarWidth + \"px\"\n }); // Only iOS doesn't respect `overflow: hidden` on document.body\n\n\n const setIOSStyle = () => {\n var _visualViewport$offse, _visualViewport$offse2;\n\n const {\n scrollX,\n scrollY,\n visualViewport\n } = win; // iOS 12 does not support `visuaViewport`.\n\n const offsetLeft = (_visualViewport$offse = visualViewport == null ? void 0 : visualViewport.offsetLeft) != null ? _visualViewport$offse : 0;\n const offsetTop = (_visualViewport$offse2 = visualViewport == null ? void 0 : visualViewport.offsetTop) != null ? _visualViewport$offse2 : 0;\n const restoreStyle = assignStyle(body, {\n position: \"fixed\",\n overflow: \"hidden\",\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: \"0\",\n [paddingProperty]: scrollbarWidth + \"px\"\n });\n return () => {\n restoreStyle(); // istanbul ignore next: JSDOM doesn't implement window.scrollTo\n\n if (process.env.NODE_ENV !== \"test\") {\n win.scrollTo(scrollX, scrollY);\n }\n };\n };\n\n const isIOS = isApple() && !isMac();\n return chain(setScrollbarWidthProperty(), isIOS ? setIOSStyle() : setStyle());\n }, [dialogRef, isChampionDialog]);\n}\n\nconst isSafariBrowser = isSafari();\n\nfunction isBackdrop(dialog, element) {\n const id = dialog.id;\n if (!id) return;\n return element.getAttribute(\"data-backdrop\") === id;\n}\n\nfunction isInDialog(element) {\n return dialogRef => dialogRef.current && contains(dialogRef.current, element);\n}\n\nfunction isAlreadyFocusingAnotherElement(dialog, nestedDialogs) {\n const activeElement = getActiveElement();\n if (!activeElement) return false;\n if (contains(dialog, activeElement)) return false;\n if (isBackdrop(dialog, activeElement)) return false;\n if (nestedDialogs != null && nestedDialogs.some(isInDialog(activeElement))) return false;\n if (isFocusable(activeElement)) return true;\n return false;\n}\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a dialog element.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const state = useDialogState();\n * const props = useDialog({ state });\n * Dialog\n * ```\n */\n\n\nconst useDialog = createHook(_ref => {\n let {\n state,\n focusable = true,\n modal = true,\n portal = !!modal,\n backdrop = !!modal,\n backdropProps,\n hideOnEscape = true,\n hideOnInteractOutside = true,\n preventBodyScroll = !!modal,\n autoFocusOnShow = true,\n autoFocusOnHide = true,\n initialFocusRef,\n finalFocusRef,\n ...props\n } = _ref;\n const ref = useRef(null);\n const openRef = useRef(state.open); // domReady can be also the portal node element so it's updated when the\n // portal node changes (like in between re-renders), triggering effects\n // again.\n\n const {\n portalRef,\n portalNode,\n domReady\n } = usePortalRef(portal, props.portalRef); // Sets preserveTabOrder to true only if the dialog is not a modal and is\n // open.\n\n const preserveTabOrder = props.preserveTabOrder && !modal && state.mounted;\n const openStable = state.open && !state.animating; // Usually, we only want to disable the accessibility tree outside if the\n // dialog is a modal. But the Portal component can't preserve the tab order\n // on Safari/VoiceOver. By allowing only the dialog/portal to be accessible,\n // we provide a similar tab order flow. We don't need to disable pointer\n // events because it's just for screen readers.\n\n const shouldDisableAccessibilityTree = modal || portal && preserveTabOrder && isSafari();\n const id = useId(props.id); // Sets disclosure ref. It needs to be a layout effect so we get the focused\n // element right before the dialog is mounted.\n\n useSafeLayoutEffect(() => {\n if (!openStable) return;\n const dialog = ref.current;\n const activeElement = getActiveElement(dialog, true);\n if (!activeElement) return;\n if (activeElement.tagName === \"BODY\") return; // The disclosure element can't be inside the dialog.\n\n if (dialog && contains(dialog, activeElement)) return;\n state.disclosureRef.current = activeElement;\n }, [openStable]);\n const nested = useNestedDialogs(ref, {\n state,\n modal\n });\n const {\n nestedDialogs,\n openModals,\n wrapElement\n } = nested;\n const nestedDialogsRef = useLiveRef(nestedDialogs);\n usePreventBodyScroll(ref, preventBodyScroll && state.mounted); // When a focused child element is removed, focus will be placed on the\n // document's body. This will focus on the dialog instead.\n\n useFocusOnChildUnmount(ref, state);\n useHideOnInteractOutside(ref, nestedDialogs, {\n state,\n modal,\n hideOnInteractOutside,\n enabled: state.open\n }); // Safari does not focus on native buttons on mousedown. The\n // DialogDisclosure component normalizes this behavior using the\n // useFocusable hook, but the disclosure button may use a custom component,\n // and not DialogDisclosure. In this case, we need to make sure the\n // disclosure button gets focused here.\n\n if (isSafariBrowser) {\n useEffect(() => {\n if (!state.mounted) return;\n const disclosure = state.disclosureRef.current;\n if (!disclosure) return;\n if (!isButton(disclosure)) return;\n\n const onMouseDown = () => {\n let receivedFocus = false;\n\n const onFocus = () => {\n receivedFocus = true;\n };\n\n const options = {\n capture: true,\n once: true\n };\n disclosure.addEventListener(\"focusin\", onFocus, options);\n queueBeforeEvent(disclosure, \"mouseup\", () => {\n disclosure.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus) return;\n focusIfNeeded(disclosure);\n });\n };\n\n disclosure.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n disclosure.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [state.mounted, state.disclosureRef]);\n } // Renders a hidden dismiss button at the top of the modal dialog element.\n // So that screen reader users aren't trapped in the dialog when there's no\n // visible dismiss button.\n\n\n useEffect(() => {\n if (!state.mounted) return;\n if (!domReady) return;\n const dialog = ref.current;\n if (!dialog) return; // Usually, we only want to force the presence of a dismiss button if the\n // dialog is a modal. But, on Safari, since we're disabling the\n // accessibility tree outside, we need to ensure the user will be able to\n // close the dialog.\n\n if (shouldDisableAccessibilityTree) {\n // If there's already a DialogDismiss component, it does nothing.\n const existingDismiss = dialog.querySelector(\"[data-dialog-dismiss]\");\n if (existingDismiss) return;\n return prependHiddenDismiss(dialog, state.hide);\n }\n\n return;\n }, [state.mounted, domReady, shouldDisableAccessibilityTree, state.hide]);\n const shouldDisableOutside = useChampionDialog(ref, \"data-dialog-disable-outside\", openStable && !openModals.length && shouldDisableAccessibilityTree); // Disables/enables the element tree around the modal dialog element.\n\n useSafeLayoutEffect(() => {\n // When the dialog is animating, we immediately restore the element tree\n // outside. This means the element tree will be enabled when the focus is\n // moved back to the disclosure element.\n if (!shouldDisableOutside()) return; // If portal is enabled, we get the portalNode instead of the dialog\n // element. This will consider nested dialogs as they will be children of\n // the portal node, but not the dialog. This also accounts for the tiny\n // delay before the dialog element is appended to the portal node, and the\n // portal node is added to the DOM.\n\n const element = portal ? portalNode : ref.current;\n\n if (modal) {\n return chain(disableAccessibilityTreeOutside(element), // When the backdrop is not visible, we also need to disable pointer\n // events outside of the modal dialog.\n !backdrop ? disablePointerEventsOutside(element) : null);\n }\n\n return disableAccessibilityTreeOutside(element);\n }, [shouldDisableOutside, portal, portalNode, modal, backdrop]);\n const prevInitialFocusRef = useRef();\n const mayAutoFocusOnShow = !!autoFocusOnShow;\n const autoFocusOnShowProp = useBooleanEvent(autoFocusOnShow); // Auto focus on show.\n\n useEffect(() => {\n var _nestedDialogsRef$cur;\n\n if (!openStable) return;\n if (!mayAutoFocusOnShow) return; // Makes sure to wait for the portalNode to be created before moving\n // focus. This is useful for when the Dialog component is unmounted\n // when hidden.\n\n if (!domReady) return; // If there are open nested dialogs, let them handle the focus.\n\n const hasNestedOpenDialog = (_nestedDialogsRef$cur = nestedDialogsRef.current) == null ? void 0 : _nestedDialogsRef$cur.some(child => child.current && !child.current.hidden);\n if (hasNestedOpenDialog) return; // The dialog element may change for different reasons. For example, when\n // the `modal`, `portal` or `backdrop` props change, the HTML structure\n // will also change, which will affect the dialog element reference.\n // That's why we're listening to `state.contentElement` here instead of\n // getting the `ref.current` value. This ensures this effect will re-run\n // when the dialog element reference changes.\n\n const dialog = state.contentElement;\n if (!(dialog != null && dialog.isConnected)) return;\n const initialFocus = initialFocusRef == null ? void 0 : initialFocusRef.current;\n const element = initialFocus || // We have to fallback to the first focusable element otherwise portaled\n // dialogs with preserveTabOrder set to true will not receive focus\n // properly because the elements aren't tabbable until the dialog\n // receives focus.\n getFirstTabbableIn(dialog, true, portal && preserveTabOrder) || dialog;\n const prevInitialFocus = prevInitialFocusRef.current;\n prevInitialFocusRef.current = initialFocus; // If the initial focus is the same as the previous initial focus and\n // there's already an element with focus inside the dialog, we don't\n // change focus here.\n\n if (initialFocus === prevInitialFocus) {\n const activeElement = getActiveElement(dialog, true);\n if (activeElement && contains(dialog, activeElement)) return;\n }\n\n if (!autoFocusOnShowProp(element)) return;\n element.focus();\n }, [openStable, mayAutoFocusOnShow, domReady, state.contentElement, initialFocusRef, portal, preserveTabOrder, autoFocusOnShowProp]);\n const mayAutoFocusOnHide = !!autoFocusOnHide;\n const autoFocusOnHideProp = useBooleanEvent(autoFocusOnHide); // Auto focus on hide.\n\n useEffect(() => {\n const dialog = ref.current;\n const prevOpen = openRef.current;\n openRef.current = state.open; // We only want to auto focus on hide if the dialog was open before.\n\n if (!prevOpen) return;\n if (!mayAutoFocusOnHide) return;\n if (!dialog) return; // A function so we can use it on the effect setup and cleanup phases.\n\n const focusOnHide = () => {\n const dialogs = nestedDialogsRef.current; // Hide was triggered by a click/focus on a tabbable element outside\n // the dialog or on another dialog. We won't change focus then.\n\n if (isAlreadyFocusingAnotherElement(dialog, dialogs)) return;\n let element = (finalFocusRef == null ? void 0 : finalFocusRef.current) || state.disclosureRef.current;\n\n if (element) {\n if (element.id) {\n const doc = getDocument(element);\n const selector = \"[aria-activedescendant=\\\"\" + element.id + \"\\\"]\";\n const composite = doc.querySelector(selector); // If the element is an item in a composite widget that handles\n // focus with the `aria-activedescendant` attribute, we want to\n // focus on the composite element itself.\n\n if (composite) {\n element = composite;\n }\n } // If the element is not focusable by the time the dialog is hidden,\n // it's probably because it's an element inside another popover or\n // menu that also got hidden when this dialog was shown. We'll try to\n // focus on their disclosure element instead.\n\n\n if (!isFocusable(element)) {\n const parentDialog = closest(element, \"[data-dialog]\");\n\n if (parentDialog && parentDialog.id) {\n const doc = getDocument(parentDialog);\n const selector = \"[aria-controls~=\\\"\" + parentDialog.id + \"\\\"]\";\n const control = doc.querySelector(selector);\n\n if (control) {\n element = control;\n }\n }\n }\n\n if (!autoFocusOnHideProp(element)) return;\n element.focus();\n }\n };\n\n if (!state.open) {\n // If this effect is running while state.open is false, this means\n // that the Dialog component doesn't get unmounted when it's not\n // open, so we can immediatelly move focus.\n return focusOnHide();\n } // Otherwise, we just return the focusOnHide function so it's going to\n // be executed when the Dialog component gets unmounted. This is useful\n // so we can support both mounting and unmounting Dialog components.\n\n\n return focusOnHide;\n }, [mayAutoFocusOnHide, state.open, finalFocusRef, state.disclosureRef, autoFocusOnHideProp]);\n const hideOnEscapeProp = useBooleanEvent(hideOnEscape); // Hide on Escape.\n\n useEffect(() => {\n if (!domReady) return;\n if (!state.mounted) return;\n\n const onKeyDown = event => {\n const dialog = ref.current;\n if (!dialog) return;\n const target = event.target;\n const disclosure = state.disclosureRef.current;\n if (event.key !== \"Escape\") return;\n if (event.defaultPrevented) return;\n if (!target) return; // This considers valid targets only the disclosure element or\n // descendants of the dialog element that are not descendants of nested\n // dialogs.\n\n const isValidTarget = () => {\n if (contains(dialog, target)) {\n const dialogs = nestedDialogsRef.current; // Since this is a native DOM event, it won't be triggered by\n // keystrokes on nested dialogs inside portals. But we still need to\n // check if the target is inside a nested non-portal dialog.\n\n const inNestedDialog = dialogs.some(isInDialog(target));\n if (inNestedDialog) return false;\n return true;\n }\n\n if (disclosure && contains(disclosure, target)) return true;\n return false;\n };\n\n if (isValidTarget() && hideOnEscapeProp(event)) {\n state.hide();\n }\n }; // We're attatching the listener to the document instead of the dialog\n // element so we can also listen to keystrokes on the disclosure element.\n // We can't do this on a onKeyDown prop on the disclosure element because\n // we don't have access to the hideOnEscape prop there.\n\n\n return addGlobalEventListener(\"keydown\", onKeyDown);\n }, [domReady, state.mounted, state.disclosureRef, hideOnEscapeProp, state.hide]); // Wraps the element with the nested dialog context.\n\n props = useWrapElement(props, wrapElement, [wrapElement]); // Resets the heading levels inside the modal dialog so they start with h1.\n\n props = useWrapElement(props, element => /*#__PURE__*/jsx(HeadingLevel, {\n level: modal ? 1 : undefined,\n children: element\n }), [modal]); // Focus traps.\n\n props = useFocusTrapRegion({ ...props,\n enabled: state.open && modal && !openModals.length\n });\n const hiddenProp = props.hidden; // Wraps the dialog with a backdrop element if the backdrop prop is truthy.\n\n props = useWrapElement(props, element => {\n if (backdrop) {\n return /*#__PURE__*/jsx(DialogBackdrop, {\n state: state,\n backdrop: backdrop,\n backdropProps: backdropProps,\n hideOnInteractOutside: hideOnInteractOutside,\n hideOnEscape: hideOnEscape,\n hidden: hiddenProp,\n children: element\n });\n }\n\n return element;\n }, [state, backdrop, backdropProps, hideOnInteractOutside, hideOnEscape, hiddenProp]);\n const [headingId, setHeadingId] = useState();\n const [descriptionId, setDescriptionId] = useState();\n props = useWrapElement(props, element => /*#__PURE__*/jsx(DialogContext.Provider, {\n value: state,\n children: /*#__PURE__*/jsx(DialogHeadingContext.Provider, {\n value: setHeadingId,\n children: /*#__PURE__*/jsx(DialogDescriptionContext.Provider, {\n value: setDescriptionId,\n children: element\n })\n })\n }), [state]);\n props = {\n id,\n \"data-dialog\": \"\",\n role: \"dialog\",\n tabIndex: focusable ? -1 : undefined,\n \"aria-labelledby\": headingId,\n \"aria-describedby\": descriptionId,\n ...props,\n ref: useForkRef(ref, props.ref)\n };\n props = useDisclosureContent({\n state,\n ...props\n });\n props = useFocusable({ ...props,\n focusable\n });\n props = usePortal({\n portal,\n ...props,\n portalRef,\n preserveTabOrder\n });\n return props;\n});\n/**\n * A component that renders a dialog element.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * \n * Dialog\n * ```\n */\n\nconst Dialog = createComponent(props => {\n const htmlProps = useDialog(props);\n return createElement(\"div\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Dialog.displayName = \"Dialog\";\n}\n\nexport { Dialog, useDialog };","import { useRef, useState } from 'react';\nimport { useSafeLayoutEffect, useEvent, useBooleanEvent, useForkRef } from 'ariakit-utils/hooks';\nimport { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useButton } from '../button/button.js';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render an element that controls the visibility of a\n * disclosure content element.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const state = useDisclosureState();\n * const props = useDisclosure({ state });\n * Disclosure\n * Content\n * ```\n */\n\nconst useDisclosure = createHook(_ref => {\n var _state$contentElement;\n\n let {\n state,\n toggleOnClick = true,\n ...props\n } = _ref;\n const ref = useRef(null);\n const [expanded, setExpanded] = useState(false); // Assigns the disclosureRef whenever it's undefined or disconnected from\n // the DOM. If this disclosure element is the disclosureRef, this element\n // will get the `aria-expanded` attribute set to `true` when the disclosure\n // content is open.\n\n useSafeLayoutEffect(() => {\n const currentDisclosure = state.disclosureRef.current;\n\n if (!currentDisclosure || !currentDisclosure.isConnected) {\n state.disclosureRef.current = ref.current;\n }\n\n const isCurrentDisclosure = state.disclosureRef.current === ref.current;\n setExpanded(state.open && isCurrentDisclosure);\n }, [state.disclosureRef, state.open]);\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent(event => {\n state.disclosureRef.current = event.currentTarget;\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n });\n const onClickProp = props.onClick;\n const toggleOnClickProp = useBooleanEvent(toggleOnClick);\n const isDuplicate = (\"data-disclosure\" in props);\n const onClick = useEvent(event => {\n state.disclosureRef.current = event.currentTarget;\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented) return;\n if (isDuplicate) return;\n if (!toggleOnClickProp(event)) return;\n state.toggle();\n });\n props = {\n \"data-disclosure\": \"\",\n \"aria-expanded\": expanded,\n \"aria-controls\": (_state$contentElement = state.contentElement) == null ? void 0 : _state$contentElement.id,\n ...props,\n ref: useForkRef(ref, props.ref),\n onMouseDown,\n onClick\n };\n props = useButton(props);\n return props;\n});\n/**\n * A component that renders an element that controls the visibility of a\n * disclosure content element.\n * @see https://ariakit.org/components/disclosure\n * @example\n * ```jsx\n * const disclosure = useDisclosureState();\n * Disclosure\n * Content\n * ```\n */\n\nconst Disclosure = createComponent(props => {\n const htmlProps = useDisclosure(props);\n return createElement(\"button\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Disclosure.displayName = \"Disclosure\";\n}\n\nexport { Disclosure, useDisclosure };","import { createHook, createComponent, createElement } from 'ariakit-utils/system';\nimport { useDisclosure } from '../disclosure/disclosure.js';\n/**\n * A component hook that returns props that can be passed to `Role` or any other\n * Ariakit component to render a button that shows/hides a dialog.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const state = useDialogState();\n * const props = useDialogDisclosure({ state });\n * Disclosure\n * Content\n * ```\n */\n\nconst useDialogDisclosure = createHook(_ref => {\n let {\n state,\n ...props\n } = _ref;\n props = useDisclosure({\n state,\n ...props\n });\n return props;\n});\n/**\n * A component that renders a button that shows/hides a dialog.\n * @see https://ariakit.org/components/dialog\n * @example\n * ```jsx\n * const dialog = useDialogState();\n * Disclosure\n * Content\n * ```\n */\n\nconst DialogDisclosure = createComponent(props => {\n const htmlProps = useDialogDisclosure(props);\n return createElement(\"button\", htmlProps);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n DialogDisclosure.displayName = \"DialogDisclosure\";\n}\n\nexport { DialogDisclosure, useDialogDisclosure };","import React from 'react'\r\nimport { useStaticQuery, graphql, Link, withPrefix } from 'gatsby'\r\nimport styled from '@xstyled/styled-components'\r\n// eslint-disable-next-line import/no-unresolved\r\nimport { useLocation } from '@reach/router'\r\n\r\nconst SideNavQuery = graphql`\r\n query SideNavQuery {\r\n allMdx(filter: { fields: { pageType: { eq: \"doc\" }, title: { ne: \"\" } } }) {\r\n edges {\r\n node {\r\n id\r\n fields {\r\n title\r\n pageType\r\n section\r\n order\r\n slug\r\n }\r\n }\r\n }\r\n }\r\n\r\n site {\r\n siteMetadata {\r\n sections\r\n }\r\n }\r\n }\r\n`\r\n\r\nconst createOrFindGroup = (name, groups) => {\r\n const existingGroup = groups.find((group) => group.name === name)\r\n if (existingGroup) return existingGroup\r\n\r\n const group = { name, nodes: [] }\r\n groups.push(group)\r\n return group\r\n}\r\n\r\nconst DEFAULT_ORDER_VALUE = -9999\r\n\r\nconst sortNodes = (a, b) => {\r\n const diff =\r\n a.fields.order !== DEFAULT_ORDER_VALUE &&\r\n b.fields.order !== DEFAULT_ORDER_VALUE\r\n ? a.fields.order - b.fields.order\r\n : a.fields.order !== DEFAULT_ORDER_VALUE\r\n ? -1\r\n : b.fields.order !== DEFAULT_ORDER_VALUE\r\n ? 1\r\n : a.fields.title.localeCompare(b.fields.title)\r\n return diff === 0 ? 0 : diff > 0 ? 1 : -1\r\n}\r\n\r\nconst groupNodes = (nodes) =>\r\n nodes.reduce((groups, node) => {\r\n if (!node.fields.title) return groups\r\n const group = createOrFindGroup(node.fields.section || '', groups)\r\n group.nodes.push(node)\r\n group.nodes.sort(sortNodes)\r\n return groups\r\n }, [])\r\n\r\nconst Nav = styled.nav`\r\n padding: 4 3 5;\r\n`\r\n\r\nconst NavGroup = styled.div`\r\n margin-bottom: 4;\r\n`\r\n\r\nconst NavGroupTitle = styled.h4`\r\n font-size: 14;\r\n font-weight: 500;\r\n color: on-background-light;\r\n text-transform: uppercase;\r\n margin: 0 0 3 0;\r\n`\r\n\r\nconst NavGroupMenu = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n border-left: 1;\r\n border-left-color: layout-border;\r\n`\r\n\r\nconst NavGroupMenuItem = styled.li`\r\n list-style-type: none;\r\n margin: 2 0 0 -2px;\r\n padding: 0;\r\n font-size: 14;\r\n font-weight: 500;\r\n\r\n a {\r\n color: on-background-light;\r\n display: block;\r\n transition: fast;\r\n transition-property: color, border-color;\r\n padding: 2px 0 2px 2;\r\n border-left: 3;\r\n border-color: transparent;\r\n text-decoration: none;\r\n opacity: 0.85;\r\n\r\n &:hover {\r\n color: on-background;\r\n opacity: 1;\r\n }\r\n\r\n &[aria-current='page'] {\r\n font-weight: 600;\r\n border-color: primary;\r\n color: on-background;\r\n opacity: 1;\r\n }\r\n }\r\n`\r\n\r\nconst sortGroupsWithConfig = (section) => (a, b) => {\r\n const indexA = section.indexOf(a.name)\r\n const indexB = section.indexOf(b.name)\r\n const diff = indexA - indexB\r\n return diff === 0 ? 0 : diff < 0 ? -1 : 1\r\n}\r\n\r\nexport function useSideNavState() {\r\n const data = useStaticQuery(SideNavQuery)\r\n return React.useMemo(() => {\r\n const navGroups = groupNodes(data.allMdx.edges.map((edge) => edge.node))\r\n navGroups.sort(sortGroupsWithConfig(data.site.siteMetadata.sections))\r\n return { navGroups }\r\n }, [data])\r\n}\r\n\r\nexport function useSideNavPrevNext({ navGroups }) {\r\n const { pathname } = useLocation()\r\n const nodes = navGroups.flatMap((group) => group.nodes)\r\n const nodeIndex = nodes.findIndex(\r\n (node) => withPrefix(node.fields.slug) === pathname,\r\n )\r\n return {\r\n prev: nodeIndex > -1 ? nodes[nodeIndex - 1] : null,\r\n next: nodeIndex > -1 ? nodes[nodeIndex + 1] : null,\r\n }\r\n}\r\n\r\nexport function SideNav({ navGroups }) {\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\n// eslint-disable-next-line import/no-unresolved\r\nimport { useLocation } from '@reach/router'\r\nimport styled, { th } from '@xstyled/styled-components'\r\n\r\nconst TOP_OFFSET = 100\r\n\r\nfunction getHeaderAnchors() {\r\n return Array.prototype.filter.call(\r\n document.getElementsByClassName('anchor'),\r\n (testElement) =>\r\n testElement.parentNode.nodeName === 'H2' ||\r\n testElement.parentNode.nodeName === 'H3',\r\n )\r\n}\r\n\r\nfunction getHeaderDataFromAnchor(el) {\r\n return {\r\n url: el.getAttribute('href'),\r\n text: el.parentElement?.innerText,\r\n depth: Number(el.parentElement?.nodeName.replace('H', '')),\r\n }\r\n}\r\n\r\nfunction getAnchorHeaderIdentifier(el) {\r\n return el?.parentElement?.id\r\n}\r\n\r\nexport function useTocHighlight(ref) {\r\n const { pathname } = useLocation()\r\n const [lastActiveLink, setLastActiveLink] = React.useState(undefined)\r\n const [headings, setHeadings] = React.useState([])\r\n\r\n React.useEffect(() => {\r\n setHeadings(getHeaderAnchors().map(getHeaderDataFromAnchor))\r\n }, [pathname])\r\n\r\n React.useEffect(() => {\r\n let headersAnchors = []\r\n let links = []\r\n\r\n function setActiveLink() {\r\n function getActiveHeaderAnchor() {\r\n let index = 0\r\n let activeHeaderAnchor = null\r\n\r\n headersAnchors = getHeaderAnchors()\r\n while (index < headersAnchors.length && !activeHeaderAnchor) {\r\n const headerAnchor = headersAnchors[index]\r\n const { top } = headerAnchor.getBoundingClientRect()\r\n\r\n if (top >= 0 && top <= TOP_OFFSET) {\r\n activeHeaderAnchor = headerAnchor\r\n }\r\n\r\n index += 1\r\n }\r\n\r\n return activeHeaderAnchor\r\n }\r\n\r\n const activeHeaderAnchor = getActiveHeaderAnchor()\r\n\r\n if (activeHeaderAnchor) {\r\n let index = 0\r\n let itemHighlighted = false\r\n\r\n links = ref.current ? ref.current.querySelectorAll('a') : []\r\n\r\n while (index < links.length && !itemHighlighted) {\r\n const link = links[index]\r\n const { href } = link\r\n const anchorValue = decodeURIComponent(\r\n href.substring(href.indexOf('#') + 1),\r\n )\r\n\r\n if (getAnchorHeaderIdentifier(activeHeaderAnchor) === anchorValue) {\r\n if (lastActiveLink) {\r\n lastActiveLink.removeAttribute('aria-current')\r\n }\r\n\r\n link.setAttribute('aria-current', 'true')\r\n\r\n setLastActiveLink(link)\r\n itemHighlighted = true\r\n }\r\n\r\n index += 1\r\n }\r\n }\r\n }\r\n\r\n document.addEventListener('scroll', setActiveLink)\r\n document.addEventListener('resize', setActiveLink)\r\n\r\n setActiveLink()\r\n\r\n return () => {\r\n document.removeEventListener('scroll', setActiveLink)\r\n document.removeEventListener('resize', setActiveLink)\r\n }\r\n })\r\n\r\n return headings\r\n}\r\n\r\nconst TocContainer = styled.div`\r\n position: sticky;\r\n top: ${th.px(50)};\r\n padding: 5 3 4; // 5 0 4;\r\n overflow-y: auto;\r\n height: calc(100vh - 50px);\r\n font-size: 15;\r\n\r\n h4 {\r\n margin: 0;\r\n font-size: 14;\r\n font-weight: 500;\r\n text-transform: uppercase;\r\n color: on-background-light;\r\n }\r\n\r\n ul {\r\n list-style-type: none;\r\n padding: 0;\r\n\r\n li {\r\n margin: 2 0;\r\n\r\n &[data-depth='3'] {\r\n padding-left: 2;\r\n }\r\n }\r\n }\r\n\r\n a {\r\n display: inline-block;\r\n transition: fast;\r\n color: on-background-light;\r\n text-decoration: none;\r\n opacity: 0.85;\r\n\r\n &[aria-current] {\r\n font-weight: 500;\r\n color: on-background;\r\n transform: translateX(2px);\r\n opacity: 1;\r\n }\r\n\r\n &:hover {\r\n color: on-background;\r\n transform: translateX(2px);\r\n opacity: 1;\r\n }\r\n }\r\n`\r\n\r\nexport function TableOfContents() {\r\n const ref = React.useRef()\r\n const headings = useTocHighlight(ref)\r\n if (!headings.length) return null\r\n return (\r\n \r\n

On this page

\r\n
    \r\n {headings.map((heading, i) =>\r\n heading.url ? (\r\n
  • \r\n {heading.text}\r\n
  • \r\n ) : null,\r\n )}\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled, { x, css, up, down, th, useUp } from '@xstyled/styled-components'\r\nimport { useDialogState, Dialog, DialogDisclosure } from 'ariakit/dialog'\r\nimport { Portal } from 'ariakit/portal'\r\nimport { VscChevronUp } from 'react-icons/vsc'\r\nimport { RiPencilLine } from 'react-icons/ri'\r\nimport { ScreenContainer } from '../ScreenContainer'\r\nimport { SideNav, useSideNavState, useSideNavPrevNext } from '../SideNav'\r\nimport { SiblingNav, SiblingNavLink } from '../SiblingNav'\r\nimport { Article } from '../Article'\r\nimport { TableOfContents } from '../TableOfContents'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\n\r\nconst SidebarDialog = styled.div`\r\n background-color: background-light-a50;\r\n backdrop-filter: blur(3px);\r\n position: fixed;\r\n top: 50;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 20;\r\n overflow: auto;\r\n transition: base;\r\n opacity: 0;\r\n transition: opacity 250ms ease-in-out, transform 250ms ease-in-out;\r\n transform: translate3d(0, 10vh, 0);\r\n\r\n &[data-enter] {\r\n opacity: 1;\r\n transform: translate3d(0, 0, 0);\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n`\r\n\r\nconst Container = styled.div`\r\n z-index: 0;\r\n position: relative;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n display: grid;\r\n grid-template-columns: 288px minmax(0, 1fr);\r\n // grid-gap: ${th.space(5)};\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n grid-template-columns: 288px minmax(0, 1fr) 288px;\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n )}\r\n`\r\n\r\nconst TocContainer = styled.div`\r\n ${down(\r\n 'xl',\r\n css`\r\n display: none;\r\n `,\r\n )}\r\n`\r\n\r\nconst SidebarSticky = styled.aside`\r\n position: sticky;\r\n top: ${th.px(50)};\r\n padding: 4 0;\r\n overflow-y: auto;\r\n height: calc(100vh - 50px);\r\n width: 288px;\r\n\r\n ${down(\r\n 'md',\r\n css`\r\n display: none;\r\n `,\r\n )}\r\n`\r\n\r\nconst MenuButton = styled.button`\r\n appearance: none;\r\n border: 0;\r\n border-radius: 50%;\r\n width: 60;\r\n height: 60;\r\n position: fixed;\r\n right: ${th.size(8)};\r\n bottom: ${th.size(8)};\r\n z-index: 25;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n color: background;\r\n background-color: on-background;\r\n transition: base;\r\n transition-property: color;\r\n\r\n &:focus {\r\n color: background;\r\n }\r\n\r\n > svg {\r\n width: 24;\r\n height: 24;\r\n transition: transform 200ms ease-in-out;\r\n\r\n &:first-child {\r\n transform: translateX(-1px);\r\n }\r\n\r\n &:last-child {\r\n transform: translate(-1px) rotate(180deg);\r\n }\r\n }\r\n\r\n &[aria-expanded='true'] {\r\n > svg:first-child {\r\n transform: translate(-1px, 16px);\r\n }\r\n\r\n > svg:last-child {\r\n transform: translate(-1px, -16px) rotate(180deg);\r\n }\r\n }\r\n`\r\n\r\nfunction MobileSidebar({ children }) {\r\n const dialog = useDialogState({ animated: true })\r\n return (\r\n <>\r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nfunction PrevNextLinks(props) {\r\n const { prev, next } = useSideNavPrevNext(props)\r\n if (!prev && !next) return null\r\n return (\r\n \r\n {prev && (\r\n \r\n {prev.fields.title}\r\n \r\n )}\r\n {next && (\r\n \r\n {next.fields.title}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport function DocLayout({ children, tableOfContents, ...props }) {\r\n props.isDoc = true;\r\n const upMd = useUp('md')\r\n const sideNav = useSideNavState()\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!upMd && (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n {children}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled, { x, css, up, down, th } from '@xstyled/styled-components'\r\nimport { Article } from '../Article'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\nimport { TableOfContents } from \"../TableOfContents\";\r\nimport PostHero from \"../blog/PostHero\";\r\nimport PostTitle from \"../blog/PostTitle\";\r\nimport PostDate from \"../blog/PostDate\";\r\n\r\nconst Container = styled.div`\r\n background-color: background;\r\n flex: 1;\r\n\r\n width: 100%;\r\n max-width: 1440px;\r\n margin: 0 auto;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n \r\n z-index: 0;\r\n position: relative;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr);\r\n // grid-gap: ${th.space(5)};\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n grid-template-columns: minmax(0, 1fr) 288px;\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n`\r\n\r\nconst TocContainer = styled.div`\r\n ${down(\r\n 'xl',\r\n css`\r\n display: none;\r\n `,\r\n )}\r\n`\r\n\r\nexport function PostLayout({ children, tableOfContents, ...props }) {\r\n const post = children?.props?.pageContext?.frontmatter || {}\r\n const canonical = post.canonical || ''\r\n // console.log(`PostLayout.js`, `post ${JSON.stringify(post)}`)\r\n return (\r\n \r\n \r\n \r\n
\r\n {/*
*/}\r\n {/*

{post.title}

*/}\r\n {/*

{post.date}

*/}\r\n {/*
*/}\r\n {children}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled, { x, css, up, down, th } from '@xstyled/styled-components'\r\nimport { Article } from '../Article'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\nimport { TableOfContents } from \"../TableOfContents\";\r\n\r\nconst Container = styled.div`\r\n background-color: background;\r\n flex: 1;\r\n\r\n width: 100%;\r\n max-width: 1440px;\r\n margin: 0 auto;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n \r\n z-index: 0;\r\n position: relative;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n display: grid;\r\n grid-template-columns: minmax(0, 1fr);\r\n // grid-gap: ${th.space(5)};\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n grid-template-columns: minmax(0, 1fr) 288px;\r\n\r\n .sidebar-container {\r\n display: none;\r\n }\r\n `,\r\n)}\r\n`\r\n\r\nconst TocContainer = styled.div`\r\n ${down(\r\n 'xl',\r\n css`\r\n display: none;\r\n `,\r\n)}\r\n`\r\n\r\nexport function PageLayout({ children, tableOfContents, editLink, ...props }) {\r\n console.log(`PageLayout.js`)\r\n return (\r\n \r\n \r\n \r\n
{children}
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport styled from '@xstyled/styled-components'\r\nimport { WebSiteLayout } from \"./WebSiteLayout\";\r\n\r\nconst HomeMain = styled.main`\r\n background-color: background;\r\n flex: 1;\r\n \r\n width: 100%;\r\n max-width: 1440px;\r\n margin: 0 auto;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n`\r\n\r\nexport function HomeLayout({ children, tableOfContents, ...props }) {\r\n props.isDoc = false;\r\n props.isHome = children.key === '/';\r\n return \r\n {children}\r\n \r\n}\r\n","import React from 'react'\r\nimport { DocLayout } from './layouts/DocLayout'\r\nimport { PostLayout } from './layouts/PostLayout'\r\nimport {PageLayout} from \"./layouts/PageLayout\";\r\nimport {HomeLayout} from \"./layouts/HomeLayout\";\r\n\r\nexport function PageWrapper({\r\n children,\r\n props: {\r\n data: { mdx },\r\n },\r\n}) {\r\n console.log(`PageWrapper.js ${mdx?.fields?.pageType}`)\r\n if (!mdx?.fields?.pageType) return children\r\n switch (mdx.fields.pageType) {\r\n case 'doc':\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n case 'page':\r\n console.log(\"PageWrapper\", children);\r\n if(children.key === '/') {\r\n return {children}\r\n } else {\r\n return {children}\r\n }\r\n case 'post':\r\n return {children}\r\n default:\r\n return children\r\n }\r\n}\r\n","import React from 'react'\r\nimport { RootWrapper } from './src/components/RootWrapper'\r\nimport { PageWrapper } from './src/components/PageWrapper'\r\n\r\nexport const wrapRootElement = ({ element }) => {\r\n return {element}\r\n}\r\n\r\nexport const wrapPageElement = ({ element, props }) => {\r\n return {element}\r\n}\r\n","import styled, { css, up, down } from '@xstyled/styled-components'\r\n\r\nexport const Article = styled.article`\r\n .anchor {\r\n margin-left: calc(-1em - 4px);\r\n > svg {\r\n fill: on-background;\r\n width: 1em;\r\n height: 1em;\r\n display: inline;\r\n vertical-align: -15%;\r\n }\r\n }\r\n\r\n code {\r\n background-color: background-light;\r\n color: on-background-primary;\r\n border-radius: base;\r\n padding: 0 1;\r\n }\r\n\r\n mark {\r\n background-color: background-mark;\r\n }\r\n\r\n > p {\r\n margin: 3 0;\r\n font-size: 16;\r\n line-height: 1.6;\r\n // max-width: 52em;\r\n }\r\n\r\n /* Intro */\r\n > h1 + p {\r\n font-size: 18;\r\n font-weight: 300;\r\n color: on-background-light;\r\n margin: 2 0 !important;\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 22;\r\n line-height: 1.2;\r\n `,\r\n )};\r\n\r\n a,\r\n strong {\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n > hr {\r\n margin: 0;\r\n height: 0;\r\n border: 0;\r\n border-top: 1;\r\n border-color: layout-border;\r\n margin: 4 0;\r\n\r\n &:first-child {\r\n margin-top: 0;\r\n }\r\n }\r\n\r\n > h1 {\r\n font-size: 32;\r\n line-height: 1.1;\r\n font-weight: 600;\r\n margin: 40 0 2;\r\n }\r\n\r\n > h2 {\r\n font-size: 24;\r\n line-height: 1.2;\r\n font-weight: 600;\r\n margin: 4 0;\r\n padding-top: 3;\r\n border-top: 1;\r\n border-color: layout-border;\r\n }\r\n\r\n > h1 + h2,\r\n > h2:first-child {\r\n border-top: 0;\r\n margin-top: 0;\r\n padding-top: 0;\r\n }\r\n\r\n > h3 {\r\n font-size: 18;\r\n line-height: 1.2;\r\n font-weight: 600;\r\n margin: 4 0 3;\r\n\r\n ${down(\r\n 'sm',\r\n css`\r\n overflow-wrap: break-word;\r\n word-break: break-word;\r\n `,\r\n )}\r\n }\r\n\r\n > h4 {\r\n font-weight: 500;\r\n font-size: 16;\r\n line-height: 1.2;\r\n margin: 3 0;\r\n }\r\n\r\n > h4 + p {\r\n margin-top: 3;\r\n }\r\n\r\n > ul + p {\r\n margin-top: 2;\r\n }\r\n\r\n .editor {\r\n background-color: editor-background;\r\n color: editor-text;\r\n padding: 3 4;\r\n margin: 4 -3;\r\n overflow: auto;\r\n font-size: 14;\r\n line-height: 1.45;\r\n border-radius: base;\r\n\r\n ${down(\r\n 'sm',\r\n css`\r\n margin-left: -4;\r\n margin-right: -4;\r\n border-radius: 0;\r\n `,\r\n )}\r\n }\r\n\r\n > code {\r\n background-color: editor-background;\r\n border-radius: base;\r\n color: inherit;\r\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono,\r\n Courier New, monospace;\r\n font-size: 85%;\r\n padding: 1 2;\r\n }\r\n\r\n img {\r\n max-width: 100%;\r\n }\r\n\r\n ol,\r\n ul {\r\n margin-top: 4;\r\n font-size: 16;\r\n padding-left: 4;\r\n\r\n p,\r\n p:first-of-type {\r\n font-size: 16;\r\n margin-top: 0;\r\n line-height: 1.2;\r\n }\r\n\r\n li {\r\n margin-top: 2;\r\n }\r\n\r\n ol,\r\n ul {\r\n margin-left: 4;\r\n margin-top: 2;\r\n }\r\n }\r\n\r\n ol {\r\n list-style: decimal;\r\n }\r\n\r\n ul {\r\n list-style: disc;\r\n }\r\n\r\n > blockquote {\r\n font-size: 16;\r\n background-color: blockquote-background;\r\n border-left: 8;\r\n border-color: blockquote-border;\r\n padding: 3;\r\n margin: 3 -2;\r\n border-radius: blockquote;\r\n\r\n code {\r\n background-color: rgba(255, 255, 255, 0.1);\r\n background-blend-mode: color;\r\n color: on-background;\r\n border-radius: base;\r\n padding: 0 1;\r\n }\r\n\r\n p {\r\n margin-top: 3;\r\n\r\n &:first-of-type {\r\n margin-top: 0;\r\n }\r\n\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n a {\r\n transition: fast;\r\n color: blockquote-link;\r\n text-decoration: underline;\r\n\r\n &:hover {\r\n color: on-background;\r\n }\r\n }\r\n }\r\n\r\n a {\r\n transition: fast;\r\n text-decoration: underline;\r\n color: on-background-primary;\r\n\r\n &:hover {\r\n color: on-background-primary-dark;\r\n }\r\n }\r\n`\r\n","/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\n\n/**\n * prism-react-renderer:\n * This file has been modified to remove:\n * - globals and window dependency\n * - worker support\n * - highlightAll and other element dependent methods\n * - _.hooks helpers\n * - UMD/node-specific hacks\n * It has also been run through prettier\n */\nvar Prism = function () {\n // Private helper vars\n var lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n var uniqueId = 0; // The grammar object for plaintext\n\n var plainTextGrammar = {};\n var _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n encode: function encode(tokens) {\n if (tokens instanceof Token) {\n return new Token(tokens.type, encode(tokens.content), tokens.alias);\n } else if (Array.isArray(tokens)) {\n return tokens.map(encode);\n } else {\n return tokens.replace(/&/g, '&').replace(/} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {};\n var clone;\n var id;\n\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone =\n /** @type {Record} */\n {};\n visited[id] = clone;\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited);\n }\n }\n\n return (\n /** @type {any} */\n clone\n );\n\n case 'Array':\n id = _.util.objId(o);\n\n if (visited[id]) {\n return visited[id];\n }\n\n clone = [];\n visited[id] = clone;\n\n /** @type {Array} */\n\n /** @type {any} */\n o.forEach(function (v, i) {\n clone[i] = deepClone(v, visited);\n });\n return (\n /** @type {any} */\n clone\n );\n\n default:\n return o;\n }\n },\n\n /**\n * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n *\n * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n *\n * @param {Element} element\n * @returns {string}\n */\n getLanguage: function (element) {\n while (element) {\n var m = lang.exec(element.className);\n\n if (m) {\n return m[1].toLowerCase();\n }\n\n element = element.parentElement;\n }\n\n return 'none';\n },\n\n /**\n * Sets the Prism `language-xxxx` class of the given element.\n *\n * @param {Element} element\n * @param {string} language\n * @returns {void}\n */\n setLanguage: function (element, language) {\n // remove all `language-xxxx` classes\n // (this might leave behind a leading space)\n element.className = element.className.replace(RegExp(lang, 'gi'), ''); // add the new `language-xxxx` class\n // (using `classList` will automatically clean up spaces for us)\n\n element.classList.add('language-' + language);\n },\n\n /**\n * Returns whether a given class is active for `element`.\n *\n * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n * given class is just the given class with a `no-` prefix.\n *\n * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n * ancestors have the given class or the negated version of it, then the default activation will be returned.\n *\n * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n * version of it, the class is considered active.\n *\n * @param {Element} element\n * @param {string} className\n * @param {boolean} [defaultActivation=false]\n * @returns {boolean}\n */\n isActive: function (element, className, defaultActivation) {\n var no = 'no-' + className;\n\n while (element) {\n var classList = element.classList;\n\n if (classList.contains(className)) {\n return true;\n }\n\n if (classList.contains(no)) {\n return false;\n }\n\n element = element.parentElement;\n }\n\n return !!defaultActivation;\n }\n },\n\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id]);\n\n for (var key in redef) {\n lang[key] = redef[key];\n }\n\n return lang;\n },\n\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `\r\n ${basePackage}.core.domain.events\r\n ${basePackage}.core.outbound.events\r\n ${basePackage}.adapters.commands\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- add any sdk plugin (custom or standard) as dependency here --\x3e\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-spring-cloud-streams3\r\n ${zenwave.version}\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-jsonschema2pojo\r\n ${zenwave.version}\r\n \r\n \r\n\n")),"\n",r.createElement(n.h2,{id:"producing-domain-events-with-generated-code",style:{position:"relative"}},r.createElement(n.a,{href:"#producing-domain-events-with-generated-code","aria-label":"producing domain events with generated code permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Producing Domain Events with Generated Code"),"\n",r.createElement(n.p,null,"By default, ZenWave generates Spring Cloud Streams implementation that counts with different binders for virtually any message broker:"),"\n",r.createElement(o.Ee,{src:"https://zenwave360.github.io/zenwave-sdk/docs/ZenWave360-AsyncAPI-SpringCloudStreams.excalidraw.svg",alt:"ZenWave360 AsyncAPI Spring Cloud Streams"}),"\n",r.createElement(n.pre,null,r.createElement(n.code,null,"📦 target/generated-sources/zenwave\r\n 📦 src/main/java\r\n └─ models (DTOs)\r\n └─ AddressDTO.java\r\n └─ CustomerDTO.java\r\n └─ \r\n └─ ICustomerEventsProducer (interface and header objects)\r\n └─ CustomerEventsProducer (spring-cloud-streams producer)\r\n 📦 src/test/java\r\n └─ \r\n └─ CustomerEventsProducerCaptor (in-memory producer/captor)\r\n └─ EventsProducerInMemoryContext (spring-boot/manual context)\n")),"\n",r.createElement(n.p,null,"With this schema you just need to:"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"Autowire ",r.createElement(n.code,null,"ICustomerEventsProducer")," wherever you would like to produce events."),"\n",r.createElement(n.li,null,"Add ",r.createElement(n.code,null,"CustomerEventsProducer")," to your Spring Boot context and set any required configuration for ",r.createElement(n.code,null,"spring.streams.bindings")," in ",r.createElement(n.code,null,"application.yml"),"."),"\n"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},"public CustomerServiceImpl {\r\n @Autowired\r\n ICustomerEventsProducer eventsProducer;\r\n // ...\r\n public Customer createCustomer(Customer input) {\r\n // ...\r\n eventsProducer.onCustomerEvent(customerEvent);\r\n // ...\r\n }\r\n}\n")),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-yaml"},"spring:\r\n stream:\r\n bindings:\r\n on-order-event-out-0: ## you can get this name from 'CustomerEventsProducer' class\r\n destination: orders.orders\n")),"\n",r.createElement(n.h2,{id:"inmemory-event-producer-captor-for-your-tests",style:{position:"relative"}},r.createElement(n.a,{href:"#inmemory-event-producer-captor-for-your-tests","aria-label":"inmemory event producer captor for your tests permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"InMemory Event Producer (Captor) for your Tests"),"\n",r.createElement(n.p,null,"ZenWave SDK Maven Plugin will generate an in-memory implementation of your Events Producer that you can use in your tests to capture events and perform assertions on them. All this without a message broker, TestContainers or Mockito."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},'@Configuration\r\n@Profile("in-memory")\r\npublic class ServicesInMemoryConfig extends RepositoriesInMemoryConfig {\r\n\r\n\tprotected final EventsProducerInMemoryContext eventsProducerInMemoryContext = new EventsProducerInMemoryContext();\r\n\r\n\tprotected final CustomerServiceImpl customerService = new CustomerServiceImpl(\r\n customerRepository(),\r\n\t\t\teventsProducerInMemoryContext.customerEventsProducer());\r\n\r\n\t@Bean\r\n\tpublic CustomerServiceImpl customerService() {\r\n\t\treturn customerService;\r\n\t}\r\n}\n')),"\n",r.createElement(n.p,null,"Now you can perform assertions on captured events in your tests:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},"public class CustomerServiceTest {\r\n CustomerEventsProducerCaptor eventsProducerCaptor = serviceInMemoryContext.customerEventsProducerCaptor();\r\n\r\n\t@Test\r\n\tvoid createCustomerTest() {\r\n\t\tvar input = new Customer();\r\n\t\t// TODO fill input data\r\n\r\n\t\tvar customer = customerService.createCustomer(input);\r\n\t\tassertNotNull(customer.getId());\r\n\r\n // Assertions on captured events\r\n var customerEvents = eventsProducerCaptor.getCapturedMessages(eventsProducerCaptor.onCustomerEventBindingName);\r\n Assertions.assertEquals(1, customerEvents.size());\r\n\t}\r\n}\n")),"\n",r.createElement(n.h2,{id:"letting-zenwave-sdk-include-event-producers-in-your-services",style:{position:"relative"}},r.createElement(n.a,{href:"#letting-zenwave-sdk-include-event-producers-in-your-services","aria-label":"letting zenwave sdk include event producers in your services permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Letting ZenWave SDK Include Event Producers in Your Services"),"\n",r.createElement(n.p,null,"Because this depends on ZenWave AsyncAPI Plugins naming conventions, you need to explicitly set ",r.createElement(n.code,null,"includeEmitEventsImplementation")," to ",r.createElement(n.code,null,"true")," in ",r.createElement(n.code,null,"ZenWave SDK Backend Plugin")," option to include event publishing code in your core services."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},'// This will only be generated if includeEmitEventsImplementation is set to true\r\nprivate final EventsMapper eventsMapper = EventsMapper.INSTANCE;\r\nprivate final ICustomerEventsProducer eventsProducer;\r\n\r\n@Transactional\r\npublic Customer createCustomer(Customer input) {\r\n log.debug("Request to save Customer: {}", input);\r\n var customer = customerServiceMapper.update(new Customer(), input);\r\n customer = customerRepository.save(customer);\r\n\r\n // This will only be generated if includeEmitEventsImplementation is set to true\r\n var customerEvent = eventsMapper.asCustomerEvent(customer);\r\n eventsProducer.onCustomerEvent(customerEvent);\r\n\r\n return customer;\r\n}\n')))}var c=function(e){void 0===e&&(e={});const{wrapper:n}=Object.assign({},(0,a.ah)(),e.components);return n?r.createElement(n,e,r.createElement(i,e)):i(e)};function s(e){let{children:n}=e;return n}function l(e){return r.createElement(s,e,r.createElement(c,e))}},97702:function(e,n,t){t.d(n,{d2:function(){return r.d},zx:function(){return l},L0:function(){return p},$s:function(){return h},VS:function(){return E},gT:function(){return y},P7:function(){return v},Gz:function(){return g},VM:function(){return I},sd:function(){return S},kW:function(){return x},$D:function(){return P},DH:function(){return k},vC:function(){return w},LR:function(){return b},Ee:function(){return N},Bk:function(){return T},Nm:function(){return H},X_:function(){return u.X},YZ:function(){return Z},vk:function(){return W},BW:function(){return M},Mo:function(){return B}});var r=t(63585),a=t(27378),o=t(87573),i=t(30294);const c=e=>{let{background:n,backgroundHover:t,on:r}=e;return()=>(0,i.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],n,r,t,r,t,r)},s=i.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],c({background:"primary-600",backgroundHover:"primary-700",on:"white"}),c({background:"green-600",backgroundHover:"green-700",on:"white"}),c({background:"red-600",backgroundHover:"red-700",on:"white"}),c({background:"gray-300",backgroundHover:"gray-400",on:"black"})),l=a.forwardRef(((e,n)=>{let{variant:t="primary",children:r,...i}=e;return a.createElement(o.z,{ref:n,"data-variant":t},(e=>a.createElement(s,Object.assign({},e,i),r)))}));t(23824),t(31729);var d=t(63681),u=t(84234);const m=i.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=a.forwardRef(((e,n)=>a.createElement(m,Object.assign({ref:n,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=i.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],d.th.px(-9),d.th.px(9)),v=i.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),f=i.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),h=a.forwardRef(((e,n)=>a.createElement(f,Object.assign({ref:n,width:48,height:48},e)))),E=a.forwardRef(((e,n)=>a.createElement(u.X,Object.assign({ref:n,row:!0,my:-4,px:3},e)))),y=a.forwardRef(((e,n)=>a.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),b=i.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:4;font-size:48;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:60;"]))),w=i.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),C=(0,i.ZPm)(u.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,d.up)("xl",(0,i.ivY)(["margin-top:6;"]))),I=a.forwardRef(((e,n)=>{let{backgroundImageURL:t,...r}=e;return a.createElement(C,Object.assign({ref:n,backgroundImage:"url("+t+")"},r))})),P=a.forwardRef(((e,n)=>a.createElement(i.x.div,Object.assign({ref:n,w:{md:.5}},e)))),k=i.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),x=a.forwardRef(((e,n)=>a.createElement(i.x.div,Object.assign({ref:n,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),S=a.forwardRef(((e,n)=>a.createElement(i.x.div,Object.assign({ref:n,col:"auto",p:2},e))));var z=t(24956);const A=i.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),j=i.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),O=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,N=a.forwardRef(((e,n)=>a.createElement(A,{align:e.align||"center",className:e.visible},a.createElement(j,Object.assign({ref:n,src:O(e,(0,z.If)()[0])},e)))));t(15239),t(83160);const _=(0,i.ZPm)(i.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),T=a.forwardRef(((e,n)=>a.createElement(i.x.blockquote,Object.assign({ref:n,className:"quote"},e)))),H=a.forwardRef(((e,n)=>a.createElement(_,Object.assign({ref:n},e)))),M=a.forwardRef(((e,n)=>a.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),Z=i.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,d.up)("md",(0,i.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),B=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),R=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),D=i.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),F=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,W=a.forwardRef(((e,n)=>a.createElement(R,{className:e.className},a.createElement(D,Object.assign({ref:n,src:F(e,(0,z.If)()[0])},e)))))}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js.map \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[716],{55183:function(e,n,t){t.r(n),t.d(n,{default:function(){return l}});var r=t(27378),a=t(20951),o=t(16376);function i(e){const n=Object.assign({h1:"h1",a:"a",div:"div",p:"p",h2:"h2",pre:"pre",code:"code",ul:"ul",li:"li",blockquote:"blockquote"},(0,a.ah)(),e.components);return r.createElement(r.Fragment,null,r.createElement(n.h1,{id:"producing-domain-events",style:{position:"relative"}},r.createElement(n.a,{href:"#producing-domain-events","aria-label":"producing domain events permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Producing Domain Events"),"\n",r.createElement(n.p,null,"Producing Domain Events with AsyncAPI and ZenWave Maven Plugin"),"\n",r.createElement(n.p,null,"In this section you will learn how to produce domain events from your services and publish them to a message broker."),"\n",r.createElement(n.p,null,"We will be using AsyncAPI specification to define our message structure, and use ZenWave SDK Maven Plugin to generate models (DTOs) and a producer implementation from your API-First definition."),"\n",r.createElement(n.h2,{id:"using-zenwave-zdl-as-definition-language-for-asyncapi",style:{position:"relative"}},r.createElement(n.a,{href:"#using-zenwave-zdl-as-definition-language-for-asyncapi","aria-label":"using zenwave zdl as definition language for asyncapi permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Using ZenWave ZDL as Definition Language for AsyncAPI"),"\n",r.createElement(n.p,null,"While AsyncAPI is the source of truth for Event-Driven communication, with ",r.createElement(n.a,{href:"https://zenwave360.github.io/zenwave-sdk/plugins/zdl-to-asyncapi/"},"ZDLToAsyncAPIPlugin")," plugins you can create complete draft version of AsyncAPI specification from your annotated Services and Events."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-shell"},"jbang zw -p io.zenwave360.sdk.plugins.ZDLToAsyncAPIPlugin \\\r\n specFile=src/main/resources/model/orders-model.zdl \\\r\n idType=integer \\\r\n idTypeFormat=int64 \\\r\n targetFile=src/main/resources/model/asyncapi.yml\n")),"\n",r.createElement(n.p,null,"For instance the following ZDL model:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'service OrdersService for (CustomerOrder) {\r\n // only emited events will be included in the asyncapi definition\r\n updateOrder(id, CustomerOrderInput) CustomerOrder withEvents OrderStatusUpdated\r\n}\r\n\r\n@asyncapi({channel: "OrderUpdatesChannel", topic: "orders.order_updates"})\r\nevent OrderStatusUpdated {\r\n id String\r\n dateTime Instant required\r\n status OrderStatus required\r\n previousStatus OrderStatus\r\n}\n')),"\n",r.createElement(n.p,null,"Will generate the following sections in an AsyncAPI definition:"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"An ",r.createElement(n.code,null,"schema")," named ",r.createElement(n.code,null,"OrderStatusUpdated")," with a ",r.createElement(n.code,null,"payload")," containing the ",r.createElement(n.code,null,"id"),", ",r.createElement(n.code,null,"dateTime"),", ",r.createElement(n.code,null,"status")," and ",r.createElement(n.code,null,"previousStatus")," fields."),"\n",r.createElement(n.li,null,"A ",r.createElement(n.code,null,"message")," named ",r.createElement(n.code,null,"OrderStatusUpdatedMessage")," pointing to ",r.createElement(n.code,null,"OrderStatusUpdated")," schema."),"\n",r.createElement(n.li,null,"An a ",r.createElement(n.code,null,"Channel")," named ",r.createElement(n.code,null,"OrderUpdatesChannel")," containing a reference to the ",r.createElement(n.code,null,"OrderStatusUpdatedMessage")," message."),"\n",r.createElement(n.li,null,"It also will generate an ",r.createElement(n.code,null,"Operation")," named ",r.createElement(n.code,null,"onOrderStatusUpdated")," with and action ",r.createElement(n.code,null,"send"),"to the ",r.createElement(n.code,null,"OrderUpdatesChannel")," channel."),"\n"),"\n",r.createElement(n.blockquote,null,"\n",r.createElement(n.p,null,"💡 This is as a compact format as it can get!! Saving you a lot of typing and giving you very concise representation of your events."),"\n"),"\n",r.createElement(n.h2,{id:"api-first-code-generator-from-asyncapi",style:{position:"relative"}},r.createElement(n.a,{href:"#api-first-code-generator-from-asyncapi","aria-label":"api first code generator from asyncapi permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"API-First Code Generator from AsyncAPI"),"\n",r.createElement(n.p,null,"You can use ",r.createElement(n.a,{href:"https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3/#maven-plugin-configuration-api-first"},"API-First AsyncAPI Maven Plugin")," to generate models (DTOs) and a producer implementation."),"\n",r.createElement(n.p,null,"Configure ",r.createElement(n.code,null,"zenwave-sdk-maven-plugin")," as follows:"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"Set ",r.createElement(n.code,null,"inputSpec")," to point to your AsyncAPI specification. You can use ",r.createElement(n.code,null,"classpath"),", ",r.createElement(n.code,null,"file"),", ",r.createElement(n.code,null,"http(s)")," or ",r.createElement(n.code,null,"https")," as inputSpec."),"\n",r.createElement(n.li,null,"Add ",r.createElement(n.code,null,"asyncapi-spring-cloud-streams3")," and ",r.createElement(n.code,null,"asyncapi-jsonschema2pojo")," as dependencies."),"\n",r.createElement(n.li,null,"Add two executions to generate the models (DTOs) and an Events Producer implementation."),"\n",r.createElement(n.li,null,"Configure ",r.createElement(n.code,null,"modelPackage"),", ",r.createElement(n.code,null,"producerApiPackage")," and ",r.createElement(n.code,null,"consumerApiPackage")," to match your project structure."),"\n",r.createElement(n.li,null,"Configure ",r.createElement(n.code,null,"role")," to ",r.createElement(n.code,null,"provider")," or ",r.createElement(n.code,null,"client")," if you are generating code from a third-party specification. If you are defining ",r.createElement(n.code,null,"all")," the operations (client and provider) then you are acting as the ",r.createElement(n.code,null,"provider")," which is the default."),"\n"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-xml"},"\r\n io.github.zenwave360.zenwave-sdk\r\n zenwave-sdk-maven-plugin\r\n ${zenwave.version}\r\n \r\n classpath:/apis/asyncapi.yml\x3c!-- classpath, file, http(s) --\x3e\r\n true\x3c!-- default is true --\x3e\r\n true\x3c!-- default is true --\x3e\r\n \r\n\r\n \r\n \x3c!-- DTOs --\x3e\r\n \r\n generate-asyncapi-provider-dtos\r\n generate-sources\r\n \r\n generate\r\n \r\n \r\n jsonschema2pojo\r\n \r\n ${basePackage}.core.domain.events\r\n true\r\n true\r\n \r\n \r\n \r\n \x3c!-- Generate PROVIDER --\x3e\r\n \r\n generate-asyncapi-provider-implementation\r\n generate-sources\r\n generate\r\n \r\n spring-cloud-streams3\r\n \r\n provider\r\n \r\n ${basePackage}.core.domain.events\r\n ${basePackage}.core.outbound.events\r\n ${basePackage}.adapters.commands\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- add any sdk plugin (custom or standard) as dependency here --\x3e\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-spring-cloud-streams3\r\n ${zenwave.version}\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-jsonschema2pojo\r\n ${zenwave.version}\r\n \r\n \r\n\n")),"\n",r.createElement(n.h2,{id:"producing-domain-events-with-generated-code",style:{position:"relative"}},r.createElement(n.a,{href:"#producing-domain-events-with-generated-code","aria-label":"producing domain events with generated code permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Producing Domain Events with Generated Code"),"\n",r.createElement(n.p,null,"By default, ZenWave generates Spring Cloud Streams implementation that counts with different binders for virtually any message broker:"),"\n",r.createElement(o.Ee,{src:"https://zenwave360.github.io/zenwave-sdk/docs/ZenWave360-AsyncAPI-SpringCloudStreams.excalidraw.svg",alt:"ZenWave360 AsyncAPI Spring Cloud Streams"}),"\n",r.createElement(n.pre,null,r.createElement(n.code,null,"📦 target/generated-sources/zenwave\r\n 📦 src/main/java\r\n └─ models (DTOs)\r\n └─ AddressDTO.java\r\n └─ CustomerDTO.java\r\n └─ \r\n └─ ICustomerEventsProducer (interface and header objects)\r\n └─ CustomerEventsProducer (spring-cloud-streams producer)\r\n 📦 src/test/java\r\n └─ \r\n └─ CustomerEventsProducerCaptor (in-memory producer/captor)\r\n └─ EventsProducerInMemoryContext (spring-boot/manual context)\n")),"\n",r.createElement(n.p,null,"With this schema you just need to:"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"Autowire ",r.createElement(n.code,null,"ICustomerEventsProducer")," wherever you would like to produce events."),"\n",r.createElement(n.li,null,"Add ",r.createElement(n.code,null,"CustomerEventsProducer")," to your Spring Boot context and set any required configuration for ",r.createElement(n.code,null,"spring.streams.bindings")," in ",r.createElement(n.code,null,"application.yml"),"."),"\n"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},"public CustomerServiceImpl {\r\n @Autowired\r\n ICustomerEventsProducer eventsProducer;\r\n // ...\r\n public Customer createCustomer(Customer input) {\r\n // ...\r\n eventsProducer.onCustomerEvent(customerEvent);\r\n // ...\r\n }\r\n}\n")),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-yaml"},"spring:\r\n stream:\r\n bindings:\r\n on-order-event-out-0: ## you can get this name from 'CustomerEventsProducer' class\r\n destination: orders.orders\n")),"\n",r.createElement(n.h2,{id:"inmemory-event-producer-captor-for-your-tests",style:{position:"relative"}},r.createElement(n.a,{href:"#inmemory-event-producer-captor-for-your-tests","aria-label":"inmemory event producer captor for your tests permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"InMemory Event Producer (Captor) for your Tests"),"\n",r.createElement(n.p,null,"ZenWave SDK Maven Plugin will generate an in-memory implementation of your Events Producer that you can use in your tests to capture events and perform assertions on them. All this without a message broker, TestContainers or Mockito."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},'@Configuration\r\n@Profile("in-memory")\r\npublic class ServicesInMemoryConfig extends RepositoriesInMemoryConfig {\r\n\r\n\tprotected final EventsProducerInMemoryContext eventsProducerInMemoryContext = new EventsProducerInMemoryContext();\r\n\r\n\tprotected final CustomerServiceImpl customerService = new CustomerServiceImpl(\r\n customerRepository(),\r\n\t\t\teventsProducerInMemoryContext.customerEventsProducer());\r\n\r\n\t@Bean\r\n\tpublic CustomerServiceImpl customerService() {\r\n\t\treturn customerService;\r\n\t}\r\n}\n')),"\n",r.createElement(n.p,null,"Now you can perform assertions on captured events in your tests:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},"public class CustomerServiceTest {\r\n CustomerEventsProducerCaptor eventsProducerCaptor = serviceInMemoryContext.customerEventsProducerCaptor();\r\n\r\n\t@Test\r\n\tvoid createCustomerTest() {\r\n\t\tvar input = new Customer();\r\n\t\t// TODO fill input data\r\n\r\n\t\tvar customer = customerService.createCustomer(input);\r\n\t\tassertNotNull(customer.getId());\r\n\r\n // Assertions on captured events\r\n var customerEvents = eventsProducerCaptor.getCapturedMessages(eventsProducerCaptor.onCustomerEventBindingName);\r\n Assertions.assertEquals(1, customerEvents.size());\r\n\t}\r\n}\n")),"\n",r.createElement(n.h2,{id:"letting-zenwave-sdk-include-event-producers-in-your-services",style:{position:"relative"}},r.createElement(n.a,{href:"#letting-zenwave-sdk-include-event-producers-in-your-services","aria-label":"letting zenwave sdk include event producers in your services permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Letting ZenWave SDK Include Event Producers in Your Services"),"\n",r.createElement(n.p,null,"Because this depends on ZenWave AsyncAPI Plugins naming conventions, you need to explicitly set ",r.createElement(n.code,null,"includeEmitEventsImplementation")," to ",r.createElement(n.code,null,"true")," in ",r.createElement(n.code,null,"ZenWave SDK Backend Plugin")," option to include event publishing code in your core services."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-java"},'// This will only be generated if includeEmitEventsImplementation is set to true\r\nprivate final EventsMapper eventsMapper = EventsMapper.INSTANCE;\r\nprivate final ICustomerEventsProducer eventsProducer;\r\n\r\n@Transactional\r\npublic Customer createCustomer(Customer input) {\r\n log.debug("Request to save Customer: {}", input);\r\n var customer = customerServiceMapper.update(new Customer(), input);\r\n customer = customerRepository.save(customer);\r\n\r\n // This will only be generated if includeEmitEventsImplementation is set to true\r\n var customerEvent = eventsMapper.asCustomerEvent(customer);\r\n eventsProducer.onCustomerEvent(customerEvent);\r\n\r\n return customer;\r\n}\n')))}var c=function(e){void 0===e&&(e={});const{wrapper:n}=Object.assign({},(0,a.ah)(),e.components);return n?r.createElement(n,e,r.createElement(i,e)):i(e)};function s(e){let{children:n}=e;return n}function l(e){return r.createElement(s,e,r.createElement(c,e))}},16376:function(e,n,t){t.d(n,{d2:function(){return r.d},zx:function(){return l},L0:function(){return p},$s:function(){return h},VS:function(){return E},gT:function(){return y},P7:function(){return v},Gz:function(){return g},S:function(){return L},VM:function(){return I},sd:function(){return S},kW:function(){return x},$D:function(){return k},DH:function(){return P},vC:function(){return w},LR:function(){return b},Ee:function(){return N},Bk:function(){return T},Nm:function(){return H},X_:function(){return u.X},YZ:function(){return Z},vk:function(){return W},BW:function(){return M},Mo:function(){return R}});var r=t(63585),a=t(27378),o=t(87573),i=t(30294);const c=e=>{let{background:n,backgroundHover:t,on:r}=e;return()=>(0,i.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],n,r,t,r,t,r)},s=i.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],c({background:"primary-600",backgroundHover:"primary-700",on:"white"}),c({background:"green-600",backgroundHover:"green-700",on:"white"}),c({background:"red-600",backgroundHover:"red-700",on:"white"}),c({background:"gray-300",backgroundHover:"gray-400",on:"black"})),l=a.forwardRef(((e,n)=>{let{variant:t="primary",children:r,...i}=e;return a.createElement(o.z,{ref:n,"data-variant":t},(e=>a.createElement(s,Object.assign({},e,i),r)))}));t(23824),t(31729);var d=t(63681),u=t(84234);const m=i.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=a.forwardRef(((e,n)=>a.createElement(m,Object.assign({ref:n,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=i.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],d.th.px(-9),d.th.px(9)),v=i.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),f=i.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),h=a.forwardRef(((e,n)=>a.createElement(f,Object.assign({ref:n,width:48,height:48},e)))),E=a.forwardRef(((e,n)=>a.createElement(u.X,Object.assign({ref:n,row:!0,my:-4,px:3},e)))),y=a.forwardRef(((e,n)=>a.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),b=i.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:4;font-size:48;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:60;"]))),w=i.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),C=(0,i.ZPm)(u.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,d.up)("xl",(0,i.ivY)(["margin-top:6;"]))),I=a.forwardRef(((e,n)=>{let{backgroundImageURL:t,...r}=e;return a.createElement(C,Object.assign({ref:n,backgroundImage:"url("+t+")"},r))})),k=a.forwardRef(((e,n)=>a.createElement(i.x.div,Object.assign({ref:n,w:{md:.5}},e)))),P=i.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),x=a.forwardRef(((e,n)=>a.createElement(i.x.div,Object.assign({ref:n,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),S=a.forwardRef(((e,n)=>a.createElement(i.x.div,Object.assign({ref:n,col:"auto",p:2},e))));var z=t(24956);const A=i.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),j=i.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),O=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,N=a.forwardRef(((e,n)=>a.createElement(A,{align:e.align||"center",className:e.visible},a.createElement(j,Object.assign({ref:n,src:O(e,(0,z.If)()[0])},e)))));t(15239),t(83160);const _=(0,i.ZPm)(i.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),T=a.forwardRef(((e,n)=>a.createElement(i.x.blockquote,Object.assign({ref:n,className:"quote"},e)))),H=a.forwardRef(((e,n)=>a.createElement(_,Object.assign({ref:n},e)))),M=a.forwardRef(((e,n)=>a.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),Z=i.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,d.up)("md",(0,i.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),R=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),B=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),D=i.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),F=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,W=a.forwardRef(((e,n)=>a.createElement(B,{className:e.className},a.createElement(D,Object.assign({ref:n,src:F(e,(0,z.If)()[0])},e))))),L=e=>{let{gist:n,file:t}=e;const r=(0,a.useRef)(null);(0,a.useEffect)((()=>{(async()=>{const e=t?"https://gist.githubusercontent.com/"+n+"/raw/"+t:"https://gist.githubusercontent.com/"+n+"/raw";try{const n=await fetch(e);if(n.ok){const e=22*(await n.text()).split("\n").length+40;r.current&&(r.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(a){console.error("Error fetching Gist content:",a)}})()}),[n,t]);const o=t?"https://gist.github.com/"+n+".pibb?file="+t:"https://gist.github.com/"+n+".pibb",i=t?"https://gist.github.com/"+n+"#file-"+t.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+n;return a.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},t&&a.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},a.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),a.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer"},t)),a.createElement("iframe",{title:t,ref:r,src:o,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js.map new file mode 100644 index 0000000..142221c --- /dev/null +++ b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js","mappings":"0LAIA,SAASA,EAAkBC,GACzB,MAAMC,EAAcC,OAAOC,OAAO,CAChCC,GAAI,KACJC,EAAG,IACHC,IAAK,MACLC,EAAG,IACHC,GAAI,KACJC,IAAK,MACLC,KAAM,OACNC,GAAI,KACJC,GAAI,KACJC,WAAY,eACXC,EAAAA,EAAAA,MAAsBd,EAAMe,YAC/B,OAAOC,EAAAA,cAAoBA,EAAAA,SAAgB,KAAMA,EAAAA,cAAoBf,EAAYG,GAAI,CACnFa,GAAI,0BACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBf,EAAYI,EAAG,CACpCe,KAAM,2BACN,aAAc,oCACdC,UAAW,iBACVL,EAAAA,cAAoBf,EAAYK,IAAK,CACtCgB,wBAAyB,CACvBC,OAAQ,meAEP,2BAA4B,KAAMP,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,kEAAmE,KAAMS,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,wHAAyH,KAAMS,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,qMAAsM,KAAMS,EAAAA,cAAoBf,EAAYO,GAAI,CACxlBS,GAAI,wDACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBf,EAAYI,EAAG,CACpCe,KAAM,yDACN,aAAc,kEACdC,UAAW,iBACVL,EAAAA,cAAoBf,EAAYK,IAAK,CACtCgB,wBAAyB,CACvBC,OAAQ,meAEP,yDAA0D,KAAMP,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,8EAA+ES,EAAAA,cAAoBf,EAAYI,EAAG,CAC9Ne,KAAM,qEACL,uBAAwB,qHAAsH,KAAMJ,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CACtOW,UAAW,kBACV,8OAA+O,KAAML,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,yCAA0C,KAAMS,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CAChaW,UAAW,gBACV,mcAAwc,KAAML,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,mEAAoE,KAAMS,EAAAA,cAAoBf,EAAYU,GAAI,KAAM,KAAMK,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,MAAOI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,UAAW,UAAWM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,sBAAuB,WAAYM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,WAAY,mBAAoBM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,MAAO,KAAMM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,YAAa,KAAMM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,UAAW,QAASM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,kBAAmB,YAAa,KAAMM,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,KAAMI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,WAAY,UAAWM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,6BAA8B,gBAAiBM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,sBAAuB,YAAa,KAAMM,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,QAASI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,WAAY,UAAWM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,uBAAwB,kCAAmCM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,6BAA8B,aAAc,KAAMM,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,4BAA6BI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,aAAc,UAAWM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,wBAAyB,oBAAqBM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,QAAS,UAAWM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,uBAAwB,aAAc,MAAO,KAAMM,EAAAA,cAAoBf,EAAYY,WAAY,KAAM,KAAMG,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,wIAAyI,MAAO,KAAMS,EAAAA,cAAoBf,EAAYO,GAAI,CACz4ES,GAAI,yCACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBf,EAAYI,EAAG,CACpCe,KAAM,0CACN,aAAc,mDACdC,UAAW,iBACVL,EAAAA,cAAoBf,EAAYK,IAAK,CACtCgB,wBAAyB,CACvBC,OAAQ,meAEP,0CAA2C,KAAMP,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,eAAgBS,EAAAA,cAAoBf,EAAYI,EAAG,CAChJe,KAAM,yHACL,mCAAoC,6DAA8D,KAAMJ,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,aAAcS,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,4BAA6B,gBAAiB,KAAMM,EAAAA,cAAoBf,EAAYU,GAAI,KAAM,KAAMK,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,OAAQI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,aAAc,yDAA0DM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,aAAc,KAAMM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,QAAS,KAAMM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,WAAY,OAAQM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,SAAU,kBAAmB,KAAMM,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,OAAQI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,kCAAmC,QAASM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,4BAA6B,qBAAsB,KAAMM,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,2FAA4F,KAAMI,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,aAAcI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,gBAAiB,KAAMM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,sBAAuB,QAASM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,sBAAuB,qCAAsC,KAAMM,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,aAAcI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,QAAS,OAAQM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,YAAa,OAAQM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,UAAW,qFAAsFM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,OAAQ,oEAAqEM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,YAAa,0BAA2B,MAAO,KAAMM,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CAC//DW,UAAW,gBACV,uuFAAosF,KAAML,EAAAA,cAAoBf,EAAYO,GAAI,CAC/uFS,GAAI,8CACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBf,EAAYI,EAAG,CACpCe,KAAM,+CACN,aAAc,wDACdC,UAAW,iBACVL,EAAAA,cAAoBf,EAAYK,IAAK,CACtCgB,wBAAyB,CACvBC,OAAQ,meAEP,+CAAgD,KAAMP,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,0IAA2I,KAAMS,EAAAA,cAAoBQ,EAAAA,GAAO,CAC9QC,IAAK,sGACLC,IAAK,6CACH,KAAMV,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,0jBAA2jB,KAAMM,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,sCAAuC,KAAMS,EAAAA,cAAoBf,EAAYU,GAAI,KAAM,KAAMK,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,YAAaI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,2BAA4B,+CAAgD,KAAMM,EAAAA,cAAoBf,EAAYW,GAAI,KAAM,OAAQI,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,0BAA2B,uEAAwEM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,2BAA4B,OAAQM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,mBAAoB,KAAM,MAAO,KAAMM,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CACh5CW,UAAW,iBACV,sRAAuR,KAAML,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CAC/WW,UAAW,iBACV,sLAAuL,KAAML,EAAAA,cAAoBf,EAAYO,GAAI,CAClOS,GAAI,gDACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBf,EAAYI,EAAG,CACpCe,KAAM,iDACN,aAAc,0DACdC,UAAW,iBACVL,EAAAA,cAAoBf,EAAYK,IAAK,CACtCgB,wBAAyB,CACvBC,OAAQ,meAEP,mDAAoD,KAAMP,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,6OAA8O,KAAMS,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CAC3aW,UAAW,iBACV,miBAAsiB,KAAML,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,oEAAqE,KAAMS,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CAClvBW,UAAW,iBACV,2mBAA4mB,KAAML,EAAAA,cAAoBf,EAAYO,GAAI,CACvpBS,GAAI,+DACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBf,EAAYI,EAAG,CACpCe,KAAM,gEACN,aAAc,yEACdC,UAAW,iBACVL,EAAAA,cAAoBf,EAAYK,IAAK,CACtCgB,wBAAyB,CACvBC,OAAQ,meAEP,gEAAiE,KAAMP,EAAAA,cAAoBf,EAAYM,EAAG,KAAM,mGAAoGS,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,mCAAoC,OAAQM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,QAAS,OAAQM,EAAAA,cAAoBf,EAAYS,KAAM,KAAM,8BAA+B,mEAAoE,KAAMM,EAAAA,cAAoBf,EAAYQ,IAAK,KAAMO,EAAAA,cAAoBf,EAAYS,KAAM,CACllBW,UAAW,iBACV,6sBACJ,CAKD,MAJA,SAAoBrB,QAAY,IAAZA,IAAAA,EAAQ,CAAC,GAC3B,MAAO2B,QAASC,GAAa1B,OAAOC,OAAO,CAAC,GAAGW,EAAAA,EAAAA,MAAsBd,EAAMe,YAC3E,OAAOa,EAAYZ,EAAAA,cAAoBY,EAAW5B,EAAOgB,EAAAA,cAAoBjB,EAAmBC,IAAUD,EAAkBC,EAC7H,EC7GD,SAAS6B,EAAT,GAAiC,IAAZ,SAACC,GAAWC,EAC/B,OAAOD,CACR,CAEc,SAASE,EAAiBhC,GACvC,OAAOgB,EAAAA,cAAoBa,EAAa7B,EAAOgB,EAAAA,cAAoBiB,EAAqBjC,GACzF,C,opBChBD,MAAMkC,EACJH,IAAAA,IAAC,WAAEI,EAAF,gBAAcC,EAAd,GAA+BC,GAAhCN,EAAAA,MACA,KACSO,EAAAA,EAAAA,KAAP,mJACsBH,EACXE,EAGaD,EACXC,EAIWD,EACXC,EAbf,EAkBIE,EAAcC,EAAAA,IAAAA,UAAAA,WAAH,+DAAGA,CAAH,8VAmBXN,EAAQ,CACRC,WAAY,cACZC,gBAAiB,cACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,YACZC,gBAAiB,YACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,UACZC,gBAAiB,UACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,WACZC,gBAAiB,WACjBC,GAAI,WAKGI,EAASzB,EAAAA,YACpB,CAAC,EAA6C0B,KAAS,IAAtD,QAAER,EAAU,UAAZ,SAAuBJ,KAAa9B,GAAiB2C,EACpD,OACE3B,EAAAA,cAAC4B,EAAAA,EAAD,CAAeF,IAAKA,EAAK,eAAcR,IACnCW,GACA7B,EAAAA,cAACuB,EAAD,iBAAiBM,EAAiB7C,GAC/B8B,IAJT,I,4CCtEJ,MAAMgB,EAAeN,EAAAA,IAAAA,IAAAA,WAAH,iEAAGA,CAAH,kIAQLO,EAAU/B,EAAAA,YAAiB,CAAChB,EAAO0C,IAC9C1B,EAAAA,cAAC8B,EAAD,eACEJ,IAAKA,EACLM,IAAK,CAAEC,GAAI,EAAGC,GAAI,EAAI,GACtBC,GAAI,EACJC,GAAI,EACJC,GAAI,CAAEJ,GAAI,EAAGC,GAAI,IACblD,MAIKsD,EAAed,EAAAA,IAAAA,GAAAA,WAAH,iEAAGA,CAAH,qHAMRe,EAAAA,GAAAA,IAAO,GACNA,EAAAA,GAAAA,GAAM,IAGXC,EAAchB,EAAAA,IAAAA,EAAAA,WAAH,gEAAGA,CAAH,2EAOlBiB,EAAoBjB,EAAAA,IAAAA,IAAAA,WAAH,sEAAGA,CAAH,mBAIVkB,EAAe1C,EAAAA,YAAiB,CAAChB,EAAO0C,IACnD1B,EAAAA,cAACyC,EAAD,eAAmBf,IAAKA,EAAKiB,MAAO,GAAIC,OAAQ,IAAQ5D,MAG7C6D,EAAc7C,EAAAA,YAAiB,CAAChB,EAAO0C,IAClD1B,EAAAA,cAAC8C,EAAAA,EAAD,eAAiBpB,IAAKA,EAAKqB,KAAG,EAACC,IAAK,EAAGb,GAAI,GAAOnD,MAGvCiE,EAAiBjD,EAAAA,YAAiB,CAAChB,EAAO0C,IACrD1B,EAAAA,cAACkD,EAAAA,EAAAA,QAAD,eACExB,IAAKA,EACLyB,GAAI,EACJC,UAAW,EACXC,aAAc,EACdC,YAAY,iBACRtE,MCzDKuE,EAAY/B,EAAAA,IAAAA,MAAAA,WAAH,2DAAGA,CAAH,8FAOlBgC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,kCAQFkC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAQOmC,EAAajC,EAAAA,IAAAA,KAAAA,WAAH,4DAAGA,CAAH,qCAInBgC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAOFkC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAQAoC,GAAYlC,EAAAA,EAAAA,KAAOsB,EAAAA,GAAVa,WAAA,2DAAGnC,CAAH,wIAOXgC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,2HAYFkC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAQOsC,EAAO5D,EAAAA,YAClB,CAAC,EAAkC0B,KAAS,IAA3C,mBAAEmC,KAAuB7E,GAAiB+B,EACzC,OACEf,EAAAA,cAAC0D,EAAD,eACEhC,IAAKA,EACLoC,gBAAe,OAASD,EAAT,KACX7E,GAJR,IAUS+E,EAAW/D,EAAAA,YAAiB,CAAChB,EAAO0C,IACxC1B,EAAAA,cAACkD,EAAAA,EAAAA,IAAD,eAAOxB,IAAKA,EAAKsC,EAAG,CAAE9B,GAAI,KAAWlD,MAGjCiF,EAAczC,EAAAA,IAAAA,WAAAA,WAAH,6DAAGA,CAAH,qDAMX0C,EAAiBlE,EAAAA,YAAiB,CAAChB,EAAO0C,IAEnD1B,EAAAA,cAACkD,EAAAA,EAAAA,IAAD,eACExB,IAAKA,EACLqB,KAAG,EACHoB,GAAI,EACJC,eAAgB,CAAEnC,GAAI,SAAUC,GAAI,YAChClD,MAKGqF,EAAarE,EAAAA,YAAiB,CAAChB,EAAO0C,IAC1C1B,EAAAA,cAACkD,EAAAA,EAAAA,IAAD,eAAOxB,IAAKA,EAAKM,IAAI,OAAOzC,EAAG,GAAOP,M,eCvG/C,MAAMsF,EAAiB9C,EAAAA,IAAAA,IAAAA,WAAH,iEAAGA,CAAH,qBACHxC,GAASA,EAAMuF,QAE1BC,EAAahD,EAAAA,IAAAA,IAAAA,WAAH,6DAAGA,CAAH,2BAGVf,EAAM,CAACzB,EAAOyF,IACK,SAAdA,EAAsBzF,EAAM0F,MAAQ1F,EAAMyB,IAAMzB,EAAM2F,OAAS3F,EAAMyB,IAEnED,EAAQR,EAAAA,YAAiB,CAAChB,EAAO0C,IAC1C1B,EAAAA,cAACsE,EAAD,CAAgBC,MAAOvF,EAAMuF,OAAS,SAAUlE,UAAWrB,EAAM4F,SAC7D5E,EAAAA,cAACwE,EAAD,eAAY9C,IAAKA,EAAKjB,IAAKA,EAAIzB,GAAO6F,EAAAA,EAAAA,MAAe,KAAS7F,O,kBCZtE,MAAM8F,GAAOtD,EAAAA,EAAAA,KAAO0B,EAAAA,EAAAA,MAAVS,WAAA,uDAAGnC,CAAH,qDAMGuD,EAAQ/E,EAAAA,YAAiB,CAAChB,EAAO0C,IACnC1B,EAAAA,cAACkD,EAAAA,EAAAA,WAAD,eAAcxB,IAAKA,EAAKrB,UAAU,SAAYrB,MAG5CgG,EAAchF,EAAAA,YAAiB,CAAChB,EAAO0C,IACzC1B,EAAAA,cAAC8E,EAAD,eAAMpD,IAAKA,GAAS1C,MCZlBiG,EAAqBjF,EAAAA,YAAiB,CAAChB,EAAO0C,IACvD1B,EAAAA,cAACkD,EAAAA,EAAAA,QAAD,eACIxB,IAAKA,EACLyB,GAAI,EACJC,UAAW,EACXC,aAAc,EACdC,YAAY,iBACRtE,MAICkG,EAAc1D,EAAAA,IAAAA,OAAAA,WAAH,uDAAGA,CAAH,wBAEpBgC,EAAAA,EAAAA,IACE,MACAlC,EAAAA,EAAAA,KAFC,CAAD,4KAaO6D,EAAkB3D,EAAAA,IAAAA,OAAAA,WAAH,wEAAGA,CAAH,gEAKxBgC,EAAAA,EAAAA,IACE,MACAlC,EAAAA,EAAAA,KAFC,CAAD,kDASFkC,EAAAA,EAAAA,IACE,MACAlC,EAAAA,EAAAA,KAFC,CAAD,oBAOA8D,EAA4B5D,EAAAA,IAAAA,OAAAA,WAAH,kFAAGA,CAAH,qCAKzBgD,EAAahD,EAAAA,IAAAA,OAAAA,WAAH,mEAAGA,CAAH,2BAKVf,EAAM,CAACzB,EAAOyF,IACG,SAAdA,EAAsBzF,EAAM0F,MAAQ1F,EAAMyB,IAAMzB,EAAM2F,OAAS3F,EAAMyB,IAEjE4E,EAAmBrF,EAAAA,YAAiB,CAAChB,EAAO0C,IACrD1B,EAAAA,cAACoF,EAAD,CAA2B/E,UAAWrB,EAAMqB,WAC1CL,EAAAA,cAACwE,EAAD,eAAY9C,IAAKA,EAAKjB,IAAKA,EAAIzB,GAAO6F,EAAAA,EAAAA,MAAe,KAAS7F,OC9D9DsG,EAAOvE,IAAqB,IAApB,KAAEwE,EAAF,KAAQC,GAAWzE,EAC/B,MAAM0E,GAAYC,EAAAA,EAAAA,QAAO,OAwBzBC,EAAAA,EAAAA,YAAU,KAtBeC,WACvB,MAAMC,EAAML,EAAI,sCAC0BD,EAD1B,QACsCC,EADtC,sCAE0BD,EAF1B,OAGhB,IACE,MAAMO,QAAiBC,MAAMF,GAC7B,GAAIC,EAASE,GAAI,CACf,MAGMpD,EADa,UAFAkD,EAASG,QACLC,MAAM,MAAMC,OAEK,GACpCV,EAAUW,UACZX,EAAUW,QAAQlG,MAAM0C,OAAYA,EAApC,KANJ,MASEyD,QAAQC,MAAM,+BAIjB,CAFC,MAAOA,GACPD,QAAQC,MAAM,+BAAgCA,EAC/C,GAIDC,EAAkB,GACjB,CAAChB,EAAMC,IAEV,MAAM/E,EAAM+E,EAAI,2BACeD,EADf,cACiCC,EADjC,2BAEeD,EAFf,QAIViB,EAAUhB,EAAI,2BACWD,EADX,SACwBC,EAAKiB,QAAQ,MAAO,KAAKC,cADjD,2BAEWnB,EAE/B,OACEvF,EAAAA,cAAAA,MAAAA,CAAKE,MAAO,CAAEyG,OAAQ,iBAAkBC,QAAS,aAAcC,aAAc,QAC1ErB,GACCxF,EAAAA,cAAAA,SAAAA,CAAQE,MAAO,CAAE4G,WAAY,OAAQC,UAAW,YAC9C/G,EAAAA,cAAAA,OAAAA,CAAMgH,KAAK,MAAM,aAAW,eAA5B,OACAhH,EAAAA,cAAAA,IAAAA,CAAGI,KAAMoG,EAASS,OAAO,SAASC,IAAI,uBACnC1B,IAIPxF,EAAAA,cAAAA,SAAAA,CACEmH,MAAO3B,EACP9D,IAAK+D,EACLhF,IAAKA,EACLkC,MAAM,OACNyE,YAAY,IACZlH,MAAO,CAAEmH,OAAQ,IAAKT,QAAS,OAhBrC,C","sources":["webpack://website/./pages/docs/SDK/ProducingEvents.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n h2: \"h2\",\n pre: \"pre\",\n code: \"code\",\n ul: \"ul\",\n li: \"li\",\n blockquote: \"blockquote\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"producing-domain-events\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#producing-domain-events\",\n \"aria-label\": \"producing domain events permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Producing Domain Events\"), \"\\n\", React.createElement(_components.p, null, \"Producing Domain Events with AsyncAPI and ZenWave Maven Plugin\"), \"\\n\", React.createElement(_components.p, null, \"In this section you will learn how to produce domain events from your services and publish them to a message broker.\"), \"\\n\", React.createElement(_components.p, null, \"We will be using AsyncAPI specification to define our message structure, and use ZenWave SDK Maven Plugin to generate models (DTOs) and a producer implementation from your API-First definition.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"using-zenwave-zdl-as-definition-language-for-asyncapi\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#using-zenwave-zdl-as-definition-language-for-asyncapi\",\n \"aria-label\": \"using zenwave zdl as definition language for asyncapi permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Using ZenWave ZDL as Definition Language for AsyncAPI\"), \"\\n\", React.createElement(_components.p, null, \"While AsyncAPI is the source of truth for Event-Driven communication, with \", React.createElement(_components.a, {\n href: \"https://zenwave360.github.io/zenwave-sdk/plugins/zdl-to-asyncapi/\"\n }, \"ZDLToAsyncAPIPlugin\"), \" plugins you can create complete draft version of AsyncAPI specification from your annotated Services and Events.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p io.zenwave360.sdk.plugins.ZDLToAsyncAPIPlugin \\\\\\r\\n specFile=src/main/resources/model/orders-model.zdl \\\\\\r\\n idType=integer \\\\\\r\\n idTypeFormat=int64 \\\\\\r\\n targetFile=src/main/resources/model/asyncapi.yml\\n\")), \"\\n\", React.createElement(_components.p, null, \"For instance the following ZDL model:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"service OrdersService for (CustomerOrder) {\\r\\n // only emited events will be included in the asyncapi definition\\r\\n updateOrder(id, CustomerOrderInput) CustomerOrder withEvents OrderStatusUpdated\\r\\n}\\r\\n\\r\\n@asyncapi({channel: \\\"OrderUpdatesChannel\\\", topic: \\\"orders.order_updates\\\"})\\r\\nevent OrderStatusUpdated {\\r\\n id String\\r\\n dateTime Instant required\\r\\n status OrderStatus required\\r\\n previousStatus OrderStatus\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"Will generate the following sections in an AsyncAPI definition:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"An \", React.createElement(_components.code, null, \"schema\"), \" named \", React.createElement(_components.code, null, \"OrderStatusUpdated\"), \" with a \", React.createElement(_components.code, null, \"payload\"), \" containing the \", React.createElement(_components.code, null, \"id\"), \", \", React.createElement(_components.code, null, \"dateTime\"), \", \", React.createElement(_components.code, null, \"status\"), \" and \", React.createElement(_components.code, null, \"previousStatus\"), \" fields.\"), \"\\n\", React.createElement(_components.li, null, \"A \", React.createElement(_components.code, null, \"message\"), \" named \", React.createElement(_components.code, null, \"OrderStatusUpdatedMessage\"), \" pointing to \", React.createElement(_components.code, null, \"OrderStatusUpdated\"), \" schema.\"), \"\\n\", React.createElement(_components.li, null, \"An a \", React.createElement(_components.code, null, \"Channel\"), \" named \", React.createElement(_components.code, null, \"OrderUpdatesChannel\"), \" containing a reference to the \", React.createElement(_components.code, null, \"OrderStatusUpdatedMessage\"), \" message.\"), \"\\n\", React.createElement(_components.li, null, \"It also will generate an \", React.createElement(_components.code, null, \"Operation\"), \" named \", React.createElement(_components.code, null, \"onOrderStatusUpdated\"), \" with and action \", React.createElement(_components.code, null, \"send\"), \"to the \", React.createElement(_components.code, null, \"OrderUpdatesChannel\"), \" channel.\"), \"\\n\"), \"\\n\", React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"💡 This is as a compact format as it can get!! Saving you a lot of typing and giving you very concise representation of your events.\"), \"\\n\"), \"\\n\", React.createElement(_components.h2, {\n id: \"api-first-code-generator-from-asyncapi\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#api-first-code-generator-from-asyncapi\",\n \"aria-label\": \"api first code generator from asyncapi permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"API-First Code Generator from AsyncAPI\"), \"\\n\", React.createElement(_components.p, null, \"You can use \", React.createElement(_components.a, {\n href: \"https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3/#maven-plugin-configuration-api-first\"\n }, \"API-First AsyncAPI Maven Plugin\"), \" to generate models (DTOs) and a producer implementation.\"), \"\\n\", React.createElement(_components.p, null, \"Configure \", React.createElement(_components.code, null, \"zenwave-sdk-maven-plugin\"), \" as follows:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Set \", React.createElement(_components.code, null, \"inputSpec\"), \" to point to your AsyncAPI specification. You can use \", React.createElement(_components.code, null, \"classpath\"), \", \", React.createElement(_components.code, null, \"file\"), \", \", React.createElement(_components.code, null, \"http(s)\"), \" or \", React.createElement(_components.code, null, \"https\"), \" as inputSpec.\"), \"\\n\", React.createElement(_components.li, null, \"Add \", React.createElement(_components.code, null, \"asyncapi-spring-cloud-streams3\"), \" and \", React.createElement(_components.code, null, \"asyncapi-jsonschema2pojo\"), \" as dependencies.\"), \"\\n\", React.createElement(_components.li, null, \"Add two executions to generate the models (DTOs) and an Events Producer implementation.\"), \"\\n\", React.createElement(_components.li, null, \"Configure \", React.createElement(_components.code, null, \"modelPackage\"), \", \", React.createElement(_components.code, null, \"producerApiPackage\"), \" and \", React.createElement(_components.code, null, \"consumerApiPackage\"), \" to match your project structure.\"), \"\\n\", React.createElement(_components.li, null, \"Configure \", React.createElement(_components.code, null, \"role\"), \" to \", React.createElement(_components.code, null, \"provider\"), \" or \", React.createElement(_components.code, null, \"client\"), \" if you are generating code from a third-party specification. If you are defining \", React.createElement(_components.code, null, \"all\"), \" the operations (client and provider) then you are acting as the \", React.createElement(_components.code, null, \"provider\"), \" which is the default.\"), \"\\n\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-xml\"\n }, \"\\r\\n io.github.zenwave360.zenwave-sdk\\r\\n zenwave-sdk-maven-plugin\\r\\n ${zenwave.version}\\r\\n \\r\\n classpath:/apis/asyncapi.yml\\r\\n true\\r\\n true\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n generate-asyncapi-provider-dtos\\r\\n generate-sources\\r\\n \\r\\n generate\\r\\n \\r\\n \\r\\n jsonschema2pojo\\r\\n \\r\\n ${basePackage}.core.domain.events\\r\\n true\\r\\n true\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n generate-asyncapi-provider-implementation\\r\\n generate-sources\\r\\n generate\\r\\n \\r\\n spring-cloud-streams3\\r\\n \\r\\n provider\\r\\n \\r\\n ${basePackage}.core.domain.events\\r\\n ${basePackage}.core.outbound.events\\r\\n ${basePackage}.adapters.commands\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-spring-cloud-streams3\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-jsonschema2pojo\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"producing-domain-events-with-generated-code\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#producing-domain-events-with-generated-code\",\n \"aria-label\": \"producing domain events with generated code permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Producing Domain Events with Generated Code\"), \"\\n\", React.createElement(_components.p, null, \"By default, ZenWave generates Spring Cloud Streams implementation that counts with different binders for virtually any message broker:\"), \"\\n\", React.createElement(Image, {\n src: \"https://zenwave360.github.io/zenwave-sdk/docs/ZenWave360-AsyncAPI-SpringCloudStreams.excalidraw.svg\",\n alt: \"ZenWave360 AsyncAPI Spring Cloud Streams\"\n }), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, null, \"📦 target/generated-sources/zenwave\\r\\n 📦 src/main/java\\r\\n └─ models (DTOs)\\r\\n └─ AddressDTO.java\\r\\n └─ CustomerDTO.java\\r\\n └─ \\r\\n └─ ICustomerEventsProducer (interface and header objects)\\r\\n └─ CustomerEventsProducer (spring-cloud-streams producer)\\r\\n 📦 src/test/java\\r\\n └─ \\r\\n └─ CustomerEventsProducerCaptor (in-memory producer/captor)\\r\\n └─ EventsProducerInMemoryContext (spring-boot/manual context)\\n\")), \"\\n\", React.createElement(_components.p, null, \"With this schema you just need to:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Autowire \", React.createElement(_components.code, null, \"ICustomerEventsProducer\"), \" wherever you would like to produce events.\"), \"\\n\", React.createElement(_components.li, null, \"Add \", React.createElement(_components.code, null, \"CustomerEventsProducer\"), \" to your Spring Boot context and set any required configuration for \", React.createElement(_components.code, null, \"spring.streams.bindings\"), \" in \", React.createElement(_components.code, null, \"application.yml\"), \".\"), \"\\n\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"public CustomerServiceImpl {\\r\\n @Autowired\\r\\n ICustomerEventsProducer eventsProducer;\\r\\n // ...\\r\\n public Customer createCustomer(Customer input) {\\r\\n // ...\\r\\n eventsProducer.onCustomerEvent(customerEvent);\\r\\n // ...\\r\\n }\\r\\n}\\n\")), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-yaml\"\n }, \"spring:\\r\\n stream:\\r\\n bindings:\\r\\n on-order-event-out-0: ## you can get this name from 'CustomerEventsProducer' class\\r\\n destination: orders.orders\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"inmemory-event-producer-captor-for-your-tests\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#inmemory-event-producer-captor-for-your-tests\",\n \"aria-label\": \"inmemory event producer captor for your tests permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"InMemory Event Producer (Captor) for your Tests\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK Maven Plugin will generate an in-memory implementation of your Events Producer that you can use in your tests to capture events and perform assertions on them. All this without a message broker, TestContainers or Mockito.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"@Configuration\\r\\n@Profile(\\\"in-memory\\\")\\r\\npublic class ServicesInMemoryConfig extends RepositoriesInMemoryConfig {\\r\\n\\r\\n\\tprotected final EventsProducerInMemoryContext eventsProducerInMemoryContext = new EventsProducerInMemoryContext();\\r\\n\\r\\n\\tprotected final CustomerServiceImpl customerService = new CustomerServiceImpl(\\r\\n customerRepository(),\\r\\n\\t\\t\\teventsProducerInMemoryContext.customerEventsProducer());\\r\\n\\r\\n\\t@Bean\\r\\n\\tpublic CustomerServiceImpl customerService() {\\r\\n\\t\\treturn customerService;\\r\\n\\t}\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"Now you can perform assertions on captured events in your tests:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"public class CustomerServiceTest {\\r\\n CustomerEventsProducerCaptor eventsProducerCaptor = serviceInMemoryContext.customerEventsProducerCaptor();\\r\\n\\r\\n\\t@Test\\r\\n\\tvoid createCustomerTest() {\\r\\n\\t\\tvar input = new Customer();\\r\\n\\t\\t// TODO fill input data\\r\\n\\r\\n\\t\\tvar customer = customerService.createCustomer(input);\\r\\n\\t\\tassertNotNull(customer.getId());\\r\\n\\r\\n // Assertions on captured events\\r\\n var customerEvents = eventsProducerCaptor.getCapturedMessages(eventsProducerCaptor.onCustomerEventBindingName);\\r\\n Assertions.assertEquals(1, customerEvents.size());\\r\\n\\t}\\r\\n}\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"letting-zenwave-sdk-include-event-producers-in-your-services\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#letting-zenwave-sdk-include-event-producers-in-your-services\",\n \"aria-label\": \"letting zenwave sdk include event producers in your services permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Letting ZenWave SDK Include Event Producers in Your Services\"), \"\\n\", React.createElement(_components.p, null, \"Because this depends on ZenWave AsyncAPI Plugins naming conventions, you need to explicitly set \", React.createElement(_components.code, null, \"includeEmitEventsImplementation\"), \" to \", React.createElement(_components.code, null, \"true\"), \" in \", React.createElement(_components.code, null, \"ZenWave SDK Backend Plugin\"), \" option to include event publishing code in your core services.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"// This will only be generated if includeEmitEventsImplementation is set to true\\r\\nprivate final EventsMapper eventsMapper = EventsMapper.INSTANCE;\\r\\nprivate final ICustomerEventsProducer eventsProducer;\\r\\n\\r\\n@Transactional\\r\\npublic Customer createCustomer(Customer input) {\\r\\n log.debug(\\\"Request to save Customer: {}\\\", input);\\r\\n var customer = customerServiceMapper.update(new Customer(), input);\\r\\n customer = customerRepository.save(customer);\\r\\n\\r\\n // This will only be generated if includeEmitEventsImplementation is set to true\\r\\n var customerEvent = eventsMapper.asCustomerEvent(customer);\\r\\n eventsProducer.onCustomerEvent(customerEvent);\\r\\n\\r\\n return customer;\\r\\n}\\n\")));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/SDK/ProducingEvents.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","h2","pre","code","ul","li","blockquote","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","Image","src","alt","wrapper","MDXLayout","DocTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js.map deleted file mode 100644 index bbce451..0000000 --- a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js","mappings":"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","sources":["webpack://website/./pages/docs/SDK/ProducingEvents.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n h2: \"h2\",\n pre: \"pre\",\n code: \"code\",\n ul: \"ul\",\n li: \"li\",\n blockquote: \"blockquote\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"producing-domain-events\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#producing-domain-events\",\n \"aria-label\": \"producing domain events permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Producing Domain Events\"), \"\\n\", React.createElement(_components.p, null, \"Producing Domain Events with AsyncAPI and ZenWave Maven Plugin\"), \"\\n\", React.createElement(_components.p, null, \"In this section you will learn how to produce domain events from your services and publish them to a message broker.\"), \"\\n\", React.createElement(_components.p, null, \"We will be using AsyncAPI specification to define our message structure, and use ZenWave SDK Maven Plugin to generate models (DTOs) and a producer implementation from your API-First definition.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"using-zenwave-zdl-as-definition-language-for-asyncapi\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#using-zenwave-zdl-as-definition-language-for-asyncapi\",\n \"aria-label\": \"using zenwave zdl as definition language for asyncapi permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Using ZenWave ZDL as Definition Language for AsyncAPI\"), \"\\n\", React.createElement(_components.p, null, \"While AsyncAPI is the source of truth for Event-Driven communication, with \", React.createElement(_components.a, {\n href: \"https://zenwave360.github.io/zenwave-sdk/plugins/zdl-to-asyncapi/\"\n }, \"ZDLToAsyncAPIPlugin\"), \" plugins you can create complete draft version of AsyncAPI specification from your annotated Services and Events.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p io.zenwave360.sdk.plugins.ZDLToAsyncAPIPlugin \\\\\\r\\n specFile=src/main/resources/model/orders-model.zdl \\\\\\r\\n idType=integer \\\\\\r\\n idTypeFormat=int64 \\\\\\r\\n targetFile=src/main/resources/model/asyncapi.yml\\n\")), \"\\n\", React.createElement(_components.p, null, \"For instance the following ZDL model:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"service OrdersService for (CustomerOrder) {\\r\\n // only emited events will be included in the asyncapi definition\\r\\n updateOrder(id, CustomerOrderInput) CustomerOrder withEvents OrderStatusUpdated\\r\\n}\\r\\n\\r\\n@asyncapi({channel: \\\"OrderUpdatesChannel\\\", topic: \\\"orders.order_updates\\\"})\\r\\nevent OrderStatusUpdated {\\r\\n id String\\r\\n dateTime Instant required\\r\\n status OrderStatus required\\r\\n previousStatus OrderStatus\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"Will generate the following sections in an AsyncAPI definition:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"An \", React.createElement(_components.code, null, \"schema\"), \" named \", React.createElement(_components.code, null, \"OrderStatusUpdated\"), \" with a \", React.createElement(_components.code, null, \"payload\"), \" containing the \", React.createElement(_components.code, null, \"id\"), \", \", React.createElement(_components.code, null, \"dateTime\"), \", \", React.createElement(_components.code, null, \"status\"), \" and \", React.createElement(_components.code, null, \"previousStatus\"), \" fields.\"), \"\\n\", React.createElement(_components.li, null, \"A \", React.createElement(_components.code, null, \"message\"), \" named \", React.createElement(_components.code, null, \"OrderStatusUpdatedMessage\"), \" pointing to \", React.createElement(_components.code, null, \"OrderStatusUpdated\"), \" schema.\"), \"\\n\", React.createElement(_components.li, null, \"An a \", React.createElement(_components.code, null, \"Channel\"), \" named \", React.createElement(_components.code, null, \"OrderUpdatesChannel\"), \" containing a reference to the \", React.createElement(_components.code, null, \"OrderStatusUpdatedMessage\"), \" message.\"), \"\\n\", React.createElement(_components.li, null, \"It also will generate an \", React.createElement(_components.code, null, \"Operation\"), \" named \", React.createElement(_components.code, null, \"onOrderStatusUpdated\"), \" with and action \", React.createElement(_components.code, null, \"send\"), \"to the \", React.createElement(_components.code, null, \"OrderUpdatesChannel\"), \" channel.\"), \"\\n\"), \"\\n\", React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"💡 This is as a compact format as it can get!! Saving you a lot of typing and giving you very concise representation of your events.\"), \"\\n\"), \"\\n\", React.createElement(_components.h2, {\n id: \"api-first-code-generator-from-asyncapi\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#api-first-code-generator-from-asyncapi\",\n \"aria-label\": \"api first code generator from asyncapi permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"API-First Code Generator from AsyncAPI\"), \"\\n\", React.createElement(_components.p, null, \"You can use \", React.createElement(_components.a, {\n href: \"https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3/#maven-plugin-configuration-api-first\"\n }, \"API-First AsyncAPI Maven Plugin\"), \" to generate models (DTOs) and a producer implementation.\"), \"\\n\", React.createElement(_components.p, null, \"Configure \", React.createElement(_components.code, null, \"zenwave-sdk-maven-plugin\"), \" as follows:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Set \", React.createElement(_components.code, null, \"inputSpec\"), \" to point to your AsyncAPI specification. You can use \", React.createElement(_components.code, null, \"classpath\"), \", \", React.createElement(_components.code, null, \"file\"), \", \", React.createElement(_components.code, null, \"http(s)\"), \" or \", React.createElement(_components.code, null, \"https\"), \" as inputSpec.\"), \"\\n\", React.createElement(_components.li, null, \"Add \", React.createElement(_components.code, null, \"asyncapi-spring-cloud-streams3\"), \" and \", React.createElement(_components.code, null, \"asyncapi-jsonschema2pojo\"), \" as dependencies.\"), \"\\n\", React.createElement(_components.li, null, \"Add two executions to generate the models (DTOs) and an Events Producer implementation.\"), \"\\n\", React.createElement(_components.li, null, \"Configure \", React.createElement(_components.code, null, \"modelPackage\"), \", \", React.createElement(_components.code, null, \"producerApiPackage\"), \" and \", React.createElement(_components.code, null, \"consumerApiPackage\"), \" to match your project structure.\"), \"\\n\", React.createElement(_components.li, null, \"Configure \", React.createElement(_components.code, null, \"role\"), \" to \", React.createElement(_components.code, null, \"provider\"), \" or \", React.createElement(_components.code, null, \"client\"), \" if you are generating code from a third-party specification. If you are defining \", React.createElement(_components.code, null, \"all\"), \" the operations (client and provider) then you are acting as the \", React.createElement(_components.code, null, \"provider\"), \" which is the default.\"), \"\\n\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-xml\"\n }, \"\\r\\n io.github.zenwave360.zenwave-sdk\\r\\n zenwave-sdk-maven-plugin\\r\\n ${zenwave.version}\\r\\n \\r\\n classpath:/apis/asyncapi.yml\\r\\n true\\r\\n true\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n generate-asyncapi-provider-dtos\\r\\n generate-sources\\r\\n \\r\\n generate\\r\\n \\r\\n \\r\\n jsonschema2pojo\\r\\n \\r\\n ${basePackage}.core.domain.events\\r\\n true\\r\\n true\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n generate-asyncapi-provider-implementation\\r\\n generate-sources\\r\\n generate\\r\\n \\r\\n spring-cloud-streams3\\r\\n \\r\\n provider\\r\\n \\r\\n ${basePackage}.core.domain.events\\r\\n ${basePackage}.core.outbound.events\\r\\n ${basePackage}.adapters.commands\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-spring-cloud-streams3\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-jsonschema2pojo\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"producing-domain-events-with-generated-code\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#producing-domain-events-with-generated-code\",\n \"aria-label\": \"producing domain events with generated code permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Producing Domain Events with Generated Code\"), \"\\n\", React.createElement(_components.p, null, \"By default, ZenWave generates Spring Cloud Streams implementation that counts with different binders for virtually any message broker:\"), \"\\n\", React.createElement(Image, {\n src: \"https://zenwave360.github.io/zenwave-sdk/docs/ZenWave360-AsyncAPI-SpringCloudStreams.excalidraw.svg\",\n alt: \"ZenWave360 AsyncAPI Spring Cloud Streams\"\n }), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, null, \"📦 target/generated-sources/zenwave\\r\\n 📦 src/main/java\\r\\n └─ models (DTOs)\\r\\n └─ AddressDTO.java\\r\\n └─ CustomerDTO.java\\r\\n └─ \\r\\n └─ ICustomerEventsProducer (interface and header objects)\\r\\n └─ CustomerEventsProducer (spring-cloud-streams producer)\\r\\n 📦 src/test/java\\r\\n └─ \\r\\n └─ CustomerEventsProducerCaptor (in-memory producer/captor)\\r\\n └─ EventsProducerInMemoryContext (spring-boot/manual context)\\n\")), \"\\n\", React.createElement(_components.p, null, \"With this schema you just need to:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Autowire \", React.createElement(_components.code, null, \"ICustomerEventsProducer\"), \" wherever you would like to produce events.\"), \"\\n\", React.createElement(_components.li, null, \"Add \", React.createElement(_components.code, null, \"CustomerEventsProducer\"), \" to your Spring Boot context and set any required configuration for \", React.createElement(_components.code, null, \"spring.streams.bindings\"), \" in \", React.createElement(_components.code, null, \"application.yml\"), \".\"), \"\\n\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"public CustomerServiceImpl {\\r\\n @Autowired\\r\\n ICustomerEventsProducer eventsProducer;\\r\\n // ...\\r\\n public Customer createCustomer(Customer input) {\\r\\n // ...\\r\\n eventsProducer.onCustomerEvent(customerEvent);\\r\\n // ...\\r\\n }\\r\\n}\\n\")), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-yaml\"\n }, \"spring:\\r\\n stream:\\r\\n bindings:\\r\\n on-order-event-out-0: ## you can get this name from 'CustomerEventsProducer' class\\r\\n destination: orders.orders\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"inmemory-event-producer-captor-for-your-tests\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#inmemory-event-producer-captor-for-your-tests\",\n \"aria-label\": \"inmemory event producer captor for your tests permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"InMemory Event Producer (Captor) for your Tests\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK Maven Plugin will generate an in-memory implementation of your Events Producer that you can use in your tests to capture events and perform assertions on them. All this without a message broker, TestContainers or Mockito.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"@Configuration\\r\\n@Profile(\\\"in-memory\\\")\\r\\npublic class ServicesInMemoryConfig extends RepositoriesInMemoryConfig {\\r\\n\\r\\n\\tprotected final EventsProducerInMemoryContext eventsProducerInMemoryContext = new EventsProducerInMemoryContext();\\r\\n\\r\\n\\tprotected final CustomerServiceImpl customerService = new CustomerServiceImpl(\\r\\n customerRepository(),\\r\\n\\t\\t\\teventsProducerInMemoryContext.customerEventsProducer());\\r\\n\\r\\n\\t@Bean\\r\\n\\tpublic CustomerServiceImpl customerService() {\\r\\n\\t\\treturn customerService;\\r\\n\\t}\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"Now you can perform assertions on captured events in your tests:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"public class CustomerServiceTest {\\r\\n CustomerEventsProducerCaptor eventsProducerCaptor = serviceInMemoryContext.customerEventsProducerCaptor();\\r\\n\\r\\n\\t@Test\\r\\n\\tvoid createCustomerTest() {\\r\\n\\t\\tvar input = new Customer();\\r\\n\\t\\t// TODO fill input data\\r\\n\\r\\n\\t\\tvar customer = customerService.createCustomer(input);\\r\\n\\t\\tassertNotNull(customer.getId());\\r\\n\\r\\n // Assertions on captured events\\r\\n var customerEvents = eventsProducerCaptor.getCapturedMessages(eventsProducerCaptor.onCustomerEventBindingName);\\r\\n Assertions.assertEquals(1, customerEvents.size());\\r\\n\\t}\\r\\n}\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"letting-zenwave-sdk-include-event-producers-in-your-services\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#letting-zenwave-sdk-include-event-producers-in-your-services\",\n \"aria-label\": \"letting zenwave sdk include event producers in your services permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Letting ZenWave SDK Include Event Producers in Your Services\"), \"\\n\", React.createElement(_components.p, null, \"Because this depends on ZenWave AsyncAPI Plugins naming conventions, you need to explicitly set \", React.createElement(_components.code, null, \"includeEmitEventsImplementation\"), \" to \", React.createElement(_components.code, null, \"true\"), \" in \", React.createElement(_components.code, null, \"ZenWave SDK Backend Plugin\"), \" option to include event publishing code in your core services.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-java\"\n }, \"// This will only be generated if includeEmitEventsImplementation is set to true\\r\\nprivate final EventsMapper eventsMapper = EventsMapper.INSTANCE;\\r\\nprivate final ICustomerEventsProducer eventsProducer;\\r\\n\\r\\n@Transactional\\r\\npublic Customer createCustomer(Customer input) {\\r\\n log.debug(\\\"Request to save Customer: {}\\\", input);\\r\\n var customer = customerServiceMapper.update(new Customer(), input);\\r\\n customer = customerRepository.save(customer);\\r\\n\\r\\n // This will only be generated if includeEmitEventsImplementation is set to true\\r\\n var customerEvent = eventsMapper.asCustomerEvent(customer);\\r\\n eventsProducer.onCustomerEvent(customerEvent);\\r\\n\\r\\n return customer;\\r\\n}\\n\")));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/SDK/ProducingEvents.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","h2","pre","code","ul","li","blockquote","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","Image","src","alt","wrapper","MDXLayout","DocTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js.map deleted file mode 100644 index 617e342..0000000 --- a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js","mappings":"0LAAA,EAAe,IAA0B,yECAzC,EAAe,IAA0B,0E,WCAzC,G,SAAe,IAA0B,gECAzC,EAAe,IAA0B,gECAzC,EAAe,IAA0B,iFCAzC,EAAe,IAA0B,gFCAzC,EAAe,IAA0B,iECczC,SAASA,EAAkBC,GACzB,MAAMC,EAAcC,OAAOC,OAAO,CAChCC,GAAI,KACJC,EAAG,IACHC,IAAK,MACLC,EAAG,IACHC,IAAK,MACLC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,OAAQ,SACRC,GAAI,KACJC,GAAI,KACJC,IAAK,MACLC,KAAM,OACNC,WAAY,aACZC,GAAI,KACJC,MAAO,QACPC,IAAK,QACJC,EAAAA,EAAAA,MAAsBrB,EAAMsB,YAC/B,OAAOC,EAAAA,cAAoBA,EAAAA,SAAgB,KAAMA,EAAAA,cAAoBtB,EAAYG,GAAI,CACnFoB,GAAI,cACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBtB,EAAYI,EAAG,CACpCsB,KAAM,eACN,aAAc,wBACdC,UAAW,iBACVL,EAAAA,cAAoBtB,EAAYK,IAAK,CACtCuB,wBAAyB,CACvBC,OAAQ,meAEP,eAAgB,KAAMP,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,4DAA6D,KAAMgB,EAAAA,cAAoB,MAAO,CAChKQ,MAAO,UACNR,EAAAA,cAAoBtB,EAAYM,EAAG,KAAMgB,EAAAA,cAAoBtB,EAAYI,EAAG,CAC7EsB,KAAM,kFACLJ,EAAAA,cAAoBtB,EAAYO,IAAK,CACtCwB,IAAK,iIACLC,IAAK,mBACF,OAAQV,EAAAA,cAAoBtB,EAAYI,EAAG,CAC9CsB,KAAM,sDACLJ,EAAAA,cAAoBtB,EAAYO,IAAK,CACtCwB,IAAK,6EACLC,IAAK,qCACF,OAAQV,EAAAA,cAAoBtB,EAAYI,EAAG,CAC9CsB,KAAM,yEACLJ,EAAAA,cAAoBtB,EAAYO,IAAK,CACtCwB,IAAK,sEACLC,IAAK,WACF,OAAQV,EAAAA,cAAoBtB,EAAYI,EAAG,CAC9CsB,KAAM,yEACLJ,EAAAA,cAAoBtB,EAAYO,IAAK,CACtCwB,IAAK,6EACLC,IAAK,cACF,OAAQV,EAAAA,cAAoBtB,EAAYI,EAAG,CAC9CsB,KAAM,yEACLJ,EAAAA,cAAoBtB,EAAYO,IAAK,CACtCwB,IAAK,+EACLC,IAAK,uBACF,OAAQV,EAAAA,cAAoBtB,EAAYI,EAAG,CAC9CsB,KAAM,+DACLJ,EAAAA,cAAoBtB,EAAYO,IAAK,CACtCwB,IAAK,+DACLC,IAAK,cACA,KAAMV,EAAAA,cAAoBW,EAAAA,GAAO,KAAMX,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,+JAAgKgB,EAAAA,cAAoBY,EAAAA,GAAa,KAAM,0CAA2C,KAAMZ,EAAAA,cAAoBa,EAAAA,GAAO,CACxWH,IAAK,iCACLI,MAAOC,EACPC,KAAMC,IACJ,KAAMjB,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,iDAAkDgB,EAAAA,cAAoB,SAAU,CACjIK,UAAW,UACV,iBAAkB,qCAAsC,KAAML,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,kMAAmMgB,EAAAA,cAAoBtB,EAAYI,EAAG,CAC9UsB,KAAM,gBACL,eAAgB,mCAAoC,KAAMJ,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,YAAagB,EAAAA,cAAoB,SAAU,CAC/IK,UAAW,UACV,8BAA+B,QAASL,EAAAA,cAAoB,SAAU,CACvEK,UAAW,UACV,aAAc,mBAAoBL,EAAAA,cAAoB,SAAU,CACjEK,UAAW,UACV,8BAA+B,KAAM,KAAML,EAAAA,cAAoBa,EAAAA,GAAO,CACvEH,IAAK,sBACLM,KAAME,EACNJ,MAAOK,EACPjB,MAAO,CACLkB,UAAW,UAEX,KAAMpB,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,2EAA4E,KAAMgB,EAAAA,cAAoBtB,EAAYQ,GAAI,KAAM,KAAMc,EAAAA,cAAoBtB,EAAYS,GAAI,KAAMa,EAAAA,cAAoBtB,EAAYI,EAAG,CAChQsB,KAAM,qDACL,uBAAwB,OAAQJ,EAAAA,cAAoB,SAAU,CAC/DK,UAAW,UACV,uBAAwB,4IAA6I,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,KAAMa,EAAAA,cAAoBtB,EAAYI,EAAG,CACzPsB,KAAM,qEACL,YAAa,+FAAgG,KAAMJ,EAAAA,cAAoBtB,EAAYS,GAAI,KAAMa,EAAAA,cAAoBtB,EAAYI,EAAG,CACjMsB,KAAM,qCACL,WAAY,0EAA2E,MAAO,KAAMJ,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,oCAAqCgB,EAAAA,cAAoB,SAAU,CACjNK,UAAW,UACV,uBAAwB,+IAAgJ,KAAML,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,yCAA0CgB,EAAAA,cAAoBtB,EAAYU,GAAI,KAAM,mBAAoB,OAAQY,EAAAA,cAAoBtB,EAAYI,EAAG,CAC3WsB,KAAM,uCACL,kCAAmC,2DAA4D,KAAMJ,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,gCAAiCgB,EAAAA,cAAoBtB,EAAYW,OAAQ,KAAM,uBAAwB,QAASW,EAAAA,cAAoB,SAAU,CAC7RK,UAAW,UACV,sBAAuB,QAASL,EAAAA,cAAoB,SAAU,CAC/DK,UAAW,UACV,aAAc,eAAgBL,EAAAA,cAAoBtB,EAAYW,OAAQ,KAAM,YAAa,QAASW,EAAAA,cAAoBtB,EAAYW,OAAQ,KAAM,WAAY,uDAAwDW,EAAAA,cAAoB,SAAU,CACnPK,UAAW,UACV,uBAAwB,KAAM,KAAML,EAAAA,cAAoBtB,EAAYQ,GAAI,KAAM,KAAMc,EAAAA,cAAoBtB,EAAYS,GAAI,KAAMa,EAAAA,cAAoB,SAAU,CAC7JK,UAAW,UACV,yDAA0D,+CAAgD,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,KAAMa,EAAAA,cAAoB,SAAU,CACzLK,UAAW,UACV,8CAA+C,2FAA4F,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,KAAMa,EAAAA,cAAoB,SAAU,CAC1NK,UAAW,UACV,gBAAiB,iBAAkBL,EAAAA,cAAoBtB,EAAYU,GAAI,KAAM,YAAa,4EAA6E,MAAO,KAAMY,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,uHAAwH,KAAMgB,EAAAA,cAAoBtB,EAAYY,GAAI,CAChYW,GAAI,2BACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBtB,EAAYI,EAAG,CACpCsB,KAAM,4BACN,aAAc,qCACdC,UAAW,iBACVL,EAAAA,cAAoBtB,EAAYK,IAAK,CACtCuB,wBAAyB,CACvBC,OAAQ,meAEP,4BAA6B,KAAMP,EAAAA,cAAoBtB,EAAYa,GAAI,CAC1EU,GAAI,6BACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBtB,EAAYI,EAAG,CACpCsB,KAAM,8BACN,aAAc,uCACdC,UAAW,iBACVL,EAAAA,cAAoBtB,EAAYK,IAAK,CACtCuB,wBAAyB,CACvBC,OAAQ,meAEP,gCAAiC,KAAMP,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,4CAA6CgB,EAAAA,cAAoBtB,EAAYI,EAAG,CACnKsB,KAAM,yBACL,SAAU,mCAAoC,KAAMJ,EAAAA,cAAoBtB,EAAYc,IAAK,KAAMQ,EAAAA,cAAoBtB,EAAYe,KAAM,CACtIY,UAAW,kBACV,uGAAwG,KAAML,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,gDAAiD,KAAMgB,EAAAA,cAAoBtB,EAAYc,IAAK,KAAMQ,EAAAA,cAAoBtB,EAAYe,KAAM,CAChSY,UAAW,gBACV,+tEAAkuE,KAAML,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,2EAA4EgB,EAAAA,cAAoBtB,EAAYI,EAAG,CACj4EsB,KAAM,mFACL,+CAAgD,KAAM,KAAMJ,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,mBAAoBgB,EAAAA,cAAoBtB,EAAYI,EAAG,CAC7JsB,KAAM,8CACLJ,EAAAA,cAAoBtB,EAAYW,OAAQ,KAAM,gBAAiB,4CAA6C,KAAMW,EAAAA,cAAoBtB,EAAYa,GAAI,CACvJU,GAAI,eACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBtB,EAAYI,EAAG,CACpCsB,KAAM,gBACN,aAAc,yBACdC,UAAW,iBACVL,EAAAA,cAAoBtB,EAAYK,IAAK,CACtCuB,wBAAyB,CACvBC,OAAQ,meAEP,gBAAiB,KAAMP,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,6GAA8G,KAAMgB,EAAAA,cAAoB,UAAW,KAAMA,EAAAA,cAAoB,UAAW,KAAM,+CAAgDA,EAAAA,cAAoBtB,EAAYc,IAAK,KAAMQ,EAAAA,cAAoBtB,EAAYe,KAAM,CAClYY,UAAW,gBACV,8xDAA2vDL,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,6KAA8KgB,EAAAA,cAAoBtB,EAAYe,KAAM,KAAM,2DAA4D,KAAMO,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,oEAAqE,KAAMgB,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,WAAYgB,EAAAA,cAAoBtB,EAAYI,EAAG,CAC7wEsB,KAAM,mFACL,8BAA+B,kDAAmD,KAAMJ,EAAAA,cAAoBtB,EAAYY,GAAI,CAC7HW,GAAI,uBACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBtB,EAAYI,EAAG,CACpCsB,KAAM,wBACN,aAAc,iCACdC,UAAW,iBACVL,EAAAA,cAAoBtB,EAAYK,IAAK,CACtCuB,wBAAyB,CACvBC,OAAQ,meAEP,wBAAyB,KAAMP,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,4FAA6F,KAAMgB,EAAAA,cAAoBtB,EAAYgB,WAAY,KAAM,KAAMM,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,4JAA6J,MAAO,KAAMgB,EAAAA,cAAoBtB,EAAYiB,GAAI,KAAM,KAAMK,EAAAA,cAAoBtB,EAAYS,GAAI,KAAM,YAAaa,EAAAA,cAAoB,SAAU,CAC9jBK,UAAW,UACV,wBAAyB,0GAA2G,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,KAAM,cAAea,EAAAA,cAAoB,SAAU,CAClOK,UAAW,UACV,+CAAgD,4HAA6H,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,KAAM,cAAea,EAAAA,cAAoB,SAAU,CAC3QK,UAAW,UACV,6BAA8B,+PAAgQ,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,KAAM,cAAea,EAAAA,cAAoB,SAAU,CAC5XK,UAAW,UACV,gCAAiC,uCAAwC,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,KAAM,qHAAsH,KAAMa,EAAAA,cAAoBtB,EAAYS,GAAI,KAAM,YAAaa,EAAAA,cAAoB,SAAU,CAC3UK,UAAW,UACV,iDAAkD,2CAA4C,MAAO,KAAML,EAAAA,cAAoBa,EAAAA,GAAO,CACvIH,IAAK,+BACLI,MAAOO,EACPL,KAAMM,IACJ,KAAMtB,EAAAA,cAAoB,UAAW,CACvCuB,SAAU,KACTvB,EAAAA,cAAoB,UAAW,KAAM,uDAAwDA,EAAAA,cAAoBtB,EAAYQ,GAAI,CAClImB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,4DAA6D,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC9GmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,oBAAqB,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACtEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,UAAW,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC5DmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,gCAAiC,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAClFkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,sCAAuC,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACxFkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,sDAAuD,MAAO,MAAO,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACtHkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,6FAA8F,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAC/IkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,YAAa,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC9DmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,cAAe,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAChEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNE,UAAU,IACR,IAAK1B,EAAAA,cAAoBtB,EAAYmB,IAAK,KAAM,mBAAoB,MAAO,MAAO,KAAMG,EAAAA,cAAoBtB,EAAYS,GAAI,CAC9HkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,UAAW,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC5DmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,UAAW,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC5DmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,cAAe,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAChEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNE,UAAU,IACR,IAAK1B,EAAAA,cAAoBtB,EAAYmB,IAAK,KAAM,aAAc,MAAO,MAAO,KAAMG,EAAAA,cAAoBtB,EAAYS,GAAI,CACxHkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,MAAO,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CACxDmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,cAAe,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAChEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNE,UAAU,IACR,IAAK1B,EAAAA,cAAoBtB,EAAYmB,IAAK,KAAM,aAAc,MAAO,MAAO,MAAO,MAAO,KAAMG,EAAAA,cAAoBtB,EAAYS,GAAI,CACtIkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,2BAA4B,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC7EmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,qGAAsG,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACvJkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,oFAAqF1B,EAAAA,cAAoBtB,EAAYU,GAAI,KAAM,iBAAkB,KAAMY,EAAAA,cAAoBtB,EAAYS,GAAI,CAClMkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,qGAAsG,MAAO,MAAO,MAAO,MAAO,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACnLkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,2BAA4B,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAC7EkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,mCAAoC,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACrFkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,iCAAkC,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CACnFmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,kDAAmD,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CACpGmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,kDAAmD,MAAO,MAAO,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAClHkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,6CAA8C,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC/FmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,eAAgB,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACjEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,YAAa,MAAO,MAAO,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAC5EkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,8BAA+B,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAChFkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,oFAAqF,MAAO,MAAO,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACpJkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,eAAgB,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CACjEmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,kBAAmB,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACpEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,kBAAmB,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CACpEmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,oBAAqB,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACtEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,gBAAiB,MAAO,MAAO,MAAO,MAAO,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAC9FkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,cAAe,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAChEmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,YAAa,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC9DmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,2CAA4C1B,EAAAA,cAAoBtB,EAAYI,EAAG,CACtFsB,KAAM,4CACL,8BAA+B,aAAc,KAAMJ,EAAAA,cAAoBtB,EAAYS,GAAI,CACxFkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,wDAAyD1B,EAAAA,cAAoBtB,EAAYI,EAAG,CACnGsB,KAAM,4CACL,8BAA+B,QAASJ,EAAAA,cAAoBtB,EAAYI,EAAG,CAC5EsB,KAAM,iDACL,mBAAoB,aAAc,MAAO,MAAO,KAAMJ,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3FkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,mCAAoC,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACrFkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,2BAA4B,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CAC7EkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNE,UAAU,IACR,IAAK1B,EAAAA,cAAoBtB,EAAYmB,IAAK,KAAM,oBAAqBG,EAAAA,cAAoBtB,EAAYU,GAAI,KAAM,sBAAuB,MAAO,MAAO,MAAO,KAAMY,EAAAA,cAAoBtB,EAAYS,GAAI,CACvMkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,uBAAwB,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CACzEmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,iBAAkB,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACnEkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,aAAc,KAAM1B,EAAAA,cAAoBtB,EAAYQ,GAAI,CAC/DmB,UAAW,sBACV,KAAML,EAAAA,cAAoBtB,EAAYS,GAAI,CAC3CkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,mCAAoC,KAAM1B,EAAAA,cAAoBtB,EAAYS,GAAI,CACrFkB,UAAW,kBACVL,EAAAA,cAAoBtB,EAAYkB,MAAO,CACxC4B,KAAM,WACNC,SAAS,EACTC,UAAU,IACR,IAAK,mBAAoB,MAAO,MAAO,MAAO,MAAO,OAAQ,KAAM1B,EAAAA,cAAoBtB,EAAYY,GAAI,CACzGW,GAAI,2BACJC,MAAO,CACLC,SAAU,aAEXH,EAAAA,cAAoBtB,EAAYI,EAAG,CACpCsB,KAAM,4BACN,aAAc,qCACdC,UAAW,iBACVL,EAAAA,cAAoBtB,EAAYK,IAAK,CACtCuB,wBAAyB,CACvBC,OAAQ,meAEP,4BAA6B,KAAMP,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,4BAA6BgB,EAAAA,cAAoB,SAAU,CAC1IK,UAAW,UACV,yCAA0C,6FAA8F,KAAML,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,iHAAkHgB,EAAAA,cAAoB,SAAU,CACxUK,UAAW,UACV,2CAA4C,wBAAyB,KAAML,EAAAA,cAAoBa,EAAAA,GAAO,CACvGH,IAAK,iCACLD,IAAKkB,EAAAA,IACH,KAAM3B,EAAAA,cAAoBtB,EAAYM,EAAG,KAAM,sBAAuB,KAAMgB,EAAAA,cAAoBtB,EAAYc,IAAK,KAAMQ,EAAAA,cAAoBtB,EAAYe,KAAM,KAAM,m5BAAo5B,KAAMO,EAAAA,cAAoB,IAAK,CACxlCI,KAAMwB,GACL5B,EAAAA,cAAoBa,EAAAA,GAAO,CAC5BH,IAAK,wCACLD,IAAKmB,KAER,CAKD,MAJA,SAAoBnD,QAAY,IAAZA,IAAAA,EAAQ,CAAC,GAC3B,MAAOoD,QAASC,GAAanD,OAAOC,OAAO,CAAC,GAAGkB,EAAAA,EAAAA,MAAsBrB,EAAMsB,YAC3E,OAAO+B,EAAY9B,EAAAA,cAAoB8B,EAAWrD,EAAOuB,EAAAA,cAAoBxB,EAAmBC,IAAUD,EAAkBC,EAC7H,ECliBD,SAASsD,EAAT,GAAiC,IAAZ,SAACC,GAAWC,EAC/B,OAAOD,CACR,CAEc,SAASE,EAAiBzD,GACvC,OAAOuB,EAAAA,cAAoB+B,EAAatD,EAAOuB,EAAAA,cAAoBmC,EAAqB1D,GACzF,C,6nBChBD,MAAM2D,EACJH,IAAAA,IAAC,WAAEI,EAAF,gBAAcC,EAAd,GAA+BC,GAAhCN,EAAAA,MACA,KACSO,EAAAA,EAAAA,KAAP,mJACsBH,EACXE,EAGaD,EACXC,EAIWD,EACXC,EAbf,EAkBIE,EAAcC,EAAAA,IAAAA,UAAAA,WAAH,+DAAGA,CAAH,8VAmBXN,EAAQ,CACRC,WAAY,cACZC,gBAAiB,cACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,YACZC,gBAAiB,YACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,UACZC,gBAAiB,UACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,WACZC,gBAAiB,WACjBC,GAAI,WAKGI,EAAS3C,EAAAA,YACpB,CAAC,EAA6C4C,KAAS,IAAtD,QAAER,EAAU,UAAZ,SAAuBJ,KAAavD,GAAiBoE,EACpD,OACE7C,EAAAA,cAAC8C,EAAAA,EAAD,CAAeF,IAAKA,EAAK,eAAcR,IACnCW,GACA/C,EAAAA,cAACyC,EAAD,iBAAiBM,EAAiBtE,GAC/BuD,IAJT,I,4CCtEJ,MAAMgB,EAAeN,EAAAA,IAAAA,IAAAA,WAAH,iEAAGA,CAAH,kIAQLO,EAAUjD,EAAAA,YAAiB,CAACvB,EAAOmE,IAC9C5C,EAAAA,cAACgD,EAAD,eACEJ,IAAKA,EACLM,IAAK,CAAEC,GAAI,EAAGC,GAAI,EAAI,GACtBC,GAAI,EACJC,GAAI,EACJC,GAAI,CAAEJ,GAAI,EAAGC,GAAI,IACb3E,MAIK+E,EAAed,EAAAA,IAAAA,GAAAA,WAAH,iEAAGA,CAAH,qHAMRe,EAAAA,GAAAA,IAAO,GACNA,EAAAA,GAAAA,GAAM,IAGXC,EAAchB,EAAAA,IAAAA,EAAAA,WAAH,gEAAGA,CAAH,2EAOlBiB,EAAoBjB,EAAAA,IAAAA,IAAAA,WAAH,sEAAGA,CAAH,mBAIVkB,EAAe5D,EAAAA,YAAiB,CAACvB,EAAOmE,IACnD5C,EAAAA,cAAC2D,EAAD,eAAmBf,IAAKA,EAAKiB,MAAO,GAAIC,OAAQ,IAAQrF,MAG7CsF,EAAc/D,EAAAA,YAAiB,CAACvB,EAAOmE,IAClD5C,EAAAA,cAACgE,EAAAA,EAAD,eAAiBpB,IAAKA,EAAKqB,KAAG,EAACC,IAAK,EAAGb,GAAI,GAAO5E,MAGvC0F,EAAiBnE,EAAAA,YAAiB,CAACvB,EAAOmE,IACrD5C,EAAAA,cAACoE,EAAAA,EAAAA,QAAD,eACExB,IAAKA,EACLyB,GAAI,EACJC,UAAW,EACXC,aAAc,EACdC,YAAY,iBACR/F,MCzDKgG,EAAY/B,EAAAA,IAAAA,MAAAA,WAAH,2DAAGA,CAAH,8FAOlBgC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,kCAQFkC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAQOmC,EAAajC,EAAAA,IAAAA,KAAAA,WAAH,4DAAGA,CAAH,qCAInBgC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAOFkC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAQAoC,GAAYlC,EAAAA,EAAAA,KAAOsB,EAAAA,GAAVa,WAAA,2DAAGnC,CAAH,wIAOXgC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,2HAYFkC,EAAAA,EAAAA,IACA,MACAlC,EAAAA,EAAAA,KAFG,CAAD,oBAQOsC,EAAO9E,EAAAA,YAClB,CAAC,EAAkC4C,KAAS,IAA3C,mBAAEmC,KAAuBtG,GAAiBwD,EACzC,OACEjC,EAAAA,cAAC4E,EAAD,eACEhC,IAAKA,EACLoC,gBAAe,OAASD,EAAT,KACXtG,GAJR,IAUSwG,EAAWjF,EAAAA,YAAiB,CAACvB,EAAOmE,IACxC5C,EAAAA,cAACoE,EAAAA,EAAAA,IAAD,eAAOxB,IAAKA,EAAKsC,EAAG,CAAE9B,GAAI,KAAW3E,MAGjC0G,EAAczC,EAAAA,IAAAA,WAAAA,WAAH,6DAAGA,CAAH,qDAMX0C,EAAiBpF,EAAAA,YAAiB,CAACvB,EAAOmE,IAEnD5C,EAAAA,cAACoE,EAAAA,EAAAA,IAAD,eACExB,IAAKA,EACLqB,KAAG,EACHoB,GAAI,EACJC,eAAgB,CAAEnC,GAAI,SAAUC,GAAI,YAChC3E,MAKG8G,EAAavF,EAAAA,YAAiB,CAACvB,EAAOmE,IAC1C5C,EAAAA,cAACoE,EAAAA,EAAAA,IAAD,eAAOxB,IAAKA,EAAKM,IAAI,OAAOlE,EAAG,GAAOP,M,eCvG/C,MAAM+G,EAAiB9C,EAAAA,IAAAA,IAAAA,WAAH,iEAAGA,CAAH,qBACHjE,GAASA,EAAMgH,QAE1BC,EAAahD,EAAAA,IAAAA,IAAAA,WAAH,6DAAGA,CAAH,2BAGVjC,EAAM,CAAChC,EAAOkH,IACK,SAAdA,EAAsBlH,EAAMuC,MAAQvC,EAAMgC,IAAMhC,EAAMqC,OAASrC,EAAMgC,IAEnEI,EAAQb,EAAAA,YAAiB,CAACvB,EAAOmE,IAC1C5C,EAAAA,cAACwF,EAAD,CAAgBC,MAAOhH,EAAMgH,OAAS,SAAUpF,UAAW5B,EAAMmH,SAC7D5F,EAAAA,cAAC0F,EAAD,eAAY9C,IAAKA,EAAKnC,IAAKA,EAAIhC,GAAOoH,EAAAA,EAAAA,MAAe,KAASpH,O,kBCZtE,MAAMqH,GAAOpD,EAAAA,EAAAA,KAAO0B,EAAAA,EAAAA,MAAVS,WAAA,uDAAGnC,CAAH,qDAMG/B,EAAQX,EAAAA,YAAiB,CAACvB,EAAOmE,IACnC5C,EAAAA,cAACoE,EAAAA,EAAAA,WAAD,eAAcxB,IAAKA,EAAKvC,UAAU,SAAY5B,MAG5CmC,EAAcZ,EAAAA,YAAiB,CAACvB,EAAOmE,IACzC5C,EAAAA,cAAC8F,EAAD,eAAMlD,IAAKA,GAASnE,MCZlBsH,EAAqB/F,EAAAA,YAAiB,CAACvB,EAAOmE,IACvD5C,EAAAA,cAACoE,EAAAA,EAAAA,QAAD,eACIxB,IAAKA,EACLyB,GAAI,EACJC,UAAW,EACXC,aAAc,EACdC,YAAY,iBACR/F,MAICuH,EAActD,EAAAA,IAAAA,OAAAA,WAAH,uDAAGA,CAAH,wBAEpBgC,EAAAA,EAAAA,IACE,MACAlC,EAAAA,EAAAA,KAFC,CAAD,4KAaOyD,EAAkBvD,EAAAA,IAAAA,OAAAA,WAAH,wEAAGA,CAAH,gEAKxBgC,EAAAA,EAAAA,IACE,MACAlC,EAAAA,EAAAA,KAFC,CAAD,kDASFkC,EAAAA,EAAAA,IACE,MACAlC,EAAAA,EAAAA,KAFC,CAAD,oBAOA0D,EAA4BxD,EAAAA,IAAAA,OAAAA,WAAH,kFAAGA,CAAH,qCAKzBgD,EAAahD,EAAAA,IAAAA,OAAAA,WAAH,mEAAGA,CAAH,2BAKVjC,EAAM,CAAChC,EAAOkH,IACG,SAAdA,EAAsBlH,EAAMuC,MAAQvC,EAAMgC,IAAMhC,EAAMqC,OAASrC,EAAMgC,IAEjE0F,EAAmBnG,EAAAA,YAAiB,CAACvB,EAAOmE,IACrD5C,EAAAA,cAACkG,EAAD,CAA2B7F,UAAW5B,EAAM4B,WAC1CL,EAAAA,cAAC0F,EAAD,eAAY9C,IAAKA,EAAKnC,IAAKA,EAAIhC,GAAOoH,EAAAA,EAAAA,MAAe,KAASpH,M,wBCjEpE,IAAe,IAA0B,sF,wBCA1B,G","sources":["webpack://website/./pages/docs/SDK/images/SDK-ModelingLanguages.dark.png","webpack://website/./pages/docs/SDK/images/SDK-ModelingLanguages.light.png","webpack://website/./pages/docs/SDK/images/SDK-MindMap.dark.png","webpack://website/./pages/docs/SDK/images/SDK-MindMap.light.png","webpack://website/./pages/docs/SDK/images/ZenWave-SDK-Design-Code-Loop.light.png","webpack://website/./pages/docs/SDK/images/ZenWave-SDK-Design-Code-Loop.dark.png","webpack://website/./pages/docs/SDK/images/SDK-Generated-Code.png","webpack://website/./pages/docs/SDK/ZenWaveSDK.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/./pages/docs/SDK/images/SDK-ServiceImplementation-Hexagonal.dark.png","webpack://website/./pages/docs/SDK/images/SDK-ServiceImplementation-Hexagonal.light.png"],"sourcesContent":["export default __webpack_public_path__ + \"static/SDK-ModelingLanguages.dark-8c38c3425c66678f30e03ae344d7efa5.png\";","export default __webpack_public_path__ + \"static/SDK-ModelingLanguages.light-5ce43d2a0d73dfea6beed173035a17b1.png\";","export default __webpack_public_path__ + \"static/SDK-MindMap.dark-6e3facb7161823c4f526c8e63f1423bd.png\";","export default __webpack_public_path__ + \"static/SDK-MindMap.light-cb5646225ccdd6b4e02e804475f5d9dc.png\";","export default __webpack_public_path__ + \"static/ZenWave-SDK-Design-Code-Loop.light-8895761fbb21542d5b2c564f7614b590.png\";","export default __webpack_public_path__ + \"static/ZenWave-SDK-Design-Code-Loop.dark-475a45be0974497ccd4d749c50396bdd.png\";","export default __webpack_public_path__ + \"static/SDK-Generated-Code-b9a8a8596ae71be86d3a9d8e5764ac21.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport modelingLanguagesDark from './images/SDK-ModelingLanguages.dark.png';\nimport modelingLanguagesLight from './images/SDK-ModelingLanguages.light.png';\nimport sdkHexagonalDark from './images/SDK-ServiceImplementation-Hexagonal.dark.png';\nimport sdkHexagonalLight from './images/SDK-ServiceImplementation-Hexagonal.light.png';\nimport sdkMindMapDark from './images/SDK-MindMap.dark.png';\nimport sdkMindMapLight from './images/SDK-MindMap.light.png';\nimport speedFeedbackLoopLight from './images/ZenWave-SDK-Design-Code-Loop.light.png';\nimport speedFeedbackLoopDark from './images/ZenWave-SDK-Design-Code-Loop.dark.png';\nimport sdkGeneratedCode from './images/SDK-Generated-Code.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n img: \"img\",\n ul: \"ul\",\n li: \"li\",\n em: \"em\",\n strong: \"strong\",\n h2: \"h2\",\n h3: \"h3\",\n pre: \"pre\",\n code: \"code\",\n blockquote: \"blockquote\",\n ol: \"ol\",\n input: \"input\",\n del: \"del\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"zenwave-sdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk\",\n \"aria-label\": \"zenwave sdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK Helps you Create Software Easy to Understand\"), \"\\n\", React.createElement(\"div\", {\n class: \"badges\"\n }, React.createElement(_components.p, null, React.createElement(_components.a, {\n href: \"https://search.maven.org/artifact/io.github.zenwave360.zenwave-sdk/zenwave-sdk\"\n }, React.createElement(_components.img, {\n src: \"https://img.shields.io/maven-central/v/io.github.zenwave360.zenwave-sdk/zenwave-sdk.svg?label=Maven%20Central&logo=apachemaven\",\n alt: \"Maven Central\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/releases\"\n }, React.createElement(_components.img, {\n src: \"https://img.shields.io/github/v/release/ZenWave360/zenwave-sdk?logo=GitHub\",\n alt: \"GitHub release (latest by date)\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml\"\n }, React.createElement(_components.img, {\n src: \"https://github.com/ZenWave360/zenwave-sdk/workflows/build/badge.svg\",\n alt: \"build\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml\"\n }, React.createElement(_components.img, {\n src: \"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/jacoco.svg\",\n alt: \"coverage\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml\"\n }, React.createElement(_components.img, {\n src: \"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/branches.svg\",\n alt: \"branches coverage\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/blob/main/LICENSE\"\n }, React.createElement(_components.img, {\n src: \"https://img.shields.io/github/license/ZenWave360/zenwave-sdk\",\n alt: \"GitHub\"\n })))), \"\\n\", React.createElement(Quote, null, React.createElement(_components.p, null, \"The heart of software is its ability to solve domain-related problems for its users. The best software supports elegant solutions to real-world problems\\r\\n\", React.createElement(QuoteAuthor, null, \"- Eric Evans in Domain Driven Design\"))), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave SDK Modeling Languages\",\n light: modelingLanguagesLight,\n dark: modelingLanguagesDark\n }), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK is a set of tools to convert your \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain Models\"), \" into working software and tests.\"), \"\\n\", React.createElement(_components.p, null, \"It is designed to be modular, configurable and extensible. It uses the standard java classpath as loading mechanism, so you can extend its functionality adding your own custom plugins. Visit \", React.createElement(_components.a, {\n href: \"/zenwave-sdk\"\n }, \"ZenWave SDK\"), \" for all configuration options.\"), \"\\n\", React.createElement(_components.p, null, \"Based on \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain Driven Design (DDD)\"), \" and \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First\"), \" principles for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Event Driven Microservices\"), \".\"), \"\\n\", React.createElement(Image, {\n alt: \"Speed Feedback Loop\",\n dark: speedFeedbackLoopDark,\n light: speedFeedbackLoopLight,\n style: {\n marginTop: '15px'\n }\n }), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK can generate code from a mix of different models including:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, React.createElement(_components.a, {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL Domain Language\"), \" as \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Ubiquitous Language\"), \". You can describe the core of your Bounded Context, as well as how it connects to external systems through different adapters and APIs.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(_components.a, {\n href: \"https://www.asyncapi.com/docs/getting-started/coming-from-openapi\"\n }, \"AsyncAPI\"), \": Industry de-facto standard to describe Event-Driven Architectures for Message-based APIs.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(_components.a, {\n href: \"https://swagger.io/specification/\"\n }, \"OpenAPI\"), \": Industry standard for Request-Response Architectures with REST APIs.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Using ZenWave Domain Language as \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Ubiquitous Language\"), \" for modeling and describing Bounded Contexts: aggregates, entities with their relationships, services, value objects, commands and events.\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave Domain Language started as an \", React.createElement(_components.em, null, \"extended subset\"), \" of \", React.createElement(_components.a, {\n href: \"https://www.jhipster.tech/jdl/intro\"\n }, \"JHipster Domain Language (JDL)\"), \" that let you describe your entities and relationships.\"), \"\\n\", React.createElement(_components.p, null, \"Using ZDL Domain Language as \", React.createElement(_components.strong, null, \"Ubiquitous Language\"), \" for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Data on the Inside\"), \" and \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First\"), \" specs like \", React.createElement(_components.strong, null, \"AsyncAPI\"), \" and \", React.createElement(_components.strong, null, \"OpenAPI\"), \" to describe Inter Process Communications (IPC) for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Data on the Outside\"), \".\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZenWave Domain Language (ZDL) as Ubiquitous Language:\"), \" To describe your domain core domain model.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First specs like AsyncAPI and OpenAPI:\"), \" to describe Inter Process Communications (IPC) between bounded contexts/microservices.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZenWave SDK:\"), \" to generate (\", React.createElement(_components.em, null, \"a lot of\"), \") infrastructure, functional and testing code from your models and APIs.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK is designed to be easily extensible and adaptable to your project or your organization needs and likes.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-installation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-installation\",\n \"aria-label\": \"zenwave sdk installation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Installation\"), \"\\n\", React.createElement(_components.h3, {\n id: \"command-line-interface-cli\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#command-line-interface-cli\",\n \"aria-label\": \"command line interface cli permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Command Line Interface (CLI)\"), \"\\n\", React.createElement(_components.p, null, \"You can install the latest release using \", React.createElement(_components.a, {\n href: \"https://www.jbang.dev\"\n }, \"jbang\"), \" running the following command:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\\r\\n\\r\\njbang zw --help list\\r\\n\\n\")), \"\\n\", React.createElement(_components.p, null, \"Will output a list of all available plugins:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-log\"\n }, \"ZW> SDK (1.4.0)\\r\\n\\r\\nAvailable plugins:\\r\\n\\r\\nbackend-application-default io.zenwave360.sdk.plugins.BackendApplicationDefaultPlugin: Generates a full backend application using a flexible hexagonal architecture (1.4.0)\\r\\nspring-cloud-streams3-adapters io.zenwave360.sdk.plugins.SpringCloudStreams3AdaptersPlugin: Generates tests for Spring Cloud Streams Consumers. (1.4.0)\\r\\njdl-to-asyncapi io.zenwave360.sdk.plugins.JDLToAsyncAPIPlugin: Generates a full AsyncAPI definitions for CRUD operations from JDL models (1.4.0)\\r\\nspring-webtestclient io.zenwave360.sdk.plugins.SpringWebTestClientPlugin: Generates test for SpringMVC or Spring WebFlux using WebTestClient based on OpenAPI specification. (1.4.0)\\r\\nfork-plugin io.zenwave360.sdk.plugins.ForkPlugin: Creates a new standalone maven module cloning an existing plugin (1.4.0)\\r\\njsonschema2pojo io.zenwave360.sdk.plugins.AsyncApiJsonSchema2PojoPlugin: Generate Plain Old Java Objects from OpenAPI/AsyncAPI schemas or full JSON-Schema files (1.4.0)\\r\\nopenapi-controllers io.zenwave360.sdk.plugins.OpenAPIControllersPlugin: Generates implementations based on ZDL models and OpenAPI definitions SpringMVC generated OpenAPI interfaces. (1.4.0)\\r\\nopenapi-to-jdl io.zenwave360.sdk.plugins.OpenAPIToJDLPlugin: Generates JDL model from OpenAPI schemas (1.4.0)\\r\\nspring-cloud-streams3 io.zenwave360.sdk.plugins.SpringCloudStreams3Plugin: Generates strongly typed SpringCloudStreams3 producer/consumer classes for AsyncAPI (1.4.0)\\r\\nrest-assured io.zenwave360.sdk.plugins.RestAssuredPlugin: Generates REST-Assured tests based on OpenAPI specification. (1.4.0)\\r\\nzdl-to-openapi io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin: Generates a draft OpenAPI definitions from your ZDL entities and services. (1.4.0)\\r\\nzdl-to-markdown io.zenwave360.sdk.plugins.ZdlToMarkdownPlugin: Generates Markdown glossary from Zdl Models (1.4.0)\\r\\nzdl-to-asyncapi io.zenwave360.sdk.plugins.ZDLToAsyncAPIPlugin: Generates a draft AsyncAPI file with events from your ZDL services. (1.4.0)\\r\\n\\r\\nUse: \\\"jbang zw -p -h\\\" to get help on a specific plugin\\n\")), \"\\n\", React.createElement(_components.p, null, \"If you don't find the functionality you are looking for, you can always \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/#forking-an-standard-or-custom-plugin\"\n }, \"fork an existing, standard or custom plugin\"), \".\"), \"\\n\", React.createElement(_components.p, null, \"Please refer to \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/\"\n }, React.createElement(_components.strong, null, \"ZenWave SDK\")), \" for more detailed installation options.\"), \"\\n\", React.createElement(_components.h3, {\n id: \"maven-plugin\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#maven-plugin\",\n \"aria-label\": \"maven plugin permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Maven Plugin\"), \"\\n\", React.createElement(_components.p, null, \"You can run any available (standard or custom) plugin as part of your maven build using the maven plugin:\"), \"\\n\", React.createElement(\"details\", null, React.createElement(\"summary\", null, \"Click to see the maven plugin configuration\"), React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-xml\"\n }, \"\\r\\n io.github.zenwave360.zenwave-sdk\\r\\n zenwave-sdk-maven-plugin\\r\\n ${zenwave.version}\\r\\n \\r\\n false\\r\\n true\\r\\n true\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n generate-asyncapi\\r\\n generate-sources\\r\\n \\r\\n generate\\r\\n \\r\\n \\r\\n spring-cloud-streams3\\r\\n classpath:model/asyncapi.yml\\r\\n \\r\\n \\r\\n value\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-spring-cloud-streams3\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-jsonschema2pojo\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n\\n\")), React.createElement(_components.p, null, \"Notice how you can read spec files from the project classpath as well as the filesystem. If you want to read a spec file from inside a project dependency remember to set \", React.createElement(_components.code, null, \"true\"), \".\"), React.createElement(_components.p, null, \"NOTE: Remember to add any plugin you want to use as dependency.\")), \"\\n\", React.createElement(_components.p, null, \"Jump to \", React.createElement(_components.a, {\n href: \"https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3\"\n }, \"ZenWave AsyncAPI Generator\"), \" for multiple examples using the maven plugin.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-workflow\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-workflow\",\n \"aria-label\": \"zenwave sdk workflow permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Workflow\"), \"\\n\", React.createElement(_components.p, null, \"You can generate complete Event Driven Microservices using DDD and API-First principles:\"), \"\\n\", React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"👉 Describe your Domain Model ⤳ Generate OpenAPI ⤳ Generate AsyncAPI → Generate API Implementations → Generate Backend → Generate Tests and Contracts 👍\"), \"\\n\"), \"\\n\", React.createElement(_components.ol, null, \"\\n\", React.createElement(_components.li, null, \"Start by \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Modeling your Domain\"), \" using the ZDL Domain Language including: entities, relationships, service commands and domain events.\"), \"\\n\", React.createElement(_components.li, null, \"Generate a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"draft OpenAPI definition from the ZDL model\"), \". Edit collaboratively this OpenAPI document and then generate some more functional code and tests from that definition.\"), \"\\n\", React.createElement(_components.li, null, \"Generate a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"draft AsyncAPI definition\"), \" for consuming async request commands and publishing domain events. Now use zenwave maven plugin to generate strongly typed business interfaces implementing some Enterprise Integration Patterns like: transactional outbox, business dead letter queue...\"), \"\\n\", React.createElement(_components.li, null, \"Generate a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"complete Backend Application\"), \" from your Domain Definition Model.\"), \"\\n\", React.createElement(_components.li, null, \"Connect (by hand) your Backend Application to other systems using the generated OpenAPI and AsyncAPI definitions.\"), \"\\n\", React.createElement(_components.li, null, \"Generate \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"E2E, Integration tests and Consumer Contracts\"), \" for the public APIs you just produced.\"), \"\\n\"), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave SDK Features MindMap\",\n light: sdkMindMapLight,\n dark: sdkMindMapDark\n }), \"\\n\", React.createElement(\"details\", {\n markdown: \"1\"\n }, React.createElement(\"summary\", null, \"ZenWave SDK Code Generator Features (expand to see)\"), React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL Backend Application (flexible hexagonal architecture)\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Domain Entities,\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Inbound\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Service Ports, DTOs, Mappers\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Implementation for CRUD operations\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Acceptance Tests: SpringData InMemory Repositories\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Outbound: SpringData Repositories, ElasticSearch... (for REST or Async see other plugins)\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Adapters:\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Spring MVC\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"Spring WebFlux\")), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Flavors\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"MongoDB\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Imperative\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"Reactive\")), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JPA\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Imperative\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"Reactive\")), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Unit/Integration Testing\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Edge Integration Testing: partial spring-boot context for outbound adapters (with testcontainers)\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Sociable Vertical Testing: manual dependency setup with in memory infrastructure \", React.createElement(_components.em, null, \"test-doubles\")), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Vertical Integration Testing: full spring-boot context for inbound adapters (with testcontainers)\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL OpenAPI Controllers\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Spring WebTestClient\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"AsyncAPI Spring Cloud Streams3\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Consumer and Producer. Imperative and Reactive.\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Business Exceptions Dead Letter Queues Routing\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Producer with Transactional Outbox pattern\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"For MongoDB\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"For JDBC\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Enterprise Envelop Pattern\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Automatically fill headers at runtime from payload paths, tracing-id supplier...\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL to Specs\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL to OpenAPI\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL to AsyncAPI\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"AsyncAPI schemas\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"AVRO schemas\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"API Testing\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"KarateDSL\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Karate E2E Tests (please use \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/karate-ide\"\n }, \"KarateIDE VSCode Extension\"), \" instead)\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Karate/ApiMock Stateful Mocks (please use \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/karate-ide\"\n }, \"KarateIDE VSCode Extension\"), \" and \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-apimock\"\n }, \"ZenWave ApiMock\"), \" instead)\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Spring WebTestClient\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to REST-assured\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"OpenAPI to Pact (\", React.createElement(_components.em, null, \"postponed sine die\"), \")\")), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Reverser Engineering\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI 2 JDL\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Java 2 JDL\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Spring Data MongoDB annotations\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JPA annotations\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"generated-code-structure\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#generated-code-structure\",\n \"aria-label\": \"generated code structure permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Generated Code Structure\"), \"\\n\", React.createElement(_components.p, null, \"Generated code follows a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"flexible onion/hexagonal architecture\"), \". Separating core, inbound, implementation and outbound form infrastructure and adapters.\"), \"\\n\", React.createElement(_components.p, null, \"Core domain entities and aggregates are annotated for persistence with JPA or SpringData/MongoDB annotations, \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"avoiding unnecessary translation layers\"), \" (mappers and dtos).\"), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave SDK Modeling Languages\",\n src: sdkHexagonalDark\n }), \"\\n\", React.createElement(_components.p, null, \"Project structure:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, null, \"📦 \\r\\n 📦 adapters\\r\\n └─ web\\r\\n | └─ RestControllers (spring mvc)\\r\\n └─ events\\r\\n └─ *EventListeners (spring-cloud-streams)\\r\\n 📦 core\\r\\n ├─ 📦 domain\\r\\n | └─ (entities and aggregates)\\r\\n ├─ 📦 inbound\\r\\n | ├─ dtos/\\r\\n | └─ ServiceInterface (inbound service interface)\\r\\n ├─ 📦 outbound\\r\\n | ├─ mongodb\\r\\n | | └─ *RepositoryInterface (spring-data interface)\\r\\n | └─ jpa\\r\\n | └─ *RepositoryInterface (spring-data interface)\\r\\n └─ 📦 implementation\\r\\n ├─ mappers/\\r\\n └─ ServiceImplementation (inbound service implementation)\\r\\n 📦 infrastructure\\r\\n ├─ mongodb\\r\\n | └─ CustomRepositoryImpl (spring-data custom implementation)\\r\\n └─ jpa\\r\\n └─ CustomRepositoryImpl (spring-data custom implementation)\\n\")), \"\\n\", React.createElement(\"a\", {\n href: sdkGeneratedCode\n }, React.createElement(Image, {\n alt: \"ZenWave SDK Generated Code Screenshot\",\n src: sdkGeneratedCode\n })));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/SDK/ZenWaveSDK.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","export default __webpack_public_path__ + \"static/SDK-ServiceImplementation-Hexagonal.dark-1e003d6d4387f39bced4fc4a9694d7c8.png\";","export default __webpack_public_path__ + \"static/SDK-ServiceImplementation-Hexagonal.light-2ee85e2f86731a12068268ad214ab826.png\";"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","img","ul","li","em","strong","h2","h3","pre","code","blockquote","ol","input","del","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","class","src","alt","Quote","QuoteAuthor","Image","light","modelingLanguagesLight","dark","modelingLanguagesDark","speedFeedbackLoopDark","speedFeedbackLoopLight","marginTop","sdkMindMapLight","sdkMindMapDark","markdown","type","checked","disabled","sdkHexagonalDark","sdkGeneratedCode","wrapper","MDXLayout","DocTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","visible","useColorMode","Cite","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js similarity index 79% rename from component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js rename to component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js index 2d12bfb..f70b437 100644 --- a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js +++ b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[772],{86587:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var a=n(27378),r=n(20951),i=n(97702),s=n.p+"static/SDK-ModelingLanguages.dark-8c38c3425c66678f30e03ae344d7efa5.png",l=n.p+"static/SDK-ModelingLanguages.light-5ce43d2a0d73dfea6beed173035a17b1.png",c=n(91399),o=(n(11926),n.p+"static/SDK-MindMap.dark-6e3facb7161823c4f526c8e63f1423bd.png"),d=n.p+"static/SDK-MindMap.light-cb5646225ccdd6b4e02e804475f5d9dc.png",m=n.p+"static/ZenWave-SDK-Design-Code-Loop.light-8895761fbb21542d5b2c564f7614b590.png",u=n.p+"static/ZenWave-SDK-Design-Code-Loop.dark-475a45be0974497ccd4d749c50396bdd.png",p=n.p+"static/SDK-Generated-Code-b9a8a8596ae71be86d3a9d8e5764ac21.png";function g(e){const t=Object.assign({h1:"h1",a:"a",div:"div",p:"p",img:"img",ul:"ul",li:"li",em:"em",strong:"strong",h2:"h2",h3:"h3",pre:"pre",code:"code",blockquote:"blockquote",ol:"ol",input:"input",del:"del"},(0,r.ah)(),e.components);return a.createElement(a.Fragment,null,a.createElement(t.h1,{id:"zenwave-sdk",style:{position:"relative"}},a.createElement(t.a,{href:"#zenwave-sdk","aria-label":"zenwave sdk permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK"),"\n",a.createElement(t.p,null,"ZenWave SDK Helps you Create Software Easy to Understand"),"\n",a.createElement("div",{class:"badges"},a.createElement(t.p,null,a.createElement(t.a,{href:"https://search.maven.org/artifact/io.github.zenwave360.zenwave-sdk/zenwave-sdk"},a.createElement(t.img,{src:"https://img.shields.io/maven-central/v/io.github.zenwave360.zenwave-sdk/zenwave-sdk.svg?label=Maven%20Central&logo=apachemaven",alt:"Maven Central"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/releases"},a.createElement(t.img,{src:"https://img.shields.io/github/v/release/ZenWave360/zenwave-sdk?logo=GitHub",alt:"GitHub release (latest by date)"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml"},a.createElement(t.img,{src:"https://github.com/ZenWave360/zenwave-sdk/workflows/build/badge.svg",alt:"build"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml"},a.createElement(t.img,{src:"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/jacoco.svg",alt:"coverage"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml"},a.createElement(t.img,{src:"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/branches.svg",alt:"branches coverage"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/blob/main/LICENSE"},a.createElement(t.img,{src:"https://img.shields.io/github/license/ZenWave360/zenwave-sdk",alt:"GitHub"})))),"\n",a.createElement(i.Bk,null,a.createElement(t.p,null,"The heart of software is its ability to solve domain-related problems for its users. The best software supports elegant solutions to real-world problems\r\n",a.createElement(i.Nm,null,"- Eric Evans in Domain Driven Design"))),"\n",a.createElement(i.Ee,{alt:"ZenWave SDK Modeling Languages",light:l,dark:s}),"\n",a.createElement(t.p,null,"ZenWave SDK is a set of tools to convert your ",a.createElement("strong",{className:"orange"},"Domain Models")," into working software and tests."),"\n",a.createElement(t.p,null,"It is designed to be modular, configurable and extensible. It uses the standard java classpath as loading mechanism, so you can extend its functionality adding your own custom plugins. Visit ",a.createElement(t.a,{href:"/zenwave-sdk"},"ZenWave SDK")," for all configuration options."),"\n",a.createElement(t.p,null,"Based on ",a.createElement("strong",{className:"orange"},"Domain Driven Design (DDD)")," and ",a.createElement("strong",{className:"orange"},"API-First")," principles for ",a.createElement("strong",{className:"orange"},"Event Driven Microservices"),"."),"\n",a.createElement(i.Ee,{alt:"Speed Feedback Loop",dark:u,light:m,style:{marginTop:"15px"}}),"\n",a.createElement(t.p,null,"ZenWave SDK can generate code from a mix of different models including:"),"\n",a.createElement(t.ul,null,"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL Domain Language")," as ",a.createElement("strong",{className:"orange"},"Ubiquitous Language"),". You can describe the core of your Bounded Context, as well as how it connects to external systems through different adapters and APIs."),"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"https://www.asyncapi.com/docs/getting-started/coming-from-openapi"},"AsyncAPI"),": Industry de-facto standard to describe Event-Driven Architectures for Message-based APIs."),"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"https://swagger.io/specification/"},"OpenAPI"),": Industry standard for Request-Response Architectures with REST APIs."),"\n"),"\n",a.createElement(t.p,null,"Using ZenWave Domain Language as ",a.createElement("strong",{className:"orange"},"Ubiquitous Language")," for modeling and describing Bounded Contexts: aggregates, entities with their relationships, services, value objects, commands and events."),"\n",a.createElement(t.p,null,"ZenWave Domain Language started as an ",a.createElement(t.em,null,"extended subset")," of ",a.createElement(t.a,{href:"https://www.jhipster.tech/jdl/intro"},"JHipster Domain Language (JDL)")," that let you describe your entities and relationships."),"\n",a.createElement(t.p,null,"Using ZDL Domain Language as ",a.createElement(t.strong,null,"Ubiquitous Language")," for ",a.createElement("strong",{className:"orange"},"Data on the Inside")," and ",a.createElement("strong",{className:"orange"},"API-First")," specs like ",a.createElement(t.strong,null,"AsyncAPI")," and ",a.createElement(t.strong,null,"OpenAPI")," to describe Inter Process Communications (IPC) for ",a.createElement("strong",{className:"orange"},"Data on the Outside"),"."),"\n",a.createElement(t.ul,null,"\n",a.createElement(t.li,null,a.createElement("strong",{className:"orange"},"ZenWave Domain Language (ZDL) as Ubiquitous Language:")," To describe your domain core domain model."),"\n",a.createElement(t.li,null,a.createElement("strong",{className:"orange"},"API-First specs like AsyncAPI and OpenAPI:")," to describe Inter Process Communications (IPC) between bounded contexts/microservices."),"\n",a.createElement(t.li,null,a.createElement("strong",{className:"orange"},"ZenWave SDK:")," to generate (",a.createElement(t.em,null,"a lot of"),") infrastructure, functional and testing code from your models and APIs."),"\n"),"\n",a.createElement(t.p,null,"ZenWave SDK is designed to be easily extensible and adaptable to your project or your organization needs and likes."),"\n",a.createElement(t.h2,{id:"zenwave-sdk-installation",style:{position:"relative"}},a.createElement(t.a,{href:"#zenwave-sdk-installation","aria-label":"zenwave sdk installation permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Installation"),"\n",a.createElement(t.h3,{id:"command-line-interface-cli",style:{position:"relative"}},a.createElement(t.a,{href:"#command-line-interface-cli","aria-label":"command line interface cli permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Command Line Interface (CLI)"),"\n",a.createElement(t.p,null,"You can install the latest release using ",a.createElement(t.a,{href:"https://www.jbang.dev"},"jbang")," running the following command:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-shell"},"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\r\n\r\njbang zw --help list\r\n\n")),"\n",a.createElement(t.p,null,"Will output a list of all available plugins:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-log"},'ZW> SDK (1.4.0)\r\n\r\nAvailable plugins:\r\n\r\nbackend-application-default io.zenwave360.sdk.plugins.BackendApplicationDefaultPlugin: Generates a full backend application using a flexible hexagonal architecture (1.4.0)\r\nspring-cloud-streams3-adapters io.zenwave360.sdk.plugins.SpringCloudStreams3AdaptersPlugin: Generates tests for Spring Cloud Streams Consumers. (1.4.0)\r\njdl-to-asyncapi io.zenwave360.sdk.plugins.JDLToAsyncAPIPlugin: Generates a full AsyncAPI definitions for CRUD operations from JDL models (1.4.0)\r\nspring-webtestclient io.zenwave360.sdk.plugins.SpringWebTestClientPlugin: Generates test for SpringMVC or Spring WebFlux using WebTestClient based on OpenAPI specification. (1.4.0)\r\nfork-plugin io.zenwave360.sdk.plugins.ForkPlugin: Creates a new standalone maven module cloning an existing plugin (1.4.0)\r\njsonschema2pojo io.zenwave360.sdk.plugins.AsyncApiJsonSchema2PojoPlugin: Generate Plain Old Java Objects from OpenAPI/AsyncAPI schemas or full JSON-Schema files (1.4.0)\r\nopenapi-controllers io.zenwave360.sdk.plugins.OpenAPIControllersPlugin: Generates implementations based on ZDL models and OpenAPI definitions SpringMVC generated OpenAPI interfaces. (1.4.0)\r\nopenapi-to-jdl io.zenwave360.sdk.plugins.OpenAPIToJDLPlugin: Generates JDL model from OpenAPI schemas (1.4.0)\r\nspring-cloud-streams3 io.zenwave360.sdk.plugins.SpringCloudStreams3Plugin: Generates strongly typed SpringCloudStreams3 producer/consumer classes for AsyncAPI (1.4.0)\r\nrest-assured io.zenwave360.sdk.plugins.RestAssuredPlugin: Generates REST-Assured tests based on OpenAPI specification. (1.4.0)\r\nzdl-to-openapi io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin: Generates a draft OpenAPI definitions from your ZDL entities and services. (1.4.0)\r\nzdl-to-markdown io.zenwave360.sdk.plugins.ZdlToMarkdownPlugin: Generates Markdown glossary from Zdl Models (1.4.0)\r\nzdl-to-asyncapi io.zenwave360.sdk.plugins.ZDLToAsyncAPIPlugin: Generates a draft AsyncAPI file with events from your ZDL services. (1.4.0)\r\n\r\nUse: "jbang zw -p -h" to get help on a specific plugin\n')),"\n",a.createElement(t.p,null,"If you don't find the functionality you are looking for, you can always ",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/#forking-an-standard-or-custom-plugin"},"fork an existing, standard or custom plugin"),"."),"\n",a.createElement(t.p,null,"Please refer to ",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/"},a.createElement(t.strong,null,"ZenWave SDK"))," for more detailed installation options."),"\n",a.createElement(t.h3,{id:"maven-plugin",style:{position:"relative"}},a.createElement(t.a,{href:"#maven-plugin","aria-label":"maven plugin permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Maven Plugin"),"\n",a.createElement(t.p,null,"You can run any available (standard or custom) plugin as part of your maven build using the maven plugin:"),"\n",a.createElement("details",null,a.createElement("summary",null,"Click to see the maven plugin configuration"),a.createElement(t.pre,null,a.createElement(t.code,{className:"language-xml"},"\r\n io.github.zenwave360.zenwave-sdk\r\n zenwave-sdk-maven-plugin\r\n ${zenwave.version}\r\n \r\n false\x3c!-- default is false --\x3e\r\n true\x3c!-- default is true --\x3e\r\n true\x3c!-- default is true --\x3e\r\n \r\n \r\n \x3c!-- Add executions for each generation here: --\x3e\r\n \r\n generate-asyncapi\r\n generate-sources\r\n \r\n generate\r\n \r\n \r\n spring-cloud-streams3\r\n classpath:model/asyncapi.yml\r\n \r\n \x3c!-- ... --\x3e\r\n value\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- add any sdk plugin (custom or standard) as dependency here --\x3e\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-spring-cloud-streams3\r\n ${zenwave.version}\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-jsonschema2pojo\r\n ${zenwave.version}\r\n \r\n \r\n\n")),a.createElement(t.p,null,"Notice how you can read spec files from the project classpath as well as the filesystem. If you want to read a spec file from inside a project dependency remember to set ",a.createElement(t.code,null,"true"),"."),a.createElement(t.p,null,"NOTE: Remember to add any plugin you want to use as dependency.")),"\n",a.createElement(t.p,null,"Jump to ",a.createElement(t.a,{href:"https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3"},"ZenWave AsyncAPI Generator")," for multiple examples using the maven plugin."),"\n",a.createElement(t.h2,{id:"zenwave-sdk-workflow",style:{position:"relative"}},a.createElement(t.a,{href:"#zenwave-sdk-workflow","aria-label":"zenwave sdk workflow permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Workflow"),"\n",a.createElement(t.p,null,"You can generate complete Event Driven Microservices using DDD and API-First principles:"),"\n",a.createElement(t.blockquote,null,"\n",a.createElement(t.p,null,"👉 Describe your Domain Model ⤳ Generate OpenAPI ⤳ Generate AsyncAPI → Generate API Implementations → Generate Backend → Generate Tests and Contracts 👍"),"\n"),"\n",a.createElement(t.ol,null,"\n",a.createElement(t.li,null,"Start by ",a.createElement("strong",{className:"orange"},"Modeling your Domain")," using the ZDL Domain Language including: entities, relationships, service commands and domain events."),"\n",a.createElement(t.li,null,"Generate a ",a.createElement("strong",{className:"orange"},"draft OpenAPI definition from the ZDL model"),". Edit collaboratively this OpenAPI document and then generate some more functional code and tests from that definition."),"\n",a.createElement(t.li,null,"Generate a ",a.createElement("strong",{className:"orange"},"draft AsyncAPI definition")," for consuming async request commands and publishing domain events. Now use zenwave maven plugin to generate strongly typed business interfaces implementing some Enterprise Integration Patterns like: transactional outbox, business dead letter queue..."),"\n",a.createElement(t.li,null,"Generate a ",a.createElement("strong",{className:"orange"},"complete Backend Application")," from your Domain Definition Model."),"\n",a.createElement(t.li,null,"Connect (by hand) your Backend Application to other systems using the generated OpenAPI and AsyncAPI definitions."),"\n",a.createElement(t.li,null,"Generate ",a.createElement("strong",{className:"orange"},"E2E, Integration tests and Consumer Contracts")," for the public APIs you just produced."),"\n"),"\n",a.createElement(i.Ee,{alt:"ZenWave SDK Features MindMap",light:d,dark:o}),"\n",a.createElement("details",{markdown:"1"},a.createElement("summary",null,"ZenWave SDK Code Generator Features (expand to see)"),a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL Backend Application (flexible hexagonal architecture)","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Domain Entities,"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Inbound","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Service Ports, DTOs, Mappers"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Implementation for CRUD operations"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Acceptance Tests: SpringData InMemory Repositories"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Outbound: SpringData Repositories, ElasticSearch... (for REST or Async see other plugins)"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Adapters:","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Spring MVC"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"Spring WebFlux")),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Flavors","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","MongoDB","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Imperative"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"Reactive")),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JPA","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Imperative"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"Reactive")),"\n"),"\n"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Unit/Integration Testing","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Edge Integration Testing: partial spring-boot context for outbound adapters (with testcontainers)"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Sociable Vertical Testing: manual dependency setup with in memory infrastructure ",a.createElement(t.em,null,"test-doubles")),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Vertical Integration Testing: full spring-boot context for inbound adapters (with testcontainers)"),"\n"),"\n"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL OpenAPI Controllers"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Spring WebTestClient"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","AsyncAPI Spring Cloud Streams3","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Consumer and Producer. Imperative and Reactive.","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Business Exceptions Dead Letter Queues Routing"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Producer with Transactional Outbox pattern","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","For MongoDB"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","For JDBC"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Enterprise Envelop Pattern"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Automatically fill headers at runtime from payload paths, tracing-id supplier..."),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL to Specs","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL to OpenAPI"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL to AsyncAPI","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","AsyncAPI schemas"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","AVRO schemas"),"\n"),"\n"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","API Testing","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","KarateDSL","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Karate E2E Tests (please use ",a.createElement(t.a,{href:"https://github.com/ZenWave360/karate-ide"},"KarateIDE VSCode Extension")," instead)"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Karate/ApiMock Stateful Mocks (please use ",a.createElement(t.a,{href:"https://github.com/ZenWave360/karate-ide"},"KarateIDE VSCode Extension")," and ",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-apimock"},"ZenWave ApiMock")," instead)"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Spring WebTestClient"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to REST-assured"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"OpenAPI to Pact (",a.createElement(t.em,null,"postponed sine die"),")")),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Reverser Engineering","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI 2 JDL"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Java 2 JDL","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Spring Data MongoDB annotations"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JPA annotations"),"\n"),"\n"),"\n"),"\n"),"\n")),"\n",a.createElement(t.h2,{id:"generated-code-structure",style:{position:"relative"}},a.createElement(t.a,{href:"#generated-code-structure","aria-label":"generated code structure permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Generated Code Structure"),"\n",a.createElement(t.p,null,"Generated code follows a ",a.createElement("strong",{className:"orange"},"flexible onion/hexagonal architecture"),". Separating core, inbound, implementation and outbound form infrastructure and adapters."),"\n",a.createElement(t.p,null,"Core domain entities and aggregates are annotated for persistence with JPA or SpringData/MongoDB annotations, ",a.createElement("strong",{className:"orange"},"avoiding unnecessary translation layers")," (mappers and dtos)."),"\n",a.createElement(i.Ee,{alt:"ZenWave SDK Modeling Languages",src:c.Z}),"\n",a.createElement(t.p,null,"Project structure:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,null,"📦 \r\n 📦 adapters\r\n └─ web\r\n | └─ RestControllers (spring mvc)\r\n └─ events\r\n └─ *EventListeners (spring-cloud-streams)\r\n 📦 core\r\n ├─ 📦 domain\r\n | └─ (entities and aggregates)\r\n ├─ 📦 inbound\r\n | ├─ dtos/\r\n | └─ ServiceInterface (inbound service interface)\r\n ├─ 📦 outbound\r\n | ├─ mongodb\r\n | | └─ *RepositoryInterface (spring-data interface)\r\n | └─ jpa\r\n | └─ *RepositoryInterface (spring-data interface)\r\n └─ 📦 implementation\r\n ├─ mappers/\r\n └─ ServiceImplementation (inbound service implementation)\r\n 📦 infrastructure\r\n ├─ mongodb\r\n | └─ CustomRepositoryImpl (spring-data custom implementation)\r\n └─ jpa\r\n └─ CustomRepositoryImpl (spring-data custom implementation)\n")),"\n",a.createElement("a",{href:p},a.createElement(i.Ee,{alt:"ZenWave SDK Generated Code Screenshot",src:p})))}var h=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,r.ah)(),e.components);return t?a.createElement(t,e,a.createElement(g,e)):g(e)};function b(e){let{children:t}=e;return t}function f(e){return a.createElement(b,e,a.createElement(h,e))}},97702:function(e,t,n){n.d(t,{d2:function(){return a.d},zx:function(){return o},L0:function(){return p},$s:function(){return f},VS:function(){return E},gT:function(){return k},P7:function(){return h},Gz:function(){return g},VM:function(){return x},sd:function(){return P},kW:function(){return S},$D:function(){return I},DH:function(){return N},vC:function(){return y},LR:function(){return v},Ee:function(){return Z},Bk:function(){return W},Nm:function(){return O},X_:function(){return m.X},YZ:function(){return M},vk:function(){return B},BW:function(){return j},Mo:function(){return H}});var a=n(63585),r=n(27378),i=n(87573),s=n(30294);const l=e=>{let{background:t,backgroundHover:n,on:a}=e;return()=>(0,s.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,a,n,a,n,a)},c=s.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),o=r.forwardRef(((e,t)=>{let{variant:n="primary",children:a,...s}=e;return r.createElement(i.z,{ref:t,"data-variant":n},(e=>r.createElement(c,Object.assign({},e,s),a)))}));n(23824),n(31729);var d=n(63681),m=n(84234);const u=s.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=r.forwardRef(((e,t)=>r.createElement(u,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=s.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],d.th.px(-9),d.th.px(9)),h=s.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),b=s.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),f=r.forwardRef(((e,t)=>r.createElement(b,Object.assign({ref:t,width:48,height:48},e)))),E=r.forwardRef(((e,t)=>r.createElement(m.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),k=r.forwardRef(((e,t)=>r.createElement(s.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),v=s.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,d.up)("md",(0,s.ivY)(["padding-top:4;font-size:48;"])),(0,d.up)("xl",(0,s.ivY)(["font-size:60;"]))),y=s.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,d.up)("md",(0,s.ivY)(["font-size:20;"])),(0,d.up)("xl",(0,s.ivY)(["font-size:24;"]))),w=(0,s.ZPm)(m.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,d.up)("md",(0,s.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,d.up)("xl",(0,s.ivY)(["margin-top:6;"]))),x=r.forwardRef(((e,t)=>{let{backgroundImageURL:n,...a}=e;return r.createElement(w,Object.assign({ref:t,backgroundImage:"url("+n+")"},a))})),I=r.forwardRef(((e,t)=>r.createElement(s.x.div,Object.assign({ref:t,w:{md:.5}},e)))),N=s.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),S=r.forwardRef(((e,t)=>r.createElement(s.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),P=r.forwardRef(((e,t)=>r.createElement(s.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var D=n(24956);const z=s.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),C=s.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),A=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,Z=r.forwardRef(((e,t)=>r.createElement(z,{align:e.align||"center",className:e.visible},r.createElement(C,Object.assign({ref:t,src:A(e,(0,D.If)()[0])},e)))));n(15239),n(83160);const L=(0,s.ZPm)(s.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),W=r.forwardRef(((e,t)=>r.createElement(s.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),O=r.forwardRef(((e,t)=>r.createElement(L,Object.assign({ref:t},e)))),j=r.forwardRef(((e,t)=>r.createElement(s.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),M=s.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,d.up)("md",(0,s.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),H=s.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,d.up)("md",(0,s.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,d.up)("xl",(0,s.ivY)(["font-size:24;"]))),T=s.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),R=s.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),_=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,B=r.forwardRef(((e,t)=>r.createElement(T,{className:e.className},r.createElement(R,Object.assign({ref:t,src:_(e,(0,D.If)()[0])},e)))))},91399:function(e,t,n){t.Z=n.p+"static/SDK-ServiceImplementation-Hexagonal.dark-1e003d6d4387f39bced4fc4a9694d7c8.png"},11926:function(e,t,n){n.p}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js.map \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[772],{86587:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var a=n(27378),r=n(20951),i=n(16376),s=n.p+"static/SDK-ModelingLanguages.dark-8c38c3425c66678f30e03ae344d7efa5.png",l=n.p+"static/SDK-ModelingLanguages.light-5ce43d2a0d73dfea6beed173035a17b1.png",c=n(91399),o=(n(11926),n.p+"static/SDK-MindMap.dark-6e3facb7161823c4f526c8e63f1423bd.png"),d=n.p+"static/SDK-MindMap.light-cb5646225ccdd6b4e02e804475f5d9dc.png",m=n.p+"static/ZenWave-SDK-Design-Code-Loop.light-8895761fbb21542d5b2c564f7614b590.png",u=n.p+"static/ZenWave-SDK-Design-Code-Loop.dark-475a45be0974497ccd4d749c50396bdd.png",p=n.p+"static/SDK-Generated-Code-b9a8a8596ae71be86d3a9d8e5764ac21.png";function g(e){const t=Object.assign({h1:"h1",a:"a",div:"div",p:"p",img:"img",ul:"ul",li:"li",em:"em",strong:"strong",h2:"h2",h3:"h3",pre:"pre",code:"code",blockquote:"blockquote",ol:"ol",input:"input",del:"del"},(0,r.ah)(),e.components);return a.createElement(a.Fragment,null,a.createElement(t.h1,{id:"zenwave-sdk",style:{position:"relative"}},a.createElement(t.a,{href:"#zenwave-sdk","aria-label":"zenwave sdk permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK"),"\n",a.createElement(t.p,null,"ZenWave SDK Helps you Create Software Easy to Understand"),"\n",a.createElement("div",{class:"badges"},a.createElement(t.p,null,a.createElement(t.a,{href:"https://search.maven.org/artifact/io.github.zenwave360.zenwave-sdk/zenwave-sdk"},a.createElement(t.img,{src:"https://img.shields.io/maven-central/v/io.github.zenwave360.zenwave-sdk/zenwave-sdk.svg?label=Maven%20Central&logo=apachemaven",alt:"Maven Central"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/releases"},a.createElement(t.img,{src:"https://img.shields.io/github/v/release/ZenWave360/zenwave-sdk?logo=GitHub",alt:"GitHub release (latest by date)"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml"},a.createElement(t.img,{src:"https://github.com/ZenWave360/zenwave-sdk/workflows/build/badge.svg",alt:"build"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml"},a.createElement(t.img,{src:"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/jacoco.svg",alt:"coverage"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml"},a.createElement(t.img,{src:"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/branches.svg",alt:"branches coverage"})),"\r\n",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/blob/main/LICENSE"},a.createElement(t.img,{src:"https://img.shields.io/github/license/ZenWave360/zenwave-sdk",alt:"GitHub"})))),"\n",a.createElement(i.Bk,null,a.createElement(t.p,null,"The heart of software is its ability to solve domain-related problems for its users. The best software supports elegant solutions to real-world problems\r\n",a.createElement(i.Nm,null,"- Eric Evans in Domain Driven Design"))),"\n",a.createElement(i.Ee,{alt:"ZenWave SDK Modeling Languages",light:l,dark:s}),"\n",a.createElement(t.p,null,"ZenWave SDK is a set of tools to convert your ",a.createElement("strong",{className:"orange"},"Domain Models")," into working software and tests."),"\n",a.createElement(t.p,null,"It is designed to be modular, configurable and extensible. It uses the standard java classpath as loading mechanism, so you can extend its functionality adding your own custom plugins. Visit ",a.createElement(t.a,{href:"/zenwave-sdk"},"ZenWave SDK")," for all configuration options."),"\n",a.createElement(t.p,null,"Based on ",a.createElement("strong",{className:"orange"},"Domain Driven Design (DDD)")," and ",a.createElement("strong",{className:"orange"},"API-First")," principles for ",a.createElement("strong",{className:"orange"},"Event Driven Microservices"),"."),"\n",a.createElement(i.Ee,{alt:"Speed Feedback Loop",dark:u,light:m,style:{marginTop:"15px"}}),"\n",a.createElement(t.p,null,"ZenWave SDK can generate code from a mix of different models including:"),"\n",a.createElement(t.ul,null,"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL Domain Language")," as ",a.createElement("strong",{className:"orange"},"Ubiquitous Language"),". You can describe the core of your Bounded Context, as well as how it connects to external systems through different adapters and APIs."),"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"https://www.asyncapi.com/docs/getting-started/coming-from-openapi"},"AsyncAPI"),": Industry de-facto standard to describe Event-Driven Architectures for Message-based APIs."),"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"https://swagger.io/specification/"},"OpenAPI"),": Industry standard for Request-Response Architectures with REST APIs."),"\n"),"\n",a.createElement(t.p,null,"Using ZenWave Domain Language as ",a.createElement("strong",{className:"orange"},"Ubiquitous Language")," for modeling and describing Bounded Contexts: aggregates, entities with their relationships, services, value objects, commands and events."),"\n",a.createElement(t.p,null,"ZenWave Domain Language started as an ",a.createElement(t.em,null,"extended subset")," of ",a.createElement(t.a,{href:"https://www.jhipster.tech/jdl/intro"},"JHipster Domain Language (JDL)")," that let you describe your entities and relationships."),"\n",a.createElement(t.p,null,"Using ZDL Domain Language as ",a.createElement(t.strong,null,"Ubiquitous Language")," for ",a.createElement("strong",{className:"orange"},"Data on the Inside")," and ",a.createElement("strong",{className:"orange"},"API-First")," specs like ",a.createElement(t.strong,null,"AsyncAPI")," and ",a.createElement(t.strong,null,"OpenAPI")," to describe Inter Process Communications (IPC) for ",a.createElement("strong",{className:"orange"},"Data on the Outside"),"."),"\n",a.createElement(t.ul,null,"\n",a.createElement(t.li,null,a.createElement("strong",{className:"orange"},"ZenWave Domain Language (ZDL) as Ubiquitous Language:")," To describe your domain core domain model."),"\n",a.createElement(t.li,null,a.createElement("strong",{className:"orange"},"API-First specs like AsyncAPI and OpenAPI:")," to describe Inter Process Communications (IPC) between bounded contexts/microservices."),"\n",a.createElement(t.li,null,a.createElement("strong",{className:"orange"},"ZenWave SDK:")," to generate (",a.createElement(t.em,null,"a lot of"),") infrastructure, functional and testing code from your models and APIs."),"\n"),"\n",a.createElement(t.p,null,"ZenWave SDK is designed to be easily extensible and adaptable to your project or your organization needs and likes."),"\n",a.createElement(t.h2,{id:"zenwave-sdk-installation",style:{position:"relative"}},a.createElement(t.a,{href:"#zenwave-sdk-installation","aria-label":"zenwave sdk installation permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Installation"),"\n",a.createElement(t.h3,{id:"command-line-interface-cli",style:{position:"relative"}},a.createElement(t.a,{href:"#command-line-interface-cli","aria-label":"command line interface cli permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Command Line Interface (CLI)"),"\n",a.createElement(t.p,null,"You can install the latest release using ",a.createElement(t.a,{href:"https://www.jbang.dev"},"jbang")," running the following command:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-shell"},"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\r\n\r\njbang zw --help list\r\n\n")),"\n",a.createElement(t.p,null,"Will output a list of all available plugins:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-log"},'ZW> SDK (1.4.0)\r\n\r\nAvailable plugins:\r\n\r\nbackend-application-default io.zenwave360.sdk.plugins.BackendApplicationDefaultPlugin: Generates a full backend application using a flexible hexagonal architecture (1.4.0)\r\nspring-cloud-streams3-adapters io.zenwave360.sdk.plugins.SpringCloudStreams3AdaptersPlugin: Generates tests for Spring Cloud Streams Consumers. (1.4.0)\r\njdl-to-asyncapi io.zenwave360.sdk.plugins.JDLToAsyncAPIPlugin: Generates a full AsyncAPI definitions for CRUD operations from JDL models (1.4.0)\r\nspring-webtestclient io.zenwave360.sdk.plugins.SpringWebTestClientPlugin: Generates test for SpringMVC or Spring WebFlux using WebTestClient based on OpenAPI specification. (1.4.0)\r\nfork-plugin io.zenwave360.sdk.plugins.ForkPlugin: Creates a new standalone maven module cloning an existing plugin (1.4.0)\r\njsonschema2pojo io.zenwave360.sdk.plugins.AsyncApiJsonSchema2PojoPlugin: Generate Plain Old Java Objects from OpenAPI/AsyncAPI schemas or full JSON-Schema files (1.4.0)\r\nopenapi-controllers io.zenwave360.sdk.plugins.OpenAPIControllersPlugin: Generates implementations based on ZDL models and OpenAPI definitions SpringMVC generated OpenAPI interfaces. (1.4.0)\r\nopenapi-to-jdl io.zenwave360.sdk.plugins.OpenAPIToJDLPlugin: Generates JDL model from OpenAPI schemas (1.4.0)\r\nspring-cloud-streams3 io.zenwave360.sdk.plugins.SpringCloudStreams3Plugin: Generates strongly typed SpringCloudStreams3 producer/consumer classes for AsyncAPI (1.4.0)\r\nrest-assured io.zenwave360.sdk.plugins.RestAssuredPlugin: Generates REST-Assured tests based on OpenAPI specification. (1.4.0)\r\nzdl-to-openapi io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin: Generates a draft OpenAPI definitions from your ZDL entities and services. (1.4.0)\r\nzdl-to-markdown io.zenwave360.sdk.plugins.ZdlToMarkdownPlugin: Generates Markdown glossary from Zdl Models (1.4.0)\r\nzdl-to-asyncapi io.zenwave360.sdk.plugins.ZDLToAsyncAPIPlugin: Generates a draft AsyncAPI file with events from your ZDL services. (1.4.0)\r\n\r\nUse: "jbang zw -p -h" to get help on a specific plugin\n')),"\n",a.createElement(t.p,null,"If you don't find the functionality you are looking for, you can always ",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/#forking-an-standard-or-custom-plugin"},"fork an existing, standard or custom plugin"),"."),"\n",a.createElement(t.p,null,"Please refer to ",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-sdk/"},a.createElement(t.strong,null,"ZenWave SDK"))," for more detailed installation options."),"\n",a.createElement(t.h3,{id:"maven-plugin",style:{position:"relative"}},a.createElement(t.a,{href:"#maven-plugin","aria-label":"maven plugin permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Maven Plugin"),"\n",a.createElement(t.p,null,"You can run any available (standard or custom) plugin as part of your maven build using the maven plugin:"),"\n",a.createElement("details",null,a.createElement("summary",null,"Click to see the maven plugin configuration"),a.createElement(t.pre,null,a.createElement(t.code,{className:"language-xml"},"\r\n io.github.zenwave360.zenwave-sdk\r\n zenwave-sdk-maven-plugin\r\n ${zenwave.version}\r\n \r\n false\x3c!-- default is false --\x3e\r\n true\x3c!-- default is true --\x3e\r\n true\x3c!-- default is true --\x3e\r\n \r\n \r\n \x3c!-- Add executions for each generation here: --\x3e\r\n \r\n generate-asyncapi\r\n generate-sources\r\n \r\n generate\r\n \r\n \r\n spring-cloud-streams3\r\n classpath:model/asyncapi.yml\r\n \r\n \x3c!-- ... --\x3e\r\n value\r\n \r\n \r\n \r\n \r\n\r\n \x3c!-- add any sdk plugin (custom or standard) as dependency here --\x3e\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-spring-cloud-streams3\r\n ${zenwave.version}\r\n \r\n \r\n io.github.zenwave360.zenwave-sdk.plugins\r\n asyncapi-jsonschema2pojo\r\n ${zenwave.version}\r\n \r\n \r\n\n")),a.createElement(t.p,null,"Notice how you can read spec files from the project classpath as well as the filesystem. If you want to read a spec file from inside a project dependency remember to set ",a.createElement(t.code,null,"true"),"."),a.createElement(t.p,null,"NOTE: Remember to add any plugin you want to use as dependency.")),"\n",a.createElement(t.p,null,"Jump to ",a.createElement(t.a,{href:"https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3"},"ZenWave AsyncAPI Generator")," for multiple examples using the maven plugin."),"\n",a.createElement(t.h2,{id:"zenwave-sdk-workflow",style:{position:"relative"}},a.createElement(t.a,{href:"#zenwave-sdk-workflow","aria-label":"zenwave sdk workflow permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Workflow"),"\n",a.createElement(t.p,null,"You can generate complete Event Driven Microservices using DDD and API-First principles:"),"\n",a.createElement(t.blockquote,null,"\n",a.createElement(t.p,null,"👉 Describe your Domain Model ⤳ Generate OpenAPI ⤳ Generate AsyncAPI → Generate API Implementations → Generate Backend → Generate Tests and Contracts 👍"),"\n"),"\n",a.createElement(t.ol,null,"\n",a.createElement(t.li,null,"Start by ",a.createElement("strong",{className:"orange"},"Modeling your Domain")," using the ZDL Domain Language including: entities, relationships, service commands and domain events."),"\n",a.createElement(t.li,null,"Generate a ",a.createElement("strong",{className:"orange"},"draft OpenAPI definition from the ZDL model"),". Edit collaboratively this OpenAPI document and then generate some more functional code and tests from that definition."),"\n",a.createElement(t.li,null,"Generate a ",a.createElement("strong",{className:"orange"},"draft AsyncAPI definition")," for consuming async request commands and publishing domain events. Now use zenwave maven plugin to generate strongly typed business interfaces implementing some Enterprise Integration Patterns like: transactional outbox, business dead letter queue..."),"\n",a.createElement(t.li,null,"Generate a ",a.createElement("strong",{className:"orange"},"complete Backend Application")," from your Domain Definition Model."),"\n",a.createElement(t.li,null,"Connect (by hand) your Backend Application to other systems using the generated OpenAPI and AsyncAPI definitions."),"\n",a.createElement(t.li,null,"Generate ",a.createElement("strong",{className:"orange"},"E2E, Integration tests and Consumer Contracts")," for the public APIs you just produced."),"\n"),"\n",a.createElement(i.Ee,{alt:"ZenWave SDK Features MindMap",light:d,dark:o}),"\n",a.createElement("details",{markdown:"1"},a.createElement("summary",null,"ZenWave SDK Code Generator Features (expand to see)"),a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL Backend Application (flexible hexagonal architecture)","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Domain Entities,"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Inbound","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Service Ports, DTOs, Mappers"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Implementation for CRUD operations"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Acceptance Tests: SpringData InMemory Repositories"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Outbound: SpringData Repositories, ElasticSearch... (for REST or Async see other plugins)"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Adapters:","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Spring MVC"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"Spring WebFlux")),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Flavors","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","MongoDB","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Imperative"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"Reactive")),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JPA","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Imperative"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"Reactive")),"\n"),"\n"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Unit/Integration Testing","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Edge Integration Testing: partial spring-boot context for outbound adapters (with testcontainers)"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Sociable Vertical Testing: manual dependency setup with in memory infrastructure ",a.createElement(t.em,null,"test-doubles")),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Vertical Integration Testing: full spring-boot context for inbound adapters (with testcontainers)"),"\n"),"\n"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL OpenAPI Controllers"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Spring WebTestClient"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","AsyncAPI Spring Cloud Streams3","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Consumer and Producer. Imperative and Reactive.","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Business Exceptions Dead Letter Queues Routing"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Producer with Transactional Outbox pattern","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","For MongoDB"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","For JDBC"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Enterprise Envelop Pattern"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Automatically fill headers at runtime from payload paths, tracing-id supplier..."),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL to Specs","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL to OpenAPI"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JDL to AsyncAPI","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","AsyncAPI schemas"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","AVRO schemas"),"\n"),"\n"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","API Testing","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","KarateDSL","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Karate E2E Tests (please use ",a.createElement(t.a,{href:"https://github.com/ZenWave360/karate-ide"},"KarateIDE VSCode Extension")," instead)"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Karate/ApiMock Stateful Mocks (please use ",a.createElement(t.a,{href:"https://github.com/ZenWave360/karate-ide"},"KarateIDE VSCode Extension")," and ",a.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-apimock"},"ZenWave ApiMock")," instead)"),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to Spring WebTestClient"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI to REST-assured"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",disabled:!0})," ",a.createElement(t.del,null,"OpenAPI to Pact (",a.createElement(t.em,null,"postponed sine die"),")")),"\n"),"\n"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Reverser Engineering","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","OpenAPI 2 JDL"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Java 2 JDL","\n",a.createElement(t.ul,{className:"contains-task-list"},"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","Spring Data MongoDB annotations"),"\n",a.createElement(t.li,{className:"task-list-item"},a.createElement(t.input,{type:"checkbox",checked:!0,disabled:!0})," ","JPA annotations"),"\n"),"\n"),"\n"),"\n"),"\n")),"\n",a.createElement(t.h2,{id:"generated-code-structure",style:{position:"relative"}},a.createElement(t.a,{href:"#generated-code-structure","aria-label":"generated code structure permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Generated Code Structure"),"\n",a.createElement(t.p,null,"Generated code follows a ",a.createElement("strong",{className:"orange"},"flexible onion/hexagonal architecture"),". Separating core, inbound, implementation and outbound form infrastructure and adapters."),"\n",a.createElement(t.p,null,"Core domain entities and aggregates are annotated for persistence with JPA or SpringData/MongoDB annotations, ",a.createElement("strong",{className:"orange"},"avoiding unnecessary translation layers")," (mappers and dtos)."),"\n",a.createElement(i.Ee,{alt:"ZenWave SDK Modeling Languages",src:c.Z}),"\n",a.createElement(t.p,null,"Project structure:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,null,"📦 \r\n 📦 adapters\r\n └─ web\r\n | └─ RestControllers (spring mvc)\r\n └─ events\r\n └─ *EventListeners (spring-cloud-streams)\r\n 📦 core\r\n ├─ 📦 domain\r\n | └─ (entities and aggregates)\r\n ├─ 📦 inbound\r\n | ├─ dtos/\r\n | └─ ServiceInterface (inbound service interface)\r\n ├─ 📦 outbound\r\n | ├─ mongodb\r\n | | └─ *RepositoryInterface (spring-data interface)\r\n | └─ jpa\r\n | └─ *RepositoryInterface (spring-data interface)\r\n └─ 📦 implementation\r\n ├─ mappers/\r\n └─ ServiceImplementation (inbound service implementation)\r\n 📦 infrastructure\r\n ├─ mongodb\r\n | └─ CustomRepositoryImpl (spring-data custom implementation)\r\n └─ jpa\r\n └─ CustomRepositoryImpl (spring-data custom implementation)\n")),"\n",a.createElement("a",{href:p},a.createElement(i.Ee,{alt:"ZenWave SDK Generated Code Screenshot",src:p})))}var h=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,r.ah)(),e.components);return t?a.createElement(t,e,a.createElement(g,e)):g(e)};function b(e){let{children:t}=e;return t}function f(e){return a.createElement(b,e,a.createElement(h,e))}},16376:function(e,t,n){n.d(t,{d2:function(){return a.d},zx:function(){return o},L0:function(){return p},$s:function(){return f},VS:function(){return E},gT:function(){return k},P7:function(){return h},Gz:function(){return g},S:function(){return G},VM:function(){return x},sd:function(){return P},kW:function(){return S},$D:function(){return I},DH:function(){return N},vC:function(){return y},LR:function(){return v},Ee:function(){return Z},Bk:function(){return W},Nm:function(){return O},X_:function(){return m.X},YZ:function(){return M},vk:function(){return B},BW:function(){return j},Mo:function(){return R}});var a=n(63585),r=n(27378),i=n(87573),s=n(30294);const l=e=>{let{background:t,backgroundHover:n,on:a}=e;return()=>(0,s.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,a,n,a,n,a)},c=s.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),o=r.forwardRef(((e,t)=>{let{variant:n="primary",children:a,...s}=e;return r.createElement(i.z,{ref:t,"data-variant":n},(e=>r.createElement(c,Object.assign({},e,s),a)))}));n(23824),n(31729);var d=n(63681),m=n(84234);const u=s.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=r.forwardRef(((e,t)=>r.createElement(u,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=s.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],d.th.px(-9),d.th.px(9)),h=s.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),b=s.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),f=r.forwardRef(((e,t)=>r.createElement(b,Object.assign({ref:t,width:48,height:48},e)))),E=r.forwardRef(((e,t)=>r.createElement(m.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),k=r.forwardRef(((e,t)=>r.createElement(s.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),v=s.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,d.up)("md",(0,s.ivY)(["padding-top:4;font-size:48;"])),(0,d.up)("xl",(0,s.ivY)(["font-size:60;"]))),y=s.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,d.up)("md",(0,s.ivY)(["font-size:20;"])),(0,d.up)("xl",(0,s.ivY)(["font-size:24;"]))),w=(0,s.ZPm)(m.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,d.up)("md",(0,s.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,d.up)("xl",(0,s.ivY)(["margin-top:6;"]))),x=r.forwardRef(((e,t)=>{let{backgroundImageURL:n,...a}=e;return r.createElement(w,Object.assign({ref:t,backgroundImage:"url("+n+")"},a))})),I=r.forwardRef(((e,t)=>r.createElement(s.x.div,Object.assign({ref:t,w:{md:.5}},e)))),N=s.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),S=r.forwardRef(((e,t)=>r.createElement(s.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),P=r.forwardRef(((e,t)=>r.createElement(s.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var D=n(24956);const z=s.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),C=s.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),A=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,Z=r.forwardRef(((e,t)=>r.createElement(z,{align:e.align||"center",className:e.visible},r.createElement(C,Object.assign({ref:t,src:A(e,(0,D.If)()[0])},e)))));n(15239),n(83160);const L=(0,s.ZPm)(s.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),W=r.forwardRef(((e,t)=>r.createElement(s.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),O=r.forwardRef(((e,t)=>r.createElement(L,Object.assign({ref:t},e)))),j=r.forwardRef(((e,t)=>r.createElement(s.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),M=s.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,d.up)("md",(0,s.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),R=s.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,d.up)("md",(0,s.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,d.up)("xl",(0,s.ivY)(["font-size:24;"]))),H=s.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),T=s.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),_=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,B=r.forwardRef(((e,t)=>r.createElement(H,{className:e.className},r.createElement(T,Object.assign({ref:t,src:_(e,(0,D.If)()[0])},e))))),G=e=>{let{gist:t,file:n}=e;const a=(0,r.useRef)(null);(0,r.useEffect)((()=>{(async()=>{const e=n?"https://gist.githubusercontent.com/"+t+"/raw/"+n:"https://gist.githubusercontent.com/"+t+"/raw";try{const t=await fetch(e);if(t.ok){const e=22*(await t.text()).split("\n").length+40;a.current&&(a.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(r){console.error("Error fetching Gist content:",r)}})()}),[t,n]);const i=n?"https://gist.github.com/"+t+".pibb?file="+n:"https://gist.github.com/"+t+".pibb",s=n?"https://gist.github.com/"+t+"#file-"+n.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+t;return r.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},n&&r.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},r.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),r.createElement("a",{href:s,target:"_blank",rel:"noopener noreferrer"},n)),r.createElement("iframe",{title:n,ref:a,src:i,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}},91399:function(e,t,n){t.Z=n.p+"static/SDK-ServiceImplementation-Hexagonal.dark-1e003d6d4387f39bced4fc4a9694d7c8.png"},11926:function(e,t,n){n.p}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js.map new file mode 100644 index 0000000..a7f1085 --- /dev/null +++ b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js","mappings":"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","sources":["webpack://website/./pages/docs/SDK/images/SDK-ModelingLanguages.dark.png","webpack://website/./pages/docs/SDK/images/SDK-ModelingLanguages.light.png","webpack://website/./pages/docs/SDK/images/SDK-MindMap.dark.png","webpack://website/./pages/docs/SDK/images/SDK-MindMap.light.png","webpack://website/./pages/docs/SDK/images/ZenWave-SDK-Design-Code-Loop.light.png","webpack://website/./pages/docs/SDK/images/ZenWave-SDK-Design-Code-Loop.dark.png","webpack://website/./pages/docs/SDK/images/SDK-Generated-Code.png","webpack://website/./pages/docs/SDK/ZenWaveSDK.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js","webpack://website/./pages/docs/SDK/images/SDK-ServiceImplementation-Hexagonal.dark.png","webpack://website/./pages/docs/SDK/images/SDK-ServiceImplementation-Hexagonal.light.png"],"sourcesContent":["export default __webpack_public_path__ + \"static/SDK-ModelingLanguages.dark-8c38c3425c66678f30e03ae344d7efa5.png\";","export default __webpack_public_path__ + \"static/SDK-ModelingLanguages.light-5ce43d2a0d73dfea6beed173035a17b1.png\";","export default __webpack_public_path__ + \"static/SDK-MindMap.dark-6e3facb7161823c4f526c8e63f1423bd.png\";","export default __webpack_public_path__ + \"static/SDK-MindMap.light-cb5646225ccdd6b4e02e804475f5d9dc.png\";","export default __webpack_public_path__ + \"static/ZenWave-SDK-Design-Code-Loop.light-8895761fbb21542d5b2c564f7614b590.png\";","export default __webpack_public_path__ + \"static/ZenWave-SDK-Design-Code-Loop.dark-475a45be0974497ccd4d749c50396bdd.png\";","export default __webpack_public_path__ + \"static/SDK-Generated-Code-b9a8a8596ae71be86d3a9d8e5764ac21.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport modelingLanguagesDark from './images/SDK-ModelingLanguages.dark.png';\nimport modelingLanguagesLight from './images/SDK-ModelingLanguages.light.png';\nimport sdkHexagonalDark from './images/SDK-ServiceImplementation-Hexagonal.dark.png';\nimport sdkHexagonalLight from './images/SDK-ServiceImplementation-Hexagonal.light.png';\nimport sdkMindMapDark from './images/SDK-MindMap.dark.png';\nimport sdkMindMapLight from './images/SDK-MindMap.light.png';\nimport speedFeedbackLoopLight from './images/ZenWave-SDK-Design-Code-Loop.light.png';\nimport speedFeedbackLoopDark from './images/ZenWave-SDK-Design-Code-Loop.dark.png';\nimport sdkGeneratedCode from './images/SDK-Generated-Code.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n img: \"img\",\n ul: \"ul\",\n li: \"li\",\n em: \"em\",\n strong: \"strong\",\n h2: \"h2\",\n h3: \"h3\",\n pre: \"pre\",\n code: \"code\",\n blockquote: \"blockquote\",\n ol: \"ol\",\n input: \"input\",\n del: \"del\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"zenwave-sdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk\",\n \"aria-label\": \"zenwave sdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK Helps you Create Software Easy to Understand\"), \"\\n\", React.createElement(\"div\", {\n class: \"badges\"\n }, React.createElement(_components.p, null, React.createElement(_components.a, {\n href: \"https://search.maven.org/artifact/io.github.zenwave360.zenwave-sdk/zenwave-sdk\"\n }, React.createElement(_components.img, {\n src: \"https://img.shields.io/maven-central/v/io.github.zenwave360.zenwave-sdk/zenwave-sdk.svg?label=Maven%20Central&logo=apachemaven\",\n alt: \"Maven Central\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/releases\"\n }, React.createElement(_components.img, {\n src: \"https://img.shields.io/github/v/release/ZenWave360/zenwave-sdk?logo=GitHub\",\n alt: \"GitHub release (latest by date)\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml\"\n }, React.createElement(_components.img, {\n src: \"https://github.com/ZenWave360/zenwave-sdk/workflows/build/badge.svg\",\n alt: \"build\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml\"\n }, React.createElement(_components.img, {\n src: \"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/jacoco.svg\",\n alt: \"coverage\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/actions/workflows/build.yml\"\n }, React.createElement(_components.img, {\n src: \"https://raw.githubusercontent.com/ZenWave360/zenwave-sdk/badges/branches.svg\",\n alt: \"branches coverage\"\n })), \"\\r\\n\", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/blob/main/LICENSE\"\n }, React.createElement(_components.img, {\n src: \"https://img.shields.io/github/license/ZenWave360/zenwave-sdk\",\n alt: \"GitHub\"\n })))), \"\\n\", React.createElement(Quote, null, React.createElement(_components.p, null, \"The heart of software is its ability to solve domain-related problems for its users. The best software supports elegant solutions to real-world problems\\r\\n\", React.createElement(QuoteAuthor, null, \"- Eric Evans in Domain Driven Design\"))), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave SDK Modeling Languages\",\n light: modelingLanguagesLight,\n dark: modelingLanguagesDark\n }), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK is a set of tools to convert your \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain Models\"), \" into working software and tests.\"), \"\\n\", React.createElement(_components.p, null, \"It is designed to be modular, configurable and extensible. It uses the standard java classpath as loading mechanism, so you can extend its functionality adding your own custom plugins. Visit \", React.createElement(_components.a, {\n href: \"/zenwave-sdk\"\n }, \"ZenWave SDK\"), \" for all configuration options.\"), \"\\n\", React.createElement(_components.p, null, \"Based on \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain Driven Design (DDD)\"), \" and \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First\"), \" principles for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Event Driven Microservices\"), \".\"), \"\\n\", React.createElement(Image, {\n alt: \"Speed Feedback Loop\",\n dark: speedFeedbackLoopDark,\n light: speedFeedbackLoopLight,\n style: {\n marginTop: '15px'\n }\n }), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK can generate code from a mix of different models including:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, React.createElement(_components.a, {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL Domain Language\"), \" as \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Ubiquitous Language\"), \". You can describe the core of your Bounded Context, as well as how it connects to external systems through different adapters and APIs.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(_components.a, {\n href: \"https://www.asyncapi.com/docs/getting-started/coming-from-openapi\"\n }, \"AsyncAPI\"), \": Industry de-facto standard to describe Event-Driven Architectures for Message-based APIs.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(_components.a, {\n href: \"https://swagger.io/specification/\"\n }, \"OpenAPI\"), \": Industry standard for Request-Response Architectures with REST APIs.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Using ZenWave Domain Language as \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Ubiquitous Language\"), \" for modeling and describing Bounded Contexts: aggregates, entities with their relationships, services, value objects, commands and events.\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave Domain Language started as an \", React.createElement(_components.em, null, \"extended subset\"), \" of \", React.createElement(_components.a, {\n href: \"https://www.jhipster.tech/jdl/intro\"\n }, \"JHipster Domain Language (JDL)\"), \" that let you describe your entities and relationships.\"), \"\\n\", React.createElement(_components.p, null, \"Using ZDL Domain Language as \", React.createElement(_components.strong, null, \"Ubiquitous Language\"), \" for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Data on the Inside\"), \" and \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First\"), \" specs like \", React.createElement(_components.strong, null, \"AsyncAPI\"), \" and \", React.createElement(_components.strong, null, \"OpenAPI\"), \" to describe Inter Process Communications (IPC) for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Data on the Outside\"), \".\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZenWave Domain Language (ZDL) as Ubiquitous Language:\"), \" To describe your domain core domain model.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First specs like AsyncAPI and OpenAPI:\"), \" to describe Inter Process Communications (IPC) between bounded contexts/microservices.\"), \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZenWave SDK:\"), \" to generate (\", React.createElement(_components.em, null, \"a lot of\"), \") infrastructure, functional and testing code from your models and APIs.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK is designed to be easily extensible and adaptable to your project or your organization needs and likes.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-installation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-installation\",\n \"aria-label\": \"zenwave sdk installation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Installation\"), \"\\n\", React.createElement(_components.h3, {\n id: \"command-line-interface-cli\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#command-line-interface-cli\",\n \"aria-label\": \"command line interface cli permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Command Line Interface (CLI)\"), \"\\n\", React.createElement(_components.p, null, \"You can install the latest release using \", React.createElement(_components.a, {\n href: \"https://www.jbang.dev\"\n }, \"jbang\"), \" running the following command:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\\r\\n\\r\\njbang zw --help list\\r\\n\\n\")), \"\\n\", React.createElement(_components.p, null, \"Will output a list of all available plugins:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-log\"\n }, \"ZW> SDK (1.4.0)\\r\\n\\r\\nAvailable plugins:\\r\\n\\r\\nbackend-application-default io.zenwave360.sdk.plugins.BackendApplicationDefaultPlugin: Generates a full backend application using a flexible hexagonal architecture (1.4.0)\\r\\nspring-cloud-streams3-adapters io.zenwave360.sdk.plugins.SpringCloudStreams3AdaptersPlugin: Generates tests for Spring Cloud Streams Consumers. (1.4.0)\\r\\njdl-to-asyncapi io.zenwave360.sdk.plugins.JDLToAsyncAPIPlugin: Generates a full AsyncAPI definitions for CRUD operations from JDL models (1.4.0)\\r\\nspring-webtestclient io.zenwave360.sdk.plugins.SpringWebTestClientPlugin: Generates test for SpringMVC or Spring WebFlux using WebTestClient based on OpenAPI specification. (1.4.0)\\r\\nfork-plugin io.zenwave360.sdk.plugins.ForkPlugin: Creates a new standalone maven module cloning an existing plugin (1.4.0)\\r\\njsonschema2pojo io.zenwave360.sdk.plugins.AsyncApiJsonSchema2PojoPlugin: Generate Plain Old Java Objects from OpenAPI/AsyncAPI schemas or full JSON-Schema files (1.4.0)\\r\\nopenapi-controllers io.zenwave360.sdk.plugins.OpenAPIControllersPlugin: Generates implementations based on ZDL models and OpenAPI definitions SpringMVC generated OpenAPI interfaces. (1.4.0)\\r\\nopenapi-to-jdl io.zenwave360.sdk.plugins.OpenAPIToJDLPlugin: Generates JDL model from OpenAPI schemas (1.4.0)\\r\\nspring-cloud-streams3 io.zenwave360.sdk.plugins.SpringCloudStreams3Plugin: Generates strongly typed SpringCloudStreams3 producer/consumer classes for AsyncAPI (1.4.0)\\r\\nrest-assured io.zenwave360.sdk.plugins.RestAssuredPlugin: Generates REST-Assured tests based on OpenAPI specification. (1.4.0)\\r\\nzdl-to-openapi io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin: Generates a draft OpenAPI definitions from your ZDL entities and services. (1.4.0)\\r\\nzdl-to-markdown io.zenwave360.sdk.plugins.ZdlToMarkdownPlugin: Generates Markdown glossary from Zdl Models (1.4.0)\\r\\nzdl-to-asyncapi io.zenwave360.sdk.plugins.ZDLToAsyncAPIPlugin: Generates a draft AsyncAPI file with events from your ZDL services. (1.4.0)\\r\\n\\r\\nUse: \\\"jbang zw -p -h\\\" to get help on a specific plugin\\n\")), \"\\n\", React.createElement(_components.p, null, \"If you don't find the functionality you are looking for, you can always \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/#forking-an-standard-or-custom-plugin\"\n }, \"fork an existing, standard or custom plugin\"), \".\"), \"\\n\", React.createElement(_components.p, null, \"Please refer to \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-sdk/\"\n }, React.createElement(_components.strong, null, \"ZenWave SDK\")), \" for more detailed installation options.\"), \"\\n\", React.createElement(_components.h3, {\n id: \"maven-plugin\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#maven-plugin\",\n \"aria-label\": \"maven plugin permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Maven Plugin\"), \"\\n\", React.createElement(_components.p, null, \"You can run any available (standard or custom) plugin as part of your maven build using the maven plugin:\"), \"\\n\", React.createElement(\"details\", null, React.createElement(\"summary\", null, \"Click to see the maven plugin configuration\"), React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-xml\"\n }, \"\\r\\n io.github.zenwave360.zenwave-sdk\\r\\n zenwave-sdk-maven-plugin\\r\\n ${zenwave.version}\\r\\n \\r\\n false\\r\\n true\\r\\n true\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n generate-asyncapi\\r\\n generate-sources\\r\\n \\r\\n generate\\r\\n \\r\\n \\r\\n spring-cloud-streams3\\r\\n classpath:model/asyncapi.yml\\r\\n \\r\\n \\r\\n value\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-spring-cloud-streams3\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n io.github.zenwave360.zenwave-sdk.plugins\\r\\n asyncapi-jsonschema2pojo\\r\\n ${zenwave.version}\\r\\n \\r\\n \\r\\n\\n\")), React.createElement(_components.p, null, \"Notice how you can read spec files from the project classpath as well as the filesystem. If you want to read a spec file from inside a project dependency remember to set \", React.createElement(_components.code, null, \"true\"), \".\"), React.createElement(_components.p, null, \"NOTE: Remember to add any plugin you want to use as dependency.\")), \"\\n\", React.createElement(_components.p, null, \"Jump to \", React.createElement(_components.a, {\n href: \"https://zenwave360.github.io/zenwave-sdk/plugins/asyncapi-spring-cloud-streams3\"\n }, \"ZenWave AsyncAPI Generator\"), \" for multiple examples using the maven plugin.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-workflow\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-workflow\",\n \"aria-label\": \"zenwave sdk workflow permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Workflow\"), \"\\n\", React.createElement(_components.p, null, \"You can generate complete Event Driven Microservices using DDD and API-First principles:\"), \"\\n\", React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"👉 Describe your Domain Model ⤳ Generate OpenAPI ⤳ Generate AsyncAPI → Generate API Implementations → Generate Backend → Generate Tests and Contracts 👍\"), \"\\n\"), \"\\n\", React.createElement(_components.ol, null, \"\\n\", React.createElement(_components.li, null, \"Start by \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Modeling your Domain\"), \" using the ZDL Domain Language including: entities, relationships, service commands and domain events.\"), \"\\n\", React.createElement(_components.li, null, \"Generate a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"draft OpenAPI definition from the ZDL model\"), \". Edit collaboratively this OpenAPI document and then generate some more functional code and tests from that definition.\"), \"\\n\", React.createElement(_components.li, null, \"Generate a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"draft AsyncAPI definition\"), \" for consuming async request commands and publishing domain events. Now use zenwave maven plugin to generate strongly typed business interfaces implementing some Enterprise Integration Patterns like: transactional outbox, business dead letter queue...\"), \"\\n\", React.createElement(_components.li, null, \"Generate a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"complete Backend Application\"), \" from your Domain Definition Model.\"), \"\\n\", React.createElement(_components.li, null, \"Connect (by hand) your Backend Application to other systems using the generated OpenAPI and AsyncAPI definitions.\"), \"\\n\", React.createElement(_components.li, null, \"Generate \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"E2E, Integration tests and Consumer Contracts\"), \" for the public APIs you just produced.\"), \"\\n\"), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave SDK Features MindMap\",\n light: sdkMindMapLight,\n dark: sdkMindMapDark\n }), \"\\n\", React.createElement(\"details\", {\n markdown: \"1\"\n }, React.createElement(\"summary\", null, \"ZenWave SDK Code Generator Features (expand to see)\"), React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL Backend Application (flexible hexagonal architecture)\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Domain Entities,\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Inbound\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Service Ports, DTOs, Mappers\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Implementation for CRUD operations\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Acceptance Tests: SpringData InMemory Repositories\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Outbound: SpringData Repositories, ElasticSearch... (for REST or Async see other plugins)\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Adapters:\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Spring MVC\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"Spring WebFlux\")), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Flavors\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"MongoDB\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Imperative\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"Reactive\")), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JPA\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Imperative\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"Reactive\")), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Unit/Integration Testing\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Edge Integration Testing: partial spring-boot context for outbound adapters (with testcontainers)\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Sociable Vertical Testing: manual dependency setup with in memory infrastructure \", React.createElement(_components.em, null, \"test-doubles\")), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Vertical Integration Testing: full spring-boot context for inbound adapters (with testcontainers)\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL OpenAPI Controllers\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Spring WebTestClient\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"AsyncAPI Spring Cloud Streams3\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Consumer and Producer. Imperative and Reactive.\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Business Exceptions Dead Letter Queues Routing\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Producer with Transactional Outbox pattern\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"For MongoDB\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"For JDBC\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Enterprise Envelop Pattern\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Automatically fill headers at runtime from payload paths, tracing-id supplier...\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL to Specs\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL to OpenAPI\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JDL to AsyncAPI\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"AsyncAPI schemas\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"AVRO schemas\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"API Testing\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"KarateDSL\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Karate E2E Tests (please use \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/karate-ide\"\n }, \"KarateIDE VSCode Extension\"), \" instead)\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Karate/ApiMock Stateful Mocks (please use \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/karate-ide\"\n }, \"KarateIDE VSCode Extension\"), \" and \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-apimock\"\n }, \"ZenWave ApiMock\"), \" instead)\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to Spring WebTestClient\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI to REST-assured\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n disabled: true\n }), \" \", React.createElement(_components.del, null, \"OpenAPI to Pact (\", React.createElement(_components.em, null, \"postponed sine die\"), \")\")), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Reverser Engineering\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"OpenAPI 2 JDL\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Java 2 JDL\", \"\\n\", React.createElement(_components.ul, {\n className: \"contains-task-list\"\n }, \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"Spring Data MongoDB annotations\"), \"\\n\", React.createElement(_components.li, {\n className: \"task-list-item\"\n }, React.createElement(_components.input, {\n type: \"checkbox\",\n checked: true,\n disabled: true\n }), \" \", \"JPA annotations\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\")), \"\\n\", React.createElement(_components.h2, {\n id: \"generated-code-structure\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#generated-code-structure\",\n \"aria-label\": \"generated code structure permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Generated Code Structure\"), \"\\n\", React.createElement(_components.p, null, \"Generated code follows a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"flexible onion/hexagonal architecture\"), \". Separating core, inbound, implementation and outbound form infrastructure and adapters.\"), \"\\n\", React.createElement(_components.p, null, \"Core domain entities and aggregates are annotated for persistence with JPA or SpringData/MongoDB annotations, \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"avoiding unnecessary translation layers\"), \" (mappers and dtos).\"), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave SDK Modeling Languages\",\n src: sdkHexagonalDark\n }), \"\\n\", React.createElement(_components.p, null, \"Project structure:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, null, \"📦 \\r\\n 📦 adapters\\r\\n └─ web\\r\\n | └─ RestControllers (spring mvc)\\r\\n └─ events\\r\\n └─ *EventListeners (spring-cloud-streams)\\r\\n 📦 core\\r\\n ├─ 📦 domain\\r\\n | └─ (entities and aggregates)\\r\\n ├─ 📦 inbound\\r\\n | ├─ dtos/\\r\\n | └─ ServiceInterface (inbound service interface)\\r\\n ├─ 📦 outbound\\r\\n | ├─ mongodb\\r\\n | | └─ *RepositoryInterface (spring-data interface)\\r\\n | └─ jpa\\r\\n | └─ *RepositoryInterface (spring-data interface)\\r\\n └─ 📦 implementation\\r\\n ├─ mappers/\\r\\n └─ ServiceImplementation (inbound service implementation)\\r\\n 📦 infrastructure\\r\\n ├─ mongodb\\r\\n | └─ CustomRepositoryImpl (spring-data custom implementation)\\r\\n └─ jpa\\r\\n └─ CustomRepositoryImpl (spring-data custom implementation)\\n\")), \"\\n\", React.createElement(\"a\", {\n href: sdkGeneratedCode\n }, React.createElement(Image, {\n alt: \"ZenWave SDK Generated Code Screenshot\",\n src: sdkGeneratedCode\n })));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/SDK/ZenWaveSDK.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n","export default __webpack_public_path__ + \"static/SDK-ServiceImplementation-Hexagonal.dark-1e003d6d4387f39bced4fc4a9694d7c8.png\";","export default __webpack_public_path__ + \"static/SDK-ServiceImplementation-Hexagonal.light-2ee85e2f86731a12068268ad214ab826.png\";"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","img","ul","li","em","strong","h2","h3","pre","code","blockquote","ol","input","del","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","class","src","alt","Quote","QuoteAuthor","Image","light","modelingLanguagesLight","dark","modelingLanguagesDark","speedFeedbackLoopDark","speedFeedbackLoopLight","marginTop","sdkMindMapLight","sdkMindMapDark","markdown","type","checked","disabled","sdkHexagonalDark","sdkGeneratedCode","wrapper","MDXLayout","DocTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","visible","useColorMode","Cite","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js.map deleted file mode 100644 index 0b1a1b7..0000000 --- a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js","mappings":"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","sources":["webpack://website/../node_modules/pure-react-carousel/dist/index.es.js","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-config.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-entities.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-entities-jpa.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-service.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-events.png","webpack://website/./pages/docs/ZenWave360/Getting-Started.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js"],"sourcesContent":["function ownKeys(e, t) {\n var r = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var i = Object.getOwnPropertySymbols(e);\n t && (i = i.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), r.push.apply(r, i);\n }\n\n return r;\n}\n\nfunction _objectSpread2(e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = null != arguments[t] ? arguments[t] : {};\n t % 2 ? ownKeys(Object(r), !0).forEach(function (t) {\n _defineProperty(e, t, r[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));\n });\n }\n\n return e;\n}\n\nfunction _classCallCheck(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\nfunction _defineProperties(e, t) {\n for (var r = 0; r < t.length; r++) {\n var i = t[r];\n i.enumerable = i.enumerable || !1, i.configurable = !0, \"value\" in i && (i.writable = !0), Object.defineProperty(e, i.key, i);\n }\n}\n\nfunction _createClass(e, t, r) {\n return t && _defineProperties(e.prototype, t), r && _defineProperties(e, r), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\n\nfunction _defineProperty(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n}\n\nfunction _extends() {\n return (_extends = Object.assign ? Object.assign.bind() : function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = arguments[t];\n\n for (var i in r) Object.prototype.hasOwnProperty.call(r, i) && (e[i] = r[i]);\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nfunction _inherits(e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), t && _setPrototypeOf(e, t);\n}\n\nfunction _getPrototypeOf(e) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n}\n\nfunction _setPrototypeOf(e, t) {\n return (_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n}\n\nfunction _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n}\n\nfunction _objectWithoutPropertiesLoose(e, t) {\n if (null == e) return {};\n var r,\n i,\n n = {},\n s = Object.keys(e);\n\n for (i = 0; i < s.length; i++) r = s[i], t.indexOf(r) >= 0 || (n[r] = e[r]);\n\n return n;\n}\n\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n\n var r,\n i,\n n = _objectWithoutPropertiesLoose(e, t);\n\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n\n for (i = 0; i < s.length; i++) r = s[i], t.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);\n }\n\n return n;\n}\n\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\n\nfunction _possibleConstructorReturn(e, t) {\n if (t && (\"object\" == typeof t || \"function\" == typeof t)) return t;\n if (void 0 !== t) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(e);\n}\n\nfunction _createSuper(e) {\n var t = _isNativeReflectConstruct();\n\n return function () {\n var r,\n i = _getPrototypeOf(e);\n\n if (t) {\n var n = _getPrototypeOf(this).constructor;\n\n r = Reflect.construct(i, arguments, n);\n } else r = i.apply(this, arguments);\n\n return _possibleConstructorReturn(this, r);\n };\n}\n\nfunction _toConsumableArray(e) {\n return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(e) {\n if (Array.isArray(e)) return _arrayLikeToArray(e);\n}\n\nfunction _iterableToArray(e) {\n if (\"undefined\" != typeof Symbol && null != e[Symbol.iterator] || null != e[\"@@iterator\"]) return Array.from(e);\n}\n\nfunction _unsupportedIterableToArray(e, t) {\n if (e) {\n if (\"string\" == typeof e) return _arrayLikeToArray(e, t);\n var r = Object.prototype.toString.call(e).slice(8, -1);\n return \"Object\" === r && e.constructor && (r = e.constructor.name), \"Map\" === r || \"Set\" === r ? Array.from(e) : \"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? _arrayLikeToArray(e, t) : void 0;\n }\n}\n\nfunction _arrayLikeToArray(e, t) {\n (null == t || t > e.length) && (t = e.length);\n\n for (var r = 0, i = new Array(t); r < t; r++) i[r] = e[r];\n\n return i;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction createCommonjsModule(e, t) {\n return t = {\n exports: {}\n }, e(t, t.exports), t.exports;\n}\n\nfunction emptyFunction() {}\n\nfunction emptyFunctionWithReset() {}\n\nfunction cn(e) {\n return e.map(function (e) {\n return !1 === e ? null : e;\n }).join(\" \").replace(/\\s+/g, \" \").trim();\n}\n\nfunction slideSize(e, t) {\n return 100 / e * t / t;\n}\n\nfunction slideTraySize(e, t) {\n return 100 * e / t;\n}\n\nfunction pct(e) {\n return \"\".concat(e, \"%\");\n}\n\nfunction equal(e, t, r) {\n if (e === t) return !0;\n var i = types[jkrosoType(e)],\n n = types[jkrosoType(t)];\n return !(!i || i !== n) && i(e, t, r);\n}\n\nfunction memoGaurd(e) {\n return function (t, r, i) {\n if (!i) return e(t, r, []);\n\n for (var n, s = i.length; n = i[--s];) if (n[0] === t && n[1] === r) return !0;\n\n return e(t, r, i);\n };\n}\n\nfunction arrayEqual(e, t, r) {\n var i = e.length;\n if (i !== t.length) return !1;\n\n for (r.push([e, t]); i--;) if (!equal(e[i], t[i], r)) return !1;\n\n return !0;\n}\n\nfunction objectEqual(e, t, r) {\n if (\"function\" == typeof e.equal) return r.push([e, t]), e.equal(t, r);\n var i = getEnumerableProperties(e),\n n = getEnumerableProperties(t),\n s = i.length;\n if (s !== n.length) return !1;\n\n for (i.sort(), n.sort(); s--;) if (i[s] !== n[s]) return !1;\n\n for (r.push([e, t]), s = i.length; s--;) {\n var o = i[s];\n if (!equal(e[o], t[o], r)) return !1;\n }\n\n return !0;\n}\n\nfunction getEnumerableProperties(e) {\n var t = [];\n\n for (var r in e) \"constructor\" !== r && t.push(r);\n\n return t;\n}\n\nfunction isNonNullObject(e) {\n return !!e && \"object\" == typeof e;\n}\n\nfunction isSpecial(e) {\n var t = Object.prototype.toString.call(e);\n return \"[object RegExp]\" === t || \"[object Date]\" === t || isReactElement(e);\n}\n\nfunction isReactElement(e) {\n return e.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nfunction emptyTarget(e) {\n return Array.isArray(e) ? [] : {};\n}\n\nfunction cloneUnlessOtherwiseSpecified(e, t) {\n return !1 !== t.clone && t.isMergeableObject(e) ? deepmerge(emptyTarget(e), e, t) : e;\n}\n\nfunction defaultArrayMerge(e, t, r) {\n return e.concat(t).map(function (e) {\n return cloneUnlessOtherwiseSpecified(e, r);\n });\n}\n\nfunction mergeObject(e, t, r) {\n var i = {};\n return r.isMergeableObject(e) && Object.keys(e).forEach(function (t) {\n i[t] = cloneUnlessOtherwiseSpecified(e[t], r);\n }), Object.keys(t).forEach(function (n) {\n r.isMergeableObject(t[n]) && e[n] ? i[n] = deepmerge(e[n], t[n], r) : i[n] = cloneUnlessOtherwiseSpecified(t[n], r);\n }), i;\n}\n\nfunction deepmerge(e, t, r) {\n (r = r || {}).arrayMerge = r.arrayMerge || defaultArrayMerge, r.isMergeableObject = r.isMergeableObject || isMergeableObject;\n var i = Array.isArray(t);\n return i === Array.isArray(e) ? i ? r.arrayMerge(e, t, r) : mergeObject(e, t, r) : cloneUnlessOtherwiseSpecified(t, r);\n}\n\nfunction WithStore(e) {\n var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : function () {\n return {};\n },\n r = function (r) {\n function i(e, r) {\n var s;\n return _classCallCheck(this, i), s = n.call(this, e, r), s.state = t(_objectSpread2({}, r.state)), s.updateStateProps = s.updateStateProps.bind(_assertThisInitialized(s)), s;\n }\n\n _inherits(i, r);\n\n var n = _createSuper(i);\n\n return _createClass(i, [{\n key: \"componentDidMount\",\n value: function () {\n this.context.subscribe(this.updateStateProps);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function (e, t) {\n return !equals(t, this.state) || !equals(e, this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n this.context.unsubscribe(this.updateStateProps);\n }\n }, {\n key: \"updateStateProps\",\n value: function () {\n this.setState(t(_objectSpread2({}, this.context.state)));\n }\n }, {\n key: \"render\",\n value: function () {\n var t = this,\n r = deepmerge_1(this.state, this.props);\n return React.createElement(e, _extends({\n ref: function (e) {\n t.instance = e;\n }\n }, r, {\n carouselStore: {\n getStoreState: this.context.getStoreState,\n masterSpinnerError: this.context.masterSpinnerError,\n masterSpinnerSuccess: this.context.masterSpinnerSuccess,\n setStoreState: this.context.setStoreState,\n subscribeMasterSpinner: this.context.subscribeMasterSpinner,\n unsubscribeAllMasterSpinner: this.context.unsubscribeAllMasterSpinner,\n unsubscribeMasterSpinner: this.context.unsubscribeMasterSpinner\n }\n }), this.props.children);\n }\n }]), i;\n }(React.Component);\n\n return _defineProperty(r, \"contextType\", Context), _defineProperty(r, \"propTypes\", {\n children: CarouselPropTypes.children\n }), _defineProperty(r, \"defaultProps\", {\n children: null\n }), r;\n}\n\nimport React from \"react\";\nvar ReactPropTypesSecret = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\",\n ReactPropTypesSecret_1 = ReactPropTypesSecret;\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nvar factoryWithThrowingShims = function () {\n function e(e, t, r, i, n, s) {\n if (s !== ReactPropTypesSecret_1) {\n var o = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");\n throw o.name = \"Invariant Violation\", o;\n }\n }\n\n function t() {\n return e;\n }\n\n e.isRequired = e;\n var r = {\n array: e,\n bigint: e,\n bool: e,\n func: e,\n number: e,\n object: e,\n string: e,\n symbol: e,\n any: e,\n arrayOf: t,\n element: e,\n elementType: e,\n instanceOf: t,\n node: e,\n objectOf: t,\n oneOf: t,\n oneOfType: t,\n shape: t,\n exact: t,\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n return r.PropTypes = r, r;\n},\n propTypes = createCommonjsModule(function (e) {\n e.exports = factoryWithThrowingShims();\n}),\n LOADING = \"loading\",\n SUCCESS = \"success\",\n ERROR = \"error\",\n CarouselPropTypes = {\n children: propTypes.oneOfType([propTypes.arrayOf(propTypes.node), propTypes.node]),\n direction: propTypes.oneOf([\"forward\", \"backward\"]),\n height: function (e, t) {\n var r = e[t];\n return \"vertical\" !== e.orientation || null !== r && \"number\" == typeof r ? null : new Error(\"Missing required property '\".concat(t, \"' when orientation is vertical. You must supply a number representing the height in pixels\"));\n },\n orientation: propTypes.oneOf([\"horizontal\", \"vertical\"]),\n isBgImage: function (e, t) {\n return !0 === e[t] && \"img\" === e.tag ? new Error(\"HTML img elements should not have a backgroundImage. Please use \".concat(t, \" for other block-level HTML tags, like div, a, section, etc...\")) : null;\n }\n},\n boundedRange = function (e) {\n var t = e.min,\n r = e.max,\n i = e.x;\n return Math.min(r, Math.max(t, i));\n},\n s = {\n buttonBack: \"buttonBack___1mlaL\"\n},\n _excluded = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"step\", \"totalSlides\", \"visibleSlides\", \"infinite\"],\n ButtonBack = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.currentSlide,\n n = t.onClick,\n s = t.step,\n o = t.infinite,\n a = t.visibleSlides,\n l = t.totalSlides - a,\n c = Math.max(i - s, 0);\n o && (c = 0 === i ? l : c), r.setStoreState({\n currentSlide: c,\n isPlaying: !1\n }, null !== n && n.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n r = (e.carouselStore, e.className),\n i = (e.currentSlide, e.disabled, e.onClick, e.step, e.totalSlides, e.visibleSlides, e.infinite),\n n = _objectWithoutProperties(e, _excluded),\n o = cn([s.buttonBack, \"carousel__back-button\", r]),\n a = t.setDisabled(this.props.disabled, this.props.currentSlide, i);\n\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"previous\",\n className: o,\n onClick: this.handleOnClick,\n disabled: a\n }, n), this.props.children);\n }\n }], [{\n key: \"setDisabled\",\n value: function (e, t, r) {\n return null !== e ? e : 0 === t && !r;\n }\n }]), t;\n}(React.Component);\n\n_defineProperty(ButtonBack, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n step: propTypes.number.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n infinite: propTypes.bool\n}), _defineProperty(ButtonBack, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null,\n infinite: !1\n});\nvar jkrosoType = createCommonjsModule(function (e, t) {\n var r = {}.toString,\n i = \"undefined\" != typeof window ? window.Node : Function;\n\n e.exports = t = function (e) {\n var t = typeof e;\n if (\"object\" != t) return t;\n if (t = n[r.call(e)], \"object\" == t) return e instanceof Map ? \"map\" : e instanceof Set ? \"set\" : \"object\";\n if (t) return t;\n if (e instanceof i) switch (e.nodeType) {\n case 1:\n return \"element\";\n\n case 3:\n return \"text-node\";\n\n case 9:\n return \"document\";\n\n case 11:\n return \"document-fragment\";\n\n default:\n return \"dom-node\";\n }\n };\n\n var n = t.types = {\n \"[object Function]\": \"function\",\n \"[object Date]\": \"date\",\n \"[object RegExp]\": \"regexp\",\n \"[object Arguments]\": \"arguments\",\n \"[object Array]\": \"array\",\n \"[object Set]\": \"set\",\n \"[object String]\": \"string\",\n \"[object Null]\": \"null\",\n \"[object Undefined]\": \"undefined\",\n \"[object Number]\": \"number\",\n \"[object Boolean]\": \"boolean\",\n \"[object Object]\": \"object\",\n \"[object Map]\": \"map\",\n \"[object Text]\": \"text-node\",\n \"[object Uint8Array]\": \"bit-array\",\n \"[object Uint16Array]\": \"bit-array\",\n \"[object Uint32Array]\": \"bit-array\",\n \"[object Uint8ClampedArray]\": \"bit-array\",\n \"[object Error]\": \"error\",\n \"[object FormData]\": \"form-data\",\n \"[object File]\": \"file\",\n \"[object Blob]\": \"blob\"\n };\n}),\n jkrosoType_1 = jkrosoType.types,\n types = {};\ntypes.number = function (e, t) {\n return e !== e && t !== t;\n}, types.function = function (e, t, r) {\n return e.toString() === t.toString() && types.object(e, t, r) && equal(e.prototype, t.prototype);\n}, types.date = function (e, t) {\n return +e == +t;\n}, types.regexp = function (e, t) {\n return e.toString() === t.toString();\n}, types.element = function (e, t) {\n return e.outerHTML === t.outerHTML;\n}, types.textnode = function (e, t) {\n return e.textContent === t.textContent;\n}, types.arguments = types[\"bit-array\"] = types.array = memoGaurd(arrayEqual), types.object = memoGaurd(objectEqual);\n\nvar equals = equal,\n isMergeableObject = function (e) {\n return isNonNullObject(e) && !isSpecial(e);\n},\n canUseSymbol = \"function\" == typeof Symbol && Symbol.for,\n REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 60103;\n\ndeepmerge.all = function (e, t) {\n if (!Array.isArray(e)) throw new Error(\"first argument should be an array\");\n return e.reduce(function (e, r) {\n return deepmerge(e, r, t);\n }, {});\n};\n\nvar deepmerge_1 = deepmerge,\n Context = React.createContext(),\n deepFreeze = function e(t) {\n return Object.freeze(t), Object.getOwnPropertyNames(t).forEach(function (r) {\n !t.hasOwnProperty(r) || null === t[r] || \"object\" != typeof t[r] && \"function\" != typeof t[r] || Object.isFrozen(t[r]) || e(t[r]);\n }), t;\n},\n DEFAULT_STATE = {\n masterSpinnerFinished: !1\n},\n Store = function () {\n function e(t) {\n _classCallCheck(this, e), this.state = deepFreeze(deepmerge_1(DEFAULT_STATE, t)), this.subscriptions = [], this.masterSpinnerSubscriptions = {}, this.setStoreState = this.setStoreState.bind(this), this.getStoreState = this.getStoreState.bind(this), this.subscribe = this.subscribe.bind(this), this.unsubscribe = this.unsubscribe.bind(this), this.updateSubscribers = this.updateSubscribers.bind(this), this.subscribeMasterSpinner = this.subscribeMasterSpinner.bind(this), this.unsubscribeMasterSpinner = this.unsubscribeMasterSpinner.bind(this), this.unsubscribeAllMasterSpinner = this.unsubscribeAllMasterSpinner.bind(this), this.masterSpinnerSuccess = this.masterSpinnerSuccess.bind(this), this.masterSpinnerError = this.masterSpinnerError.bind(this);\n }\n\n return _createClass(e, [{\n key: \"setStoreState\",\n value: function (e, t) {\n this.state = deepFreeze(deepmerge_1(this.state, e)), this.updateSubscribers(t);\n }\n }, {\n key: \"getStoreState\",\n value: function () {\n return deepmerge_1({}, this.state);\n }\n }, {\n key: \"subscribe\",\n value: function (e) {\n this.subscriptions.push(e);\n }\n }, {\n key: \"unsubscribe\",\n value: function (e) {\n var t = this.subscriptions.indexOf(e);\n -1 !== t && this.subscriptions.splice(t, 1);\n }\n }, {\n key: \"updateSubscribers\",\n value: function (e) {\n this.subscriptions.forEach(function (e) {\n return e();\n }), \"function\" == typeof e && e(this.getStoreState());\n }\n }, {\n key: \"subscribeMasterSpinner\",\n value: function (e) {\n -1 === Object.keys(this.masterSpinnerSubscriptions).indexOf(e) && (this.masterSpinnerSubscriptions[e] = {\n success: !1,\n error: !1,\n complete: !1\n });\n }\n }, {\n key: \"unsubscribeMasterSpinner\",\n value: function (e) {\n return -1 !== Object.keys(this.masterSpinnerSubscriptions).indexOf(e) && (this.setMasterSpinnerFinished(), delete this.masterSpinnerSubscriptions[e]);\n }\n }, {\n key: \"unsubscribeAllMasterSpinner\",\n value: function () {\n this.masterSpinnerSubscriptions = {}, this.setMasterSpinnerFinished();\n }\n }, {\n key: \"masterSpinnerSuccess\",\n value: function (e) {\n this.masterSpinnerSubscriptions[e].success = !0, this.masterSpinnerSubscriptions[e].complete = !0, this.setMasterSpinnerFinished();\n }\n }, {\n key: \"masterSpinnerError\",\n value: function (e) {\n this.masterSpinnerSubscriptions[e].error = !0, this.masterSpinnerSubscriptions[e].complete = !0, this.setMasterSpinnerFinished();\n }\n }, {\n key: \"setMasterSpinnerFinished\",\n value: function () {\n this.setStoreState({\n masterSpinnerFinished: this.isMasterSpinnerFinished()\n });\n }\n }, {\n key: \"isMasterSpinnerFinished\",\n value: function () {\n var e = this;\n return 0 === Object.keys(this.masterSpinnerSubscriptions).filter(function (t) {\n return !0 !== e.masterSpinnerSubscriptions[t].complete;\n }).length;\n }\n }]), e;\n}(),\n _excluded$1 = [\"children\", \"className\", \"currentSlide\", \"disableAnimation\", \"disableKeyboard\", \"hasMasterSpinner\", \"interval\", \"isPageScrollLocked\", \"isPlaying\", \"lockOnWindowScroll\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"orientation\", \"playDirection\", \"step\", \"dragStep\", \"tag\", \"totalSlides\", \"touchEnabled\", \"dragEnabled\", \"visibleSlides\", \"infinite\", \"isIntrinsicHeight\"],\n _class,\n CarouselProvider = (_class = function (e) {\n function t(e) {\n var i;\n if (_classCallCheck(this, t), i = r.call(this, e), e.isIntrinsicHeight && \"horizontal\" !== e.orientation) throw Error('isIntrinsicHeight can only be used in \"horizontal\" orientation. See Readme for more information.');\n var n = {\n currentSlide: e.currentSlide,\n disableAnimation: e.disableAnimation,\n disableKeyboard: e.disableKeyboard,\n hasMasterSpinner: e.hasMasterSpinner,\n imageErrorCount: 0,\n imageSuccessCount: 0,\n interval: e.interval,\n isPageScrollLocked: e.isPageScrollLocked,\n isPlaying: e.isPlaying,\n lockOnWindowScroll: e.lockOnWindowScroll,\n masterSpinnerThreshold: 0,\n naturalSlideHeight: e.naturalSlideHeight,\n naturalSlideWidth: e.naturalSlideWidth,\n orientation: e.orientation,\n playDirection: e.playDirection,\n privateUnDisableAnimation: !1,\n slideSize: slideSize(e.totalSlides, e.visibleSlides),\n slideTraySize: slideTraySize(e.totalSlides, e.visibleSlides),\n step: e.step,\n dragStep: e.dragStep,\n totalSlides: e.totalSlides,\n touchEnabled: e.touchEnabled,\n dragEnabled: e.dragEnabled,\n visibleSlides: e.visibleSlides,\n infinite: e.infinite,\n isIntrinsicHeight: e.isIntrinsicHeight\n };\n return i.carouselStore = new Store(n), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidUpdate\",\n value: function (e) {\n var t = this,\n r = {};\n [\"currentSlide\", \"disableAnimation\", \"disableKeyboard\", \"hasMasterSpinner\", \"interval\", \"isPlaying\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"lockOnWindowScroll\", \"orientation\", \"playDirection\", \"step\", \"dragStep\", \"totalSlides\", \"touchEnabled\", \"dragEnabled\", \"visibleSlides\"].forEach(function (i) {\n e[i] !== t.props[i] && (r[i] = t.props[i]);\n }), this.props.currentSlide !== e.currentSlide && !this.props.disableAnimation && (r.disableAnimation = !0, r.privateUnDisableAnimation = !0), this.props.totalSlides === e.totalSlides && this.props.visibleSlides === e.visibleSlides || (r.slideSize = slideSize(this.props.totalSlides, this.props.visibleSlides), r.slideTraySize = slideTraySize(this.props.totalSlides, this.props.visibleSlides)), this.carouselStore.state.currentSlide >= this.props.totalSlides && (r.currentSlide = Math.max(this.props.totalSlides - 1, 0)), Object.keys(r).length > 0 && this.carouselStore.setStoreState(r);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n this.carouselStore.unsubscribeAllMasterSpinner();\n }\n }, {\n key: \"getStore\",\n value: function () {\n return this.carouselStore;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.children, e.className, e.currentSlide, e.disableAnimation, e.disableKeyboard, e.hasMasterSpinner, e.interval, e.isPageScrollLocked, e.isPlaying, e.lockOnWindowScroll, e.naturalSlideHeight, e.naturalSlideWidth, e.orientation, e.playDirection, e.step, e.dragStep, e.tag),\n r = (e.totalSlides, e.touchEnabled, e.dragEnabled, e.visibleSlides, e.infinite, e.isIntrinsicHeight, _objectWithoutProperties(e, _excluded$1)),\n i = cn([\"carousel\", this.props.className]);\n return React.createElement(t, _extends({\n className: i\n }, r), React.createElement(Context.Provider, {\n value: this.carouselStore\n }, this.props.children));\n }\n }]), t;\n}(React.Component), _defineProperty(_class, \"propTypes\", {\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number,\n disableAnimation: propTypes.bool,\n disableKeyboard: propTypes.bool,\n hasMasterSpinner: propTypes.bool,\n interval: propTypes.number,\n isPageScrollLocked: propTypes.bool,\n isPlaying: propTypes.bool,\n lockOnWindowScroll: propTypes.bool,\n naturalSlideHeight: propTypes.number.isRequired,\n naturalSlideWidth: propTypes.number.isRequired,\n orientation: CarouselPropTypes.orientation,\n playDirection: CarouselPropTypes.direction,\n step: propTypes.number,\n dragStep: propTypes.number,\n tag: propTypes.string,\n totalSlides: propTypes.number.isRequired,\n touchEnabled: propTypes.bool,\n dragEnabled: propTypes.bool,\n visibleSlides: propTypes.number,\n infinite: propTypes.bool,\n isIntrinsicHeight: propTypes.bool\n}), _defineProperty(_class, \"defaultProps\", {\n className: null,\n currentSlide: 0,\n disableAnimation: !1,\n disableKeyboard: !1,\n hasMasterSpinner: !1,\n interval: 5e3,\n isPageScrollLocked: !1,\n isPlaying: !1,\n lockOnWindowScroll: !1,\n orientation: \"horizontal\",\n playDirection: \"forward\",\n step: 1,\n dragStep: 1,\n tag: \"div\",\n touchEnabled: !0,\n dragEnabled: !0,\n visibleSlides: 1,\n infinite: !1,\n isIntrinsicHeight: !1\n}), _class);\n\nContext.Consumer;\n\nvar index = WithStore(ButtonBack, function (e) {\n return {\n currentSlide: e.currentSlide,\n step: e.step,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides,\n infinite: e.infinite\n };\n}),\n s$1 = {\n buttonFirst: \"buttonFirst___2rhFr\"\n},\n _excluded$2 = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"totalSlides\"],\n _class$1,\n ButtonFirst = (_class$1 = function (e) {\n function t() {\n var e;\n return _classCallCheck(this, t), e = r.call(this), e.handleOnClick = e.handleOnClick.bind(_assertThisInitialized(e)), e;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.onClick;\n r.setStoreState({\n currentSlide: 0,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.className),\n r = e.currentSlide,\n i = e.disabled,\n n = (e.onClick, e.totalSlides, _objectWithoutProperties(e, _excluded$2)),\n s = cn([s$1.buttonFirst, \"carousel__first-button\", t]),\n o = null !== i ? i : 0 === r;\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"first\",\n className: s,\n onClick: this.handleOnClick,\n disabled: o\n }, n), this.props.children);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$1, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n totalSlides: propTypes.number.isRequired\n}), _defineProperty(_class$1, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null\n}), _class$1),\n index$1 = WithStore(ButtonFirst, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides\n };\n}),\n s$2 = {\n buttonNext: \"buttonNext___2mOCa\"\n},\n _excluded$3 = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"step\", \"totalSlides\", \"visibleSlides\", \"infinite\"],\n _class$2,\n ButtonNext = (_class$2 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.currentSlide,\n i = t.onClick,\n n = t.step,\n s = t.carouselStore,\n o = t.infinite,\n a = t.totalSlides - t.visibleSlides,\n l = n + r,\n c = Math.min(l, a);\n o && (c = a === r ? 0 : c), s.setStoreState({\n currentSlide: c,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n r = (e.carouselStore, e.className),\n i = e.currentSlide,\n n = e.disabled,\n s = (e.onClick, e.step, e.totalSlides),\n o = e.visibleSlides,\n a = e.infinite,\n l = _objectWithoutProperties(e, _excluded$3),\n c = cn([s$2.buttonNext, \"carousel__next-button\", r]),\n u = t.setDisabled(n, i, o, s, a);\n\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"next\",\n className: c,\n onClick: this.handleOnClick,\n disabled: u\n }, l), this.props.children);\n }\n }], [{\n key: \"setDisabled\",\n value: function (e, t, r, i, n) {\n return null !== e ? e : t >= i - r && !n;\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$2, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n step: propTypes.number.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n infinite: propTypes.bool\n}), _defineProperty(_class$2, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null,\n infinite: !1\n}), _class$2),\n index$2 = WithStore(ButtonNext, function (e) {\n return {\n currentSlide: e.currentSlide,\n step: e.step,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides,\n infinite: e.infinite\n };\n}),\n s$3 = {\n buttonLast: \"buttonLast___2yuh0\"\n},\n _excluded$4 = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"totalSlides\", \"visibleSlides\"],\n _class$3,\n ButtonLast = (_class$3 = function (e) {\n function t() {\n var e;\n return _classCallCheck(this, t), e = r.call(this), e.handleOnClick = e.handleOnClick.bind(_assertThisInitialized(e)), e;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.onClick,\n n = t.totalSlides,\n s = t.visibleSlides;\n r.setStoreState({\n currentSlide: n - s,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.className),\n r = e.currentSlide,\n i = e.disabled,\n n = (e.onClick, e.totalSlides),\n s = e.visibleSlides,\n o = _objectWithoutProperties(e, _excluded$4),\n a = cn([s$3.buttonLast, \"carousel__last-button\", t]),\n l = null !== i ? i : r >= n - s;\n\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"last\",\n className: a,\n onClick: this.handleOnClick,\n disabled: l\n }, o), this.props.children);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$3, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired\n}), _defineProperty(_class$3, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null\n}), _class$3),\n index$3 = WithStore(ButtonLast, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides\n };\n}),\n s$4 = {\n buttonNext: \"buttonNext___3Lm3s\"\n},\n _excluded$5 = [\"carouselStore\", \"children\", \"childrenPaused\", \"childrenPlaying\", \"className\", \"isPlaying\", \"onClick\"],\n _class$4,\n ButtonPlay = (_class$4 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props.onClick;\n this.props.carouselStore.setStoreState({\n isPlaying: !this.props.isPlaying\n }, null !== t && t.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children, e.childrenPaused),\n r = e.childrenPlaying,\n i = e.className,\n n = e.isPlaying,\n s = (e.onClick, _objectWithoutProperties(e, _excluded$5)),\n o = cn([s$4.buttonNext, \"carousel__play-button\", i]);\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"play\",\n className: o,\n onClick: this.handleOnClick\n }, s), n && r, !n && t, this.props.children);\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$4, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: propTypes.node,\n childrenPaused: propTypes.node,\n childrenPlaying: propTypes.node,\n className: propTypes.string,\n isPlaying: propTypes.bool.isRequired,\n onClick: propTypes.func\n}), _defineProperty(_class$4, \"defaultProps\", {\n children: null,\n childrenPaused: null,\n childrenPlaying: null,\n className: null,\n onClick: null\n}), _class$4),\n index$4 = WithStore(ButtonPlay, function (e) {\n return {\n isPlaying: e.isPlaying\n };\n}),\n s$5 = {\n dot: \"dot___3c3SI\"\n},\n _excluded$6 = [\"carouselStore\", \"children\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"selected\", \"slide\", \"totalSlides\", \"visibleSlides\"],\n _class$5,\n Dot = (_class$5 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.onClick,\n n = t.slide,\n s = t.totalSlides,\n o = t.visibleSlides,\n a = n >= s - o ? s - o : n;\n r.setStoreState({\n currentSlide: a,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children, e.className),\n r = e.currentSlide,\n i = e.disabled,\n n = (e.onClick, e.selected),\n s = e.slide,\n o = (e.totalSlides, e.visibleSlides),\n a = _objectWithoutProperties(e, _excluded$6),\n l = s >= r && s < r + o,\n c = \"boolean\" == typeof n ? n : l,\n u = !0 === l,\n p = \"boolean\" == typeof i ? i : u,\n d = cn([s$5.dot, c && s$5.dotSelected, \"carousel__dot\", \"carousel__dot--\".concat(s), c && \"carousel__dot--selected\", t]);\n\n return React.createElement(\"button\", _extends({\n \"aria-label\": \"slide dot\",\n type: \"button\",\n onClick: this.handleOnClick,\n className: d,\n disabled: p\n }, a), this.props.children);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$5, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n selected: propTypes.bool,\n slide: propTypes.number.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired\n}), _defineProperty(_class$5, \"defaultProps\", {\n children: null,\n className: null,\n disabled: null,\n onClick: null,\n selected: null\n}), _class$5),\n Dot$1 = WithStore(Dot, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides\n };\n}),\n s$6 = {},\n _excluded$7 = [\"renderDots\"],\n _excluded2 = [\"carouselStore\", \"children\", \"className\", \"currentSlide\", \"dotNumbers\", \"totalSlides\", \"visibleSlides\", \"disableActiveDots\", \"showAsSelectedForCurrentSlideOnly\", \"renderDots\"],\n _class$6,\n DotGroup = (_class$6 = function (e) {\n function t() {\n return _classCallCheck(this, t), r.apply(this, arguments);\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"renderDots\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.totalSlides,\n i = e.visibleSlides,\n n = e.disableActiveDots,\n s = e.showAsSelectedForCurrentSlideOnly,\n o = e.renderDots;\n\n if (o) {\n var a = this.props;\n a.renderDots;\n return o(_objectWithoutProperties(a, _excluded$7));\n }\n\n for (var l = [], c = 0; c < r; c += 1) {\n var u = c >= t && c < t + i,\n p = c === t,\n d = s ? p : u,\n h = c >= r - i ? r - i : c;\n l.push(React.createElement(Dot$1, {\n key: c,\n slide: h,\n selected: d,\n disabled: !!n && d\n }, React.createElement(\"span\", {\n className: cn[\"carousel__dot-group-dot\"]\n }, this.props.dotNumbers && c + 1)));\n }\n\n return l;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children),\n r = e.className,\n i = (e.currentSlide, e.dotNumbers, e.totalSlides, e.visibleSlides, e.disableActiveDots, e.showAsSelectedForCurrentSlideOnly, e.renderDots, _objectWithoutProperties(e, _excluded2)),\n n = cn([s$6.DotGroup, \"carousel__dot-group\", r]);\n return React.createElement(\"div\", _extends({\n className: n\n }, i), this.renderDots(), t);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$6, \"propTypes\", {\n children: CarouselPropTypes.children,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n carouselStore: propTypes.object.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n dotNumbers: propTypes.bool,\n disableActiveDots: propTypes.bool,\n showAsSelectedForCurrentSlideOnly: propTypes.bool,\n renderDots: propTypes.func\n}), _defineProperty(_class$6, \"defaultProps\", {\n children: null,\n className: null,\n dotNumbers: !1,\n disableActiveDots: !0,\n showAsSelectedForCurrentSlideOnly: !1,\n renderDots: null\n}), _class$6),\n index$5 = WithStore(DotGroup, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides\n };\n}),\n s$7 = {\n image: \"image___xtQGH\"\n},\n _excluded$8 = [\"src\", \"alt\"],\n _excluded2$1 = [\"carouselStore\", \"children\", \"className\", \"hasMasterSpinner\", \"isBgImage\", \"onError\", \"onLoad\", \"renderError\", \"renderLoading\", \"style\", \"tag\"],\n Image = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.state = {\n imageStatus: LOADING\n }, i.handleImageLoad = i.handleImageLoad.bind(_assertThisInitialized(i)), i.handleImageError = i.handleImageError.bind(_assertThisInitialized(i)), i.image = null, i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidMount\",\n value: function () {\n t.subscribeMasterSpinner(this.props), this.initImage();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function (e) {\n e.src !== this.props.src && (t.unsubscribeMasterSpinner(e), t.subscribeMasterSpinner(this.props), this.initImage());\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n t.unsubscribeMasterSpinner(this.props), this.image.removeEventListener(\"load\", this.handleImageLoad), this.image.removeEventListener(\"error\", this.handleImageError), this.image = null;\n }\n }, {\n key: \"initImage\",\n value: function () {\n if (this.setState({\n imageStatus: LOADING\n }), this.image = document.createElement(\"img\"), this.image.addEventListener(\"load\", this.handleImageLoad, !1), this.image.addEventListener(\"error\", this.handleImageError, !1), this.image.src = this.props.src, this.image.readyState || this.image.complete) {\n var e = this.image.src;\n this.image.src = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==\", this.image.src = e;\n }\n }\n }, {\n key: \"handleImageLoad\",\n value: function (e) {\n this.setState({\n imageStatus: SUCCESS\n }), this.props.hasMasterSpinner && this.props.carouselStore.masterSpinnerSuccess(this.props.src), this.props.onLoad && this.props.onLoad(e);\n }\n }, {\n key: \"handleImageError\",\n value: function (e) {\n this.setState({\n imageStatus: ERROR\n }), this.props.hasMasterSpinner && this.props.carouselStore.masterSpinnerError(this.props.src), this.props.onError && this.props.onError(e);\n }\n }, {\n key: \"tempTag\",\n value: function () {\n return \"img\" === this.props.tag ? \"div\" : this.props.tag;\n }\n }, {\n key: \"customRender\",\n value: function (e) {\n return \"function\" == typeof this.props[e] ? this.props[e]() : this.props.children;\n }\n }, {\n key: \"renderLoading\",\n value: function (e) {\n var t = this.tempTag(),\n r = cn([s$7.image, s$7.imageLoading, \"carousel__image\", this.props.isBgImage && \"carousel__image--with-background\", \"carousel__image--loading\", this.props.className]);\n return React.createElement(t, _extends({\n className: r\n }, e), this.customRender(\"renderLoading\"));\n }\n }, {\n key: \"renderError\",\n value: function (e) {\n var t = this.tempTag(),\n r = cn([s$7.image, s$7.imageError, \"carousel__image\", this.props.isBgImage && \"carousel__image--with-background\", \"carousel__image--error\", this.props.className]);\n return React.createElement(t, _extends({\n className: r\n }, e), this.customRender(\"renderError\"));\n }\n }, {\n key: \"renderSuccess\",\n value: function (e) {\n var t = this.props,\n r = t.style,\n i = t.tag,\n n = cn([s$7.image, \"carousel__image\", this.props.isBgImage && \"carousel__image--with-background\", \"carousel__image--success\", this.props.className]),\n s = _extends({}, r),\n o = e;\n\n if (\"img\" !== i) {\n var a = e.src;\n e.alt;\n o = _objectWithoutProperties(e, _excluded$8), s = _extends({}, r, {\n backgroundImage: 'url(\"'.concat(a, '\")'),\n backgroundSize: \"cover\"\n });\n }\n\n return React.createElement(i, _extends({\n className: n,\n style: s\n }, o), this.props.children);\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children, e.className, e.hasMasterSpinner, e.isBgImage, e.onError, e.onLoad, e.renderError, e.renderLoading, e.style, e.tag, _objectWithoutProperties(e, _excluded2$1));\n\n switch (this.state.imageStatus) {\n case LOADING:\n return this.renderLoading(t);\n\n case SUCCESS:\n return this.renderSuccess(t);\n\n case ERROR:\n return this.renderError(t);\n\n default:\n throw new Error(\"unknown value for this.state.imageStatus\");\n }\n }\n }], [{\n key: \"subscribeMasterSpinner\",\n value: function (e) {\n e.hasMasterSpinner && e.carouselStore.subscribeMasterSpinner(e.src);\n }\n }, {\n key: \"unsubscribeMasterSpinner\",\n value: function (e) {\n e.hasMasterSpinner && e.carouselStore.unsubscribeMasterSpinner(e.src);\n }\n }]), t;\n}(React.Component);\n\n_defineProperty(Image, \"propTypes\", {\n alt: propTypes.string,\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children,\n className: propTypes.string,\n hasMasterSpinner: propTypes.bool.isRequired,\n isBgImage: CarouselPropTypes.isBgImage,\n onError: propTypes.func,\n onLoad: propTypes.func,\n renderError: propTypes.func,\n renderLoading: propTypes.func,\n src: propTypes.string.isRequired,\n style: propTypes.object,\n tag: propTypes.string\n}), _defineProperty(Image, \"defaultProps\", {\n alt: \"\",\n children: null,\n className: null,\n isBgImage: !1,\n onError: null,\n onLoad: null,\n renderError: null,\n renderLoading: null,\n style: null,\n tag: \"img\"\n});\n\nvar Image$1 = WithStore(Image, function (e) {\n return {\n hasMasterSpinner: e.hasMasterSpinner,\n orientation: e.orientation\n };\n}),\n s$8 = {\n spinner: \"spinner___27VUp\",\n spin: \"spin___S3UuE\"\n},\n _excluded$9 = [\"className\"],\n _class$7,\n Spinner = (_class$7 = function (e) {\n function t() {\n return _classCallCheck(this, t), r.apply(this, arguments);\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"render\",\n value: function () {\n var e = this.props,\n t = e.className,\n r = _objectWithoutProperties(e, _excluded$9),\n i = cn([s$8.spinner, \"carousel__spinner\", t]);\n\n return React.createElement(\"div\", _extends({\n className: i\n }, r));\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$7, \"propTypes\", {\n className: propTypes.string\n}), _defineProperty(_class$7, \"defaultProps\", {\n className: null\n}), _class$7),\n s$9 = {\n container: \"container___2O72F\",\n overlay: \"overlay___IV4qY\",\n hover: \"hover___MYy31\",\n zoom: \"zoom___3kqYk\",\n loading: \"loading___1pvNI\",\n imageLoadingSpinnerContainer: \"imageLoadingSpinnerContainer___3UIPD\"\n},\n _excluded$a = [\"alt\", \"bgImageProps\", \"bgImageTag\", \"carouselStore\", \"className\", \"imageClassName\", \"overlayClassName\", \"isPinchZoomEnabled\", \"spinner\", \"src\", \"srcZoomed\", \"tag\"],\n _class$8,\n MOUSE_SCALE = 2,\n MAX_TOUCH_SCALE = 3,\n ImageWithZoom = (_class$8 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.state = {\n isImageLoading: !0,\n isHovering: !1,\n isZooming: !1,\n x: null,\n y: null,\n scale: 1\n }, i.tpCache = {}, i.handleImageComplete = i.handleImageComplete.bind(_assertThisInitialized(i)), i.handleOnMouseMove = i.handleOnMouseMove.bind(_assertThisInitialized(i)), i.handleOnMouseOut = i.handleOnMouseOut.bind(_assertThisInitialized(i)), i.handleOnMouseOver = i.handleOnMouseOver.bind(_assertThisInitialized(i)), i.handleOnTouchEnd = i.handleOnTouchEnd.bind(_assertThisInitialized(i)), i.handleOnTouchMove = i.handleOnTouchMove.bind(_assertThisInitialized(i)), i.handleOnTouchStart = i.handleOnTouchStart.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidUpdate\",\n value: function (e, t) {\n !1 === t.isZooming && !0 === this.state.isZooming && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !0\n }), !0 === t.isZooming && !1 === this.state.isZooming && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !1\n });\n }\n }, {\n key: \"handleImageComplete\",\n value: function () {\n this.setState({\n isImageLoading: !1\n });\n }\n }, {\n key: \"handleOnMouseOver\",\n value: function () {\n this.state.isZooming || this.setState({\n isHovering: !0,\n scale: MOUSE_SCALE\n });\n }\n }, {\n key: \"handleOnMouseOut\",\n value: function () {\n this.state.isZooming || this.setState({\n isHovering: !1,\n scale: 1\n });\n }\n }, {\n key: \"handleOnMouseMove\",\n value: function (e) {\n if (!this.state.isZooming) {\n var t = pct(e.nativeEvent.offsetX / e.target.offsetWidth * 100),\n r = pct(e.nativeEvent.offsetY / e.target.offsetHeight * 100);\n this.setState({\n x: t,\n y: r\n });\n }\n }\n }, {\n key: \"handleOnTouchStart\",\n value: function (e) {\n var t = this;\n this.props.isPinchZoomEnabled && (_toConsumableArray(e.targetTouches).forEach(function (e) {\n t.tpCache[e.identifier] = {\n clientX: e.clientX,\n clientY: e.clientY\n };\n }), this.setState(function (e) {\n return {\n isZooming: e.isZooming || Object.keys(t.tpCache).length > 1\n };\n }));\n }\n }, {\n key: \"handleOnTouchMove\",\n value: function (e) {\n var r = this;\n\n if (this.state.isZooming) {\n e.persist();\n\n var i = _toConsumableArray(e.targetTouches).filter(function (e) {\n return r.tpCache[e.identifier];\n }).slice(0, 2);\n\n if (2 === i.length) {\n e.stopPropagation();\n var n = e.target.getBoundingClientRect(),\n s = i[0].identifier,\n o = i[1].identifier,\n a = {\n x1: this.tpCache[s].clientX,\n y1: this.tpCache[s].clientY,\n x2: this.tpCache[o].clientX,\n y2: this.tpCache[o].clientY\n };\n a.distance = t.distanceBetweenTwoTouches(_objectSpread2({}, a));\n var l = t.midpointBetweenTwoTouches(_objectSpread2({}, a));\n a.cx = l.x, a.cy = l.y;\n var c = {\n x1: i[0].clientX,\n y1: i[0].clientY,\n x2: i[1].clientX,\n y2: i[1].clientY\n };\n c.distance = t.distanceBetweenTwoTouches(_objectSpread2({}, c));\n var u = t.midpointBetweenTwoTouches(_objectSpread2({}, c));\n c.cx = u.x, c.cy = u.y;\n\n var p = pct(boundedRange({\n min: 0,\n max: 100,\n x: (c.cx - n.left) / n.width * 100\n })),\n d = pct(boundedRange({\n min: 0,\n max: 100,\n x: (c.cy - n.top) / n.height * 100\n })),\n h = function (e) {\n return boundedRange({\n min: 1,\n max: MAX_TOUCH_SCALE,\n x: e.scale + (c.distance - a.distance) / 100\n });\n };\n\n this.setState(function (e) {\n return {\n isZooming: 1 !== h(e),\n scale: h(e),\n x: p,\n y: d\n };\n });\n }\n }\n }\n }, {\n key: \"handleOnTouchEnd\",\n value: function (e) {\n var t = this;\n this.props.isPinchZoomEnabled && (_toConsumableArray(e.changedTouches).forEach(function (e) {\n delete t.tpCache[e.identifier];\n }), 0 === Object.keys(this.tpCache).length && this.setState({\n isZooming: !1\n }));\n }\n }, {\n key: \"renderLoading\",\n value: function () {\n if (this.state.isImageLoading) {\n var e = this.props.spinner;\n return React.createElement(\"div\", {\n className: cn([s$9.imageLoadingSpinnerContainer, \"carousel__image-loading-spinner-container\"])\n }, e && e(), !e && React.createElement(Spinner, null));\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = e.alt,\n r = e.bgImageProps,\n i = e.bgImageTag,\n n = (e.carouselStore, e.className),\n s = e.imageClassName,\n o = e.overlayClassName,\n a = (e.isPinchZoomEnabled, e.spinner, e.src),\n l = e.srcZoomed,\n c = e.tag,\n u = _objectWithoutProperties(e, _excluded$a),\n p = cn([s$9.container, n]),\n d = cn([s$9.image, \"carousel__zoom-image\", s]),\n h = cn([s$9.overlay, \"carousel__zoom-image-overlay\", this.state.isHovering && s$9.hover, this.state.isZooming && s$9.zoom, this.state.isHovering && \"carousel__zoom-image-overlay--hovering\", this.state.isZooming && \"carousel__zoom-image-overlay--zooming\", o]),\n S = {};\n\n return (this.state.isHovering || this.state.isZooming) && (S.transformOrigin = \"\".concat(this.state.x, \" \").concat(this.state.y), S.transform = \"scale(\".concat(this.state.scale, \")\")), React.createElement(c, _extends({\n className: p\n }, u), React.createElement(Image$1, _extends({\n alt: t,\n className: d,\n tag: i,\n src: a,\n onLoad: this.handleImageComplete,\n onError: this.handleImageComplete\n }, r)), React.createElement(Image$1, {\n className: h,\n tag: \"div\",\n src: l || a,\n style: S,\n isBgImage: !0,\n onFocus: this.handleOnMouseOver,\n onMouseOver: this.handleOnMouseOver,\n onBlur: this.handleOnMouseOut,\n onMouseOut: this.handleOnMouseOut,\n onMouseMove: this.handleOnMouseMove,\n onTouchStart: this.handleOnTouchStart,\n onTouchEnd: this.handleOnTouchEnd,\n onTouchMove: this.handleOnTouchMove\n }), this.renderLoading());\n }\n }], [{\n key: \"midpointBetweenTwoTouches\",\n value: function (e) {\n var t = e.x1,\n r = e.y1;\n return {\n x: (t + e.x2) / 2,\n y: (r + e.y2) / 2\n };\n }\n }, {\n key: \"distanceBetweenTwoTouches\",\n value: function (e) {\n var t = e.x1,\n r = e.y1,\n i = e.x2,\n n = e.y2;\n return Math.sqrt(Math.pow(i - t, 2) + Math.pow(n - r, 2));\n }\n }]), t;\n}(React.Component), _defineProperty(_class$8, \"propTypes\", {\n alt: propTypes.string,\n bgImageProps: propTypes.object,\n bgImageTag: propTypes.string,\n carouselStore: propTypes.object.isRequired,\n className: propTypes.string,\n imageClassName: propTypes.string,\n overlayClassName: propTypes.string,\n spinner: propTypes.func,\n src: propTypes.string.isRequired,\n srcZoomed: propTypes.string,\n tag: propTypes.string,\n isPinchZoomEnabled: propTypes.bool\n}), _defineProperty(_class$8, \"defaultProps\", {\n alt: void 0,\n bgImageProps: {},\n bgImageTag: \"div\",\n className: null,\n imageClassName: null,\n overlayClassName: null,\n isPinchZoomEnabled: !0,\n spinner: null,\n srcZoomed: null,\n tag: \"div\"\n}), _class$8),\n index$6 = WithStore(ImageWithZoom, function () {\n return {};\n}),\n s$a = {\n slide: \"slide___3-Nqo\",\n slideHorizontal: \"slideHorizontal___1NzNV\",\n slideInner: \"slideInner___2mfX9\",\n focusRing: \"focusRing___1airF\"\n},\n _excluded$b = [\"ariaLabel\", \"carouselStore\", \"children\", \"className\", \"classNameHidden\", \"classNameVisible\", \"currentSlide\", \"index\", \"innerClassName\", \"innerTag\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"onBlur\", \"onFocus\", \"orientation\", \"slideSize\", \"style\", \"tabIndex\", \"tag\", \"totalSlides\", \"visibleSlides\", \"isIntrinsicHeight\"],\n _class$9,\n Slide = (_class$9 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnFocus = i.handleOnFocus.bind(_assertThisInitialized(i)), i.handleOnBlur = i.handleOnBlur.bind(_assertThisInitialized(i)), i.state = {\n focused: !1\n }, i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"isVisible\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.index,\n i = e.visibleSlides;\n return r >= t && r < t + i;\n }\n }, {\n key: \"handleOnFocus\",\n value: function (e) {\n var t = this,\n r = this.props.onFocus;\n this.setState({\n focused: !0\n }, function () {\n null !== r && r.call(t, e);\n });\n }\n }, {\n key: \"handleOnBlur\",\n value: function (e) {\n var t = this,\n r = this.props.onBlur;\n this.setState({\n focused: !1\n }, function () {\n null !== r && r.call(t, e);\n });\n }\n }, {\n key: \"renderFocusRing\",\n value: function () {\n return this.state.focused ? React.createElement(\"div\", {\n className: [s$a.focusRing, \"carousel__slide-focus-ring\"].join(\" \")\n }) : null;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this,\n t = this.props,\n r = t.ariaLabel,\n i = (t.carouselStore, t.children, t.className),\n n = t.classNameHidden,\n s = t.classNameVisible,\n o = (t.currentSlide, t.index, t.innerClassName),\n a = t.innerTag,\n l = t.naturalSlideHeight,\n c = t.naturalSlideWidth,\n u = (t.onBlur, t.onFocus, t.orientation),\n p = t.slideSize,\n d = t.style,\n h = t.tabIndex,\n S = t.tag,\n y = t.totalSlides,\n b = (t.visibleSlides, t.isIntrinsicHeight),\n m = _objectWithoutProperties(t, _excluded$b),\n f = {};\n\n \"horizontal\" === u ? (f.width = pct(p), f.paddingBottom = pct(100 * l / (c * y))) : (f.width = pct(100), f.paddingBottom = pct(100 * l / c));\n var g = {};\n b && (\"horizontal\" === u ? f.height = \"unset\" : f.width = \"unset\", f.paddingBottom = \"unset\", g.position = \"unset\");\n\n var v = _extends({}, f, d),\n _ = this.isVisible(),\n T = cn([s$a.slide, \"horizontal\" === u && s$a.slideHorizontal, \"carousel__slide\", this.state.focused && \"carousel__slide--focused\", _ && s, _ && \"carousel__slide--visible\", !_ && n, !_ && \"carousel__slide--hidden\", i]),\n k = cn([s$a.slideInner, \"carousel__inner-slide\", o]),\n C = this.isVisible() ? 0 : -1,\n O = \"number\" == typeof h ? h : C;\n\n return React.createElement(S, _extends({\n ref: function (t) {\n e.tagRef = t;\n },\n tabIndex: O,\n \"aria-selected\": this.isVisible(),\n \"aria-label\": r,\n role: \"option\",\n onFocus: this.handleOnFocus,\n onBlur: this.handleOnBlur,\n className: T,\n style: v\n }, m), React.createElement(a, {\n ref: function (t) {\n e.innerTagRef = t;\n },\n className: k,\n style: g\n }, this.props.children, this.renderFocusRing()));\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$9, \"propTypes\", {\n ariaLabel: propTypes.string,\n carouselStore: propTypes.object,\n children: CarouselPropTypes.children,\n className: propTypes.string,\n classNameHidden: propTypes.string,\n classNameVisible: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n index: propTypes.number.isRequired,\n innerClassName: propTypes.string,\n innerTag: propTypes.string,\n naturalSlideHeight: propTypes.number.isRequired,\n naturalSlideWidth: propTypes.number.isRequired,\n onBlur: propTypes.func,\n onFocus: propTypes.func,\n orientation: CarouselPropTypes.orientation.isRequired,\n slideSize: propTypes.number.isRequired,\n style: propTypes.object,\n tabIndex: propTypes.number,\n tag: propTypes.string,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n isIntrinsicHeight: propTypes.bool\n}), _defineProperty(_class$9, \"defaultProps\", {\n ariaLabel: \"slide\",\n carouselStore: null,\n children: null,\n className: null,\n classNameHidden: null,\n classNameVisible: null,\n innerClassName: null,\n innerTag: \"div\",\n onBlur: null,\n onFocus: null,\n style: {},\n tabIndex: null,\n tag: \"div\",\n isIntrinsicHeight: !1\n}), _class$9),\n index$7 = WithStore(Slide, function (e) {\n return {\n currentSlide: e.currentSlide,\n naturalSlideHeight: e.naturalSlideHeight,\n naturalSlideWidth: e.naturalSlideWidth,\n orientation: e.orientation,\n slideSize: e.slideSize,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides,\n isIntrinsicHeight: e.isIntrinsicHeight\n };\n}),\n GetScrollParent = function () {\n function e() {\n _classCallCheck(this, e);\n }\n\n return _createClass(e, [{\n key: \"parents\",\n value: function (e, t) {\n return null === e.parentNode ? t : this.parents(e.parentNode, t.concat([e]));\n }\n }, {\n key: \"scrollParent\",\n value: function (t) {\n for (var r = this.parents(t.parentNode, []), i = 0; i < r.length; i += 1) if (e.scroll(r[i])) return r[i];\n\n return document.scrollingElement || document.documentElement;\n }\n }, {\n key: \"getScrollParent\",\n value: function (t) {\n return e.isNodeValid(t) ? this.scrollParent(t) : null;\n }\n }], [{\n key: \"style\",\n value: function (e, t) {\n return getComputedStyle(e, null).getPropertyValue(t);\n }\n }, {\n key: \"overflow\",\n value: function (t) {\n return e.style(t, \"overflow\") + e.style(t, \"overflow-y\") + e.style(t, \"overflow-x\");\n }\n }, {\n key: \"scroll\",\n value: function (t) {\n return /(auto|scroll)/.test(e.overflow(t));\n }\n }, {\n key: \"isNodeValid\",\n value: function (e) {\n return e instanceof HTMLElement || e instanceof SVGElement;\n }\n }]), e;\n}(),\n s$b = {\n horizontalSlider: \"horizontalSlider___281Ls\",\n horizontalSliderTray: \"horizontalSliderTray___1L-0W\",\n verticalSlider: \"verticalSlider___34ZFD\",\n verticalSliderTray: \"verticalSliderTray___267D8\",\n verticalTray: \"verticalTray___12Key\",\n verticalSlideTrayWrap: \"verticalSlideTrayWrap___2nO7o\",\n sliderTray: \"sliderTray___-vHFQ\",\n sliderAnimation: \"sliderAnimation___300FY\",\n masterSpinnerContainer: \"masterSpinnerContainer___1Z6hB\"\n},\n _excluded$c = [\"ariaLabel\", \"carouselStore\", \"children\", \"className\", \"classNameAnimation\", \"classNameTray\", \"classNameTrayWrap\", \"currentSlide\", \"disableAnimation\", \"disableKeyboard\", \"dragEnabled\", \"hasMasterSpinner\", \"interval\", \"isPageScrollLocked\", \"isPlaying\", \"lockOnWindowScroll\", \"masterSpinnerFinished\", \"moveThreshold\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"onMasterSpinner\", \"orientation\", \"playDirection\", \"privateUnDisableAnimation\", \"slideSize\", \"slideTraySize\", \"spinner\", \"style\", \"tabIndex\", \"totalSlides\", \"touchEnabled\", \"trayProps\", \"trayTag\", \"visibleSlides\", \"isIntrinsicHeight\"],\n _excluded2$2 = [\"dragStep\", \"step\", \"infinite\", \"preventVerticalScrollOnTouch\", \"preventingVerticalScroll\", \"horizontalPixelThreshold\", \"verticalPixelThreshold\"],\n _excluded3 = [\"className\", \"onClickCapture\", \"onMouseDown\", \"onTouchCancel\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"ref\", \"style\"],\n _class$a,\n Slider = (_class$a = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.getSliderRef = i.getSliderRef.bind(_assertThisInitialized(i)), i.handleDocumentScroll = i.handleDocumentScroll.bind(_assertThisInitialized(i)), i.handleOnClickCapture = i.handleOnClickCapture.bind(_assertThisInitialized(i)), i.handleOnKeyDown = i.handleOnKeyDown.bind(_assertThisInitialized(i)), i.handleOnMouseDown = i.handleOnMouseDown.bind(_assertThisInitialized(i)), i.handleOnMouseMove = i.handleOnMouseMove.bind(_assertThisInitialized(i)), i.handleOnMouseUp = i.handleOnMouseUp.bind(_assertThisInitialized(i)), i.handleOnTouchCancel = i.handleOnTouchCancel.bind(_assertThisInitialized(i)), i.handleOnTouchEnd = i.handleOnTouchEnd.bind(_assertThisInitialized(i)), i.handleOnTouchMove = i.handleOnTouchMove.bind(_assertThisInitialized(i)), i.handleOnTouchStart = i.handleOnTouchStart.bind(_assertThisInitialized(i)), i.playBackward = i.playBackward.bind(_assertThisInitialized(i)), i.playForward = i.playForward.bind(_assertThisInitialized(i)), i.callCallback = i.callCallback.bind(_assertThisInitialized(i)), i.blockWindowScroll = i.blockWindowScroll.bind(_assertThisInitialized(i)), i.state = {\n cancelNextClick: !1,\n deltaX: 0,\n deltaY: 0,\n isBeingMouseDragged: !1,\n isBeingTouchDragged: !1,\n preventingVerticalScroll: !1,\n startX: 0,\n startY: 0\n }, i.interval = null, i.isDocumentScrolling = null, i.moveTimer = null, i.originalOverflow = null, i.scrollParent = null, i.scrollStopTimer = null, i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidMount\",\n value: function () {\n this.props.lockOnWindowScroll && window.addEventListener(\"scroll\", this.handleDocumentScroll, !1), (this.props.touchEnabled || this.props.preventVerticalScrollOnTouch) && window.addEventListener(\"touchmove\", this.blockWindowScroll, !1), document.documentElement.addEventListener(\"mouseleave\", this.handleOnMouseUp, !1), document.documentElement.addEventListener(\"mousemove\", this.handleOnMouseMove, !1), document.documentElement.addEventListener(\"mouseup\", this.handleOnMouseUp, !1), this.props.isPlaying && this.play();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function (e) {\n !e.isPlaying && this.props.isPlaying && this.play(), e.isPlaying && !this.props.isPlaying && this.stop(), !e.isPageScrollLocked && this.props.isPageScrollLocked && this.lockScroll(), e.isPageScrollLocked && !this.props.isPageScrollLocked && this.unlockScroll(), !1 === e.privateUnDisableAnimation && !0 === this.props.privateUnDisableAnimation && this.props.carouselStore.setStoreState({\n privateUnDisableAnimation: !1,\n disableAnimation: !1\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n document.documentElement.removeEventListener(\"mouseleave\", this.handleOnMouseUp, !1), document.documentElement.removeEventListener(\"mousemove\", this.handleOnMouseMove, !1), document.documentElement.removeEventListener(\"mouseup\", this.handleOnMouseUp, !1), window.removeEventListener(\"scroll\", this.handleDocumentScroll, !1), window.removeEventListener(\"touchmove\", this.blockWindowScroll, !1), this.stop(), window.cancelAnimationFrame.call(window, this.moveTimer), window.clearTimeout(this.scrollStopTimer), this.isDocumentScrolling = null, this.moveTimer = null, this.scrollStopTimer = null;\n }\n }, {\n key: \"getSliderRef\",\n value: function (e) {\n this.sliderTrayElement = e;\n }\n }, {\n key: \"fakeOnDragStart\",\n value: function (e) {\n var t = e.screenX,\n r = e.screenY,\n i = e.touchDrag,\n n = void 0 !== i && i,\n s = e.mouseDrag,\n o = void 0 !== s && s;\n this.props.carouselStore.setStoreState({\n isPlaying: !1\n }), window.cancelAnimationFrame.call(window, this.moveTimer), \"vertical\" === this.props.orientation && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !0\n }), this.setState({\n isBeingTouchDragged: n,\n isBeingMouseDragged: o,\n startX: t,\n startY: r\n });\n }\n }, {\n key: \"fakeOnDragMove\",\n value: function (e, t) {\n var r = this;\n this.moveTimer = window.requestAnimationFrame.call(window, function () {\n r.setState(function (i) {\n return {\n deltaX: e - i.startX,\n deltaY: t - i.startY,\n preventingVerticalScroll: Math.abs(t - i.startY) <= r.props.verticalPixelThreshold && Math.abs(e - i.startX) >= r.props.horizontalPixelThreshold\n };\n });\n });\n }\n }, {\n key: \"fakeOnDragEnd\",\n value: function () {\n window.cancelAnimationFrame.call(window, this.moveTimer), this.computeCurrentSlide(), \"vertical\" === this.props.orientation && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !1\n }), this.setState({\n deltaX: 0,\n deltaY: 0,\n isBeingTouchDragged: !1,\n isBeingMouseDragged: !1\n }), this.isDocumentScrolling = !this.props.lockOnWindowScroll && null;\n }\n }, {\n key: \"callCallback\",\n value: function (e, t) {\n var r = this.props.trayProps;\n r && \"function\" == typeof r[e] && (t.persist(), r[e](t));\n }\n }, {\n key: \"handleOnMouseDown\",\n value: function (e) {\n if (!this.props.dragEnabled) return void this.callCallback(\"onMouseDown\", e);\n e.preventDefault(), this.fakeOnDragStart({\n screenX: e.screenX,\n screenY: e.screenY,\n mouseDrag: !0\n }), this.callCallback(\"onMouseDown\", e);\n }\n }, {\n key: \"handleOnMouseMove\",\n value: function (e) {\n this.state.isBeingMouseDragged && (this.setState({\n cancelNextClick: !0\n }), e.preventDefault(), this.fakeOnDragMove(e.screenX, e.screenY));\n }\n }, {\n key: \"handleOnMouseUp\",\n value: function (e) {\n this.state.isBeingMouseDragged && (e.preventDefault(), this.fakeOnDragEnd());\n }\n }, {\n key: \"handleOnClickCapture\",\n value: function (e) {\n if (!this.state.cancelNextClick) return void this.callCallback(\"onClickCapture\", e);\n e.preventDefault(), this.setState({\n cancelNextClick: !1\n }), this.callCallback(\"onClickCapture\", e);\n }\n }, {\n key: \"handleOnTouchStart\",\n value: function (e) {\n if (!this.props.touchEnabled) return void this.callCallback(\"onTouchStart\", e);\n \"vertical\" === this.props.orientation && e.preventDefault();\n var t = e.targetTouches[0];\n this.fakeOnDragStart({\n screenX: t.screenX,\n screenY: t.screenY,\n touchDrag: !0\n }), this.callCallback(\"onTouchStart\", e);\n }\n }, {\n key: \"handleDocumentScroll\",\n value: function () {\n var e = this;\n this.props.touchEnabled && (this.isDocumentScrolling = !0, window.clearTimeout(this.scrollStopTimer), this.scrollStopTimer = window.setTimeout(function () {\n e.isDocumentScrolling = !1;\n }, 66));\n }\n }, {\n key: \"handleOnTouchMove\",\n value: function (e) {\n if (!this.props.touchEnabled || this.props.lockOnWindowScroll && this.isDocumentScrolling) return void this.callCallback(\"onTouchMove\", e);\n window.cancelAnimationFrame.call(window, this.moveTimer);\n var t = e.targetTouches[0];\n t && (this.fakeOnDragMove(t.screenX, t.screenY), this.callCallback(\"onTouchMove\", e));\n }\n }, {\n key: \"forward\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.step,\n i = e.totalSlides,\n n = e.visibleSlides;\n return Math.min(t + r, i - n);\n }\n }, {\n key: \"backward\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.step;\n return Math.max(t - r, 0);\n }\n }, {\n key: \"handleOnKeyDown\",\n value: function (e) {\n var t = e.keyCode,\n r = this.props,\n i = r.carouselStore,\n n = r.currentSlide,\n s = r.disableKeyboard,\n o = r.totalSlides,\n a = r.visibleSlides,\n l = {};\n !0 === s || o <= a || (37 === t && (e.preventDefault(), this.focus(), l.currentSlide = Math.max(0, n - 1), l.isPlaying = !1), 39 === t && (e.preventDefault(), this.focus(), l.currentSlide = Math.min(o - a, n + 1), l.isPlaying = !1), i.setStoreState(l));\n }\n }, {\n key: \"playForward\",\n value: function () {\n var e = this.props,\n t = e.carouselStore,\n r = e.currentSlide;\n t.setStoreState({\n currentSlide: this.forward() === r ? 0 : this.forward()\n });\n }\n }, {\n key: \"playBackward\",\n value: function () {\n var e = this.props,\n t = e.carouselStore,\n r = e.currentSlide,\n i = e.totalSlides,\n n = e.visibleSlides;\n t.setStoreState({\n currentSlide: this.backward() === r ? i - n : this.backward()\n });\n }\n }, {\n key: \"play\",\n value: function () {\n var e = this.props.playDirection;\n this.interval = setInterval(\"forward\" === e ? this.playForward : this.playBackward, this.props.interval);\n }\n }, {\n key: \"stop\",\n value: function () {\n window.clearInterval(this.interval), this.interval = null;\n }\n }, {\n key: \"lockScroll\",\n value: function () {\n var e = new GetScrollParent();\n this.scrollParent = e.getScrollParent(this.sliderTrayElement), this.scrollParent && (this.originalOverflow = this.originalOverflow || this.scrollParent.style.overflow, this.scrollParent.style.overflow = \"hidden\");\n }\n }, {\n key: \"unlockScroll\",\n value: function () {\n this.scrollParent && (this.scrollParent.style.overflow = this.originalOverflow, this.originalOverflow = null, this.scrollParent = null);\n }\n }, {\n key: \"blockWindowScroll\",\n value: function (e) {\n this.state.preventingVerticalScroll && (e.preventDefault(), e.stopImmediatePropagation());\n }\n }, {\n key: \"computeCurrentSlide\",\n value: function () {\n var e = t.slideSizeInPx(this.props.orientation, this.sliderTrayElement.clientWidth, this.sliderTrayElement.clientHeight, this.props.totalSlides),\n r = t.slidesMoved(this.props.moveThreshold, this.props.orientation, this.state.deltaX, this.state.deltaY, e, this.props.dragStep),\n i = this.props.totalSlides - Math.min(this.props.totalSlides, this.props.visibleSlides),\n n = boundedRange({\n min: 0,\n max: i,\n x: this.props.currentSlide + r\n });\n this.props.infinite && (this.props.currentSlide >= i && r > 0 && (n = 0), 0 === this.props.currentSlide && r < 0 && (n = i)), this.props.carouselStore.setStoreState({\n currentSlide: n\n });\n }\n }, {\n key: \"focus\",\n value: function () {\n this.sliderElement.focus();\n }\n }, {\n key: \"handleOnTouchEnd\",\n value: function (e) {\n this.endTouchMove(), this.callCallback(\"onTouchEnd\", e);\n }\n }, {\n key: \"handleOnTouchCancel\",\n value: function (e) {\n this.endTouchMove(), this.callCallback(\"onTouchCancel\", e);\n }\n }, {\n key: \"endTouchMove\",\n value: function () {\n this.props.touchEnabled && this.fakeOnDragEnd();\n }\n }, {\n key: \"renderMasterSpinner\",\n value: function () {\n var e = this.props,\n t = e.hasMasterSpinner,\n r = e.masterSpinnerFinished,\n i = e.spinner;\n return t && !r ? (\"function\" == typeof this.props.onMasterSpinner && this.props.onMasterSpinner(), React.createElement(\"div\", {\n className: cn([s$b.masterSpinnerContainer, \"carousel__master-spinner-container\"])\n }, i && i(), !i && React.createElement(Spinner, null))) : null;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this,\n t = this.props,\n r = t.ariaLabel,\n i = (t.carouselStore, t.children),\n n = t.className,\n s = t.classNameAnimation,\n o = t.classNameTray,\n a = t.classNameTrayWrap,\n l = t.currentSlide,\n c = t.disableAnimation,\n u = (t.disableKeyboard, t.dragEnabled, t.hasMasterSpinner, t.interval, t.isPageScrollLocked, t.isPlaying, t.lockOnWindowScroll, t.masterSpinnerFinished, t.moveThreshold, t.naturalSlideHeight),\n p = t.naturalSlideWidth,\n d = (t.onMasterSpinner, t.orientation),\n h = (t.playDirection, t.privateUnDisableAnimation, t.slideSize),\n S = t.slideTraySize,\n y = (t.spinner, t.style),\n b = t.tabIndex,\n m = (t.totalSlides, t.touchEnabled, t.trayProps),\n f = t.trayTag,\n g = t.visibleSlides,\n v = t.isIntrinsicHeight,\n _ = _objectWithoutProperties(t, _excluded$c),\n T = _extends({}, y),\n k = {};\n\n \"vertical\" === d && (k.height = 0, k.paddingBottom = pct(100 * u * g / p), k.width = pct(100));\n var C = {},\n O = pct(h * l * -1);\n (this.state.isBeingTouchDragged || this.state.isBeingMouseDragged || c) && (C.transition = \"none\"), v && (C.display = \"flex\", C.alignItems = \"stretch\"), \"vertical\" === d ? (C.transform = \"translateY(\".concat(O, \") translateY(\").concat(this.state.deltaY, \"px)\"), C.width = pct(100), C.flexDirection = \"column\") : (C.width = pct(S), C.transform = \"translateX(\".concat(O, \") translateX(\").concat(this.state.deltaX, \"px)\"), C.flexDirection = \"row\");\n var P = cn([\"vertical\" === d ? s$b.verticalSlider : s$b.horizontalSlider, \"carousel__slider\", \"vertical\" === d ? \"carousel__slider--vertical\" : \"carousel__slider--horizontal\", n]),\n E = cn([s$b.sliderTrayWrap, \"carousel__slider-tray-wrapper\", \"vertical\" === d ? s$b.verticalSlideTrayWrap : s$b.horizontalTrayWrap, \"vertical\" === d ? \"carousel__slider-tray-wrap--vertical\" : \"carousel__slider-tray-wrap--horizontal\", a]),\n w = cn([s$b.sliderTray, s || s$b.sliderAnimation, \"carousel__slider-tray\", \"vertical\" === d ? s$b.verticalTray : s$b.horizontalTray, \"vertical\" === d ? \"carousel__slider-tray--vertical\" : \"carousel__slider-tray--horizontal\", o]),\n M = null !== b ? b : 0,\n x = (_.dragStep, _.step, _.infinite, _.preventVerticalScrollOnTouch, _.preventingVerticalScroll, _.horizontalPixelThreshold, _.verticalPixelThreshold, _objectWithoutProperties(_, _excluded2$2)),\n R = (m.className, m.onClickCapture, m.onMouseDown, m.onTouchCancel, m.onTouchEnd, m.onTouchMove, m.onTouchStart, m.ref, m.style, _objectWithoutProperties(m, _excluded3));\n return React.createElement(\"div\", _extends({\n ref: function (t) {\n e.sliderElement = t;\n },\n className: P,\n \"aria-live\": \"polite\",\n \"aria-label\": r,\n style: T,\n tabIndex: M,\n onKeyDown: this.handleOnKeyDown,\n role: \"listbox\"\n }, x), React.createElement(\"div\", {\n className: E,\n style: k\n }, React.createElement(f, _extends({\n ref: this.getSliderRef,\n className: w,\n style: C,\n onTouchStart: this.handleOnTouchStart,\n onTouchMove: this.handleOnTouchMove,\n onTouchEnd: this.handleOnTouchEnd,\n onTouchCancel: this.handleOnTouchCancel,\n onMouseDown: this.handleOnMouseDown,\n onClickCapture: this.handleOnClickCapture\n }, R), i), this.renderMasterSpinner()));\n }\n }], [{\n key: \"slideSizeInPx\",\n value: function (e, t, r, i) {\n return (\"horizontal\" === e ? t : r) / i;\n }\n }, {\n key: \"slidesMoved\",\n value: function (e, t, r, i, n, s) {\n var o = \"horizontal\" === t ? r : i,\n a = Math.abs(Math.round(o / n)),\n l = Math.abs(o) >= n * e ? s : 0,\n c = Math.max(l, a);\n if (o < 0) return c;\n var u = -c;\n return 0 === u ? 0 : u;\n }\n }]), t;\n}(React.Component), _defineProperty(_class$a, \"propTypes\", {\n ariaLabel: propTypes.string,\n carouselStore: propTypes.object.isRequired,\n children: propTypes.node.isRequired,\n className: propTypes.string,\n classNameAnimation: propTypes.string,\n classNameTray: propTypes.string,\n classNameTrayWrap: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disableAnimation: propTypes.bool,\n disableKeyboard: propTypes.bool,\n dragEnabled: propTypes.bool.isRequired,\n dragStep: propTypes.number,\n hasMasterSpinner: propTypes.bool.isRequired,\n infinite: propTypes.bool,\n interval: propTypes.number.isRequired,\n isPageScrollLocked: propTypes.bool.isRequired,\n isPlaying: propTypes.bool.isRequired,\n lockOnWindowScroll: propTypes.bool.isRequired,\n preventVerticalScrollOnTouch: propTypes.bool,\n horizontalPixelThreshold: propTypes.number,\n verticalPixelThreshold: propTypes.number,\n masterSpinnerFinished: propTypes.bool.isRequired,\n moveThreshold: propTypes.number,\n naturalSlideHeight: propTypes.number.isRequired,\n naturalSlideWidth: propTypes.number.isRequired,\n onMasterSpinner: propTypes.func,\n orientation: CarouselPropTypes.orientation.isRequired,\n playDirection: CarouselPropTypes.direction.isRequired,\n privateUnDisableAnimation: propTypes.bool,\n slideSize: propTypes.number.isRequired,\n slideTraySize: propTypes.number.isRequired,\n spinner: propTypes.func,\n step: propTypes.number.isRequired,\n style: propTypes.object,\n tabIndex: propTypes.number,\n totalSlides: propTypes.number.isRequired,\n touchEnabled: propTypes.bool.isRequired,\n trayProps: propTypes.shape({\n className: propTypes.string,\n onClickCapture: propTypes.func,\n onMouseDown: propTypes.func,\n onTouchCancel: propTypes.func,\n onTouchEnd: propTypes.func,\n onTouchMove: propTypes.func,\n onTouchStart: propTypes.func,\n ref: propTypes.shape({}),\n style: propTypes.string\n }),\n trayTag: propTypes.string,\n visibleSlides: propTypes.number,\n isIntrinsicHeight: propTypes.bool\n}), _defineProperty(_class$a, \"defaultProps\", {\n ariaLabel: \"slider\",\n className: null,\n classNameAnimation: null,\n classNameTray: null,\n classNameTrayWrap: null,\n disableAnimation: !1,\n disableKeyboard: !1,\n dragStep: 1,\n infinite: !1,\n preventVerticalScrollOnTouch: !0,\n horizontalPixelThreshold: 15,\n verticalPixelThreshold: 10,\n moveThreshold: .1,\n onMasterSpinner: null,\n privateUnDisableAnimation: !1,\n spinner: null,\n style: {},\n tabIndex: null,\n trayProps: {},\n trayTag: \"div\",\n visibleSlides: 1,\n isIntrinsicHeight: !1\n}), _class$a),\n index$8 = WithStore(Slider, function (e) {\n return {\n currentSlide: e.currentSlide,\n disableAnimation: e.disableAnimation,\n privateUnDisableAnimation: e.privateUnDisableAnimation,\n disableKeyboard: e.disableKeyboard,\n dragEnabled: e.dragEnabled,\n hasMasterSpinner: e.hasMasterSpinner,\n infinite: e.infinite,\n interval: e.interval,\n isPageScrollLocked: e.isPageScrollLocked,\n isPlaying: e.isPlaying,\n lockOnWindowScroll: e.lockOnWindowScroll,\n preventingVerticalScroll: e.preventingVerticalScroll,\n masterSpinnerFinished: e.masterSpinnerFinished,\n naturalSlideHeight: e.naturalSlideHeight,\n naturalSlideWidth: e.naturalSlideWidth,\n orientation: e.orientation,\n playDirection: e.playDirection,\n slideSize: e.slideSize,\n slideTraySize: e.slideTraySize,\n step: e.step,\n dragStep: e.dragStep,\n totalSlides: e.totalSlides,\n touchEnabled: e.touchEnabled,\n visibleSlides: e.visibleSlides,\n isIntrinsicHeight: e.isIntrinsicHeight\n };\n});\n\nexport { index as ButtonBack, index$1 as ButtonFirst, index$3 as ButtonLast, index$2 as ButtonNext, index$4 as ButtonPlay, Context as CarouselContext, CarouselProvider, Dot$1 as Dot, index$5 as DotGroup, Image$1 as Image, index$6 as ImageWithZoom, index$7 as Slide, index$8 as Slider, Spinner, Store, WithStore };","export default __webpack_public_path__ + \"static/zdl-config-22ffe1feddf1576631556dac3c5df6df.png\";","export default __webpack_public_path__ + \"static/zdl-entities-9dcd418e1c9cba75e3cb4ba6acbc9c9f.png\";","export default __webpack_public_path__ + \"static/zdl-entities-jpa-ea6ea8843009c669c80baf9d9efdfd4f.png\";","export default __webpack_public_path__ + \"static/zdl-service-b8becfedca93cafd8d1245f8a7ea023e.png\";","export default __webpack_public_path__ + \"static/zdl-events-68a08c167aaa8d49a135ee64418c5398.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport {CarouselProvider, Slider, Slide, ButtonBack, ButtonNext, ImageWithZoom, ButtonFirst, ButtonLast, DotGroup} from 'pure-react-carousel';\nimport 'pure-react-carousel/dist/react-carousel.es.css';\nimport zdlConfig from './images/getting-started/zdl-config.png';\nimport zdlEntities from './images/getting-started/zdl-entities.png';\nimport zdlEntitiesJPA from './images/getting-started/zdl-entities-jpa.png';\nimport zdlService from './images/getting-started/zdl-service.png';\nimport zdlEvents from './images/getting-started/zdl-events.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n h2: \"h2\",\n p: \"p\",\n em: \"em\",\n pre: \"pre\",\n code: \"code\",\n strong: \"strong\",\n ul: \"ul\",\n li: \"li\",\n ol: \"ol\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"getting-started-with-zenwave-360º\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#getting-started-with-zenwave-360%C2%BA\",\n \"aria-label\": \"getting started with zenwave 360º permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Getting Started with ZenWave 360º\"), \"\\n\", React.createElement(_components.h2, {\n id: \"installation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#installation\",\n \"aria-label\": \"installation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Installation\"), \"\\n\", React.createElement(_components.p, null, \"We recommend using \", React.createElement(_components.a, {\n href: \"https://sdkman.io/\"\n }, \"SDKMAN!\"), \" to install ZenWave SDK requirements: \", React.createElement(_components.a, {\n href: \"https://sdkman.io/jdks\"\n }, \"Java 17+\"), \", \", React.createElement(_components.a, {\n href: \"https://sdkman.io/sdks#maven\"\n }, \"Maven\"), \" and \", React.createElement(_components.a, {\n href: \"https://sdkman.io/sdks#jbang\"\n }, \"JBang\"), \".\"), \"\\n\", React.createElement(_components.p, null, \"NOTE: Temurin (Eclipse) is a good option for Java JDK as it is high performance, enterprise-caliber and open-sourced licensed.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-installation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-installation\",\n \"aria-label\": \"zenwave sdk installation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Installation\"), \"\\n\", React.createElement(_components.p, null, \"Use JBang to install an \", React.createElement(_components.em, null, \"evergreen\"), \" self updating CLI for the ZenWave SDK.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-bash\"\n }, \"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\\n\")), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.strong, null, \"NOTE:\"), \" You can install ZenWave versions from different channel: \", React.createElement(_components.code, null, \"release\"), \" for latest stable version, \", React.createElement(_components.code, null, \"snapshots\"), \" for development versions compatible with current releases or \", React.createElement(_components.code, null, \"next\"), \" for experimental versions. They can be installed side by side (using different \", React.createElement(_components.code, null, \"--name=\"), \") or independently.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"install-zenwave-editor-intellij-plugin\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#install-zenwave-editor-intellij-plugin\",\n \"aria-label\": \"install zenwave editor intellij plugin permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Install ZenWave Editor IntelliJ Plugin\"), \"\\n\", React.createElement(_components.p, null, \"Install ZenWave Editor IntelliJ Plugin from JetBrains Marketplace:\"), \"\\n\", React.createElement(\"iframe\", {\n width: \"384px\",\n height: \"319px\",\n src: \"https://plugins.jetbrains.com/embeddable/card/22858\"\n }), \"\\n\", React.createElement(_components.p, null, \"For rendering class diagrams in markdown preview, install \", React.createElement(_components.a, {\n href: \"https://plugins.jetbrains.com/plugin/7017-plantuml-integration\"\n }, \"PlantUML Integration\"), \" plugin.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.strong, null, \"NOTE:\"), \" ZenWave Editor requires ZenWave SDK CLI to be installed as \", React.createElement(_components.code, null, \"jbang zw\"), \" alias.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"spring-boot-base-project\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#spring-boot-base-project\",\n \"aria-label\": \"spring boot base project permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Spring-Boot base Project\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK only generates business logic code and tests. It is expected to work with any compatible Spring-Boot project. Default backend generator is based ona maven single module project.\"), \"\\n\", React.createElement(_components.p, null, \"We expect most companies and teams to have their own starter base project. If you don't have one you can create one from \", React.createElement(_components.a, {\n href: \"https://start.spring.io\"\n }, \"https://start.spring.io\"), \" or clone one of the ZenWave 360 base projects from our GitHub playground repository.\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"ZenWave \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-playground/tree/baseline/jpa\"\n }, \"Starter Project for JPA\")), \"\\n\", React.createElement(_components.li, null, \"ZenWave \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-playground/tree/baseline/mongodb\"\n }, \"Starter Project for MongoDB\")), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK generated code was tested with Spring-Boot 3.1.4, Hibernate 6.x, MongoDB 5 and Spring-Cloud xxx.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zdl-modeling-and-code-generation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zdl-modeling-and-code-generation\",\n \"aria-label\": \"zdl modeling and code generation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZDL Modeling and Code Generation\"), \"\\n\", React.createElement(_components.p, null, \"Scroll left/right for a quick overview of how ZDL modeling looks like, with an example. And then follow the instructions below.\"), \"\\n\", React.createElement(CarouselProvider, {\n visibleSlides: 1,\n totalSlides: 5,\n step: 1,\n naturalSlideWidth: 500,\n naturalSlideHeight: 295,\n lockOnWindowScroll: true\n }, React.createElement(Slider, {\n className: \"{s.slider}\"\n }, React.createElement(Slide, {\n index: 0\n }, React.createElement(\"h3\", null, \"👇 ZDL Config Section with SDK Plugins \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlConfig\n })), React.createElement(Slide, {\n index: 1\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Entities (with Nested Entities for MongoDB) \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlEntities\n })), React.createElement(Slide, {\n index: 2\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Entities (with Relationships for JPA) \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlEntitiesJPA\n })), React.createElement(Slide, {\n index: 3\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Service (with @annotations for REST API) \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlService\n })), React.createElement(Slide, {\n index: 4\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Events (with @annotations for AsyncAPI)\"), React.createElement(Image, {\n src: zdlEvents\n }))), React.createElement(ButtonBack, null, \"👈\"), React.createElement(ButtonNext, null, \"👉\")), \"\\n\", React.createElement(_components.p, null, \"Create a new ZDL model or use one of ZDL examples as base:\"), \"\\n\", React.createElement(_components.ol, null, \"\\n\", React.createElement(_components.li, null, \"Create a new file with \", React.createElement(_components.code, null, \".zdl\"), \" extension\"), \"\\n\", React.createElement(_components.li, null, \"Model your Bounded Context adding some entities, services, inputs and events...\"), \"\\n\", React.createElement(_components.li, null, \"Add ZenWave SDK Plugins to ZDL \", React.createElement(_components.code, null, \"config\"), \" section. You can use IntelliJ live templates provided for this task.\"), \"\\n\", React.createElement(_components.li, null, \"Follow these steps to generate code and tests from your model:\", \"\\n\", React.createElement(_components.ol, null, \"\\n\", React.createElement(_components.li, null, \"Generate API definitions from your model: OpenAPI and AsyncAPI v2/v3 are supported.\"), \"\\n\", React.createElement(_components.li, null, \"Customize your API definitions. They are the source of truth for outbound/inbound communications.\"), \"\\n\", React.createElement(_components.li, null, \"Configure API-First generators in \", React.createElement(_components.code, null, \"pom.xml\"), \" for OpenAPI and AsyncAPI.\"), \"\\n\", React.createElement(_components.li, null, \"Generate your Core Backed code and tests. ZenWave SDK can generate CRUD implementation for your services.\"), \"\\n\", React.createElement(_components.li, null, \"Customize generated code implementing non-CRUD service commands and customize generated tests.\"), \"\\n\", React.createElement(_components.li, null, \"Implement Adapters code (web, event) connecting API-First generated code with your Core Backend. ZenWave SDK can generate Stub implementation for some adapters.\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"Run your tests and start your application.\"), \"\\n\"), \"\\n\", React.createElement(_components.h2, {\n id: \"generating-a-complete-spring-boot-application-with-zenwave-sdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#generating-a-complete-spring-boot-application-with-zenwave-sdk\",\n \"aria-label\": \"generating a complete spring boot application with zenwave sdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Generating a complete Spring-Boot Application with ZenWave SDK\"), \"\\n\", React.createElement(\"iframe\", {\n width: \"1050\",\n height: \"591\",\n src: \"https://www.youtube.com/embed/G93Mkf1xaXQ?si=XVghVSdbiy8yQA3j\",\n title: \"YouTube video player\",\n frameborder: \"0\",\n allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\",\n allowfullscreen: true\n }));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/ZenWave360/Getting-Started.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n"],"names":["ownKeys","e","t","r","Object","keys","getOwnPropertySymbols","i","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","TypeError","_defineProperties","configurable","writable","key","_createClass","prototype","value","_extends","assign","bind","hasOwnProperty","call","this","_inherits","create","constructor","_setPrototypeOf","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_objectWithoutProperties","n","s","indexOf","_objectWithoutPropertiesLoose","propertyIsEnumerable","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","_toConsumableArray","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","Symbol","iterator","from","_iterableToArray","toString","slice","name","test","_unsupportedIterableToArray","_nonIterableSpread","createCommonjsModule","exports","emptyFunction","emptyFunctionWithReset","cn","map","join","replace","trim","slideSize","slideTraySize","pct","concat","equal","types","jkrosoType","memoGaurd","getEnumerableProperties","isSpecial","$$typeof","REACT_ELEMENT_TYPE","isReactElement","cloneUnlessOtherwiseSpecified","clone","isMergeableObject","deepmerge","emptyTarget","defaultArrayMerge","arrayMerge","mergeObject","WithStore","state","updateStateProps","context","subscribe","equals","props","unsubscribe","setState","deepmerge_1","ref","instance","carouselStore","getStoreState","masterSpinnerError","masterSpinnerSuccess","setStoreState","subscribeMasterSpinner","unsubscribeAllMasterSpinner","unsubscribeMasterSpinner","children","Context","CarouselPropTypes","resetWarningCache","propTypes","o","Error","isRequired","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","factoryWithThrowingShims","LOADING","SUCCESS","ERROR","direction","height","orientation","isBgImage","tag","boundedRange","min","max","x","Math","_excluded","ButtonBack","handleOnClick","currentSlide","onClick","step","infinite","a","visibleSlides","l","totalSlides","c","isPlaying","className","disabled","setDisabled","type","window","Node","Function","Map","Set","nodeType","outerHTML","textContent","sort","isNonNullObject","for","all","reduce","_class","deepFreeze","freeze","getOwnPropertyNames","isFrozen","DEFAULT_STATE","masterSpinnerFinished","Store","subscriptions","masterSpinnerSubscriptions","updateSubscribers","splice","success","error","complete","setMasterSpinnerFinished","isMasterSpinnerFinished","_excluded$1","CarouselProvider","isIntrinsicHeight","disableAnimation","disableKeyboard","hasMasterSpinner","imageErrorCount","imageSuccessCount","interval","isPageScrollLocked","lockOnWindowScroll","masterSpinnerThreshold","naturalSlideHeight","naturalSlideWidth","playDirection","privateUnDisableAnimation","dragStep","touchEnabled","dragEnabled","Provider","Consumer","_class$1","_class$2","_class$3","_class$4","_class$5","_class$6","index","s$1","_excluded$2","ButtonFirst","s$2","_excluded$3","ButtonNext","u","index$2","s$3","_excluded$4","ButtonLast","s$4","_excluded$5","ButtonPlay","childrenPaused","childrenPlaying","s$5","dot","_excluded$6","Dot","slide","selected","p","d","dotSelected","Dot$1","s$6","_excluded$7","_excluded2","DotGroup","disableActiveDots","showAsSelectedForCurrentSlideOnly","renderDots","h","dotNumbers","s$7","image","_excluded$8","_excluded2$1","Image","imageStatus","handleImageLoad","handleImageError","initImage","src","removeEventListener","document","createElement","addEventListener","readyState","onLoad","onError","tempTag","imageLoading","customRender","imageError","style","alt","backgroundImage","backgroundSize","renderError","renderLoading","renderSuccess","_class$7","_class$8","_class$9","_class$a","Image$1","s$8","_excluded$9","Spinner","s$9","container","overlay","hover","zoom","loading","imageLoadingSpinnerContainer","_excluded$a","ImageWithZoom","isImageLoading","isHovering","isZooming","y","scale","tpCache","handleImageComplete","handleOnMouseMove","handleOnMouseOut","handleOnMouseOver","handleOnTouchEnd","handleOnTouchMove","handleOnTouchStart","nativeEvent","offsetX","target","offsetWidth","offsetY","offsetHeight","isPinchZoomEnabled","targetTouches","identifier","clientX","clientY","persist","stopPropagation","getBoundingClientRect","x1","y1","x2","y2","distance","distanceBetweenTwoTouches","midpointBetweenTwoTouches","cx","cy","left","width","top","changedTouches","spinner","bgImageProps","bgImageTag","imageClassName","overlayClassName","srcZoomed","S","transformOrigin","transform","onFocus","onMouseOver","onBlur","onMouseOut","onMouseMove","onTouchStart","onTouchEnd","onTouchMove","sqrt","pow","s$a","slideHorizontal","slideInner","focusRing","_excluded$b","Slide","handleOnFocus","handleOnBlur","focused","ariaLabel","classNameHidden","classNameVisible","innerClassName","innerTag","tabIndex","b","m","f","paddingBottom","g","position","v","_","isVisible","T","k","C","O","tagRef","role","innerTagRef","renderFocusRing","index$7","GetScrollParent","parentNode","parents","scroll","scrollingElement","documentElement","isNodeValid","scrollParent","getComputedStyle","getPropertyValue","overflow","HTMLElement","SVGElement","s$b","horizontalSlider","horizontalSliderTray","verticalSlider","verticalSliderTray","verticalTray","verticalSlideTrayWrap","sliderTray","sliderAnimation","masterSpinnerContainer","_excluded$c","_excluded2$2","_excluded3","Slider","getSliderRef","handleDocumentScroll","handleOnClickCapture","handleOnKeyDown","handleOnMouseDown","handleOnMouseUp","handleOnTouchCancel","playBackward","playForward","callCallback","blockWindowScroll","cancelNextClick","deltaX","deltaY","isBeingMouseDragged","isBeingTouchDragged","preventingVerticalScroll","startX","startY","isDocumentScrolling","moveTimer","originalOverflow","scrollStopTimer","preventVerticalScrollOnTouch","play","stop","lockScroll","unlockScroll","cancelAnimationFrame","clearTimeout","sliderTrayElement","screenX","screenY","touchDrag","mouseDrag","requestAnimationFrame","abs","verticalPixelThreshold","horizontalPixelThreshold","computeCurrentSlide","trayProps","preventDefault","fakeOnDragStart","fakeOnDragMove","fakeOnDragEnd","setTimeout","keyCode","focus","forward","backward","setInterval","clearInterval","getScrollParent","stopImmediatePropagation","slideSizeInPx","clientWidth","clientHeight","slidesMoved","moveThreshold","sliderElement","endTouchMove","onMasterSpinner","classNameAnimation","classNameTray","classNameTrayWrap","trayTag","transition","display","alignItems","flexDirection","P","E","sliderTrayWrap","horizontalTrayWrap","w","horizontalTray","M","R","onClickCapture","onMouseDown","onTouchCancel","onKeyDown","renderMasterSpinner","round","index$8","_createMdxContent","_components","h1","div","h2","em","pre","code","strong","ul","li","ol","_provideComponents","components","React","id","href","dangerouslySetInnerHTML","__html","zdlConfig","zdlEntities","zdlEntitiesJPA","zdlService","zdlEvents","title","frameborder","allow","allowfullscreen","wrapper","MDXLayout","DocTemplate","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","FeatureList","ScreenContainer","row","my","FeatureSection","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","HeroBody","HeroSection","HeroActionList","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js similarity index 88% rename from component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js rename to component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js index c36aed1..fa6e2e5 100644 --- a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js +++ b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[438],{4549:function(e,t,n){n.r(t),n.d(t,{default:function(){return pt}});var i=n(27378),r=n(20951),a=n(97702);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function S(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=m(e);if(t){var r=m(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return S(this,n)}}function y(e){return function(e){if(Array.isArray(e))return k(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:function(){return{}},n=function(n){function r(e,n){var i;return s(this,r),(i=a.call(this,e,n)).state=t(o({},n.state)),i.updateStateProps=i.updateStateProps.bind(g(i)),i}p(r,n);var a=v(r);return u(r,[{key:"componentDidMount",value:function(){this.context.subscribe(this.updateStateProps)}},{key:"shouldComponentUpdate",value:function(e,t){return!K(t,this.state)||!K(e,this.props)}},{key:"componentWillUnmount",value:function(){this.context.unsubscribe(this.updateStateProps)}},{key:"updateStateProps",value:function(){this.setState(t(o({},this.context.state)))}},{key:"render",value:function(){var t=this,n=Q(this.state,this.props);return i.createElement(e,h({ref:function(e){t.instance=e}},n,{carouselStore:{getStoreState:this.context.getStoreState,masterSpinnerError:this.context.masterSpinnerError,masterSpinnerSuccess:this.context.masterSpinnerSuccess,setStoreState:this.context.setStoreState,subscribeMasterSpinner:this.context.subscribeMasterSpinner,unsubscribeAllMasterSpinner:this.context.unsubscribeAllMasterSpinner,unsubscribeMasterSpinner:this.context.unsubscribeMasterSpinner}}),this.props.children)}}]),r}(i.Component);return d(n,"contextType",$),d(n,"propTypes",{children:W.children}),d(n,"defaultProps",{children:null}),n}O.resetWarningCache=w;var R=E((function(e){e.exports=function(){function e(e,t,n,i,r,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:O,resetWarningCache:w};return n.PropTypes=n,n}()})),H="loading",L="success",B="error",W={children:R.oneOfType([R.arrayOf(R.node),R.node]),direction:R.oneOf(["forward","backward"]),height:function(e,t){var n=e[t];return"vertical"!==e.orientation||null!==n&&"number"==typeof n?null:new Error("Missing required property '".concat(t,"' when orientation is vertical. You must supply a number representing the height in pixels"))},orientation:R.oneOf(["horizontal","vertical"]),isBgImage:function(e,t){return!0===e[t]&&"img"===e.tag?new Error("HTML img elements should not have a backgroundImage. Please use ".concat(t," for other block-level HTML tags, like div, a, section, etc...")):null}},q=function(e){var t=e.min,n=e.max,i=e.x;return Math.min(n,Math.max(t,i))},Z="buttonBack___1mlaL",F=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],V=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.currentSlide,r=t.onClick,a=t.step,l=t.infinite,o=t.visibleSlides,s=t.totalSlides-o,c=Math.max(i-a,0);l&&(c=0===i?s:c),n.setStoreState({currentSlide:c,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=(e.currentSlide,e.disabled,e.onClick,e.step,e.totalSlides,e.visibleSlides,e.infinite),a=f(e,F),l=C([Z,"carousel__back-button",n]),o=t.setDisabled(this.props.disabled,this.props.currentSlide,r);return i.createElement("button",h({type:"button","aria-label":"previous",className:l,onClick:this.handleOnClick,disabled:o},a),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n){return null!==e?e:0===t&&!n}}]),t}(i.Component);d(V,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,step:R.number.isRequired,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired,infinite:R.bool}),d(V,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1});var Y=E((function(e,t){var n={}.toString,i="undefined"!=typeof window?window.Node:Function;e.exports=t=function(e){var t=typeof e;if("object"!=t)return t;if("object"==(t=r[n.call(e)]))return e instanceof Map?"map":e instanceof Set?"set":"object";if(t)return t;if(e instanceof i)switch(e.nodeType){case 1:return"element";case 3:return"text-node";case 9:return"document";case 11:return"document-fragment";default:return"dom-node"}};var r=t.types={"[object Function]":"function","[object Date]":"date","[object RegExp]":"regexp","[object Arguments]":"arguments","[object Array]":"array","[object Set]":"set","[object String]":"string","[object Null]":"null","[object Undefined]":"undefined","[object Number]":"number","[object Boolean]":"boolean","[object Object]":"object","[object Map]":"map","[object Text]":"text-node","[object Uint8Array]":"bit-array","[object Uint16Array]":"bit-array","[object Uint32Array]":"bit-array","[object Uint8ClampedArray]":"bit-array","[object Error]":"error","[object FormData]":"form-data","[object File]":"file","[object Blob]":"blob"}})),U=(Y.types,{number:function(e,t){return e!=e&&t!=t},function:function(e,t,n){return e.toString()===t.toString()&&U.object(e,t,n)&&P(e.prototype,t.prototype)},date:function(e,t){return+e==+t},regexp:function(e,t){return e.toString()===t.toString()},element:function(e,t){return e.outerHTML===t.outerHTML},textnode:function(e,t){return e.textContent===t.textContent}});U.arguments=U["bit-array"]=U.array=x((function(e,t,n){var i=e.length;if(i!==t.length)return!1;for(n.push([e,t]);i--;)if(!P(e[i],t[i],n))return!1;return!0})),U.object=x((function(e,t,n){if("function"==typeof e.equal)return n.push([e,t]),e.equal(t,n);var i=N(e),r=N(t),a=i.length;if(a!==r.length)return!1;for(i.sort(),r.sort();a--;)if(i[a]!==r[a])return!1;for(n.push([e,t]),a=i.length;a--;){var l=i[a];if(!P(e[l],t[l],n))return!1}return!0}));var K=P,X=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!I(e)},G="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;z.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return z(e,n,t)}),{})};var J,Q=z,$=i.createContext(),ee=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach((function(n){!t.hasOwnProperty(n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||e(t[n])})),t},te={masterSpinnerFinished:!1},ne=function(){function e(t){s(this,e),this.state=ee(Q(te,t)),this.subscriptions=[],this.masterSpinnerSubscriptions={},this.setStoreState=this.setStoreState.bind(this),this.getStoreState=this.getStoreState.bind(this),this.subscribe=this.subscribe.bind(this),this.unsubscribe=this.unsubscribe.bind(this),this.updateSubscribers=this.updateSubscribers.bind(this),this.subscribeMasterSpinner=this.subscribeMasterSpinner.bind(this),this.unsubscribeMasterSpinner=this.unsubscribeMasterSpinner.bind(this),this.unsubscribeAllMasterSpinner=this.unsubscribeAllMasterSpinner.bind(this),this.masterSpinnerSuccess=this.masterSpinnerSuccess.bind(this),this.masterSpinnerError=this.masterSpinnerError.bind(this)}return u(e,[{key:"setStoreState",value:function(e,t){this.state=ee(Q(this.state,e)),this.updateSubscribers(t)}},{key:"getStoreState",value:function(){return Q({},this.state)}},{key:"subscribe",value:function(e){this.subscriptions.push(e)}},{key:"unsubscribe",value:function(e){var t=this.subscriptions.indexOf(e);-1!==t&&this.subscriptions.splice(t,1)}},{key:"updateSubscribers",value:function(e){this.subscriptions.forEach((function(e){return e()})),"function"==typeof e&&e(this.getStoreState())}},{key:"subscribeMasterSpinner",value:function(e){-1===Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.masterSpinnerSubscriptions[e]={success:!1,error:!1,complete:!1})}},{key:"unsubscribeMasterSpinner",value:function(e){return-1!==Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.setMasterSpinnerFinished(),delete this.masterSpinnerSubscriptions[e])}},{key:"unsubscribeAllMasterSpinner",value:function(){this.masterSpinnerSubscriptions={},this.setMasterSpinnerFinished()}},{key:"masterSpinnerSuccess",value:function(e){this.masterSpinnerSubscriptions[e].success=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"masterSpinnerError",value:function(e){this.masterSpinnerSubscriptions[e].error=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"setMasterSpinnerFinished",value:function(){this.setStoreState({masterSpinnerFinished:this.isMasterSpinnerFinished()})}},{key:"isMasterSpinnerFinished",value:function(){var e=this;return 0===Object.keys(this.masterSpinnerSubscriptions).filter((function(t){return!0!==e.masterSpinnerSubscriptions[t].complete})).length}}]),e}(),ie=["children","className","currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPageScrollLocked","isPlaying","lockOnWindowScroll","naturalSlideHeight","naturalSlideWidth","orientation","playDirection","step","dragStep","tag","totalSlides","touchEnabled","dragEnabled","visibleSlides","infinite","isIntrinsicHeight"],re=(d(J=function(e){function t(e){var i;if(s(this,t),i=n.call(this,e),e.isIntrinsicHeight&&"horizontal"!==e.orientation)throw Error('isIntrinsicHeight can only be used in "horizontal" orientation. See Readme for more information.');var r={currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,disableKeyboard:e.disableKeyboard,hasMasterSpinner:e.hasMasterSpinner,imageErrorCount:0,imageSuccessCount:0,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,masterSpinnerThreshold:0,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,privateUnDisableAnimation:!1,slideSize:_(e.totalSlides,e.visibleSlides),slideTraySize:T(e.totalSlides,e.visibleSlides),step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,dragEnabled:e.dragEnabled,visibleSlides:e.visibleSlides,infinite:e.infinite,isIntrinsicHeight:e.isIntrinsicHeight};return i.carouselStore=new ne(r),i}p(t,e);var n=v(t);return u(t,[{key:"componentDidUpdate",value:function(e){var t=this,n={};["currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPlaying","naturalSlideHeight","naturalSlideWidth","lockOnWindowScroll","orientation","playDirection","step","dragStep","totalSlides","touchEnabled","dragEnabled","visibleSlides"].forEach((function(i){e[i]!==t.props[i]&&(n[i]=t.props[i])})),this.props.currentSlide!==e.currentSlide&&!this.props.disableAnimation&&(n.disableAnimation=!0,n.privateUnDisableAnimation=!0),this.props.totalSlides===e.totalSlides&&this.props.visibleSlides===e.visibleSlides||(n.slideSize=_(this.props.totalSlides,this.props.visibleSlides),n.slideTraySize=T(this.props.totalSlides,this.props.visibleSlides)),this.carouselStore.state.currentSlide>=this.props.totalSlides&&(n.currentSlide=Math.max(this.props.totalSlides-1,0)),Object.keys(n).length>0&&this.carouselStore.setStoreState(n)}},{key:"componentWillUnmount",value:function(){this.carouselStore.unsubscribeAllMasterSpinner()}},{key:"getStore",value:function(){return this.carouselStore}},{key:"render",value:function(){var e=this.props,t=(e.children,e.className,e.currentSlide,e.disableAnimation,e.disableKeyboard,e.hasMasterSpinner,e.interval,e.isPageScrollLocked,e.isPlaying,e.lockOnWindowScroll,e.naturalSlideHeight,e.naturalSlideWidth,e.orientation,e.playDirection,e.step,e.dragStep,e.tag),n=(e.totalSlides,e.touchEnabled,e.dragEnabled,e.visibleSlides,e.infinite,e.isIntrinsicHeight,f(e,ie)),r=C(["carousel",this.props.className]);return i.createElement(t,h({className:r},n),i.createElement($.Provider,{value:this.carouselStore},this.props.children))}}]),t}(i.Component),"propTypes",{children:W.children.isRequired,className:R.string,currentSlide:R.number,disableAnimation:R.bool,disableKeyboard:R.bool,hasMasterSpinner:R.bool,interval:R.number,isPageScrollLocked:R.bool,isPlaying:R.bool,lockOnWindowScroll:R.bool,naturalSlideHeight:R.number.isRequired,naturalSlideWidth:R.number.isRequired,orientation:W.orientation,playDirection:W.direction,step:R.number,dragStep:R.number,tag:R.string,totalSlides:R.number.isRequired,touchEnabled:R.bool,dragEnabled:R.bool,visibleSlides:R.number,infinite:R.bool,isIntrinsicHeight:R.bool}),d(J,"defaultProps",{className:null,currentSlide:0,disableAnimation:!1,disableKeyboard:!1,hasMasterSpinner:!1,interval:5e3,isPageScrollLocked:!1,isPlaying:!1,lockOnWindowScroll:!1,orientation:"horizontal",playDirection:"forward",step:1,dragStep:1,tag:"div",touchEnabled:!0,dragEnabled:!0,visibleSlides:1,infinite:!1,isIntrinsicHeight:!1}),J);$.Consumer;var ae,le,oe,se,ce,ue,de=A(V,(function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}})),he="buttonFirst___2rhFr",pe=["carouselStore","className","currentSlide","disabled","onClick","totalSlides"],me=(ae=function(e){function t(){var e;return s(this,t),(e=n.call(this)).handleOnClick=e.handleOnClick.bind(g(e)),e}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.onClick;n.setStoreState({currentSlide:0,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,a=(e.onClick,e.totalSlides,f(e,pe)),l=C([he,"carousel__first-button",t]),o=null!==r?r:0===n;return i.createElement("button",h({type:"button","aria-label":"first",className:l,onClick:this.handleOnClick,disabled:o},a),this.props.children)}}]),t}(i.Component),d(ae,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,totalSlides:R.number.isRequired}),d(ae,"defaultProps",{className:null,disabled:null,onClick:null}),ae),be=(A(me,(function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides}})),"buttonNext___2mOCa"),fe=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],ge=(le=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.currentSlide,i=t.onClick,r=t.step,a=t.carouselStore,l=t.infinite,o=t.totalSlides-t.visibleSlides,s=r+n,c=Math.min(s,o);l&&(c=o===n?0:c),a.setStoreState({currentSlide:c,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=e.currentSlide,a=e.disabled,l=(e.onClick,e.step,e.totalSlides),o=e.visibleSlides,s=e.infinite,c=f(e,fe),u=C([be,"carousel__next-button",n]),d=t.setDisabled(a,r,o,l,s);return i.createElement("button",h({type:"button","aria-label":"next",className:u,onClick:this.handleOnClick,disabled:d},c),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n,i,r){return null!==e?e:t>=i-n&&!r}}]),t}(i.PureComponent),d(le,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,step:R.number.isRequired,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired,infinite:R.bool}),d(le,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1}),le),Se=A(ge,(function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}})),ve="buttonLast___2yuh0",ye=["carouselStore","className","currentSlide","disabled","onClick","totalSlides","visibleSlides"],ke=(oe=function(e){function t(){var e;return s(this,t),(e=n.call(this)).handleOnClick=e.handleOnClick.bind(g(e)),e}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.onClick,r=t.totalSlides,a=t.visibleSlides;n.setStoreState({currentSlide:r-a,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,a=(e.onClick,e.totalSlides),l=e.visibleSlides,o=f(e,ye),s=C([ve,"carousel__last-button",t]),c=null!==r?r:n>=a-l;return i.createElement("button",h({type:"button","aria-label":"last",className:s,onClick:this.handleOnClick,disabled:c},o),this.props.children)}}]),t}(i.Component),d(oe,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired}),d(oe,"defaultProps",{className:null,disabled:null,onClick:null}),oe),Ee=(A(ke,(function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}})),"buttonNext___3Lm3s"),we=["carouselStore","children","childrenPaused","childrenPlaying","className","isPlaying","onClick"],Oe=(se=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props.onClick;this.props.carouselStore.setStoreState({isPlaying:!this.props.isPlaying},null!==t&&t.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.childrenPaused),n=e.childrenPlaying,r=e.className,a=e.isPlaying,l=(e.onClick,f(e,we)),o=C([Ee,"carousel__play-button",r]);return i.createElement("button",h({type:"button","aria-label":"play",className:o,onClick:this.handleOnClick},l),a&&n,!a&&t,this.props.children)}}]),t}(i.PureComponent),d(se,"propTypes",{carouselStore:R.object.isRequired,children:R.node,childrenPaused:R.node,childrenPlaying:R.node,className:R.string,isPlaying:R.bool.isRequired,onClick:R.func}),d(se,"defaultProps",{children:null,childrenPaused:null,childrenPlaying:null,className:null,onClick:null}),se),Ce=(A(Oe,(function(e){return{isPlaying:e.isPlaying}})),{dot:"dot___3c3SI"}),_e=["carouselStore","children","className","currentSlide","disabled","onClick","selected","slide","totalSlides","visibleSlides"],Te=(ce=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.onClick,r=t.slide,a=t.totalSlides,l=t.visibleSlides,o=r>=a-l?a-l:r;n.setStoreState({currentSlide:o,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className),n=e.currentSlide,r=e.disabled,a=(e.onClick,e.selected),l=e.slide,o=(e.totalSlides,e.visibleSlides),s=f(e,_e),c=l>=n&&l=t&&u=n-r?n-r:u;c.push(i.createElement(Me,{key:u,slide:h,selected:d,disabled:!!a&&d},i.createElement("span",{className:C["carousel__dot-group-dot"]},this.props.dotNumbers&&u+1)))}return c}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children),n=e.className,r=(e.currentSlide,e.dotNumbers,e.totalSlides,e.visibleSlides,e.disableActiveDots,e.showAsSelectedForCurrentSlideOnly,e.renderDots,f(e,Ne)),a=C([Pe.DotGroup,"carousel__dot-group",n]);return i.createElement("div",h({className:a},r),this.renderDots(),t)}}]),t}(i.Component),d(ue,"propTypes",{children:W.children,className:R.string,currentSlide:R.number.isRequired,carouselStore:R.object.isRequired,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired,dotNumbers:R.bool,disableActiveDots:R.bool,showAsSelectedForCurrentSlideOnly:R.bool,renderDots:R.func}),d(ue,"defaultProps",{children:null,className:null,dotNumbers:!1,disableActiveDots:!0,showAsSelectedForCurrentSlideOnly:!1,renderDots:null}),ue),De=(A(Ie,(function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}})),{image:"image___xtQGH"}),je=["src","alt"],ze=["carouselStore","children","className","hasMasterSpinner","isBgImage","onError","onLoad","renderError","renderLoading","style","tag"],Ae=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).state={imageStatus:H},i.handleImageLoad=i.handleImageLoad.bind(g(i)),i.handleImageError=i.handleImageError.bind(g(i)),i.image=null,i}p(t,e);var n=v(t);return u(t,[{key:"componentDidMount",value:function(){t.subscribeMasterSpinner(this.props),this.initImage()}},{key:"componentDidUpdate",value:function(e){e.src!==this.props.src&&(t.unsubscribeMasterSpinner(e),t.subscribeMasterSpinner(this.props),this.initImage())}},{key:"componentWillUnmount",value:function(){t.unsubscribeMasterSpinner(this.props),this.image.removeEventListener("load",this.handleImageLoad),this.image.removeEventListener("error",this.handleImageError),this.image=null}},{key:"initImage",value:function(){if(this.setState({imageStatus:H}),this.image=document.createElement("img"),this.image.addEventListener("load",this.handleImageLoad,!1),this.image.addEventListener("error",this.handleImageError,!1),this.image.src=this.props.src,this.image.readyState||this.image.complete){var e=this.image.src;this.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",this.image.src=e}}},{key:"handleImageLoad",value:function(e){this.setState({imageStatus:L}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerSuccess(this.props.src),this.props.onLoad&&this.props.onLoad(e)}},{key:"handleImageError",value:function(e){this.setState({imageStatus:B}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerError(this.props.src),this.props.onError&&this.props.onError(e)}},{key:"tempTag",value:function(){return"img"===this.props.tag?"div":this.props.tag}},{key:"customRender",value:function(e){return"function"==typeof this.props[e]?this.props[e]():this.props.children}},{key:"renderLoading",value:function(e){var t=this.tempTag(),n=C([De.image,De.imageLoading,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--loading",this.props.className]);return i.createElement(t,h({className:n},e),this.customRender("renderLoading"))}},{key:"renderError",value:function(e){var t=this.tempTag(),n=C([De.image,De.imageError,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--error",this.props.className]);return i.createElement(t,h({className:n},e),this.customRender("renderError"))}},{key:"renderSuccess",value:function(e){var t=this.props,n=t.style,r=t.tag,a=C([De.image,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--success",this.props.className]),l=h({},n),o=e;if("img"!==r){var s=e.src;e.alt,o=f(e,je),l=h({},n,{backgroundImage:'url("'.concat(s,'")'),backgroundSize:"cover"})}return i.createElement(r,h({className:a,style:l},o),this.props.children)}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className,e.hasMasterSpinner,e.isBgImage,e.onError,e.onLoad,e.renderError,e.renderLoading,e.style,e.tag,f(e,ze));switch(this.state.imageStatus){case H:return this.renderLoading(t);case L:return this.renderSuccess(t);case B:return this.renderError(t);default:throw new Error("unknown value for this.state.imageStatus")}}}],[{key:"subscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.subscribeMasterSpinner(e.src)}},{key:"unsubscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.unsubscribeMasterSpinner(e.src)}}]),t}(i.Component);d(Ae,"propTypes",{alt:R.string,carouselStore:R.object.isRequired,children:W.children,className:R.string,hasMasterSpinner:R.bool.isRequired,isBgImage:W.isBgImage,onError:R.func,onLoad:R.func,renderError:R.func,renderLoading:R.func,src:R.string.isRequired,style:R.object,tag:R.string}),d(Ae,"defaultProps",{alt:"",children:null,className:null,isBgImage:!1,onError:null,onLoad:null,renderError:null,renderLoading:null,style:null,tag:"img"});var Re,He,Le,Be,We=A(Ae,(function(e){return{hasMasterSpinner:e.hasMasterSpinner,orientation:e.orientation}})),qe="spinner___27VUp",Ze=["className"],Fe=(Re=function(e){function t(){return s(this,t),n.apply(this,arguments)}p(t,e);var n=v(t);return u(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=f(e,Ze),r=C([qe,"carousel__spinner",t]);return i.createElement("div",h({className:r},n))}}]),t}(i.PureComponent),d(Re,"propTypes",{className:R.string}),d(Re,"defaultProps",{className:null}),Re),Ve={container:"container___2O72F",overlay:"overlay___IV4qY",hover:"hover___MYy31",zoom:"zoom___3kqYk",loading:"loading___1pvNI",imageLoadingSpinnerContainer:"imageLoadingSpinnerContainer___3UIPD"},Ye=["alt","bgImageProps","bgImageTag","carouselStore","className","imageClassName","overlayClassName","isPinchZoomEnabled","spinner","src","srcZoomed","tag"],Ue=(He=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).state={isImageLoading:!0,isHovering:!1,isZooming:!1,x:null,y:null,scale:1},i.tpCache={},i.handleImageComplete=i.handleImageComplete.bind(g(i)),i.handleOnMouseMove=i.handleOnMouseMove.bind(g(i)),i.handleOnMouseOut=i.handleOnMouseOut.bind(g(i)),i.handleOnMouseOver=i.handleOnMouseOver.bind(g(i)),i.handleOnTouchEnd=i.handleOnTouchEnd.bind(g(i)),i.handleOnTouchMove=i.handleOnTouchMove.bind(g(i)),i.handleOnTouchStart=i.handleOnTouchStart.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"componentDidUpdate",value:function(e,t){!1===t.isZooming&&!0===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!0}),!0===t.isZooming&&!1===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1})}},{key:"handleImageComplete",value:function(){this.setState({isImageLoading:!1})}},{key:"handleOnMouseOver",value:function(){this.state.isZooming||this.setState({isHovering:!0,scale:2})}},{key:"handleOnMouseOut",value:function(){this.state.isZooming||this.setState({isHovering:!1,scale:1})}},{key:"handleOnMouseMove",value:function(e){if(!this.state.isZooming){var t=M(e.nativeEvent.offsetX/e.target.offsetWidth*100),n=M(e.nativeEvent.offsetY/e.target.offsetHeight*100);this.setState({x:t,y:n})}}},{key:"handleOnTouchStart",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(y(e.targetTouches).forEach((function(e){t.tpCache[e.identifier]={clientX:e.clientX,clientY:e.clientY}})),this.setState((function(e){return{isZooming:e.isZooming||Object.keys(t.tpCache).length>1}})))}},{key:"handleOnTouchMove",value:function(e){var n=this;if(this.state.isZooming){e.persist();var i=y(e.targetTouches).filter((function(e){return n.tpCache[e.identifier]})).slice(0,2);if(2===i.length){e.stopPropagation();var r=e.target.getBoundingClientRect(),a=i[0].identifier,l=i[1].identifier,s={x1:this.tpCache[a].clientX,y1:this.tpCache[a].clientY,x2:this.tpCache[l].clientX,y2:this.tpCache[l].clientY};s.distance=t.distanceBetweenTwoTouches(o({},s));var c=t.midpointBetweenTwoTouches(o({},s));s.cx=c.x,s.cy=c.y;var u={x1:i[0].clientX,y1:i[0].clientY,x2:i[1].clientX,y2:i[1].clientY};u.distance=t.distanceBetweenTwoTouches(o({},u));var d=t.midpointBetweenTwoTouches(o({},u));u.cx=d.x,u.cy=d.y;var h=M(q({min:0,max:100,x:(u.cx-r.left)/r.width*100})),p=M(q({min:0,max:100,x:(u.cy-r.top)/r.height*100})),m=function(e){return q({min:1,max:3,x:e.scale+(u.distance-s.distance)/100})};this.setState((function(e){return{isZooming:1!==m(e),scale:m(e),x:h,y:p}}))}}}},{key:"handleOnTouchEnd",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(y(e.changedTouches).forEach((function(e){delete t.tpCache[e.identifier]})),0===Object.keys(this.tpCache).length&&this.setState({isZooming:!1}))}},{key:"renderLoading",value:function(){if(this.state.isImageLoading){var e=this.props.spinner;return i.createElement("div",{className:C([Ve.imageLoadingSpinnerContainer,"carousel__image-loading-spinner-container"])},e&&e(),!e&&i.createElement(Fe,null))}return null}},{key:"render",value:function(){var e=this.props,t=e.alt,n=e.bgImageProps,r=e.bgImageTag,a=(e.carouselStore,e.className),l=e.imageClassName,o=e.overlayClassName,s=(e.isPinchZoomEnabled,e.spinner,e.src),c=e.srcZoomed,u=e.tag,d=f(e,Ye),p=C([Ve.container,a]),m=C([Ve.image,"carousel__zoom-image",l]),b=C([Ve.overlay,"carousel__zoom-image-overlay",this.state.isHovering&&Ve.hover,this.state.isZooming&&Ve.zoom,this.state.isHovering&&"carousel__zoom-image-overlay--hovering",this.state.isZooming&&"carousel__zoom-image-overlay--zooming",o]),g={};return(this.state.isHovering||this.state.isZooming)&&(g.transformOrigin="".concat(this.state.x," ").concat(this.state.y),g.transform="scale(".concat(this.state.scale,")")),i.createElement(u,h({className:p},d),i.createElement(We,h({alt:t,className:m,tag:r,src:s,onLoad:this.handleImageComplete,onError:this.handleImageComplete},n)),i.createElement(We,{className:b,tag:"div",src:c||s,style:g,isBgImage:!0,onFocus:this.handleOnMouseOver,onMouseOver:this.handleOnMouseOver,onBlur:this.handleOnMouseOut,onMouseOut:this.handleOnMouseOut,onMouseMove:this.handleOnMouseMove,onTouchStart:this.handleOnTouchStart,onTouchEnd:this.handleOnTouchEnd,onTouchMove:this.handleOnTouchMove}),this.renderLoading())}}],[{key:"midpointBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1;return{x:(t+e.x2)/2,y:(n+e.y2)/2}}},{key:"distanceBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1,i=e.x2,r=e.y2;return Math.sqrt(Math.pow(i-t,2)+Math.pow(r-n,2))}}]),t}(i.Component),d(He,"propTypes",{alt:R.string,bgImageProps:R.object,bgImageTag:R.string,carouselStore:R.object.isRequired,className:R.string,imageClassName:R.string,overlayClassName:R.string,spinner:R.func,src:R.string.isRequired,srcZoomed:R.string,tag:R.string,isPinchZoomEnabled:R.bool}),d(He,"defaultProps",{alt:void 0,bgImageProps:{},bgImageTag:"div",className:null,imageClassName:null,overlayClassName:null,isPinchZoomEnabled:!0,spinner:null,srcZoomed:null,tag:"div"}),He),Ke=(A(Ue,(function(){return{}})),{slide:"slide___3-Nqo",slideHorizontal:"slideHorizontal___1NzNV",slideInner:"slideInner___2mfX9",focusRing:"focusRing___1airF"}),Xe=["ariaLabel","carouselStore","children","className","classNameHidden","classNameVisible","currentSlide","index","innerClassName","innerTag","naturalSlideHeight","naturalSlideWidth","onBlur","onFocus","orientation","slideSize","style","tabIndex","tag","totalSlides","visibleSlides","isIntrinsicHeight"],Ge=(Le=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnFocus=i.handleOnFocus.bind(g(i)),i.handleOnBlur=i.handleOnBlur.bind(g(i)),i.state={focused:!1},i}p(t,e);var n=v(t);return u(t,[{key:"isVisible",value:function(){var e=this.props,t=e.currentSlide,n=e.index,i=e.visibleSlides;return n>=t&&n=n.props.horizontalPixelThreshold}}))}))}},{key:"fakeOnDragEnd",value:function(){window.cancelAnimationFrame.call(window,this.moveTimer),this.computeCurrentSlide(),"vertical"===this.props.orientation&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1}),this.setState({deltaX:0,deltaY:0,isBeingTouchDragged:!1,isBeingMouseDragged:!1}),this.isDocumentScrolling=!this.props.lockOnWindowScroll&&null}},{key:"callCallback",value:function(e,t){var n=this.props.trayProps;n&&"function"==typeof n[e]&&(t.persist(),n[e](t))}},{key:"handleOnMouseDown",value:function(e){this.props.dragEnabled?(e.preventDefault(),this.fakeOnDragStart({screenX:e.screenX,screenY:e.screenY,mouseDrag:!0}),this.callCallback("onMouseDown",e)):this.callCallback("onMouseDown",e)}},{key:"handleOnMouseMove",value:function(e){this.state.isBeingMouseDragged&&(this.setState({cancelNextClick:!0}),e.preventDefault(),this.fakeOnDragMove(e.screenX,e.screenY))}},{key:"handleOnMouseUp",value:function(e){this.state.isBeingMouseDragged&&(e.preventDefault(),this.fakeOnDragEnd())}},{key:"handleOnClickCapture",value:function(e){this.state.cancelNextClick?(e.preventDefault(),this.setState({cancelNextClick:!1}),this.callCallback("onClickCapture",e)):this.callCallback("onClickCapture",e)}},{key:"handleOnTouchStart",value:function(e){if(this.props.touchEnabled){"vertical"===this.props.orientation&&e.preventDefault();var t=e.targetTouches[0];this.fakeOnDragStart({screenX:t.screenX,screenY:t.screenY,touchDrag:!0}),this.callCallback("onTouchStart",e)}else this.callCallback("onTouchStart",e)}},{key:"handleDocumentScroll",value:function(){var e=this;this.props.touchEnabled&&(this.isDocumentScrolling=!0,window.clearTimeout(this.scrollStopTimer),this.scrollStopTimer=window.setTimeout((function(){e.isDocumentScrolling=!1}),66))}},{key:"handleOnTouchMove",value:function(e){if(!this.props.touchEnabled||this.props.lockOnWindowScroll&&this.isDocumentScrolling)this.callCallback("onTouchMove",e);else{window.cancelAnimationFrame.call(window,this.moveTimer);var t=e.targetTouches[0];t&&(this.fakeOnDragMove(t.screenX,t.screenY),this.callCallback("onTouchMove",e))}}},{key:"forward",value:function(){var e=this.props,t=e.currentSlide,n=e.step,i=e.totalSlides,r=e.visibleSlides;return Math.min(t+n,i-r)}},{key:"backward",value:function(){var e=this.props,t=e.currentSlide,n=e.step;return Math.max(t-n,0)}},{key:"handleOnKeyDown",value:function(e){var t=e.keyCode,n=this.props,i=n.carouselStore,r=n.currentSlide,a=n.disableKeyboard,l=n.totalSlides,o=n.visibleSlides,s={};!0===a||l<=o||(37===t&&(e.preventDefault(),this.focus(),s.currentSlide=Math.max(0,r-1),s.isPlaying=!1),39===t&&(e.preventDefault(),this.focus(),s.currentSlide=Math.min(l-o,r+1),s.isPlaying=!1),i.setStoreState(s))}},{key:"playForward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide;t.setStoreState({currentSlide:this.forward()===n?0:this.forward()})}},{key:"playBackward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide,i=e.totalSlides,r=e.visibleSlides;t.setStoreState({currentSlide:this.backward()===n?i-r:this.backward()})}},{key:"play",value:function(){var e=this.props.playDirection;this.interval=setInterval("forward"===e?this.playForward:this.playBackward,this.props.interval)}},{key:"stop",value:function(){window.clearInterval(this.interval),this.interval=null}},{key:"lockScroll",value:function(){var e=new Qe;this.scrollParent=e.getScrollParent(this.sliderTrayElement),this.scrollParent&&(this.originalOverflow=this.originalOverflow||this.scrollParent.style.overflow,this.scrollParent.style.overflow="hidden")}},{key:"unlockScroll",value:function(){this.scrollParent&&(this.scrollParent.style.overflow=this.originalOverflow,this.originalOverflow=null,this.scrollParent=null)}},{key:"blockWindowScroll",value:function(e){this.state.preventingVerticalScroll&&(e.preventDefault(),e.stopImmediatePropagation())}},{key:"computeCurrentSlide",value:function(){var e=t.slideSizeInPx(this.props.orientation,this.sliderTrayElement.clientWidth,this.sliderTrayElement.clientHeight,this.props.totalSlides),n=t.slidesMoved(this.props.moveThreshold,this.props.orientation,this.state.deltaX,this.state.deltaY,e,this.props.dragStep),i=this.props.totalSlides-Math.min(this.props.totalSlides,this.props.visibleSlides),r=q({min:0,max:i,x:this.props.currentSlide+n});this.props.infinite&&(this.props.currentSlide>=i&&n>0&&(r=0),0===this.props.currentSlide&&n<0&&(r=i)),this.props.carouselStore.setStoreState({currentSlide:r})}},{key:"focus",value:function(){this.sliderElement.focus()}},{key:"handleOnTouchEnd",value:function(e){this.endTouchMove(),this.callCallback("onTouchEnd",e)}},{key:"handleOnTouchCancel",value:function(e){this.endTouchMove(),this.callCallback("onTouchCancel",e)}},{key:"endTouchMove",value:function(){this.props.touchEnabled&&this.fakeOnDragEnd()}},{key:"renderMasterSpinner",value:function(){var e=this.props,t=e.hasMasterSpinner,n=e.masterSpinnerFinished,r=e.spinner;return t&&!n?("function"==typeof this.props.onMasterSpinner&&this.props.onMasterSpinner(),i.createElement("div",{className:C([$e.masterSpinnerContainer,"carousel__master-spinner-container"])},r&&r(),!r&&i.createElement(Fe,null))):null}},{key:"render",value:function(){var e=this,t=this.props,n=t.ariaLabel,r=(t.carouselStore,t.children),a=t.className,l=t.classNameAnimation,o=t.classNameTray,s=t.classNameTrayWrap,c=t.currentSlide,u=t.disableAnimation,d=(t.disableKeyboard,t.dragEnabled,t.hasMasterSpinner,t.interval,t.isPageScrollLocked,t.isPlaying,t.lockOnWindowScroll,t.masterSpinnerFinished,t.moveThreshold,t.naturalSlideHeight),p=t.naturalSlideWidth,m=(t.onMasterSpinner,t.orientation),b=(t.playDirection,t.privateUnDisableAnimation,t.slideSize),g=t.slideTraySize,S=(t.spinner,t.style),v=t.tabIndex,y=(t.totalSlides,t.touchEnabled,t.trayProps),k=t.trayTag,E=t.visibleSlides,w=t.isIntrinsicHeight,O=f(t,et),_=h({},S),T={};"vertical"===m&&(T.height=0,T.paddingBottom=M(100*d*E/p),T.width=M(100));var P={},x=M(b*c*-1);(this.state.isBeingTouchDragged||this.state.isBeingMouseDragged||u)&&(P.transition="none"),w&&(P.display="flex",P.alignItems="stretch"),"vertical"===m?(P.transform="translateY(".concat(x,") translateY(").concat(this.state.deltaY,"px)"),P.width=M(100),P.flexDirection="column"):(P.width=M(g),P.transform="translateX(".concat(x,") translateX(").concat(this.state.deltaX,"px)"),P.flexDirection="row");var N=C(["vertical"===m?$e.verticalSlider:$e.horizontalSlider,"carousel__slider","vertical"===m?"carousel__slider--vertical":"carousel__slider--horizontal",a]),I=C([$e.sliderTrayWrap,"carousel__slider-tray-wrapper","vertical"===m?$e.verticalSlideTrayWrap:$e.horizontalTrayWrap,"vertical"===m?"carousel__slider-tray-wrap--vertical":"carousel__slider-tray-wrap--horizontal",s]),D=C([$e.sliderTray,l||$e.sliderAnimation,"carousel__slider-tray","vertical"===m?$e.verticalTray:$e.horizontalTray,"vertical"===m?"carousel__slider-tray--vertical":"carousel__slider-tray--horizontal",o]),j=null!==v?v:0,z=(O.dragStep,O.step,O.infinite,O.preventVerticalScrollOnTouch,O.preventingVerticalScroll,O.horizontalPixelThreshold,O.verticalPixelThreshold,f(O,tt)),A=(y.className,y.onClickCapture,y.onMouseDown,y.onTouchCancel,y.onTouchEnd,y.onTouchMove,y.onTouchStart,y.ref,y.style,f(y,nt));return i.createElement("div",h({ref:function(t){e.sliderElement=t},className:N,"aria-live":"polite","aria-label":n,style:_,tabIndex:j,onKeyDown:this.handleOnKeyDown,role:"listbox"},z),i.createElement("div",{className:I,style:T},i.createElement(k,h({ref:this.getSliderRef,className:D,style:P,onTouchStart:this.handleOnTouchStart,onTouchMove:this.handleOnTouchMove,onTouchEnd:this.handleOnTouchEnd,onTouchCancel:this.handleOnTouchCancel,onMouseDown:this.handleOnMouseDown,onClickCapture:this.handleOnClickCapture},A),r),this.renderMasterSpinner()))}}],[{key:"slideSizeInPx",value:function(e,t,n,i){return("horizontal"===e?t:n)/i}},{key:"slidesMoved",value:function(e,t,n,i,r,a){var l="horizontal"===t?n:i,o=Math.abs(Math.round(l/r)),s=Math.abs(l)>=r*e?a:0,c=Math.max(s,o);if(l<0)return c;var u=-c;return 0===u?0:u}}]),t}(i.Component),d(Be,"propTypes",{ariaLabel:R.string,carouselStore:R.object.isRequired,children:R.node.isRequired,className:R.string,classNameAnimation:R.string,classNameTray:R.string,classNameTrayWrap:R.string,currentSlide:R.number.isRequired,disableAnimation:R.bool,disableKeyboard:R.bool,dragEnabled:R.bool.isRequired,dragStep:R.number,hasMasterSpinner:R.bool.isRequired,infinite:R.bool,interval:R.number.isRequired,isPageScrollLocked:R.bool.isRequired,isPlaying:R.bool.isRequired,lockOnWindowScroll:R.bool.isRequired,preventVerticalScrollOnTouch:R.bool,horizontalPixelThreshold:R.number,verticalPixelThreshold:R.number,masterSpinnerFinished:R.bool.isRequired,moveThreshold:R.number,naturalSlideHeight:R.number.isRequired,naturalSlideWidth:R.number.isRequired,onMasterSpinner:R.func,orientation:W.orientation.isRequired,playDirection:W.direction.isRequired,privateUnDisableAnimation:R.bool,slideSize:R.number.isRequired,slideTraySize:R.number.isRequired,spinner:R.func,step:R.number.isRequired,style:R.object,tabIndex:R.number,totalSlides:R.number.isRequired,touchEnabled:R.bool.isRequired,trayProps:R.shape({className:R.string,onClickCapture:R.func,onMouseDown:R.func,onTouchCancel:R.func,onTouchEnd:R.func,onTouchMove:R.func,onTouchStart:R.func,ref:R.shape({}),style:R.string}),trayTag:R.string,visibleSlides:R.number,isIntrinsicHeight:R.bool}),d(Be,"defaultProps",{ariaLabel:"slider",className:null,classNameAnimation:null,classNameTray:null,classNameTrayWrap:null,disableAnimation:!1,disableKeyboard:!1,dragStep:1,infinite:!1,preventVerticalScrollOnTouch:!0,horizontalPixelThreshold:15,verticalPixelThreshold:10,moveThreshold:.1,onMasterSpinner:null,privateUnDisableAnimation:!1,spinner:null,style:{},tabIndex:null,trayProps:{},trayTag:"div",visibleSlides:1,isIntrinsicHeight:!1}),Be),rt=A(it,(function(e){return{currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,privateUnDisableAnimation:e.privateUnDisableAnimation,disableKeyboard:e.disableKeyboard,dragEnabled:e.dragEnabled,hasMasterSpinner:e.hasMasterSpinner,infinite:e.infinite,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,preventingVerticalScroll:e.preventingVerticalScroll,masterSpinnerFinished:e.masterSpinnerFinished,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,slideSize:e.slideSize,slideTraySize:e.slideTraySize,step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,visibleSlides:e.visibleSlides,isIntrinsicHeight:e.isIntrinsicHeight}})),at=n.p+"static/zdl-config-22ffe1feddf1576631556dac3c5df6df.png",lt=n.p+"static/zdl-entities-9dcd418e1c9cba75e3cb4ba6acbc9c9f.png",ot=n.p+"static/zdl-entities-jpa-ea6ea8843009c669c80baf9d9efdfd4f.png",st=n.p+"static/zdl-service-b8becfedca93cafd8d1245f8a7ea023e.png",ct=n.p+"static/zdl-events-68a08c167aaa8d49a135ee64418c5398.png";function ut(e){const t=Object.assign({h1:"h1",a:"a",div:"div",h2:"h2",p:"p",em:"em",pre:"pre",code:"code",strong:"strong",ul:"ul",li:"li",ol:"ol"},(0,r.ah)(),e.components);return i.createElement(i.Fragment,null,i.createElement(t.h1,{id:"getting-started-with-zenwave-360º",style:{position:"relative"}},i.createElement(t.a,{href:"#getting-started-with-zenwave-360%C2%BA","aria-label":"getting started with zenwave 360º permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Getting Started with ZenWave 360º"),"\n",i.createElement(t.h2,{id:"installation",style:{position:"relative"}},i.createElement(t.a,{href:"#installation","aria-label":"installation permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Installation"),"\n",i.createElement(t.p,null,"We recommend using ",i.createElement(t.a,{href:"https://sdkman.io/"},"SDKMAN!")," to install ZenWave SDK requirements: ",i.createElement(t.a,{href:"https://sdkman.io/jdks"},"Java 17+"),", ",i.createElement(t.a,{href:"https://sdkman.io/sdks#maven"},"Maven")," and ",i.createElement(t.a,{href:"https://sdkman.io/sdks#jbang"},"JBang"),"."),"\n",i.createElement(t.p,null,"NOTE: Temurin (Eclipse) is a good option for Java JDK as it is high performance, enterprise-caliber and open-sourced licensed."),"\n",i.createElement(t.h2,{id:"zenwave-sdk-installation",style:{position:"relative"}},i.createElement(t.a,{href:"#zenwave-sdk-installation","aria-label":"zenwave sdk installation permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Installation"),"\n",i.createElement(t.p,null,"Use JBang to install an ",i.createElement(t.em,null,"evergreen")," self updating CLI for the ZenWave SDK."),"\n",i.createElement(t.pre,null,i.createElement(t.code,{className:"language-bash"},"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\n")),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"NOTE:")," You can install ZenWave versions from different channel: ",i.createElement(t.code,null,"release")," for latest stable version, ",i.createElement(t.code,null,"snapshots")," for development versions compatible with current releases or ",i.createElement(t.code,null,"next")," for experimental versions. They can be installed side by side (using different ",i.createElement(t.code,null,"--name="),") or independently."),"\n",i.createElement(t.h2,{id:"install-zenwave-editor-intellij-plugin",style:{position:"relative"}},i.createElement(t.a,{href:"#install-zenwave-editor-intellij-plugin","aria-label":"install zenwave editor intellij plugin permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Install ZenWave Editor IntelliJ Plugin"),"\n",i.createElement(t.p,null,"Install ZenWave Editor IntelliJ Plugin from JetBrains Marketplace:"),"\n",i.createElement("iframe",{width:"384px",height:"319px",src:"https://plugins.jetbrains.com/embeddable/card/22858"}),"\n",i.createElement(t.p,null,"For rendering class diagrams in markdown preview, install ",i.createElement(t.a,{href:"https://plugins.jetbrains.com/plugin/7017-plantuml-integration"},"PlantUML Integration")," plugin."),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"NOTE:")," ZenWave Editor requires ZenWave SDK CLI to be installed as ",i.createElement(t.code,null,"jbang zw")," alias."),"\n",i.createElement(t.h2,{id:"spring-boot-base-project",style:{position:"relative"}},i.createElement(t.a,{href:"#spring-boot-base-project","aria-label":"spring boot base project permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Spring-Boot base Project"),"\n",i.createElement(t.p,null,"ZenWave SDK only generates business logic code and tests. It is expected to work with any compatible Spring-Boot project. Default backend generator is based ona maven single module project."),"\n",i.createElement(t.p,null,"We expect most companies and teams to have their own starter base project. If you don't have one you can create one from ",i.createElement(t.a,{href:"https://start.spring.io"},"https://start.spring.io")," or clone one of the ZenWave 360 base projects from our GitHub playground repository."),"\n",i.createElement(t.ul,null,"\n",i.createElement(t.li,null,"ZenWave ",i.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-playground/tree/baseline/jpa"},"Starter Project for JPA")),"\n",i.createElement(t.li,null,"ZenWave ",i.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-playground/tree/baseline/mongodb"},"Starter Project for MongoDB")),"\n"),"\n",i.createElement(t.p,null,"ZenWave SDK generated code was tested with Spring-Boot 3.1.4, Hibernate 6.x, MongoDB 5 and Spring-Cloud xxx."),"\n",i.createElement(t.h2,{id:"zdl-modeling-and-code-generation",style:{position:"relative"}},i.createElement(t.a,{href:"#zdl-modeling-and-code-generation","aria-label":"zdl modeling and code generation permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZDL Modeling and Code Generation"),"\n",i.createElement(t.p,null,"Scroll left/right for a quick overview of how ZDL modeling looks like, with an example. And then follow the instructions below."),"\n",i.createElement(re,{visibleSlides:1,totalSlides:5,step:1,naturalSlideWidth:500,naturalSlideHeight:295,lockOnWindowScroll:!0},i.createElement(rt,{className:"{s.slider}"},i.createElement(Je,{index:0},i.createElement("h3",null,"👇 ZDL Config Section with SDK Plugins ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:at})),i.createElement(Je,{index:1},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Entities (with Nested Entities for MongoDB) ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:lt})),i.createElement(Je,{index:2},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Entities (with Relationships for JPA) ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:ot})),i.createElement(Je,{index:3},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Service (with @annotations for REST API) ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:st})),i.createElement(Je,{index:4},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Events (with @annotations for AsyncAPI)"),i.createElement(a.Ee,{src:ct}))),i.createElement(de,null,"👈"),i.createElement(Se,null,"👉")),"\n",i.createElement(t.p,null,"Create a new ZDL model or use one of ZDL examples as base:"),"\n",i.createElement(t.ol,null,"\n",i.createElement(t.li,null,"Create a new file with ",i.createElement(t.code,null,".zdl")," extension"),"\n",i.createElement(t.li,null,"Model your Bounded Context adding some entities, services, inputs and events..."),"\n",i.createElement(t.li,null,"Add ZenWave SDK Plugins to ZDL ",i.createElement(t.code,null,"config")," section. You can use IntelliJ live templates provided for this task."),"\n",i.createElement(t.li,null,"Follow these steps to generate code and tests from your model:","\n",i.createElement(t.ol,null,"\n",i.createElement(t.li,null,"Generate API definitions from your model: OpenAPI and AsyncAPI v2/v3 are supported."),"\n",i.createElement(t.li,null,"Customize your API definitions. They are the source of truth for outbound/inbound communications."),"\n",i.createElement(t.li,null,"Configure API-First generators in ",i.createElement(t.code,null,"pom.xml")," for OpenAPI and AsyncAPI."),"\n",i.createElement(t.li,null,"Generate your Core Backed code and tests. ZenWave SDK can generate CRUD implementation for your services."),"\n",i.createElement(t.li,null,"Customize generated code implementing non-CRUD service commands and customize generated tests."),"\n",i.createElement(t.li,null,"Implement Adapters code (web, event) connecting API-First generated code with your Core Backend. ZenWave SDK can generate Stub implementation for some adapters."),"\n"),"\n"),"\n",i.createElement(t.li,null,"Run your tests and start your application."),"\n"),"\n",i.createElement(t.h2,{id:"generating-a-complete-spring-boot-application-with-zenwave-sdk",style:{position:"relative"}},i.createElement(t.a,{href:"#generating-a-complete-spring-boot-application-with-zenwave-sdk","aria-label":"generating a complete spring boot application with zenwave sdk permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Generating a complete Spring-Boot Application with ZenWave SDK"),"\n",i.createElement("iframe",{width:"1050",height:"591",src:"https://www.youtube.com/embed/G93Mkf1xaXQ?si=XVghVSdbiy8yQA3j",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen",allowfullscreen:!0}))}var dt=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,r.ah)(),e.components);return t?i.createElement(t,e,i.createElement(ut,e)):ut(e)};function ht(e){let{children:t}=e;return t}function pt(e){return i.createElement(ht,e,i.createElement(dt,e))}},97702:function(e,t,n){n.d(t,{d2:function(){return i.d},zx:function(){return c},L0:function(){return p},$s:function(){return g},VS:function(){return S},gT:function(){return v},P7:function(){return b},Gz:function(){return m},VM:function(){return w},sd:function(){return T},kW:function(){return _},$D:function(){return O},DH:function(){return C},vC:function(){return k},LR:function(){return y},Ee:function(){return I},Bk:function(){return j},Nm:function(){return z},X_:function(){return d.X},YZ:function(){return R},vk:function(){return q},BW:function(){return A},Mo:function(){return H}});var i=n(63585),r=n(27378),a=n(87573),l=n(30294);const o=e=>{let{background:t,backgroundHover:n,on:i}=e;return()=>(0,l.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,i,n,i,n,i)},s=l.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],o({background:"primary-600",backgroundHover:"primary-700",on:"white"}),o({background:"green-600",backgroundHover:"green-700",on:"white"}),o({background:"red-600",backgroundHover:"red-700",on:"white"}),o({background:"gray-300",backgroundHover:"gray-400",on:"black"})),c=r.forwardRef(((e,t)=>{let{variant:n="primary",children:i,...l}=e;return r.createElement(a.z,{ref:t,"data-variant":n},(e=>r.createElement(s,Object.assign({},e,l),i)))}));n(23824),n(31729);var u=n(63681),d=n(84234);const h=l.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=r.forwardRef(((e,t)=>r.createElement(h,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),m=l.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],u.th.px(-9),u.th.px(9)),b=l.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),f=l.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),g=r.forwardRef(((e,t)=>r.createElement(f,Object.assign({ref:t,width:48,height:48},e)))),S=r.forwardRef(((e,t)=>r.createElement(d.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),v=r.forwardRef(((e,t)=>r.createElement(l.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),y=l.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,u.up)("md",(0,l.ivY)(["padding-top:4;font-size:48;"])),(0,u.up)("xl",(0,l.ivY)(["font-size:60;"]))),k=l.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,u.up)("md",(0,l.ivY)(["font-size:20;"])),(0,u.up)("xl",(0,l.ivY)(["font-size:24;"]))),E=(0,l.ZPm)(d.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,u.up)("md",(0,l.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,u.up)("xl",(0,l.ivY)(["margin-top:6;"]))),w=r.forwardRef(((e,t)=>{let{backgroundImageURL:n,...i}=e;return r.createElement(E,Object.assign({ref:t,backgroundImage:"url("+n+")"},i))})),O=r.forwardRef(((e,t)=>r.createElement(l.x.div,Object.assign({ref:t,w:{md:.5}},e)))),C=l.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),_=r.forwardRef(((e,t)=>r.createElement(l.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),T=r.forwardRef(((e,t)=>r.createElement(l.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var M=n(24956);const P=l.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),x=l.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),N=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,I=r.forwardRef(((e,t)=>r.createElement(P,{align:e.align||"center",className:e.visible},r.createElement(x,Object.assign({ref:t,src:N(e,(0,M.If)()[0])},e)))));n(15239),n(83160);const D=(0,l.ZPm)(l.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),j=r.forwardRef(((e,t)=>r.createElement(l.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),z=r.forwardRef(((e,t)=>r.createElement(D,Object.assign({ref:t},e)))),A=r.forwardRef(((e,t)=>r.createElement(l.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),R=l.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,u.up)("md",(0,l.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),H=l.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,u.up)("md",(0,l.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,u.up)("xl",(0,l.ivY)(["font-size:24;"]))),L=l.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),B=l.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),W=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,q=r.forwardRef(((e,t)=>r.createElement(L,{className:e.className},r.createElement(B,Object.assign({ref:t,src:W(e,(0,M.If)()[0])},e)))))}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js.map \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[438],{4549:function(e,t,n){n.r(t),n.d(t,{default:function(){return pt}});var i=n(27378),r=n(20951),a=n(16376);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function S(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=m(e);if(t){var r=m(this).constructor;n=Reflect.construct(i,arguments,r)}else n=i.apply(this,arguments);return S(this,n)}}function y(e){return function(e){if(Array.isArray(e))return k(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return k(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:function(){return{}},n=function(n){function r(e,n){var i;return s(this,r),(i=a.call(this,e,n)).state=t(o({},n.state)),i.updateStateProps=i.updateStateProps.bind(g(i)),i}p(r,n);var a=v(r);return u(r,[{key:"componentDidMount",value:function(){this.context.subscribe(this.updateStateProps)}},{key:"shouldComponentUpdate",value:function(e,t){return!K(t,this.state)||!K(e,this.props)}},{key:"componentWillUnmount",value:function(){this.context.unsubscribe(this.updateStateProps)}},{key:"updateStateProps",value:function(){this.setState(t(o({},this.context.state)))}},{key:"render",value:function(){var t=this,n=Q(this.state,this.props);return i.createElement(e,h({ref:function(e){t.instance=e}},n,{carouselStore:{getStoreState:this.context.getStoreState,masterSpinnerError:this.context.masterSpinnerError,masterSpinnerSuccess:this.context.masterSpinnerSuccess,setStoreState:this.context.setStoreState,subscribeMasterSpinner:this.context.subscribeMasterSpinner,unsubscribeAllMasterSpinner:this.context.unsubscribeAllMasterSpinner,unsubscribeMasterSpinner:this.context.unsubscribeMasterSpinner}}),this.props.children)}}]),r}(i.Component);return d(n,"contextType",$),d(n,"propTypes",{children:W.children}),d(n,"defaultProps",{children:null}),n}O.resetWarningCache=w;var R=E((function(e){e.exports=function(){function e(e,t,n,i,r,a){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==a){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:O,resetWarningCache:w};return n.PropTypes=n,n}()})),L="loading",H="success",B="error",W={children:R.oneOfType([R.arrayOf(R.node),R.node]),direction:R.oneOf(["forward","backward"]),height:function(e,t){var n=e[t];return"vertical"!==e.orientation||null!==n&&"number"==typeof n?null:new Error("Missing required property '".concat(t,"' when orientation is vertical. You must supply a number representing the height in pixels"))},orientation:R.oneOf(["horizontal","vertical"]),isBgImage:function(e,t){return!0===e[t]&&"img"===e.tag?new Error("HTML img elements should not have a backgroundImage. Please use ".concat(t," for other block-level HTML tags, like div, a, section, etc...")):null}},q=function(e){var t=e.min,n=e.max,i=e.x;return Math.min(n,Math.max(t,i))},F="buttonBack___1mlaL",Z=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],V=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.currentSlide,r=t.onClick,a=t.step,l=t.infinite,o=t.visibleSlides,s=t.totalSlides-o,c=Math.max(i-a,0);l&&(c=0===i?s:c),n.setStoreState({currentSlide:c,isPlaying:!1},null!==r&&r.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=(e.currentSlide,e.disabled,e.onClick,e.step,e.totalSlides,e.visibleSlides,e.infinite),a=f(e,Z),l=C([F,"carousel__back-button",n]),o=t.setDisabled(this.props.disabled,this.props.currentSlide,r);return i.createElement("button",h({type:"button","aria-label":"previous",className:l,onClick:this.handleOnClick,disabled:o},a),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n){return null!==e?e:0===t&&!n}}]),t}(i.Component);d(V,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,step:R.number.isRequired,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired,infinite:R.bool}),d(V,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1});var Y=E((function(e,t){var n={}.toString,i="undefined"!=typeof window?window.Node:Function;e.exports=t=function(e){var t=typeof e;if("object"!=t)return t;if("object"==(t=r[n.call(e)]))return e instanceof Map?"map":e instanceof Set?"set":"object";if(t)return t;if(e instanceof i)switch(e.nodeType){case 1:return"element";case 3:return"text-node";case 9:return"document";case 11:return"document-fragment";default:return"dom-node"}};var r=t.types={"[object Function]":"function","[object Date]":"date","[object RegExp]":"regexp","[object Arguments]":"arguments","[object Array]":"array","[object Set]":"set","[object String]":"string","[object Null]":"null","[object Undefined]":"undefined","[object Number]":"number","[object Boolean]":"boolean","[object Object]":"object","[object Map]":"map","[object Text]":"text-node","[object Uint8Array]":"bit-array","[object Uint16Array]":"bit-array","[object Uint32Array]":"bit-array","[object Uint8ClampedArray]":"bit-array","[object Error]":"error","[object FormData]":"form-data","[object File]":"file","[object Blob]":"blob"}})),U=(Y.types,{number:function(e,t){return e!=e&&t!=t},function:function(e,t,n){return e.toString()===t.toString()&&U.object(e,t,n)&&P(e.prototype,t.prototype)},date:function(e,t){return+e==+t},regexp:function(e,t){return e.toString()===t.toString()},element:function(e,t){return e.outerHTML===t.outerHTML},textnode:function(e,t){return e.textContent===t.textContent}});U.arguments=U["bit-array"]=U.array=x((function(e,t,n){var i=e.length;if(i!==t.length)return!1;for(n.push([e,t]);i--;)if(!P(e[i],t[i],n))return!1;return!0})),U.object=x((function(e,t,n){if("function"==typeof e.equal)return n.push([e,t]),e.equal(t,n);var i=N(e),r=N(t),a=i.length;if(a!==r.length)return!1;for(i.sort(),r.sort();a--;)if(i[a]!==r[a])return!1;for(n.push([e,t]),a=i.length;a--;){var l=i[a];if(!P(e[l],t[l],n))return!1}return!0}));var K=P,X=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!I(e)},G="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;z.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,n){return z(e,n,t)}),{})};var J,Q=z,$=i.createContext(),ee=function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach((function(n){!t.hasOwnProperty(n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||e(t[n])})),t},te={masterSpinnerFinished:!1},ne=function(){function e(t){s(this,e),this.state=ee(Q(te,t)),this.subscriptions=[],this.masterSpinnerSubscriptions={},this.setStoreState=this.setStoreState.bind(this),this.getStoreState=this.getStoreState.bind(this),this.subscribe=this.subscribe.bind(this),this.unsubscribe=this.unsubscribe.bind(this),this.updateSubscribers=this.updateSubscribers.bind(this),this.subscribeMasterSpinner=this.subscribeMasterSpinner.bind(this),this.unsubscribeMasterSpinner=this.unsubscribeMasterSpinner.bind(this),this.unsubscribeAllMasterSpinner=this.unsubscribeAllMasterSpinner.bind(this),this.masterSpinnerSuccess=this.masterSpinnerSuccess.bind(this),this.masterSpinnerError=this.masterSpinnerError.bind(this)}return u(e,[{key:"setStoreState",value:function(e,t){this.state=ee(Q(this.state,e)),this.updateSubscribers(t)}},{key:"getStoreState",value:function(){return Q({},this.state)}},{key:"subscribe",value:function(e){this.subscriptions.push(e)}},{key:"unsubscribe",value:function(e){var t=this.subscriptions.indexOf(e);-1!==t&&this.subscriptions.splice(t,1)}},{key:"updateSubscribers",value:function(e){this.subscriptions.forEach((function(e){return e()})),"function"==typeof e&&e(this.getStoreState())}},{key:"subscribeMasterSpinner",value:function(e){-1===Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.masterSpinnerSubscriptions[e]={success:!1,error:!1,complete:!1})}},{key:"unsubscribeMasterSpinner",value:function(e){return-1!==Object.keys(this.masterSpinnerSubscriptions).indexOf(e)&&(this.setMasterSpinnerFinished(),delete this.masterSpinnerSubscriptions[e])}},{key:"unsubscribeAllMasterSpinner",value:function(){this.masterSpinnerSubscriptions={},this.setMasterSpinnerFinished()}},{key:"masterSpinnerSuccess",value:function(e){this.masterSpinnerSubscriptions[e].success=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"masterSpinnerError",value:function(e){this.masterSpinnerSubscriptions[e].error=!0,this.masterSpinnerSubscriptions[e].complete=!0,this.setMasterSpinnerFinished()}},{key:"setMasterSpinnerFinished",value:function(){this.setStoreState({masterSpinnerFinished:this.isMasterSpinnerFinished()})}},{key:"isMasterSpinnerFinished",value:function(){var e=this;return 0===Object.keys(this.masterSpinnerSubscriptions).filter((function(t){return!0!==e.masterSpinnerSubscriptions[t].complete})).length}}]),e}(),ie=["children","className","currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPageScrollLocked","isPlaying","lockOnWindowScroll","naturalSlideHeight","naturalSlideWidth","orientation","playDirection","step","dragStep","tag","totalSlides","touchEnabled","dragEnabled","visibleSlides","infinite","isIntrinsicHeight"],re=(d(J=function(e){function t(e){var i;if(s(this,t),i=n.call(this,e),e.isIntrinsicHeight&&"horizontal"!==e.orientation)throw Error('isIntrinsicHeight can only be used in "horizontal" orientation. See Readme for more information.');var r={currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,disableKeyboard:e.disableKeyboard,hasMasterSpinner:e.hasMasterSpinner,imageErrorCount:0,imageSuccessCount:0,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,masterSpinnerThreshold:0,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,privateUnDisableAnimation:!1,slideSize:_(e.totalSlides,e.visibleSlides),slideTraySize:T(e.totalSlides,e.visibleSlides),step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,dragEnabled:e.dragEnabled,visibleSlides:e.visibleSlides,infinite:e.infinite,isIntrinsicHeight:e.isIntrinsicHeight};return i.carouselStore=new ne(r),i}p(t,e);var n=v(t);return u(t,[{key:"componentDidUpdate",value:function(e){var t=this,n={};["currentSlide","disableAnimation","disableKeyboard","hasMasterSpinner","interval","isPlaying","naturalSlideHeight","naturalSlideWidth","lockOnWindowScroll","orientation","playDirection","step","dragStep","totalSlides","touchEnabled","dragEnabled","visibleSlides"].forEach((function(i){e[i]!==t.props[i]&&(n[i]=t.props[i])})),this.props.currentSlide!==e.currentSlide&&!this.props.disableAnimation&&(n.disableAnimation=!0,n.privateUnDisableAnimation=!0),this.props.totalSlides===e.totalSlides&&this.props.visibleSlides===e.visibleSlides||(n.slideSize=_(this.props.totalSlides,this.props.visibleSlides),n.slideTraySize=T(this.props.totalSlides,this.props.visibleSlides)),this.carouselStore.state.currentSlide>=this.props.totalSlides&&(n.currentSlide=Math.max(this.props.totalSlides-1,0)),Object.keys(n).length>0&&this.carouselStore.setStoreState(n)}},{key:"componentWillUnmount",value:function(){this.carouselStore.unsubscribeAllMasterSpinner()}},{key:"getStore",value:function(){return this.carouselStore}},{key:"render",value:function(){var e=this.props,t=(e.children,e.className,e.currentSlide,e.disableAnimation,e.disableKeyboard,e.hasMasterSpinner,e.interval,e.isPageScrollLocked,e.isPlaying,e.lockOnWindowScroll,e.naturalSlideHeight,e.naturalSlideWidth,e.orientation,e.playDirection,e.step,e.dragStep,e.tag),n=(e.totalSlides,e.touchEnabled,e.dragEnabled,e.visibleSlides,e.infinite,e.isIntrinsicHeight,f(e,ie)),r=C(["carousel",this.props.className]);return i.createElement(t,h({className:r},n),i.createElement($.Provider,{value:this.carouselStore},this.props.children))}}]),t}(i.Component),"propTypes",{children:W.children.isRequired,className:R.string,currentSlide:R.number,disableAnimation:R.bool,disableKeyboard:R.bool,hasMasterSpinner:R.bool,interval:R.number,isPageScrollLocked:R.bool,isPlaying:R.bool,lockOnWindowScroll:R.bool,naturalSlideHeight:R.number.isRequired,naturalSlideWidth:R.number.isRequired,orientation:W.orientation,playDirection:W.direction,step:R.number,dragStep:R.number,tag:R.string,totalSlides:R.number.isRequired,touchEnabled:R.bool,dragEnabled:R.bool,visibleSlides:R.number,infinite:R.bool,isIntrinsicHeight:R.bool}),d(J,"defaultProps",{className:null,currentSlide:0,disableAnimation:!1,disableKeyboard:!1,hasMasterSpinner:!1,interval:5e3,isPageScrollLocked:!1,isPlaying:!1,lockOnWindowScroll:!1,orientation:"horizontal",playDirection:"forward",step:1,dragStep:1,tag:"div",touchEnabled:!0,dragEnabled:!0,visibleSlides:1,infinite:!1,isIntrinsicHeight:!1}),J);$.Consumer;var ae,le,oe,se,ce,ue,de=A(V,(function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}})),he="buttonFirst___2rhFr",pe=["carouselStore","className","currentSlide","disabled","onClick","totalSlides"],me=(ae=function(e){function t(){var e;return s(this,t),(e=n.call(this)).handleOnClick=e.handleOnClick.bind(g(e)),e}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.onClick;n.setStoreState({currentSlide:0,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,a=(e.onClick,e.totalSlides,f(e,pe)),l=C([he,"carousel__first-button",t]),o=null!==r?r:0===n;return i.createElement("button",h({type:"button","aria-label":"first",className:l,onClick:this.handleOnClick,disabled:o},a),this.props.children)}}]),t}(i.Component),d(ae,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,totalSlides:R.number.isRequired}),d(ae,"defaultProps",{className:null,disabled:null,onClick:null}),ae),be=(A(me,(function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides}})),"buttonNext___2mOCa"),fe=["carouselStore","className","currentSlide","disabled","onClick","step","totalSlides","visibleSlides","infinite"],ge=(le=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.currentSlide,i=t.onClick,r=t.step,a=t.carouselStore,l=t.infinite,o=t.totalSlides-t.visibleSlides,s=r+n,c=Math.min(s,o);l&&(c=o===n?0:c),a.setStoreState({currentSlide:c,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,n=(e.carouselStore,e.className),r=e.currentSlide,a=e.disabled,l=(e.onClick,e.step,e.totalSlides),o=e.visibleSlides,s=e.infinite,c=f(e,fe),u=C([be,"carousel__next-button",n]),d=t.setDisabled(a,r,o,l,s);return i.createElement("button",h({type:"button","aria-label":"next",className:u,onClick:this.handleOnClick,disabled:d},c),this.props.children)}}],[{key:"setDisabled",value:function(e,t,n,i,r){return null!==e?e:t>=i-n&&!r}}]),t}(i.PureComponent),d(le,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,step:R.number.isRequired,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired,infinite:R.bool}),d(le,"defaultProps",{className:null,disabled:null,onClick:null,infinite:!1}),le),Se=A(ge,(function(e){return{currentSlide:e.currentSlide,step:e.step,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides,infinite:e.infinite}})),ve="buttonLast___2yuh0",ye=["carouselStore","className","currentSlide","disabled","onClick","totalSlides","visibleSlides"],ke=(oe=function(e){function t(){var e;return s(this,t),(e=n.call(this)).handleOnClick=e.handleOnClick.bind(g(e)),e}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.onClick,r=t.totalSlides,a=t.visibleSlides;n.setStoreState({currentSlide:r-a,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.className),n=e.currentSlide,r=e.disabled,a=(e.onClick,e.totalSlides),l=e.visibleSlides,o=f(e,ye),s=C([ve,"carousel__last-button",t]),c=null!==r?r:n>=a-l;return i.createElement("button",h({type:"button","aria-label":"last",className:s,onClick:this.handleOnClick,disabled:c},o),this.props.children)}}]),t}(i.Component),d(oe,"propTypes",{carouselStore:R.object.isRequired,children:W.children.isRequired,className:R.string,currentSlide:R.number.isRequired,disabled:R.bool,onClick:R.func,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired}),d(oe,"defaultProps",{className:null,disabled:null,onClick:null}),oe),Ee=(A(ke,(function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}})),"buttonNext___3Lm3s"),we=["carouselStore","children","childrenPaused","childrenPlaying","className","isPlaying","onClick"],Oe=(se=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props.onClick;this.props.carouselStore.setStoreState({isPlaying:!this.props.isPlaying},null!==t&&t.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.childrenPaused),n=e.childrenPlaying,r=e.className,a=e.isPlaying,l=(e.onClick,f(e,we)),o=C([Ee,"carousel__play-button",r]);return i.createElement("button",h({type:"button","aria-label":"play",className:o,onClick:this.handleOnClick},l),a&&n,!a&&t,this.props.children)}}]),t}(i.PureComponent),d(se,"propTypes",{carouselStore:R.object.isRequired,children:R.node,childrenPaused:R.node,childrenPlaying:R.node,className:R.string,isPlaying:R.bool.isRequired,onClick:R.func}),d(se,"defaultProps",{children:null,childrenPaused:null,childrenPlaying:null,className:null,onClick:null}),se),Ce=(A(Oe,(function(e){return{isPlaying:e.isPlaying}})),{dot:"dot___3c3SI"}),_e=["carouselStore","children","className","currentSlide","disabled","onClick","selected","slide","totalSlides","visibleSlides"],Te=(ce=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnClick=i.handleOnClick.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"handleOnClick",value:function(e){var t=this.props,n=t.carouselStore,i=t.onClick,r=t.slide,a=t.totalSlides,l=t.visibleSlides,o=r>=a-l?a-l:r;n.setStoreState({currentSlide:o,isPlaying:!1},null!==i&&i.call(this,e))}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className),n=e.currentSlide,r=e.disabled,a=(e.onClick,e.selected),l=e.slide,o=(e.totalSlides,e.visibleSlides),s=f(e,_e),c=l>=n&&l=t&&u=n-r?n-r:u;c.push(i.createElement(Me,{key:u,slide:h,selected:d,disabled:!!a&&d},i.createElement("span",{className:C["carousel__dot-group-dot"]},this.props.dotNumbers&&u+1)))}return c}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children),n=e.className,r=(e.currentSlide,e.dotNumbers,e.totalSlides,e.visibleSlides,e.disableActiveDots,e.showAsSelectedForCurrentSlideOnly,e.renderDots,f(e,Ne)),a=C([Pe.DotGroup,"carousel__dot-group",n]);return i.createElement("div",h({className:a},r),this.renderDots(),t)}}]),t}(i.Component),d(ue,"propTypes",{children:W.children,className:R.string,currentSlide:R.number.isRequired,carouselStore:R.object.isRequired,totalSlides:R.number.isRequired,visibleSlides:R.number.isRequired,dotNumbers:R.bool,disableActiveDots:R.bool,showAsSelectedForCurrentSlideOnly:R.bool,renderDots:R.func}),d(ue,"defaultProps",{children:null,className:null,dotNumbers:!1,disableActiveDots:!0,showAsSelectedForCurrentSlideOnly:!1,renderDots:null}),ue),De=(A(Ie,(function(e){return{currentSlide:e.currentSlide,totalSlides:e.totalSlides,visibleSlides:e.visibleSlides}})),{image:"image___xtQGH"}),je=["src","alt"],ze=["carouselStore","children","className","hasMasterSpinner","isBgImage","onError","onLoad","renderError","renderLoading","style","tag"],Ae=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).state={imageStatus:L},i.handleImageLoad=i.handleImageLoad.bind(g(i)),i.handleImageError=i.handleImageError.bind(g(i)),i.image=null,i}p(t,e);var n=v(t);return u(t,[{key:"componentDidMount",value:function(){t.subscribeMasterSpinner(this.props),this.initImage()}},{key:"componentDidUpdate",value:function(e){e.src!==this.props.src&&(t.unsubscribeMasterSpinner(e),t.subscribeMasterSpinner(this.props),this.initImage())}},{key:"componentWillUnmount",value:function(){t.unsubscribeMasterSpinner(this.props),this.image.removeEventListener("load",this.handleImageLoad),this.image.removeEventListener("error",this.handleImageError),this.image=null}},{key:"initImage",value:function(){if(this.setState({imageStatus:L}),this.image=document.createElement("img"),this.image.addEventListener("load",this.handleImageLoad,!1),this.image.addEventListener("error",this.handleImageError,!1),this.image.src=this.props.src,this.image.readyState||this.image.complete){var e=this.image.src;this.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",this.image.src=e}}},{key:"handleImageLoad",value:function(e){this.setState({imageStatus:H}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerSuccess(this.props.src),this.props.onLoad&&this.props.onLoad(e)}},{key:"handleImageError",value:function(e){this.setState({imageStatus:B}),this.props.hasMasterSpinner&&this.props.carouselStore.masterSpinnerError(this.props.src),this.props.onError&&this.props.onError(e)}},{key:"tempTag",value:function(){return"img"===this.props.tag?"div":this.props.tag}},{key:"customRender",value:function(e){return"function"==typeof this.props[e]?this.props[e]():this.props.children}},{key:"renderLoading",value:function(e){var t=this.tempTag(),n=C([De.image,De.imageLoading,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--loading",this.props.className]);return i.createElement(t,h({className:n},e),this.customRender("renderLoading"))}},{key:"renderError",value:function(e){var t=this.tempTag(),n=C([De.image,De.imageError,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--error",this.props.className]);return i.createElement(t,h({className:n},e),this.customRender("renderError"))}},{key:"renderSuccess",value:function(e){var t=this.props,n=t.style,r=t.tag,a=C([De.image,"carousel__image",this.props.isBgImage&&"carousel__image--with-background","carousel__image--success",this.props.className]),l=h({},n),o=e;if("img"!==r){var s=e.src;e.alt,o=f(e,je),l=h({},n,{backgroundImage:'url("'.concat(s,'")'),backgroundSize:"cover"})}return i.createElement(r,h({className:a,style:l},o),this.props.children)}},{key:"render",value:function(){var e=this.props,t=(e.carouselStore,e.children,e.className,e.hasMasterSpinner,e.isBgImage,e.onError,e.onLoad,e.renderError,e.renderLoading,e.style,e.tag,f(e,ze));switch(this.state.imageStatus){case L:return this.renderLoading(t);case H:return this.renderSuccess(t);case B:return this.renderError(t);default:throw new Error("unknown value for this.state.imageStatus")}}}],[{key:"subscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.subscribeMasterSpinner(e.src)}},{key:"unsubscribeMasterSpinner",value:function(e){e.hasMasterSpinner&&e.carouselStore.unsubscribeMasterSpinner(e.src)}}]),t}(i.Component);d(Ae,"propTypes",{alt:R.string,carouselStore:R.object.isRequired,children:W.children,className:R.string,hasMasterSpinner:R.bool.isRequired,isBgImage:W.isBgImage,onError:R.func,onLoad:R.func,renderError:R.func,renderLoading:R.func,src:R.string.isRequired,style:R.object,tag:R.string}),d(Ae,"defaultProps",{alt:"",children:null,className:null,isBgImage:!1,onError:null,onLoad:null,renderError:null,renderLoading:null,style:null,tag:"img"});var Re,Le,He,Be,We=A(Ae,(function(e){return{hasMasterSpinner:e.hasMasterSpinner,orientation:e.orientation}})),qe="spinner___27VUp",Fe=["className"],Ze=(Re=function(e){function t(){return s(this,t),n.apply(this,arguments)}p(t,e);var n=v(t);return u(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=f(e,Fe),r=C([qe,"carousel__spinner",t]);return i.createElement("div",h({className:r},n))}}]),t}(i.PureComponent),d(Re,"propTypes",{className:R.string}),d(Re,"defaultProps",{className:null}),Re),Ve={container:"container___2O72F",overlay:"overlay___IV4qY",hover:"hover___MYy31",zoom:"zoom___3kqYk",loading:"loading___1pvNI",imageLoadingSpinnerContainer:"imageLoadingSpinnerContainer___3UIPD"},Ye=["alt","bgImageProps","bgImageTag","carouselStore","className","imageClassName","overlayClassName","isPinchZoomEnabled","spinner","src","srcZoomed","tag"],Ue=(Le=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).state={isImageLoading:!0,isHovering:!1,isZooming:!1,x:null,y:null,scale:1},i.tpCache={},i.handleImageComplete=i.handleImageComplete.bind(g(i)),i.handleOnMouseMove=i.handleOnMouseMove.bind(g(i)),i.handleOnMouseOut=i.handleOnMouseOut.bind(g(i)),i.handleOnMouseOver=i.handleOnMouseOver.bind(g(i)),i.handleOnTouchEnd=i.handleOnTouchEnd.bind(g(i)),i.handleOnTouchMove=i.handleOnTouchMove.bind(g(i)),i.handleOnTouchStart=i.handleOnTouchStart.bind(g(i)),i}p(t,e);var n=v(t);return u(t,[{key:"componentDidUpdate",value:function(e,t){!1===t.isZooming&&!0===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!0}),!0===t.isZooming&&!1===this.state.isZooming&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1})}},{key:"handleImageComplete",value:function(){this.setState({isImageLoading:!1})}},{key:"handleOnMouseOver",value:function(){this.state.isZooming||this.setState({isHovering:!0,scale:2})}},{key:"handleOnMouseOut",value:function(){this.state.isZooming||this.setState({isHovering:!1,scale:1})}},{key:"handleOnMouseMove",value:function(e){if(!this.state.isZooming){var t=M(e.nativeEvent.offsetX/e.target.offsetWidth*100),n=M(e.nativeEvent.offsetY/e.target.offsetHeight*100);this.setState({x:t,y:n})}}},{key:"handleOnTouchStart",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(y(e.targetTouches).forEach((function(e){t.tpCache[e.identifier]={clientX:e.clientX,clientY:e.clientY}})),this.setState((function(e){return{isZooming:e.isZooming||Object.keys(t.tpCache).length>1}})))}},{key:"handleOnTouchMove",value:function(e){var n=this;if(this.state.isZooming){e.persist();var i=y(e.targetTouches).filter((function(e){return n.tpCache[e.identifier]})).slice(0,2);if(2===i.length){e.stopPropagation();var r=e.target.getBoundingClientRect(),a=i[0].identifier,l=i[1].identifier,s={x1:this.tpCache[a].clientX,y1:this.tpCache[a].clientY,x2:this.tpCache[l].clientX,y2:this.tpCache[l].clientY};s.distance=t.distanceBetweenTwoTouches(o({},s));var c=t.midpointBetweenTwoTouches(o({},s));s.cx=c.x,s.cy=c.y;var u={x1:i[0].clientX,y1:i[0].clientY,x2:i[1].clientX,y2:i[1].clientY};u.distance=t.distanceBetweenTwoTouches(o({},u));var d=t.midpointBetweenTwoTouches(o({},u));u.cx=d.x,u.cy=d.y;var h=M(q({min:0,max:100,x:(u.cx-r.left)/r.width*100})),p=M(q({min:0,max:100,x:(u.cy-r.top)/r.height*100})),m=function(e){return q({min:1,max:3,x:e.scale+(u.distance-s.distance)/100})};this.setState((function(e){return{isZooming:1!==m(e),scale:m(e),x:h,y:p}}))}}}},{key:"handleOnTouchEnd",value:function(e){var t=this;this.props.isPinchZoomEnabled&&(y(e.changedTouches).forEach((function(e){delete t.tpCache[e.identifier]})),0===Object.keys(this.tpCache).length&&this.setState({isZooming:!1}))}},{key:"renderLoading",value:function(){if(this.state.isImageLoading){var e=this.props.spinner;return i.createElement("div",{className:C([Ve.imageLoadingSpinnerContainer,"carousel__image-loading-spinner-container"])},e&&e(),!e&&i.createElement(Ze,null))}return null}},{key:"render",value:function(){var e=this.props,t=e.alt,n=e.bgImageProps,r=e.bgImageTag,a=(e.carouselStore,e.className),l=e.imageClassName,o=e.overlayClassName,s=(e.isPinchZoomEnabled,e.spinner,e.src),c=e.srcZoomed,u=e.tag,d=f(e,Ye),p=C([Ve.container,a]),m=C([Ve.image,"carousel__zoom-image",l]),b=C([Ve.overlay,"carousel__zoom-image-overlay",this.state.isHovering&&Ve.hover,this.state.isZooming&&Ve.zoom,this.state.isHovering&&"carousel__zoom-image-overlay--hovering",this.state.isZooming&&"carousel__zoom-image-overlay--zooming",o]),g={};return(this.state.isHovering||this.state.isZooming)&&(g.transformOrigin="".concat(this.state.x," ").concat(this.state.y),g.transform="scale(".concat(this.state.scale,")")),i.createElement(u,h({className:p},d),i.createElement(We,h({alt:t,className:m,tag:r,src:s,onLoad:this.handleImageComplete,onError:this.handleImageComplete},n)),i.createElement(We,{className:b,tag:"div",src:c||s,style:g,isBgImage:!0,onFocus:this.handleOnMouseOver,onMouseOver:this.handleOnMouseOver,onBlur:this.handleOnMouseOut,onMouseOut:this.handleOnMouseOut,onMouseMove:this.handleOnMouseMove,onTouchStart:this.handleOnTouchStart,onTouchEnd:this.handleOnTouchEnd,onTouchMove:this.handleOnTouchMove}),this.renderLoading())}}],[{key:"midpointBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1;return{x:(t+e.x2)/2,y:(n+e.y2)/2}}},{key:"distanceBetweenTwoTouches",value:function(e){var t=e.x1,n=e.y1,i=e.x2,r=e.y2;return Math.sqrt(Math.pow(i-t,2)+Math.pow(r-n,2))}}]),t}(i.Component),d(Le,"propTypes",{alt:R.string,bgImageProps:R.object,bgImageTag:R.string,carouselStore:R.object.isRequired,className:R.string,imageClassName:R.string,overlayClassName:R.string,spinner:R.func,src:R.string.isRequired,srcZoomed:R.string,tag:R.string,isPinchZoomEnabled:R.bool}),d(Le,"defaultProps",{alt:void 0,bgImageProps:{},bgImageTag:"div",className:null,imageClassName:null,overlayClassName:null,isPinchZoomEnabled:!0,spinner:null,srcZoomed:null,tag:"div"}),Le),Ke=(A(Ue,(function(){return{}})),{slide:"slide___3-Nqo",slideHorizontal:"slideHorizontal___1NzNV",slideInner:"slideInner___2mfX9",focusRing:"focusRing___1airF"}),Xe=["ariaLabel","carouselStore","children","className","classNameHidden","classNameVisible","currentSlide","index","innerClassName","innerTag","naturalSlideHeight","naturalSlideWidth","onBlur","onFocus","orientation","slideSize","style","tabIndex","tag","totalSlides","visibleSlides","isIntrinsicHeight"],Ge=(He=function(e){function t(e){var i;return s(this,t),(i=n.call(this,e)).handleOnFocus=i.handleOnFocus.bind(g(i)),i.handleOnBlur=i.handleOnBlur.bind(g(i)),i.state={focused:!1},i}p(t,e);var n=v(t);return u(t,[{key:"isVisible",value:function(){var e=this.props,t=e.currentSlide,n=e.index,i=e.visibleSlides;return n>=t&&n=n.props.horizontalPixelThreshold}}))}))}},{key:"fakeOnDragEnd",value:function(){window.cancelAnimationFrame.call(window,this.moveTimer),this.computeCurrentSlide(),"vertical"===this.props.orientation&&this.props.carouselStore.setStoreState({isPageScrollLocked:!1}),this.setState({deltaX:0,deltaY:0,isBeingTouchDragged:!1,isBeingMouseDragged:!1}),this.isDocumentScrolling=!this.props.lockOnWindowScroll&&null}},{key:"callCallback",value:function(e,t){var n=this.props.trayProps;n&&"function"==typeof n[e]&&(t.persist(),n[e](t))}},{key:"handleOnMouseDown",value:function(e){this.props.dragEnabled?(e.preventDefault(),this.fakeOnDragStart({screenX:e.screenX,screenY:e.screenY,mouseDrag:!0}),this.callCallback("onMouseDown",e)):this.callCallback("onMouseDown",e)}},{key:"handleOnMouseMove",value:function(e){this.state.isBeingMouseDragged&&(this.setState({cancelNextClick:!0}),e.preventDefault(),this.fakeOnDragMove(e.screenX,e.screenY))}},{key:"handleOnMouseUp",value:function(e){this.state.isBeingMouseDragged&&(e.preventDefault(),this.fakeOnDragEnd())}},{key:"handleOnClickCapture",value:function(e){this.state.cancelNextClick?(e.preventDefault(),this.setState({cancelNextClick:!1}),this.callCallback("onClickCapture",e)):this.callCallback("onClickCapture",e)}},{key:"handleOnTouchStart",value:function(e){if(this.props.touchEnabled){"vertical"===this.props.orientation&&e.preventDefault();var t=e.targetTouches[0];this.fakeOnDragStart({screenX:t.screenX,screenY:t.screenY,touchDrag:!0}),this.callCallback("onTouchStart",e)}else this.callCallback("onTouchStart",e)}},{key:"handleDocumentScroll",value:function(){var e=this;this.props.touchEnabled&&(this.isDocumentScrolling=!0,window.clearTimeout(this.scrollStopTimer),this.scrollStopTimer=window.setTimeout((function(){e.isDocumentScrolling=!1}),66))}},{key:"handleOnTouchMove",value:function(e){if(!this.props.touchEnabled||this.props.lockOnWindowScroll&&this.isDocumentScrolling)this.callCallback("onTouchMove",e);else{window.cancelAnimationFrame.call(window,this.moveTimer);var t=e.targetTouches[0];t&&(this.fakeOnDragMove(t.screenX,t.screenY),this.callCallback("onTouchMove",e))}}},{key:"forward",value:function(){var e=this.props,t=e.currentSlide,n=e.step,i=e.totalSlides,r=e.visibleSlides;return Math.min(t+n,i-r)}},{key:"backward",value:function(){var e=this.props,t=e.currentSlide,n=e.step;return Math.max(t-n,0)}},{key:"handleOnKeyDown",value:function(e){var t=e.keyCode,n=this.props,i=n.carouselStore,r=n.currentSlide,a=n.disableKeyboard,l=n.totalSlides,o=n.visibleSlides,s={};!0===a||l<=o||(37===t&&(e.preventDefault(),this.focus(),s.currentSlide=Math.max(0,r-1),s.isPlaying=!1),39===t&&(e.preventDefault(),this.focus(),s.currentSlide=Math.min(l-o,r+1),s.isPlaying=!1),i.setStoreState(s))}},{key:"playForward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide;t.setStoreState({currentSlide:this.forward()===n?0:this.forward()})}},{key:"playBackward",value:function(){var e=this.props,t=e.carouselStore,n=e.currentSlide,i=e.totalSlides,r=e.visibleSlides;t.setStoreState({currentSlide:this.backward()===n?i-r:this.backward()})}},{key:"play",value:function(){var e=this.props.playDirection;this.interval=setInterval("forward"===e?this.playForward:this.playBackward,this.props.interval)}},{key:"stop",value:function(){window.clearInterval(this.interval),this.interval=null}},{key:"lockScroll",value:function(){var e=new Qe;this.scrollParent=e.getScrollParent(this.sliderTrayElement),this.scrollParent&&(this.originalOverflow=this.originalOverflow||this.scrollParent.style.overflow,this.scrollParent.style.overflow="hidden")}},{key:"unlockScroll",value:function(){this.scrollParent&&(this.scrollParent.style.overflow=this.originalOverflow,this.originalOverflow=null,this.scrollParent=null)}},{key:"blockWindowScroll",value:function(e){this.state.preventingVerticalScroll&&(e.preventDefault(),e.stopImmediatePropagation())}},{key:"computeCurrentSlide",value:function(){var e=t.slideSizeInPx(this.props.orientation,this.sliderTrayElement.clientWidth,this.sliderTrayElement.clientHeight,this.props.totalSlides),n=t.slidesMoved(this.props.moveThreshold,this.props.orientation,this.state.deltaX,this.state.deltaY,e,this.props.dragStep),i=this.props.totalSlides-Math.min(this.props.totalSlides,this.props.visibleSlides),r=q({min:0,max:i,x:this.props.currentSlide+n});this.props.infinite&&(this.props.currentSlide>=i&&n>0&&(r=0),0===this.props.currentSlide&&n<0&&(r=i)),this.props.carouselStore.setStoreState({currentSlide:r})}},{key:"focus",value:function(){this.sliderElement.focus()}},{key:"handleOnTouchEnd",value:function(e){this.endTouchMove(),this.callCallback("onTouchEnd",e)}},{key:"handleOnTouchCancel",value:function(e){this.endTouchMove(),this.callCallback("onTouchCancel",e)}},{key:"endTouchMove",value:function(){this.props.touchEnabled&&this.fakeOnDragEnd()}},{key:"renderMasterSpinner",value:function(){var e=this.props,t=e.hasMasterSpinner,n=e.masterSpinnerFinished,r=e.spinner;return t&&!n?("function"==typeof this.props.onMasterSpinner&&this.props.onMasterSpinner(),i.createElement("div",{className:C([$e.masterSpinnerContainer,"carousel__master-spinner-container"])},r&&r(),!r&&i.createElement(Ze,null))):null}},{key:"render",value:function(){var e=this,t=this.props,n=t.ariaLabel,r=(t.carouselStore,t.children),a=t.className,l=t.classNameAnimation,o=t.classNameTray,s=t.classNameTrayWrap,c=t.currentSlide,u=t.disableAnimation,d=(t.disableKeyboard,t.dragEnabled,t.hasMasterSpinner,t.interval,t.isPageScrollLocked,t.isPlaying,t.lockOnWindowScroll,t.masterSpinnerFinished,t.moveThreshold,t.naturalSlideHeight),p=t.naturalSlideWidth,m=(t.onMasterSpinner,t.orientation),b=(t.playDirection,t.privateUnDisableAnimation,t.slideSize),g=t.slideTraySize,S=(t.spinner,t.style),v=t.tabIndex,y=(t.totalSlides,t.touchEnabled,t.trayProps),k=t.trayTag,E=t.visibleSlides,w=t.isIntrinsicHeight,O=f(t,et),_=h({},S),T={};"vertical"===m&&(T.height=0,T.paddingBottom=M(100*d*E/p),T.width=M(100));var P={},x=M(b*c*-1);(this.state.isBeingTouchDragged||this.state.isBeingMouseDragged||u)&&(P.transition="none"),w&&(P.display="flex",P.alignItems="stretch"),"vertical"===m?(P.transform="translateY(".concat(x,") translateY(").concat(this.state.deltaY,"px)"),P.width=M(100),P.flexDirection="column"):(P.width=M(g),P.transform="translateX(".concat(x,") translateX(").concat(this.state.deltaX,"px)"),P.flexDirection="row");var N=C(["vertical"===m?$e.verticalSlider:$e.horizontalSlider,"carousel__slider","vertical"===m?"carousel__slider--vertical":"carousel__slider--horizontal",a]),I=C([$e.sliderTrayWrap,"carousel__slider-tray-wrapper","vertical"===m?$e.verticalSlideTrayWrap:$e.horizontalTrayWrap,"vertical"===m?"carousel__slider-tray-wrap--vertical":"carousel__slider-tray-wrap--horizontal",s]),D=C([$e.sliderTray,l||$e.sliderAnimation,"carousel__slider-tray","vertical"===m?$e.verticalTray:$e.horizontalTray,"vertical"===m?"carousel__slider-tray--vertical":"carousel__slider-tray--horizontal",o]),j=null!==v?v:0,z=(O.dragStep,O.step,O.infinite,O.preventVerticalScrollOnTouch,O.preventingVerticalScroll,O.horizontalPixelThreshold,O.verticalPixelThreshold,f(O,tt)),A=(y.className,y.onClickCapture,y.onMouseDown,y.onTouchCancel,y.onTouchEnd,y.onTouchMove,y.onTouchStart,y.ref,y.style,f(y,nt));return i.createElement("div",h({ref:function(t){e.sliderElement=t},className:N,"aria-live":"polite","aria-label":n,style:_,tabIndex:j,onKeyDown:this.handleOnKeyDown,role:"listbox"},z),i.createElement("div",{className:I,style:T},i.createElement(k,h({ref:this.getSliderRef,className:D,style:P,onTouchStart:this.handleOnTouchStart,onTouchMove:this.handleOnTouchMove,onTouchEnd:this.handleOnTouchEnd,onTouchCancel:this.handleOnTouchCancel,onMouseDown:this.handleOnMouseDown,onClickCapture:this.handleOnClickCapture},A),r),this.renderMasterSpinner()))}}],[{key:"slideSizeInPx",value:function(e,t,n,i){return("horizontal"===e?t:n)/i}},{key:"slidesMoved",value:function(e,t,n,i,r,a){var l="horizontal"===t?n:i,o=Math.abs(Math.round(l/r)),s=Math.abs(l)>=r*e?a:0,c=Math.max(s,o);if(l<0)return c;var u=-c;return 0===u?0:u}}]),t}(i.Component),d(Be,"propTypes",{ariaLabel:R.string,carouselStore:R.object.isRequired,children:R.node.isRequired,className:R.string,classNameAnimation:R.string,classNameTray:R.string,classNameTrayWrap:R.string,currentSlide:R.number.isRequired,disableAnimation:R.bool,disableKeyboard:R.bool,dragEnabled:R.bool.isRequired,dragStep:R.number,hasMasterSpinner:R.bool.isRequired,infinite:R.bool,interval:R.number.isRequired,isPageScrollLocked:R.bool.isRequired,isPlaying:R.bool.isRequired,lockOnWindowScroll:R.bool.isRequired,preventVerticalScrollOnTouch:R.bool,horizontalPixelThreshold:R.number,verticalPixelThreshold:R.number,masterSpinnerFinished:R.bool.isRequired,moveThreshold:R.number,naturalSlideHeight:R.number.isRequired,naturalSlideWidth:R.number.isRequired,onMasterSpinner:R.func,orientation:W.orientation.isRequired,playDirection:W.direction.isRequired,privateUnDisableAnimation:R.bool,slideSize:R.number.isRequired,slideTraySize:R.number.isRequired,spinner:R.func,step:R.number.isRequired,style:R.object,tabIndex:R.number,totalSlides:R.number.isRequired,touchEnabled:R.bool.isRequired,trayProps:R.shape({className:R.string,onClickCapture:R.func,onMouseDown:R.func,onTouchCancel:R.func,onTouchEnd:R.func,onTouchMove:R.func,onTouchStart:R.func,ref:R.shape({}),style:R.string}),trayTag:R.string,visibleSlides:R.number,isIntrinsicHeight:R.bool}),d(Be,"defaultProps",{ariaLabel:"slider",className:null,classNameAnimation:null,classNameTray:null,classNameTrayWrap:null,disableAnimation:!1,disableKeyboard:!1,dragStep:1,infinite:!1,preventVerticalScrollOnTouch:!0,horizontalPixelThreshold:15,verticalPixelThreshold:10,moveThreshold:.1,onMasterSpinner:null,privateUnDisableAnimation:!1,spinner:null,style:{},tabIndex:null,trayProps:{},trayTag:"div",visibleSlides:1,isIntrinsicHeight:!1}),Be),rt=A(it,(function(e){return{currentSlide:e.currentSlide,disableAnimation:e.disableAnimation,privateUnDisableAnimation:e.privateUnDisableAnimation,disableKeyboard:e.disableKeyboard,dragEnabled:e.dragEnabled,hasMasterSpinner:e.hasMasterSpinner,infinite:e.infinite,interval:e.interval,isPageScrollLocked:e.isPageScrollLocked,isPlaying:e.isPlaying,lockOnWindowScroll:e.lockOnWindowScroll,preventingVerticalScroll:e.preventingVerticalScroll,masterSpinnerFinished:e.masterSpinnerFinished,naturalSlideHeight:e.naturalSlideHeight,naturalSlideWidth:e.naturalSlideWidth,orientation:e.orientation,playDirection:e.playDirection,slideSize:e.slideSize,slideTraySize:e.slideTraySize,step:e.step,dragStep:e.dragStep,totalSlides:e.totalSlides,touchEnabled:e.touchEnabled,visibleSlides:e.visibleSlides,isIntrinsicHeight:e.isIntrinsicHeight}})),at=n.p+"static/zdl-config-22ffe1feddf1576631556dac3c5df6df.png",lt=n.p+"static/zdl-entities-9dcd418e1c9cba75e3cb4ba6acbc9c9f.png",ot=n.p+"static/zdl-entities-jpa-ea6ea8843009c669c80baf9d9efdfd4f.png",st=n.p+"static/zdl-service-b8becfedca93cafd8d1245f8a7ea023e.png",ct=n.p+"static/zdl-events-68a08c167aaa8d49a135ee64418c5398.png";function ut(e){const t=Object.assign({h1:"h1",a:"a",div:"div",h2:"h2",p:"p",em:"em",pre:"pre",code:"code",strong:"strong",ul:"ul",li:"li",ol:"ol"},(0,r.ah)(),e.components);return i.createElement(i.Fragment,null,i.createElement(t.h1,{id:"getting-started-with-zenwave-360º",style:{position:"relative"}},i.createElement(t.a,{href:"#getting-started-with-zenwave-360%C2%BA","aria-label":"getting started with zenwave 360º permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Getting Started with ZenWave 360º"),"\n",i.createElement(t.h2,{id:"installation",style:{position:"relative"}},i.createElement(t.a,{href:"#installation","aria-label":"installation permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Installation"),"\n",i.createElement(t.p,null,"We recommend using ",i.createElement(t.a,{href:"https://sdkman.io/"},"SDKMAN!")," to install ZenWave SDK requirements: ",i.createElement(t.a,{href:"https://sdkman.io/jdks"},"Java 17+"),", ",i.createElement(t.a,{href:"https://sdkman.io/sdks#maven"},"Maven")," and ",i.createElement(t.a,{href:"https://sdkman.io/sdks#jbang"},"JBang"),"."),"\n",i.createElement(t.p,null,"NOTE: Temurin (Eclipse) is a good option for Java JDK as it is high performance, enterprise-caliber and open-sourced licensed."),"\n",i.createElement(t.h2,{id:"zenwave-sdk-installation",style:{position:"relative"}},i.createElement(t.a,{href:"#zenwave-sdk-installation","aria-label":"zenwave sdk installation permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Installation"),"\n",i.createElement(t.p,null,"Use JBang to install an ",i.createElement(t.em,null,"evergreen")," self updating CLI for the ZenWave SDK."),"\n",i.createElement(t.pre,null,i.createElement(t.code,{className:"language-bash"},"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\n")),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"NOTE:")," You can install ZenWave versions from different channel: ",i.createElement(t.code,null,"release")," for latest stable version, ",i.createElement(t.code,null,"snapshots")," for development versions compatible with current releases or ",i.createElement(t.code,null,"next")," for experimental versions. They can be installed side by side (using different ",i.createElement(t.code,null,"--name="),") or independently."),"\n",i.createElement(t.h2,{id:"install-zenwave-editor-intellij-plugin",style:{position:"relative"}},i.createElement(t.a,{href:"#install-zenwave-editor-intellij-plugin","aria-label":"install zenwave editor intellij plugin permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Install ZenWave Editor IntelliJ Plugin"),"\n",i.createElement(t.p,null,"Install ZenWave Editor IntelliJ Plugin from JetBrains Marketplace:"),"\n",i.createElement("iframe",{width:"384px",height:"319px",src:"https://plugins.jetbrains.com/embeddable/card/22858"}),"\n",i.createElement(t.p,null,"For rendering class diagrams in markdown preview, install ",i.createElement(t.a,{href:"https://plugins.jetbrains.com/plugin/7017-plantuml-integration"},"PlantUML Integration")," plugin."),"\n",i.createElement(t.p,null,i.createElement(t.strong,null,"NOTE:")," ZenWave Editor requires ZenWave SDK CLI to be installed as ",i.createElement(t.code,null,"jbang zw")," alias."),"\n",i.createElement(t.h2,{id:"spring-boot-base-project",style:{position:"relative"}},i.createElement(t.a,{href:"#spring-boot-base-project","aria-label":"spring boot base project permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Spring-Boot base Project"),"\n",i.createElement(t.p,null,"ZenWave SDK only generates business logic code and tests. It is expected to work with any compatible Spring-Boot project. Default backend generator is based ona maven single module project."),"\n",i.createElement(t.p,null,"We expect most companies and teams to have their own starter base project. If you don't have one you can create one from ",i.createElement(t.a,{href:"https://start.spring.io"},"https://start.spring.io")," or clone one of the ZenWave 360 base projects from our GitHub playground repository."),"\n",i.createElement(t.ul,null,"\n",i.createElement(t.li,null,"ZenWave ",i.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-playground/tree/baseline/jpa"},"Starter Project for JPA")),"\n",i.createElement(t.li,null,"ZenWave ",i.createElement(t.a,{href:"https://github.com/ZenWave360/zenwave-playground/tree/baseline/mongodb"},"Starter Project for MongoDB")),"\n"),"\n",i.createElement(t.p,null,"ZenWave SDK generated code was tested with Spring-Boot 3.1.4, Hibernate 6.x, MongoDB 5 and Spring-Cloud xxx."),"\n",i.createElement(t.h2,{id:"zdl-modeling-and-code-generation",style:{position:"relative"}},i.createElement(t.a,{href:"#zdl-modeling-and-code-generation","aria-label":"zdl modeling and code generation permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZDL Modeling and Code Generation"),"\n",i.createElement(t.p,null,"Scroll left/right for a quick overview of how ZDL modeling looks like, with an example. And then follow the instructions below."),"\n",i.createElement(re,{visibleSlides:1,totalSlides:5,step:1,naturalSlideWidth:500,naturalSlideHeight:295,lockOnWindowScroll:!0},i.createElement(rt,{className:"{s.slider}"},i.createElement(Je,{index:0},i.createElement("h3",null,"👇 ZDL Config Section with SDK Plugins ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:at})),i.createElement(Je,{index:1},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Entities (with Nested Entities for MongoDB) ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:lt})),i.createElement(Je,{index:2},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Entities (with Relationships for JPA) ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:ot})),i.createElement(Je,{index:3},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Service (with @annotations for REST API) ",i.createElement(Se,null,"👉")),i.createElement(a.Ee,{src:st})),i.createElement(Je,{index:4},i.createElement("h3",null,i.createElement(de,null,"👈")," 👇 ZDL Events (with @annotations for AsyncAPI)"),i.createElement(a.Ee,{src:ct}))),i.createElement(de,null,"👈"),i.createElement(Se,null,"👉")),"\n",i.createElement(t.p,null,"Create a new ZDL model or use one of ZDL examples as base:"),"\n",i.createElement(t.ol,null,"\n",i.createElement(t.li,null,"Create a new file with ",i.createElement(t.code,null,".zdl")," extension"),"\n",i.createElement(t.li,null,"Model your Bounded Context adding some entities, services, inputs and events..."),"\n",i.createElement(t.li,null,"Add ZenWave SDK Plugins to ZDL ",i.createElement(t.code,null,"config")," section. You can use IntelliJ live templates provided for this task."),"\n",i.createElement(t.li,null,"Follow these steps to generate code and tests from your model:","\n",i.createElement(t.ol,null,"\n",i.createElement(t.li,null,"Generate API definitions from your model: OpenAPI and AsyncAPI v2/v3 are supported."),"\n",i.createElement(t.li,null,"Customize your API definitions. They are the source of truth for outbound/inbound communications."),"\n",i.createElement(t.li,null,"Configure API-First generators in ",i.createElement(t.code,null,"pom.xml")," for OpenAPI and AsyncAPI."),"\n",i.createElement(t.li,null,"Generate your Core Backed code and tests. ZenWave SDK can generate CRUD implementation for your services."),"\n",i.createElement(t.li,null,"Customize generated code implementing non-CRUD service commands and customize generated tests."),"\n",i.createElement(t.li,null,"Implement Adapters code (web, event) connecting API-First generated code with your Core Backend. ZenWave SDK can generate Stub implementation for some adapters."),"\n"),"\n"),"\n",i.createElement(t.li,null,"Run your tests and start your application."),"\n"),"\n",i.createElement(t.h2,{id:"generating-a-complete-spring-boot-application-with-zenwave-sdk",style:{position:"relative"}},i.createElement(t.a,{href:"#generating-a-complete-spring-boot-application-with-zenwave-sdk","aria-label":"generating a complete spring boot application with zenwave sdk permalink",className:"anchor before"},i.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Generating a complete Spring-Boot Application with ZenWave SDK"),"\n",i.createElement("iframe",{width:"1050",height:"591",src:"https://www.youtube.com/embed/G93Mkf1xaXQ?si=XVghVSdbiy8yQA3j",title:"YouTube video player",frameborder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen",allowfullscreen:!0}))}var dt=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,r.ah)(),e.components);return t?i.createElement(t,e,i.createElement(ut,e)):ut(e)};function ht(e){let{children:t}=e;return t}function pt(e){return i.createElement(ht,e,i.createElement(dt,e))}},16376:function(e,t,n){n.d(t,{d2:function(){return i.d},zx:function(){return c},L0:function(){return p},$s:function(){return g},VS:function(){return S},gT:function(){return v},P7:function(){return b},Gz:function(){return m},S:function(){return F},VM:function(){return w},sd:function(){return T},kW:function(){return _},$D:function(){return O},DH:function(){return C},vC:function(){return k},LR:function(){return y},Ee:function(){return I},Bk:function(){return j},Nm:function(){return z},X_:function(){return d.X},YZ:function(){return R},vk:function(){return q},BW:function(){return A},Mo:function(){return L}});var i=n(63585),r=n(27378),a=n(87573),l=n(30294);const o=e=>{let{background:t,backgroundHover:n,on:i}=e;return()=>(0,l.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,i,n,i,n,i)},s=l.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],o({background:"primary-600",backgroundHover:"primary-700",on:"white"}),o({background:"green-600",backgroundHover:"green-700",on:"white"}),o({background:"red-600",backgroundHover:"red-700",on:"white"}),o({background:"gray-300",backgroundHover:"gray-400",on:"black"})),c=r.forwardRef(((e,t)=>{let{variant:n="primary",children:i,...l}=e;return r.createElement(a.z,{ref:t,"data-variant":n},(e=>r.createElement(s,Object.assign({},e,l),i)))}));n(23824),n(31729);var u=n(63681),d=n(84234);const h=l.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=r.forwardRef(((e,t)=>r.createElement(h,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),m=l.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],u.th.px(-9),u.th.px(9)),b=l.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),f=l.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),g=r.forwardRef(((e,t)=>r.createElement(f,Object.assign({ref:t,width:48,height:48},e)))),S=r.forwardRef(((e,t)=>r.createElement(d.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),v=r.forwardRef(((e,t)=>r.createElement(l.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),y=l.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,u.up)("md",(0,l.ivY)(["padding-top:4;font-size:48;"])),(0,u.up)("xl",(0,l.ivY)(["font-size:60;"]))),k=l.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,u.up)("md",(0,l.ivY)(["font-size:20;"])),(0,u.up)("xl",(0,l.ivY)(["font-size:24;"]))),E=(0,l.ZPm)(d.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,u.up)("md",(0,l.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,u.up)("xl",(0,l.ivY)(["margin-top:6;"]))),w=r.forwardRef(((e,t)=>{let{backgroundImageURL:n,...i}=e;return r.createElement(E,Object.assign({ref:t,backgroundImage:"url("+n+")"},i))})),O=r.forwardRef(((e,t)=>r.createElement(l.x.div,Object.assign({ref:t,w:{md:.5}},e)))),C=l.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),_=r.forwardRef(((e,t)=>r.createElement(l.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),T=r.forwardRef(((e,t)=>r.createElement(l.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var M=n(24956);const P=l.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),x=l.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),N=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,I=r.forwardRef(((e,t)=>r.createElement(P,{align:e.align||"center",className:e.visible},r.createElement(x,Object.assign({ref:t,src:N(e,(0,M.If)()[0])},e)))));n(15239),n(83160);const D=(0,l.ZPm)(l.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),j=r.forwardRef(((e,t)=>r.createElement(l.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),z=r.forwardRef(((e,t)=>r.createElement(D,Object.assign({ref:t},e)))),A=r.forwardRef(((e,t)=>r.createElement(l.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),R=l.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,u.up)("md",(0,l.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),L=l.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,u.up)("md",(0,l.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,u.up)("xl",(0,l.ivY)(["font-size:24;"]))),H=l.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),B=l.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),W=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,q=r.forwardRef(((e,t)=>r.createElement(H,{className:e.className},r.createElement(B,Object.assign({ref:t,src:W(e,(0,M.If)()[0])},e))))),F=e=>{let{gist:t,file:n}=e;const i=(0,r.useRef)(null);(0,r.useEffect)((()=>{(async()=>{const e=n?"https://gist.githubusercontent.com/"+t+"/raw/"+n:"https://gist.githubusercontent.com/"+t+"/raw";try{const t=await fetch(e);if(t.ok){const e=22*(await t.text()).split("\n").length+40;i.current&&(i.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(r){console.error("Error fetching Gist content:",r)}})()}),[t,n]);const a=n?"https://gist.github.com/"+t+".pibb?file="+n:"https://gist.github.com/"+t+".pibb",l=n?"https://gist.github.com/"+t+"#file-"+n.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+t;return r.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},n&&r.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},r.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),r.createElement("a",{href:l,target:"_blank",rel:"noopener noreferrer"},n)),r.createElement("iframe",{title:n,ref:i,src:a,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js.map new file mode 100644 index 0000000..36848c2 --- /dev/null +++ b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js","mappings":"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","sources":["webpack://website/../node_modules/pure-react-carousel/dist/index.es.js","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-config.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-entities.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-entities-jpa.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-service.png","webpack://website/./pages/docs/ZenWave360/images/getting-started/zdl-events.png","webpack://website/./pages/docs/ZenWave360/Getting-Started.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js"],"sourcesContent":["function ownKeys(e, t) {\n var r = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var i = Object.getOwnPropertySymbols(e);\n t && (i = i.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), r.push.apply(r, i);\n }\n\n return r;\n}\n\nfunction _objectSpread2(e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = null != arguments[t] ? arguments[t] : {};\n t % 2 ? ownKeys(Object(r), !0).forEach(function (t) {\n _defineProperty(e, t, r[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));\n });\n }\n\n return e;\n}\n\nfunction _classCallCheck(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\nfunction _defineProperties(e, t) {\n for (var r = 0; r < t.length; r++) {\n var i = t[r];\n i.enumerable = i.enumerable || !1, i.configurable = !0, \"value\" in i && (i.writable = !0), Object.defineProperty(e, i.key, i);\n }\n}\n\nfunction _createClass(e, t, r) {\n return t && _defineProperties(e.prototype, t), r && _defineProperties(e, r), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\n\nfunction _defineProperty(e, t, r) {\n return t in e ? Object.defineProperty(e, t, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = r, e;\n}\n\nfunction _extends() {\n return (_extends = Object.assign ? Object.assign.bind() : function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var r = arguments[t];\n\n for (var i in r) Object.prototype.hasOwnProperty.call(r, i) && (e[i] = r[i]);\n }\n\n return e;\n }).apply(this, arguments);\n}\n\nfunction _inherits(e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), t && _setPrototypeOf(e, t);\n}\n\nfunction _getPrototypeOf(e) {\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n}\n\nfunction _setPrototypeOf(e, t) {\n return (_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n}\n\nfunction _isNativeReflectConstruct() {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n}\n\nfunction _objectWithoutPropertiesLoose(e, t) {\n if (null == e) return {};\n var r,\n i,\n n = {},\n s = Object.keys(e);\n\n for (i = 0; i < s.length; i++) r = s[i], t.indexOf(r) >= 0 || (n[r] = e[r]);\n\n return n;\n}\n\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n\n var r,\n i,\n n = _objectWithoutPropertiesLoose(e, t);\n\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n\n for (i = 0; i < s.length; i++) r = s[i], t.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);\n }\n\n return n;\n}\n\nfunction _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\n\nfunction _possibleConstructorReturn(e, t) {\n if (t && (\"object\" == typeof t || \"function\" == typeof t)) return t;\n if (void 0 !== t) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return _assertThisInitialized(e);\n}\n\nfunction _createSuper(e) {\n var t = _isNativeReflectConstruct();\n\n return function () {\n var r,\n i = _getPrototypeOf(e);\n\n if (t) {\n var n = _getPrototypeOf(this).constructor;\n\n r = Reflect.construct(i, arguments, n);\n } else r = i.apply(this, arguments);\n\n return _possibleConstructorReturn(this, r);\n };\n}\n\nfunction _toConsumableArray(e) {\n return _arrayWithoutHoles(e) || _iterableToArray(e) || _unsupportedIterableToArray(e) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(e) {\n if (Array.isArray(e)) return _arrayLikeToArray(e);\n}\n\nfunction _iterableToArray(e) {\n if (\"undefined\" != typeof Symbol && null != e[Symbol.iterator] || null != e[\"@@iterator\"]) return Array.from(e);\n}\n\nfunction _unsupportedIterableToArray(e, t) {\n if (e) {\n if (\"string\" == typeof e) return _arrayLikeToArray(e, t);\n var r = Object.prototype.toString.call(e).slice(8, -1);\n return \"Object\" === r && e.constructor && (r = e.constructor.name), \"Map\" === r || \"Set\" === r ? Array.from(e) : \"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? _arrayLikeToArray(e, t) : void 0;\n }\n}\n\nfunction _arrayLikeToArray(e, t) {\n (null == t || t > e.length) && (t = e.length);\n\n for (var r = 0, i = new Array(t); r < t; r++) i[r] = e[r];\n\n return i;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction createCommonjsModule(e, t) {\n return t = {\n exports: {}\n }, e(t, t.exports), t.exports;\n}\n\nfunction emptyFunction() {}\n\nfunction emptyFunctionWithReset() {}\n\nfunction cn(e) {\n return e.map(function (e) {\n return !1 === e ? null : e;\n }).join(\" \").replace(/\\s+/g, \" \").trim();\n}\n\nfunction slideSize(e, t) {\n return 100 / e * t / t;\n}\n\nfunction slideTraySize(e, t) {\n return 100 * e / t;\n}\n\nfunction pct(e) {\n return \"\".concat(e, \"%\");\n}\n\nfunction equal(e, t, r) {\n if (e === t) return !0;\n var i = types[jkrosoType(e)],\n n = types[jkrosoType(t)];\n return !(!i || i !== n) && i(e, t, r);\n}\n\nfunction memoGaurd(e) {\n return function (t, r, i) {\n if (!i) return e(t, r, []);\n\n for (var n, s = i.length; n = i[--s];) if (n[0] === t && n[1] === r) return !0;\n\n return e(t, r, i);\n };\n}\n\nfunction arrayEqual(e, t, r) {\n var i = e.length;\n if (i !== t.length) return !1;\n\n for (r.push([e, t]); i--;) if (!equal(e[i], t[i], r)) return !1;\n\n return !0;\n}\n\nfunction objectEqual(e, t, r) {\n if (\"function\" == typeof e.equal) return r.push([e, t]), e.equal(t, r);\n var i = getEnumerableProperties(e),\n n = getEnumerableProperties(t),\n s = i.length;\n if (s !== n.length) return !1;\n\n for (i.sort(), n.sort(); s--;) if (i[s] !== n[s]) return !1;\n\n for (r.push([e, t]), s = i.length; s--;) {\n var o = i[s];\n if (!equal(e[o], t[o], r)) return !1;\n }\n\n return !0;\n}\n\nfunction getEnumerableProperties(e) {\n var t = [];\n\n for (var r in e) \"constructor\" !== r && t.push(r);\n\n return t;\n}\n\nfunction isNonNullObject(e) {\n return !!e && \"object\" == typeof e;\n}\n\nfunction isSpecial(e) {\n var t = Object.prototype.toString.call(e);\n return \"[object RegExp]\" === t || \"[object Date]\" === t || isReactElement(e);\n}\n\nfunction isReactElement(e) {\n return e.$$typeof === REACT_ELEMENT_TYPE;\n}\n\nfunction emptyTarget(e) {\n return Array.isArray(e) ? [] : {};\n}\n\nfunction cloneUnlessOtherwiseSpecified(e, t) {\n return !1 !== t.clone && t.isMergeableObject(e) ? deepmerge(emptyTarget(e), e, t) : e;\n}\n\nfunction defaultArrayMerge(e, t, r) {\n return e.concat(t).map(function (e) {\n return cloneUnlessOtherwiseSpecified(e, r);\n });\n}\n\nfunction mergeObject(e, t, r) {\n var i = {};\n return r.isMergeableObject(e) && Object.keys(e).forEach(function (t) {\n i[t] = cloneUnlessOtherwiseSpecified(e[t], r);\n }), Object.keys(t).forEach(function (n) {\n r.isMergeableObject(t[n]) && e[n] ? i[n] = deepmerge(e[n], t[n], r) : i[n] = cloneUnlessOtherwiseSpecified(t[n], r);\n }), i;\n}\n\nfunction deepmerge(e, t, r) {\n (r = r || {}).arrayMerge = r.arrayMerge || defaultArrayMerge, r.isMergeableObject = r.isMergeableObject || isMergeableObject;\n var i = Array.isArray(t);\n return i === Array.isArray(e) ? i ? r.arrayMerge(e, t, r) : mergeObject(e, t, r) : cloneUnlessOtherwiseSpecified(t, r);\n}\n\nfunction WithStore(e) {\n var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : function () {\n return {};\n },\n r = function (r) {\n function i(e, r) {\n var s;\n return _classCallCheck(this, i), s = n.call(this, e, r), s.state = t(_objectSpread2({}, r.state)), s.updateStateProps = s.updateStateProps.bind(_assertThisInitialized(s)), s;\n }\n\n _inherits(i, r);\n\n var n = _createSuper(i);\n\n return _createClass(i, [{\n key: \"componentDidMount\",\n value: function () {\n this.context.subscribe(this.updateStateProps);\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function (e, t) {\n return !equals(t, this.state) || !equals(e, this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n this.context.unsubscribe(this.updateStateProps);\n }\n }, {\n key: \"updateStateProps\",\n value: function () {\n this.setState(t(_objectSpread2({}, this.context.state)));\n }\n }, {\n key: \"render\",\n value: function () {\n var t = this,\n r = deepmerge_1(this.state, this.props);\n return React.createElement(e, _extends({\n ref: function (e) {\n t.instance = e;\n }\n }, r, {\n carouselStore: {\n getStoreState: this.context.getStoreState,\n masterSpinnerError: this.context.masterSpinnerError,\n masterSpinnerSuccess: this.context.masterSpinnerSuccess,\n setStoreState: this.context.setStoreState,\n subscribeMasterSpinner: this.context.subscribeMasterSpinner,\n unsubscribeAllMasterSpinner: this.context.unsubscribeAllMasterSpinner,\n unsubscribeMasterSpinner: this.context.unsubscribeMasterSpinner\n }\n }), this.props.children);\n }\n }]), i;\n }(React.Component);\n\n return _defineProperty(r, \"contextType\", Context), _defineProperty(r, \"propTypes\", {\n children: CarouselPropTypes.children\n }), _defineProperty(r, \"defaultProps\", {\n children: null\n }), r;\n}\n\nimport React from \"react\";\nvar ReactPropTypesSecret = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\",\n ReactPropTypesSecret_1 = ReactPropTypesSecret;\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nvar factoryWithThrowingShims = function () {\n function e(e, t, r, i, n, s) {\n if (s !== ReactPropTypesSecret_1) {\n var o = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");\n throw o.name = \"Invariant Violation\", o;\n }\n }\n\n function t() {\n return e;\n }\n\n e.isRequired = e;\n var r = {\n array: e,\n bigint: e,\n bool: e,\n func: e,\n number: e,\n object: e,\n string: e,\n symbol: e,\n any: e,\n arrayOf: t,\n element: e,\n elementType: e,\n instanceOf: t,\n node: e,\n objectOf: t,\n oneOf: t,\n oneOfType: t,\n shape: t,\n exact: t,\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n return r.PropTypes = r, r;\n},\n propTypes = createCommonjsModule(function (e) {\n e.exports = factoryWithThrowingShims();\n}),\n LOADING = \"loading\",\n SUCCESS = \"success\",\n ERROR = \"error\",\n CarouselPropTypes = {\n children: propTypes.oneOfType([propTypes.arrayOf(propTypes.node), propTypes.node]),\n direction: propTypes.oneOf([\"forward\", \"backward\"]),\n height: function (e, t) {\n var r = e[t];\n return \"vertical\" !== e.orientation || null !== r && \"number\" == typeof r ? null : new Error(\"Missing required property '\".concat(t, \"' when orientation is vertical. You must supply a number representing the height in pixels\"));\n },\n orientation: propTypes.oneOf([\"horizontal\", \"vertical\"]),\n isBgImage: function (e, t) {\n return !0 === e[t] && \"img\" === e.tag ? new Error(\"HTML img elements should not have a backgroundImage. Please use \".concat(t, \" for other block-level HTML tags, like div, a, section, etc...\")) : null;\n }\n},\n boundedRange = function (e) {\n var t = e.min,\n r = e.max,\n i = e.x;\n return Math.min(r, Math.max(t, i));\n},\n s = {\n buttonBack: \"buttonBack___1mlaL\"\n},\n _excluded = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"step\", \"totalSlides\", \"visibleSlides\", \"infinite\"],\n ButtonBack = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.currentSlide,\n n = t.onClick,\n s = t.step,\n o = t.infinite,\n a = t.visibleSlides,\n l = t.totalSlides - a,\n c = Math.max(i - s, 0);\n o && (c = 0 === i ? l : c), r.setStoreState({\n currentSlide: c,\n isPlaying: !1\n }, null !== n && n.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n r = (e.carouselStore, e.className),\n i = (e.currentSlide, e.disabled, e.onClick, e.step, e.totalSlides, e.visibleSlides, e.infinite),\n n = _objectWithoutProperties(e, _excluded),\n o = cn([s.buttonBack, \"carousel__back-button\", r]),\n a = t.setDisabled(this.props.disabled, this.props.currentSlide, i);\n\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"previous\",\n className: o,\n onClick: this.handleOnClick,\n disabled: a\n }, n), this.props.children);\n }\n }], [{\n key: \"setDisabled\",\n value: function (e, t, r) {\n return null !== e ? e : 0 === t && !r;\n }\n }]), t;\n}(React.Component);\n\n_defineProperty(ButtonBack, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n step: propTypes.number.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n infinite: propTypes.bool\n}), _defineProperty(ButtonBack, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null,\n infinite: !1\n});\nvar jkrosoType = createCommonjsModule(function (e, t) {\n var r = {}.toString,\n i = \"undefined\" != typeof window ? window.Node : Function;\n\n e.exports = t = function (e) {\n var t = typeof e;\n if (\"object\" != t) return t;\n if (t = n[r.call(e)], \"object\" == t) return e instanceof Map ? \"map\" : e instanceof Set ? \"set\" : \"object\";\n if (t) return t;\n if (e instanceof i) switch (e.nodeType) {\n case 1:\n return \"element\";\n\n case 3:\n return \"text-node\";\n\n case 9:\n return \"document\";\n\n case 11:\n return \"document-fragment\";\n\n default:\n return \"dom-node\";\n }\n };\n\n var n = t.types = {\n \"[object Function]\": \"function\",\n \"[object Date]\": \"date\",\n \"[object RegExp]\": \"regexp\",\n \"[object Arguments]\": \"arguments\",\n \"[object Array]\": \"array\",\n \"[object Set]\": \"set\",\n \"[object String]\": \"string\",\n \"[object Null]\": \"null\",\n \"[object Undefined]\": \"undefined\",\n \"[object Number]\": \"number\",\n \"[object Boolean]\": \"boolean\",\n \"[object Object]\": \"object\",\n \"[object Map]\": \"map\",\n \"[object Text]\": \"text-node\",\n \"[object Uint8Array]\": \"bit-array\",\n \"[object Uint16Array]\": \"bit-array\",\n \"[object Uint32Array]\": \"bit-array\",\n \"[object Uint8ClampedArray]\": \"bit-array\",\n \"[object Error]\": \"error\",\n \"[object FormData]\": \"form-data\",\n \"[object File]\": \"file\",\n \"[object Blob]\": \"blob\"\n };\n}),\n jkrosoType_1 = jkrosoType.types,\n types = {};\ntypes.number = function (e, t) {\n return e !== e && t !== t;\n}, types.function = function (e, t, r) {\n return e.toString() === t.toString() && types.object(e, t, r) && equal(e.prototype, t.prototype);\n}, types.date = function (e, t) {\n return +e == +t;\n}, types.regexp = function (e, t) {\n return e.toString() === t.toString();\n}, types.element = function (e, t) {\n return e.outerHTML === t.outerHTML;\n}, types.textnode = function (e, t) {\n return e.textContent === t.textContent;\n}, types.arguments = types[\"bit-array\"] = types.array = memoGaurd(arrayEqual), types.object = memoGaurd(objectEqual);\n\nvar equals = equal,\n isMergeableObject = function (e) {\n return isNonNullObject(e) && !isSpecial(e);\n},\n canUseSymbol = \"function\" == typeof Symbol && Symbol.for,\n REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 60103;\n\ndeepmerge.all = function (e, t) {\n if (!Array.isArray(e)) throw new Error(\"first argument should be an array\");\n return e.reduce(function (e, r) {\n return deepmerge(e, r, t);\n }, {});\n};\n\nvar deepmerge_1 = deepmerge,\n Context = React.createContext(),\n deepFreeze = function e(t) {\n return Object.freeze(t), Object.getOwnPropertyNames(t).forEach(function (r) {\n !t.hasOwnProperty(r) || null === t[r] || \"object\" != typeof t[r] && \"function\" != typeof t[r] || Object.isFrozen(t[r]) || e(t[r]);\n }), t;\n},\n DEFAULT_STATE = {\n masterSpinnerFinished: !1\n},\n Store = function () {\n function e(t) {\n _classCallCheck(this, e), this.state = deepFreeze(deepmerge_1(DEFAULT_STATE, t)), this.subscriptions = [], this.masterSpinnerSubscriptions = {}, this.setStoreState = this.setStoreState.bind(this), this.getStoreState = this.getStoreState.bind(this), this.subscribe = this.subscribe.bind(this), this.unsubscribe = this.unsubscribe.bind(this), this.updateSubscribers = this.updateSubscribers.bind(this), this.subscribeMasterSpinner = this.subscribeMasterSpinner.bind(this), this.unsubscribeMasterSpinner = this.unsubscribeMasterSpinner.bind(this), this.unsubscribeAllMasterSpinner = this.unsubscribeAllMasterSpinner.bind(this), this.masterSpinnerSuccess = this.masterSpinnerSuccess.bind(this), this.masterSpinnerError = this.masterSpinnerError.bind(this);\n }\n\n return _createClass(e, [{\n key: \"setStoreState\",\n value: function (e, t) {\n this.state = deepFreeze(deepmerge_1(this.state, e)), this.updateSubscribers(t);\n }\n }, {\n key: \"getStoreState\",\n value: function () {\n return deepmerge_1({}, this.state);\n }\n }, {\n key: \"subscribe\",\n value: function (e) {\n this.subscriptions.push(e);\n }\n }, {\n key: \"unsubscribe\",\n value: function (e) {\n var t = this.subscriptions.indexOf(e);\n -1 !== t && this.subscriptions.splice(t, 1);\n }\n }, {\n key: \"updateSubscribers\",\n value: function (e) {\n this.subscriptions.forEach(function (e) {\n return e();\n }), \"function\" == typeof e && e(this.getStoreState());\n }\n }, {\n key: \"subscribeMasterSpinner\",\n value: function (e) {\n -1 === Object.keys(this.masterSpinnerSubscriptions).indexOf(e) && (this.masterSpinnerSubscriptions[e] = {\n success: !1,\n error: !1,\n complete: !1\n });\n }\n }, {\n key: \"unsubscribeMasterSpinner\",\n value: function (e) {\n return -1 !== Object.keys(this.masterSpinnerSubscriptions).indexOf(e) && (this.setMasterSpinnerFinished(), delete this.masterSpinnerSubscriptions[e]);\n }\n }, {\n key: \"unsubscribeAllMasterSpinner\",\n value: function () {\n this.masterSpinnerSubscriptions = {}, this.setMasterSpinnerFinished();\n }\n }, {\n key: \"masterSpinnerSuccess\",\n value: function (e) {\n this.masterSpinnerSubscriptions[e].success = !0, this.masterSpinnerSubscriptions[e].complete = !0, this.setMasterSpinnerFinished();\n }\n }, {\n key: \"masterSpinnerError\",\n value: function (e) {\n this.masterSpinnerSubscriptions[e].error = !0, this.masterSpinnerSubscriptions[e].complete = !0, this.setMasterSpinnerFinished();\n }\n }, {\n key: \"setMasterSpinnerFinished\",\n value: function () {\n this.setStoreState({\n masterSpinnerFinished: this.isMasterSpinnerFinished()\n });\n }\n }, {\n key: \"isMasterSpinnerFinished\",\n value: function () {\n var e = this;\n return 0 === Object.keys(this.masterSpinnerSubscriptions).filter(function (t) {\n return !0 !== e.masterSpinnerSubscriptions[t].complete;\n }).length;\n }\n }]), e;\n}(),\n _excluded$1 = [\"children\", \"className\", \"currentSlide\", \"disableAnimation\", \"disableKeyboard\", \"hasMasterSpinner\", \"interval\", \"isPageScrollLocked\", \"isPlaying\", \"lockOnWindowScroll\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"orientation\", \"playDirection\", \"step\", \"dragStep\", \"tag\", \"totalSlides\", \"touchEnabled\", \"dragEnabled\", \"visibleSlides\", \"infinite\", \"isIntrinsicHeight\"],\n _class,\n CarouselProvider = (_class = function (e) {\n function t(e) {\n var i;\n if (_classCallCheck(this, t), i = r.call(this, e), e.isIntrinsicHeight && \"horizontal\" !== e.orientation) throw Error('isIntrinsicHeight can only be used in \"horizontal\" orientation. See Readme for more information.');\n var n = {\n currentSlide: e.currentSlide,\n disableAnimation: e.disableAnimation,\n disableKeyboard: e.disableKeyboard,\n hasMasterSpinner: e.hasMasterSpinner,\n imageErrorCount: 0,\n imageSuccessCount: 0,\n interval: e.interval,\n isPageScrollLocked: e.isPageScrollLocked,\n isPlaying: e.isPlaying,\n lockOnWindowScroll: e.lockOnWindowScroll,\n masterSpinnerThreshold: 0,\n naturalSlideHeight: e.naturalSlideHeight,\n naturalSlideWidth: e.naturalSlideWidth,\n orientation: e.orientation,\n playDirection: e.playDirection,\n privateUnDisableAnimation: !1,\n slideSize: slideSize(e.totalSlides, e.visibleSlides),\n slideTraySize: slideTraySize(e.totalSlides, e.visibleSlides),\n step: e.step,\n dragStep: e.dragStep,\n totalSlides: e.totalSlides,\n touchEnabled: e.touchEnabled,\n dragEnabled: e.dragEnabled,\n visibleSlides: e.visibleSlides,\n infinite: e.infinite,\n isIntrinsicHeight: e.isIntrinsicHeight\n };\n return i.carouselStore = new Store(n), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidUpdate\",\n value: function (e) {\n var t = this,\n r = {};\n [\"currentSlide\", \"disableAnimation\", \"disableKeyboard\", \"hasMasterSpinner\", \"interval\", \"isPlaying\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"lockOnWindowScroll\", \"orientation\", \"playDirection\", \"step\", \"dragStep\", \"totalSlides\", \"touchEnabled\", \"dragEnabled\", \"visibleSlides\"].forEach(function (i) {\n e[i] !== t.props[i] && (r[i] = t.props[i]);\n }), this.props.currentSlide !== e.currentSlide && !this.props.disableAnimation && (r.disableAnimation = !0, r.privateUnDisableAnimation = !0), this.props.totalSlides === e.totalSlides && this.props.visibleSlides === e.visibleSlides || (r.slideSize = slideSize(this.props.totalSlides, this.props.visibleSlides), r.slideTraySize = slideTraySize(this.props.totalSlides, this.props.visibleSlides)), this.carouselStore.state.currentSlide >= this.props.totalSlides && (r.currentSlide = Math.max(this.props.totalSlides - 1, 0)), Object.keys(r).length > 0 && this.carouselStore.setStoreState(r);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n this.carouselStore.unsubscribeAllMasterSpinner();\n }\n }, {\n key: \"getStore\",\n value: function () {\n return this.carouselStore;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.children, e.className, e.currentSlide, e.disableAnimation, e.disableKeyboard, e.hasMasterSpinner, e.interval, e.isPageScrollLocked, e.isPlaying, e.lockOnWindowScroll, e.naturalSlideHeight, e.naturalSlideWidth, e.orientation, e.playDirection, e.step, e.dragStep, e.tag),\n r = (e.totalSlides, e.touchEnabled, e.dragEnabled, e.visibleSlides, e.infinite, e.isIntrinsicHeight, _objectWithoutProperties(e, _excluded$1)),\n i = cn([\"carousel\", this.props.className]);\n return React.createElement(t, _extends({\n className: i\n }, r), React.createElement(Context.Provider, {\n value: this.carouselStore\n }, this.props.children));\n }\n }]), t;\n}(React.Component), _defineProperty(_class, \"propTypes\", {\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number,\n disableAnimation: propTypes.bool,\n disableKeyboard: propTypes.bool,\n hasMasterSpinner: propTypes.bool,\n interval: propTypes.number,\n isPageScrollLocked: propTypes.bool,\n isPlaying: propTypes.bool,\n lockOnWindowScroll: propTypes.bool,\n naturalSlideHeight: propTypes.number.isRequired,\n naturalSlideWidth: propTypes.number.isRequired,\n orientation: CarouselPropTypes.orientation,\n playDirection: CarouselPropTypes.direction,\n step: propTypes.number,\n dragStep: propTypes.number,\n tag: propTypes.string,\n totalSlides: propTypes.number.isRequired,\n touchEnabled: propTypes.bool,\n dragEnabled: propTypes.bool,\n visibleSlides: propTypes.number,\n infinite: propTypes.bool,\n isIntrinsicHeight: propTypes.bool\n}), _defineProperty(_class, \"defaultProps\", {\n className: null,\n currentSlide: 0,\n disableAnimation: !1,\n disableKeyboard: !1,\n hasMasterSpinner: !1,\n interval: 5e3,\n isPageScrollLocked: !1,\n isPlaying: !1,\n lockOnWindowScroll: !1,\n orientation: \"horizontal\",\n playDirection: \"forward\",\n step: 1,\n dragStep: 1,\n tag: \"div\",\n touchEnabled: !0,\n dragEnabled: !0,\n visibleSlides: 1,\n infinite: !1,\n isIntrinsicHeight: !1\n}), _class);\n\nContext.Consumer;\n\nvar index = WithStore(ButtonBack, function (e) {\n return {\n currentSlide: e.currentSlide,\n step: e.step,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides,\n infinite: e.infinite\n };\n}),\n s$1 = {\n buttonFirst: \"buttonFirst___2rhFr\"\n},\n _excluded$2 = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"totalSlides\"],\n _class$1,\n ButtonFirst = (_class$1 = function (e) {\n function t() {\n var e;\n return _classCallCheck(this, t), e = r.call(this), e.handleOnClick = e.handleOnClick.bind(_assertThisInitialized(e)), e;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.onClick;\n r.setStoreState({\n currentSlide: 0,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.className),\n r = e.currentSlide,\n i = e.disabled,\n n = (e.onClick, e.totalSlides, _objectWithoutProperties(e, _excluded$2)),\n s = cn([s$1.buttonFirst, \"carousel__first-button\", t]),\n o = null !== i ? i : 0 === r;\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"first\",\n className: s,\n onClick: this.handleOnClick,\n disabled: o\n }, n), this.props.children);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$1, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n totalSlides: propTypes.number.isRequired\n}), _defineProperty(_class$1, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null\n}), _class$1),\n index$1 = WithStore(ButtonFirst, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides\n };\n}),\n s$2 = {\n buttonNext: \"buttonNext___2mOCa\"\n},\n _excluded$3 = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"step\", \"totalSlides\", \"visibleSlides\", \"infinite\"],\n _class$2,\n ButtonNext = (_class$2 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.currentSlide,\n i = t.onClick,\n n = t.step,\n s = t.carouselStore,\n o = t.infinite,\n a = t.totalSlides - t.visibleSlides,\n l = n + r,\n c = Math.min(l, a);\n o && (c = a === r ? 0 : c), s.setStoreState({\n currentSlide: c,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n r = (e.carouselStore, e.className),\n i = e.currentSlide,\n n = e.disabled,\n s = (e.onClick, e.step, e.totalSlides),\n o = e.visibleSlides,\n a = e.infinite,\n l = _objectWithoutProperties(e, _excluded$3),\n c = cn([s$2.buttonNext, \"carousel__next-button\", r]),\n u = t.setDisabled(n, i, o, s, a);\n\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"next\",\n className: c,\n onClick: this.handleOnClick,\n disabled: u\n }, l), this.props.children);\n }\n }], [{\n key: \"setDisabled\",\n value: function (e, t, r, i, n) {\n return null !== e ? e : t >= i - r && !n;\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$2, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n step: propTypes.number.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n infinite: propTypes.bool\n}), _defineProperty(_class$2, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null,\n infinite: !1\n}), _class$2),\n index$2 = WithStore(ButtonNext, function (e) {\n return {\n currentSlide: e.currentSlide,\n step: e.step,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides,\n infinite: e.infinite\n };\n}),\n s$3 = {\n buttonLast: \"buttonLast___2yuh0\"\n},\n _excluded$4 = [\"carouselStore\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"totalSlides\", \"visibleSlides\"],\n _class$3,\n ButtonLast = (_class$3 = function (e) {\n function t() {\n var e;\n return _classCallCheck(this, t), e = r.call(this), e.handleOnClick = e.handleOnClick.bind(_assertThisInitialized(e)), e;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.onClick,\n n = t.totalSlides,\n s = t.visibleSlides;\n r.setStoreState({\n currentSlide: n - s,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.className),\n r = e.currentSlide,\n i = e.disabled,\n n = (e.onClick, e.totalSlides),\n s = e.visibleSlides,\n o = _objectWithoutProperties(e, _excluded$4),\n a = cn([s$3.buttonLast, \"carousel__last-button\", t]),\n l = null !== i ? i : r >= n - s;\n\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"last\",\n className: a,\n onClick: this.handleOnClick,\n disabled: l\n }, o), this.props.children);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$3, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children.isRequired,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired\n}), _defineProperty(_class$3, \"defaultProps\", {\n className: null,\n disabled: null,\n onClick: null\n}), _class$3),\n index$3 = WithStore(ButtonLast, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides\n };\n}),\n s$4 = {\n buttonNext: \"buttonNext___3Lm3s\"\n},\n _excluded$5 = [\"carouselStore\", \"children\", \"childrenPaused\", \"childrenPlaying\", \"className\", \"isPlaying\", \"onClick\"],\n _class$4,\n ButtonPlay = (_class$4 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props.onClick;\n this.props.carouselStore.setStoreState({\n isPlaying: !this.props.isPlaying\n }, null !== t && t.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children, e.childrenPaused),\n r = e.childrenPlaying,\n i = e.className,\n n = e.isPlaying,\n s = (e.onClick, _objectWithoutProperties(e, _excluded$5)),\n o = cn([s$4.buttonNext, \"carousel__play-button\", i]);\n return React.createElement(\"button\", _extends({\n type: \"button\",\n \"aria-label\": \"play\",\n className: o,\n onClick: this.handleOnClick\n }, s), n && r, !n && t, this.props.children);\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$4, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: propTypes.node,\n childrenPaused: propTypes.node,\n childrenPlaying: propTypes.node,\n className: propTypes.string,\n isPlaying: propTypes.bool.isRequired,\n onClick: propTypes.func\n}), _defineProperty(_class$4, \"defaultProps\", {\n children: null,\n childrenPaused: null,\n childrenPlaying: null,\n className: null,\n onClick: null\n}), _class$4),\n index$4 = WithStore(ButtonPlay, function (e) {\n return {\n isPlaying: e.isPlaying\n };\n}),\n s$5 = {\n dot: \"dot___3c3SI\"\n},\n _excluded$6 = [\"carouselStore\", \"children\", \"className\", \"currentSlide\", \"disabled\", \"onClick\", \"selected\", \"slide\", \"totalSlides\", \"visibleSlides\"],\n _class$5,\n Dot = (_class$5 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnClick = i.handleOnClick.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"handleOnClick\",\n value: function (e) {\n var t = this.props,\n r = t.carouselStore,\n i = t.onClick,\n n = t.slide,\n s = t.totalSlides,\n o = t.visibleSlides,\n a = n >= s - o ? s - o : n;\n r.setStoreState({\n currentSlide: a,\n isPlaying: !1\n }, null !== i && i.call(this, e));\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children, e.className),\n r = e.currentSlide,\n i = e.disabled,\n n = (e.onClick, e.selected),\n s = e.slide,\n o = (e.totalSlides, e.visibleSlides),\n a = _objectWithoutProperties(e, _excluded$6),\n l = s >= r && s < r + o,\n c = \"boolean\" == typeof n ? n : l,\n u = !0 === l,\n p = \"boolean\" == typeof i ? i : u,\n d = cn([s$5.dot, c && s$5.dotSelected, \"carousel__dot\", \"carousel__dot--\".concat(s), c && \"carousel__dot--selected\", t]);\n\n return React.createElement(\"button\", _extends({\n \"aria-label\": \"slide dot\",\n type: \"button\",\n onClick: this.handleOnClick,\n className: d,\n disabled: p\n }, a), this.props.children);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$5, \"propTypes\", {\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disabled: propTypes.bool,\n onClick: propTypes.func,\n selected: propTypes.bool,\n slide: propTypes.number.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired\n}), _defineProperty(_class$5, \"defaultProps\", {\n children: null,\n className: null,\n disabled: null,\n onClick: null,\n selected: null\n}), _class$5),\n Dot$1 = WithStore(Dot, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides\n };\n}),\n s$6 = {},\n _excluded$7 = [\"renderDots\"],\n _excluded2 = [\"carouselStore\", \"children\", \"className\", \"currentSlide\", \"dotNumbers\", \"totalSlides\", \"visibleSlides\", \"disableActiveDots\", \"showAsSelectedForCurrentSlideOnly\", \"renderDots\"],\n _class$6,\n DotGroup = (_class$6 = function (e) {\n function t() {\n return _classCallCheck(this, t), r.apply(this, arguments);\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"renderDots\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.totalSlides,\n i = e.visibleSlides,\n n = e.disableActiveDots,\n s = e.showAsSelectedForCurrentSlideOnly,\n o = e.renderDots;\n\n if (o) {\n var a = this.props;\n a.renderDots;\n return o(_objectWithoutProperties(a, _excluded$7));\n }\n\n for (var l = [], c = 0; c < r; c += 1) {\n var u = c >= t && c < t + i,\n p = c === t,\n d = s ? p : u,\n h = c >= r - i ? r - i : c;\n l.push(React.createElement(Dot$1, {\n key: c,\n slide: h,\n selected: d,\n disabled: !!n && d\n }, React.createElement(\"span\", {\n className: cn[\"carousel__dot-group-dot\"]\n }, this.props.dotNumbers && c + 1)));\n }\n\n return l;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children),\n r = e.className,\n i = (e.currentSlide, e.dotNumbers, e.totalSlides, e.visibleSlides, e.disableActiveDots, e.showAsSelectedForCurrentSlideOnly, e.renderDots, _objectWithoutProperties(e, _excluded2)),\n n = cn([s$6.DotGroup, \"carousel__dot-group\", r]);\n return React.createElement(\"div\", _extends({\n className: n\n }, i), this.renderDots(), t);\n }\n }]), t;\n}(React.Component), _defineProperty(_class$6, \"propTypes\", {\n children: CarouselPropTypes.children,\n className: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n carouselStore: propTypes.object.isRequired,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n dotNumbers: propTypes.bool,\n disableActiveDots: propTypes.bool,\n showAsSelectedForCurrentSlideOnly: propTypes.bool,\n renderDots: propTypes.func\n}), _defineProperty(_class$6, \"defaultProps\", {\n children: null,\n className: null,\n dotNumbers: !1,\n disableActiveDots: !0,\n showAsSelectedForCurrentSlideOnly: !1,\n renderDots: null\n}), _class$6),\n index$5 = WithStore(DotGroup, function (e) {\n return {\n currentSlide: e.currentSlide,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides\n };\n}),\n s$7 = {\n image: \"image___xtQGH\"\n},\n _excluded$8 = [\"src\", \"alt\"],\n _excluded2$1 = [\"carouselStore\", \"children\", \"className\", \"hasMasterSpinner\", \"isBgImage\", \"onError\", \"onLoad\", \"renderError\", \"renderLoading\", \"style\", \"tag\"],\n Image = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.state = {\n imageStatus: LOADING\n }, i.handleImageLoad = i.handleImageLoad.bind(_assertThisInitialized(i)), i.handleImageError = i.handleImageError.bind(_assertThisInitialized(i)), i.image = null, i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidMount\",\n value: function () {\n t.subscribeMasterSpinner(this.props), this.initImage();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function (e) {\n e.src !== this.props.src && (t.unsubscribeMasterSpinner(e), t.subscribeMasterSpinner(this.props), this.initImage());\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n t.unsubscribeMasterSpinner(this.props), this.image.removeEventListener(\"load\", this.handleImageLoad), this.image.removeEventListener(\"error\", this.handleImageError), this.image = null;\n }\n }, {\n key: \"initImage\",\n value: function () {\n if (this.setState({\n imageStatus: LOADING\n }), this.image = document.createElement(\"img\"), this.image.addEventListener(\"load\", this.handleImageLoad, !1), this.image.addEventListener(\"error\", this.handleImageError, !1), this.image.src = this.props.src, this.image.readyState || this.image.complete) {\n var e = this.image.src;\n this.image.src = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==\", this.image.src = e;\n }\n }\n }, {\n key: \"handleImageLoad\",\n value: function (e) {\n this.setState({\n imageStatus: SUCCESS\n }), this.props.hasMasterSpinner && this.props.carouselStore.masterSpinnerSuccess(this.props.src), this.props.onLoad && this.props.onLoad(e);\n }\n }, {\n key: \"handleImageError\",\n value: function (e) {\n this.setState({\n imageStatus: ERROR\n }), this.props.hasMasterSpinner && this.props.carouselStore.masterSpinnerError(this.props.src), this.props.onError && this.props.onError(e);\n }\n }, {\n key: \"tempTag\",\n value: function () {\n return \"img\" === this.props.tag ? \"div\" : this.props.tag;\n }\n }, {\n key: \"customRender\",\n value: function (e) {\n return \"function\" == typeof this.props[e] ? this.props[e]() : this.props.children;\n }\n }, {\n key: \"renderLoading\",\n value: function (e) {\n var t = this.tempTag(),\n r = cn([s$7.image, s$7.imageLoading, \"carousel__image\", this.props.isBgImage && \"carousel__image--with-background\", \"carousel__image--loading\", this.props.className]);\n return React.createElement(t, _extends({\n className: r\n }, e), this.customRender(\"renderLoading\"));\n }\n }, {\n key: \"renderError\",\n value: function (e) {\n var t = this.tempTag(),\n r = cn([s$7.image, s$7.imageError, \"carousel__image\", this.props.isBgImage && \"carousel__image--with-background\", \"carousel__image--error\", this.props.className]);\n return React.createElement(t, _extends({\n className: r\n }, e), this.customRender(\"renderError\"));\n }\n }, {\n key: \"renderSuccess\",\n value: function (e) {\n var t = this.props,\n r = t.style,\n i = t.tag,\n n = cn([s$7.image, \"carousel__image\", this.props.isBgImage && \"carousel__image--with-background\", \"carousel__image--success\", this.props.className]),\n s = _extends({}, r),\n o = e;\n\n if (\"img\" !== i) {\n var a = e.src;\n e.alt;\n o = _objectWithoutProperties(e, _excluded$8), s = _extends({}, r, {\n backgroundImage: 'url(\"'.concat(a, '\")'),\n backgroundSize: \"cover\"\n });\n }\n\n return React.createElement(i, _extends({\n className: n,\n style: s\n }, o), this.props.children);\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = (e.carouselStore, e.children, e.className, e.hasMasterSpinner, e.isBgImage, e.onError, e.onLoad, e.renderError, e.renderLoading, e.style, e.tag, _objectWithoutProperties(e, _excluded2$1));\n\n switch (this.state.imageStatus) {\n case LOADING:\n return this.renderLoading(t);\n\n case SUCCESS:\n return this.renderSuccess(t);\n\n case ERROR:\n return this.renderError(t);\n\n default:\n throw new Error(\"unknown value for this.state.imageStatus\");\n }\n }\n }], [{\n key: \"subscribeMasterSpinner\",\n value: function (e) {\n e.hasMasterSpinner && e.carouselStore.subscribeMasterSpinner(e.src);\n }\n }, {\n key: \"unsubscribeMasterSpinner\",\n value: function (e) {\n e.hasMasterSpinner && e.carouselStore.unsubscribeMasterSpinner(e.src);\n }\n }]), t;\n}(React.Component);\n\n_defineProperty(Image, \"propTypes\", {\n alt: propTypes.string,\n carouselStore: propTypes.object.isRequired,\n children: CarouselPropTypes.children,\n className: propTypes.string,\n hasMasterSpinner: propTypes.bool.isRequired,\n isBgImage: CarouselPropTypes.isBgImage,\n onError: propTypes.func,\n onLoad: propTypes.func,\n renderError: propTypes.func,\n renderLoading: propTypes.func,\n src: propTypes.string.isRequired,\n style: propTypes.object,\n tag: propTypes.string\n}), _defineProperty(Image, \"defaultProps\", {\n alt: \"\",\n children: null,\n className: null,\n isBgImage: !1,\n onError: null,\n onLoad: null,\n renderError: null,\n renderLoading: null,\n style: null,\n tag: \"img\"\n});\n\nvar Image$1 = WithStore(Image, function (e) {\n return {\n hasMasterSpinner: e.hasMasterSpinner,\n orientation: e.orientation\n };\n}),\n s$8 = {\n spinner: \"spinner___27VUp\",\n spin: \"spin___S3UuE\"\n},\n _excluded$9 = [\"className\"],\n _class$7,\n Spinner = (_class$7 = function (e) {\n function t() {\n return _classCallCheck(this, t), r.apply(this, arguments);\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"render\",\n value: function () {\n var e = this.props,\n t = e.className,\n r = _objectWithoutProperties(e, _excluded$9),\n i = cn([s$8.spinner, \"carousel__spinner\", t]);\n\n return React.createElement(\"div\", _extends({\n className: i\n }, r));\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$7, \"propTypes\", {\n className: propTypes.string\n}), _defineProperty(_class$7, \"defaultProps\", {\n className: null\n}), _class$7),\n s$9 = {\n container: \"container___2O72F\",\n overlay: \"overlay___IV4qY\",\n hover: \"hover___MYy31\",\n zoom: \"zoom___3kqYk\",\n loading: \"loading___1pvNI\",\n imageLoadingSpinnerContainer: \"imageLoadingSpinnerContainer___3UIPD\"\n},\n _excluded$a = [\"alt\", \"bgImageProps\", \"bgImageTag\", \"carouselStore\", \"className\", \"imageClassName\", \"overlayClassName\", \"isPinchZoomEnabled\", \"spinner\", \"src\", \"srcZoomed\", \"tag\"],\n _class$8,\n MOUSE_SCALE = 2,\n MAX_TOUCH_SCALE = 3,\n ImageWithZoom = (_class$8 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.state = {\n isImageLoading: !0,\n isHovering: !1,\n isZooming: !1,\n x: null,\n y: null,\n scale: 1\n }, i.tpCache = {}, i.handleImageComplete = i.handleImageComplete.bind(_assertThisInitialized(i)), i.handleOnMouseMove = i.handleOnMouseMove.bind(_assertThisInitialized(i)), i.handleOnMouseOut = i.handleOnMouseOut.bind(_assertThisInitialized(i)), i.handleOnMouseOver = i.handleOnMouseOver.bind(_assertThisInitialized(i)), i.handleOnTouchEnd = i.handleOnTouchEnd.bind(_assertThisInitialized(i)), i.handleOnTouchMove = i.handleOnTouchMove.bind(_assertThisInitialized(i)), i.handleOnTouchStart = i.handleOnTouchStart.bind(_assertThisInitialized(i)), i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidUpdate\",\n value: function (e, t) {\n !1 === t.isZooming && !0 === this.state.isZooming && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !0\n }), !0 === t.isZooming && !1 === this.state.isZooming && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !1\n });\n }\n }, {\n key: \"handleImageComplete\",\n value: function () {\n this.setState({\n isImageLoading: !1\n });\n }\n }, {\n key: \"handleOnMouseOver\",\n value: function () {\n this.state.isZooming || this.setState({\n isHovering: !0,\n scale: MOUSE_SCALE\n });\n }\n }, {\n key: \"handleOnMouseOut\",\n value: function () {\n this.state.isZooming || this.setState({\n isHovering: !1,\n scale: 1\n });\n }\n }, {\n key: \"handleOnMouseMove\",\n value: function (e) {\n if (!this.state.isZooming) {\n var t = pct(e.nativeEvent.offsetX / e.target.offsetWidth * 100),\n r = pct(e.nativeEvent.offsetY / e.target.offsetHeight * 100);\n this.setState({\n x: t,\n y: r\n });\n }\n }\n }, {\n key: \"handleOnTouchStart\",\n value: function (e) {\n var t = this;\n this.props.isPinchZoomEnabled && (_toConsumableArray(e.targetTouches).forEach(function (e) {\n t.tpCache[e.identifier] = {\n clientX: e.clientX,\n clientY: e.clientY\n };\n }), this.setState(function (e) {\n return {\n isZooming: e.isZooming || Object.keys(t.tpCache).length > 1\n };\n }));\n }\n }, {\n key: \"handleOnTouchMove\",\n value: function (e) {\n var r = this;\n\n if (this.state.isZooming) {\n e.persist();\n\n var i = _toConsumableArray(e.targetTouches).filter(function (e) {\n return r.tpCache[e.identifier];\n }).slice(0, 2);\n\n if (2 === i.length) {\n e.stopPropagation();\n var n = e.target.getBoundingClientRect(),\n s = i[0].identifier,\n o = i[1].identifier,\n a = {\n x1: this.tpCache[s].clientX,\n y1: this.tpCache[s].clientY,\n x2: this.tpCache[o].clientX,\n y2: this.tpCache[o].clientY\n };\n a.distance = t.distanceBetweenTwoTouches(_objectSpread2({}, a));\n var l = t.midpointBetweenTwoTouches(_objectSpread2({}, a));\n a.cx = l.x, a.cy = l.y;\n var c = {\n x1: i[0].clientX,\n y1: i[0].clientY,\n x2: i[1].clientX,\n y2: i[1].clientY\n };\n c.distance = t.distanceBetweenTwoTouches(_objectSpread2({}, c));\n var u = t.midpointBetweenTwoTouches(_objectSpread2({}, c));\n c.cx = u.x, c.cy = u.y;\n\n var p = pct(boundedRange({\n min: 0,\n max: 100,\n x: (c.cx - n.left) / n.width * 100\n })),\n d = pct(boundedRange({\n min: 0,\n max: 100,\n x: (c.cy - n.top) / n.height * 100\n })),\n h = function (e) {\n return boundedRange({\n min: 1,\n max: MAX_TOUCH_SCALE,\n x: e.scale + (c.distance - a.distance) / 100\n });\n };\n\n this.setState(function (e) {\n return {\n isZooming: 1 !== h(e),\n scale: h(e),\n x: p,\n y: d\n };\n });\n }\n }\n }\n }, {\n key: \"handleOnTouchEnd\",\n value: function (e) {\n var t = this;\n this.props.isPinchZoomEnabled && (_toConsumableArray(e.changedTouches).forEach(function (e) {\n delete t.tpCache[e.identifier];\n }), 0 === Object.keys(this.tpCache).length && this.setState({\n isZooming: !1\n }));\n }\n }, {\n key: \"renderLoading\",\n value: function () {\n if (this.state.isImageLoading) {\n var e = this.props.spinner;\n return React.createElement(\"div\", {\n className: cn([s$9.imageLoadingSpinnerContainer, \"carousel__image-loading-spinner-container\"])\n }, e && e(), !e && React.createElement(Spinner, null));\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this.props,\n t = e.alt,\n r = e.bgImageProps,\n i = e.bgImageTag,\n n = (e.carouselStore, e.className),\n s = e.imageClassName,\n o = e.overlayClassName,\n a = (e.isPinchZoomEnabled, e.spinner, e.src),\n l = e.srcZoomed,\n c = e.tag,\n u = _objectWithoutProperties(e, _excluded$a),\n p = cn([s$9.container, n]),\n d = cn([s$9.image, \"carousel__zoom-image\", s]),\n h = cn([s$9.overlay, \"carousel__zoom-image-overlay\", this.state.isHovering && s$9.hover, this.state.isZooming && s$9.zoom, this.state.isHovering && \"carousel__zoom-image-overlay--hovering\", this.state.isZooming && \"carousel__zoom-image-overlay--zooming\", o]),\n S = {};\n\n return (this.state.isHovering || this.state.isZooming) && (S.transformOrigin = \"\".concat(this.state.x, \" \").concat(this.state.y), S.transform = \"scale(\".concat(this.state.scale, \")\")), React.createElement(c, _extends({\n className: p\n }, u), React.createElement(Image$1, _extends({\n alt: t,\n className: d,\n tag: i,\n src: a,\n onLoad: this.handleImageComplete,\n onError: this.handleImageComplete\n }, r)), React.createElement(Image$1, {\n className: h,\n tag: \"div\",\n src: l || a,\n style: S,\n isBgImage: !0,\n onFocus: this.handleOnMouseOver,\n onMouseOver: this.handleOnMouseOver,\n onBlur: this.handleOnMouseOut,\n onMouseOut: this.handleOnMouseOut,\n onMouseMove: this.handleOnMouseMove,\n onTouchStart: this.handleOnTouchStart,\n onTouchEnd: this.handleOnTouchEnd,\n onTouchMove: this.handleOnTouchMove\n }), this.renderLoading());\n }\n }], [{\n key: \"midpointBetweenTwoTouches\",\n value: function (e) {\n var t = e.x1,\n r = e.y1;\n return {\n x: (t + e.x2) / 2,\n y: (r + e.y2) / 2\n };\n }\n }, {\n key: \"distanceBetweenTwoTouches\",\n value: function (e) {\n var t = e.x1,\n r = e.y1,\n i = e.x2,\n n = e.y2;\n return Math.sqrt(Math.pow(i - t, 2) + Math.pow(n - r, 2));\n }\n }]), t;\n}(React.Component), _defineProperty(_class$8, \"propTypes\", {\n alt: propTypes.string,\n bgImageProps: propTypes.object,\n bgImageTag: propTypes.string,\n carouselStore: propTypes.object.isRequired,\n className: propTypes.string,\n imageClassName: propTypes.string,\n overlayClassName: propTypes.string,\n spinner: propTypes.func,\n src: propTypes.string.isRequired,\n srcZoomed: propTypes.string,\n tag: propTypes.string,\n isPinchZoomEnabled: propTypes.bool\n}), _defineProperty(_class$8, \"defaultProps\", {\n alt: void 0,\n bgImageProps: {},\n bgImageTag: \"div\",\n className: null,\n imageClassName: null,\n overlayClassName: null,\n isPinchZoomEnabled: !0,\n spinner: null,\n srcZoomed: null,\n tag: \"div\"\n}), _class$8),\n index$6 = WithStore(ImageWithZoom, function () {\n return {};\n}),\n s$a = {\n slide: \"slide___3-Nqo\",\n slideHorizontal: \"slideHorizontal___1NzNV\",\n slideInner: \"slideInner___2mfX9\",\n focusRing: \"focusRing___1airF\"\n},\n _excluded$b = [\"ariaLabel\", \"carouselStore\", \"children\", \"className\", \"classNameHidden\", \"classNameVisible\", \"currentSlide\", \"index\", \"innerClassName\", \"innerTag\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"onBlur\", \"onFocus\", \"orientation\", \"slideSize\", \"style\", \"tabIndex\", \"tag\", \"totalSlides\", \"visibleSlides\", \"isIntrinsicHeight\"],\n _class$9,\n Slide = (_class$9 = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.handleOnFocus = i.handleOnFocus.bind(_assertThisInitialized(i)), i.handleOnBlur = i.handleOnBlur.bind(_assertThisInitialized(i)), i.state = {\n focused: !1\n }, i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"isVisible\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.index,\n i = e.visibleSlides;\n return r >= t && r < t + i;\n }\n }, {\n key: \"handleOnFocus\",\n value: function (e) {\n var t = this,\n r = this.props.onFocus;\n this.setState({\n focused: !0\n }, function () {\n null !== r && r.call(t, e);\n });\n }\n }, {\n key: \"handleOnBlur\",\n value: function (e) {\n var t = this,\n r = this.props.onBlur;\n this.setState({\n focused: !1\n }, function () {\n null !== r && r.call(t, e);\n });\n }\n }, {\n key: \"renderFocusRing\",\n value: function () {\n return this.state.focused ? React.createElement(\"div\", {\n className: [s$a.focusRing, \"carousel__slide-focus-ring\"].join(\" \")\n }) : null;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this,\n t = this.props,\n r = t.ariaLabel,\n i = (t.carouselStore, t.children, t.className),\n n = t.classNameHidden,\n s = t.classNameVisible,\n o = (t.currentSlide, t.index, t.innerClassName),\n a = t.innerTag,\n l = t.naturalSlideHeight,\n c = t.naturalSlideWidth,\n u = (t.onBlur, t.onFocus, t.orientation),\n p = t.slideSize,\n d = t.style,\n h = t.tabIndex,\n S = t.tag,\n y = t.totalSlides,\n b = (t.visibleSlides, t.isIntrinsicHeight),\n m = _objectWithoutProperties(t, _excluded$b),\n f = {};\n\n \"horizontal\" === u ? (f.width = pct(p), f.paddingBottom = pct(100 * l / (c * y))) : (f.width = pct(100), f.paddingBottom = pct(100 * l / c));\n var g = {};\n b && (\"horizontal\" === u ? f.height = \"unset\" : f.width = \"unset\", f.paddingBottom = \"unset\", g.position = \"unset\");\n\n var v = _extends({}, f, d),\n _ = this.isVisible(),\n T = cn([s$a.slide, \"horizontal\" === u && s$a.slideHorizontal, \"carousel__slide\", this.state.focused && \"carousel__slide--focused\", _ && s, _ && \"carousel__slide--visible\", !_ && n, !_ && \"carousel__slide--hidden\", i]),\n k = cn([s$a.slideInner, \"carousel__inner-slide\", o]),\n C = this.isVisible() ? 0 : -1,\n O = \"number\" == typeof h ? h : C;\n\n return React.createElement(S, _extends({\n ref: function (t) {\n e.tagRef = t;\n },\n tabIndex: O,\n \"aria-selected\": this.isVisible(),\n \"aria-label\": r,\n role: \"option\",\n onFocus: this.handleOnFocus,\n onBlur: this.handleOnBlur,\n className: T,\n style: v\n }, m), React.createElement(a, {\n ref: function (t) {\n e.innerTagRef = t;\n },\n className: k,\n style: g\n }, this.props.children, this.renderFocusRing()));\n }\n }]), t;\n}(React.PureComponent), _defineProperty(_class$9, \"propTypes\", {\n ariaLabel: propTypes.string,\n carouselStore: propTypes.object,\n children: CarouselPropTypes.children,\n className: propTypes.string,\n classNameHidden: propTypes.string,\n classNameVisible: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n index: propTypes.number.isRequired,\n innerClassName: propTypes.string,\n innerTag: propTypes.string,\n naturalSlideHeight: propTypes.number.isRequired,\n naturalSlideWidth: propTypes.number.isRequired,\n onBlur: propTypes.func,\n onFocus: propTypes.func,\n orientation: CarouselPropTypes.orientation.isRequired,\n slideSize: propTypes.number.isRequired,\n style: propTypes.object,\n tabIndex: propTypes.number,\n tag: propTypes.string,\n totalSlides: propTypes.number.isRequired,\n visibleSlides: propTypes.number.isRequired,\n isIntrinsicHeight: propTypes.bool\n}), _defineProperty(_class$9, \"defaultProps\", {\n ariaLabel: \"slide\",\n carouselStore: null,\n children: null,\n className: null,\n classNameHidden: null,\n classNameVisible: null,\n innerClassName: null,\n innerTag: \"div\",\n onBlur: null,\n onFocus: null,\n style: {},\n tabIndex: null,\n tag: \"div\",\n isIntrinsicHeight: !1\n}), _class$9),\n index$7 = WithStore(Slide, function (e) {\n return {\n currentSlide: e.currentSlide,\n naturalSlideHeight: e.naturalSlideHeight,\n naturalSlideWidth: e.naturalSlideWidth,\n orientation: e.orientation,\n slideSize: e.slideSize,\n totalSlides: e.totalSlides,\n visibleSlides: e.visibleSlides,\n isIntrinsicHeight: e.isIntrinsicHeight\n };\n}),\n GetScrollParent = function () {\n function e() {\n _classCallCheck(this, e);\n }\n\n return _createClass(e, [{\n key: \"parents\",\n value: function (e, t) {\n return null === e.parentNode ? t : this.parents(e.parentNode, t.concat([e]));\n }\n }, {\n key: \"scrollParent\",\n value: function (t) {\n for (var r = this.parents(t.parentNode, []), i = 0; i < r.length; i += 1) if (e.scroll(r[i])) return r[i];\n\n return document.scrollingElement || document.documentElement;\n }\n }, {\n key: \"getScrollParent\",\n value: function (t) {\n return e.isNodeValid(t) ? this.scrollParent(t) : null;\n }\n }], [{\n key: \"style\",\n value: function (e, t) {\n return getComputedStyle(e, null).getPropertyValue(t);\n }\n }, {\n key: \"overflow\",\n value: function (t) {\n return e.style(t, \"overflow\") + e.style(t, \"overflow-y\") + e.style(t, \"overflow-x\");\n }\n }, {\n key: \"scroll\",\n value: function (t) {\n return /(auto|scroll)/.test(e.overflow(t));\n }\n }, {\n key: \"isNodeValid\",\n value: function (e) {\n return e instanceof HTMLElement || e instanceof SVGElement;\n }\n }]), e;\n}(),\n s$b = {\n horizontalSlider: \"horizontalSlider___281Ls\",\n horizontalSliderTray: \"horizontalSliderTray___1L-0W\",\n verticalSlider: \"verticalSlider___34ZFD\",\n verticalSliderTray: \"verticalSliderTray___267D8\",\n verticalTray: \"verticalTray___12Key\",\n verticalSlideTrayWrap: \"verticalSlideTrayWrap___2nO7o\",\n sliderTray: \"sliderTray___-vHFQ\",\n sliderAnimation: \"sliderAnimation___300FY\",\n masterSpinnerContainer: \"masterSpinnerContainer___1Z6hB\"\n},\n _excluded$c = [\"ariaLabel\", \"carouselStore\", \"children\", \"className\", \"classNameAnimation\", \"classNameTray\", \"classNameTrayWrap\", \"currentSlide\", \"disableAnimation\", \"disableKeyboard\", \"dragEnabled\", \"hasMasterSpinner\", \"interval\", \"isPageScrollLocked\", \"isPlaying\", \"lockOnWindowScroll\", \"masterSpinnerFinished\", \"moveThreshold\", \"naturalSlideHeight\", \"naturalSlideWidth\", \"onMasterSpinner\", \"orientation\", \"playDirection\", \"privateUnDisableAnimation\", \"slideSize\", \"slideTraySize\", \"spinner\", \"style\", \"tabIndex\", \"totalSlides\", \"touchEnabled\", \"trayProps\", \"trayTag\", \"visibleSlides\", \"isIntrinsicHeight\"],\n _excluded2$2 = [\"dragStep\", \"step\", \"infinite\", \"preventVerticalScrollOnTouch\", \"preventingVerticalScroll\", \"horizontalPixelThreshold\", \"verticalPixelThreshold\"],\n _excluded3 = [\"className\", \"onClickCapture\", \"onMouseDown\", \"onTouchCancel\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"ref\", \"style\"],\n _class$a,\n Slider = (_class$a = function (e) {\n function t(e) {\n var i;\n return _classCallCheck(this, t), i = r.call(this, e), i.getSliderRef = i.getSliderRef.bind(_assertThisInitialized(i)), i.handleDocumentScroll = i.handleDocumentScroll.bind(_assertThisInitialized(i)), i.handleOnClickCapture = i.handleOnClickCapture.bind(_assertThisInitialized(i)), i.handleOnKeyDown = i.handleOnKeyDown.bind(_assertThisInitialized(i)), i.handleOnMouseDown = i.handleOnMouseDown.bind(_assertThisInitialized(i)), i.handleOnMouseMove = i.handleOnMouseMove.bind(_assertThisInitialized(i)), i.handleOnMouseUp = i.handleOnMouseUp.bind(_assertThisInitialized(i)), i.handleOnTouchCancel = i.handleOnTouchCancel.bind(_assertThisInitialized(i)), i.handleOnTouchEnd = i.handleOnTouchEnd.bind(_assertThisInitialized(i)), i.handleOnTouchMove = i.handleOnTouchMove.bind(_assertThisInitialized(i)), i.handleOnTouchStart = i.handleOnTouchStart.bind(_assertThisInitialized(i)), i.playBackward = i.playBackward.bind(_assertThisInitialized(i)), i.playForward = i.playForward.bind(_assertThisInitialized(i)), i.callCallback = i.callCallback.bind(_assertThisInitialized(i)), i.blockWindowScroll = i.blockWindowScroll.bind(_assertThisInitialized(i)), i.state = {\n cancelNextClick: !1,\n deltaX: 0,\n deltaY: 0,\n isBeingMouseDragged: !1,\n isBeingTouchDragged: !1,\n preventingVerticalScroll: !1,\n startX: 0,\n startY: 0\n }, i.interval = null, i.isDocumentScrolling = null, i.moveTimer = null, i.originalOverflow = null, i.scrollParent = null, i.scrollStopTimer = null, i;\n }\n\n _inherits(t, e);\n\n var r = _createSuper(t);\n\n return _createClass(t, [{\n key: \"componentDidMount\",\n value: function () {\n this.props.lockOnWindowScroll && window.addEventListener(\"scroll\", this.handleDocumentScroll, !1), (this.props.touchEnabled || this.props.preventVerticalScrollOnTouch) && window.addEventListener(\"touchmove\", this.blockWindowScroll, !1), document.documentElement.addEventListener(\"mouseleave\", this.handleOnMouseUp, !1), document.documentElement.addEventListener(\"mousemove\", this.handleOnMouseMove, !1), document.documentElement.addEventListener(\"mouseup\", this.handleOnMouseUp, !1), this.props.isPlaying && this.play();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function (e) {\n !e.isPlaying && this.props.isPlaying && this.play(), e.isPlaying && !this.props.isPlaying && this.stop(), !e.isPageScrollLocked && this.props.isPageScrollLocked && this.lockScroll(), e.isPageScrollLocked && !this.props.isPageScrollLocked && this.unlockScroll(), !1 === e.privateUnDisableAnimation && !0 === this.props.privateUnDisableAnimation && this.props.carouselStore.setStoreState({\n privateUnDisableAnimation: !1,\n disableAnimation: !1\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function () {\n document.documentElement.removeEventListener(\"mouseleave\", this.handleOnMouseUp, !1), document.documentElement.removeEventListener(\"mousemove\", this.handleOnMouseMove, !1), document.documentElement.removeEventListener(\"mouseup\", this.handleOnMouseUp, !1), window.removeEventListener(\"scroll\", this.handleDocumentScroll, !1), window.removeEventListener(\"touchmove\", this.blockWindowScroll, !1), this.stop(), window.cancelAnimationFrame.call(window, this.moveTimer), window.clearTimeout(this.scrollStopTimer), this.isDocumentScrolling = null, this.moveTimer = null, this.scrollStopTimer = null;\n }\n }, {\n key: \"getSliderRef\",\n value: function (e) {\n this.sliderTrayElement = e;\n }\n }, {\n key: \"fakeOnDragStart\",\n value: function (e) {\n var t = e.screenX,\n r = e.screenY,\n i = e.touchDrag,\n n = void 0 !== i && i,\n s = e.mouseDrag,\n o = void 0 !== s && s;\n this.props.carouselStore.setStoreState({\n isPlaying: !1\n }), window.cancelAnimationFrame.call(window, this.moveTimer), \"vertical\" === this.props.orientation && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !0\n }), this.setState({\n isBeingTouchDragged: n,\n isBeingMouseDragged: o,\n startX: t,\n startY: r\n });\n }\n }, {\n key: \"fakeOnDragMove\",\n value: function (e, t) {\n var r = this;\n this.moveTimer = window.requestAnimationFrame.call(window, function () {\n r.setState(function (i) {\n return {\n deltaX: e - i.startX,\n deltaY: t - i.startY,\n preventingVerticalScroll: Math.abs(t - i.startY) <= r.props.verticalPixelThreshold && Math.abs(e - i.startX) >= r.props.horizontalPixelThreshold\n };\n });\n });\n }\n }, {\n key: \"fakeOnDragEnd\",\n value: function () {\n window.cancelAnimationFrame.call(window, this.moveTimer), this.computeCurrentSlide(), \"vertical\" === this.props.orientation && this.props.carouselStore.setStoreState({\n isPageScrollLocked: !1\n }), this.setState({\n deltaX: 0,\n deltaY: 0,\n isBeingTouchDragged: !1,\n isBeingMouseDragged: !1\n }), this.isDocumentScrolling = !this.props.lockOnWindowScroll && null;\n }\n }, {\n key: \"callCallback\",\n value: function (e, t) {\n var r = this.props.trayProps;\n r && \"function\" == typeof r[e] && (t.persist(), r[e](t));\n }\n }, {\n key: \"handleOnMouseDown\",\n value: function (e) {\n if (!this.props.dragEnabled) return void this.callCallback(\"onMouseDown\", e);\n e.preventDefault(), this.fakeOnDragStart({\n screenX: e.screenX,\n screenY: e.screenY,\n mouseDrag: !0\n }), this.callCallback(\"onMouseDown\", e);\n }\n }, {\n key: \"handleOnMouseMove\",\n value: function (e) {\n this.state.isBeingMouseDragged && (this.setState({\n cancelNextClick: !0\n }), e.preventDefault(), this.fakeOnDragMove(e.screenX, e.screenY));\n }\n }, {\n key: \"handleOnMouseUp\",\n value: function (e) {\n this.state.isBeingMouseDragged && (e.preventDefault(), this.fakeOnDragEnd());\n }\n }, {\n key: \"handleOnClickCapture\",\n value: function (e) {\n if (!this.state.cancelNextClick) return void this.callCallback(\"onClickCapture\", e);\n e.preventDefault(), this.setState({\n cancelNextClick: !1\n }), this.callCallback(\"onClickCapture\", e);\n }\n }, {\n key: \"handleOnTouchStart\",\n value: function (e) {\n if (!this.props.touchEnabled) return void this.callCallback(\"onTouchStart\", e);\n \"vertical\" === this.props.orientation && e.preventDefault();\n var t = e.targetTouches[0];\n this.fakeOnDragStart({\n screenX: t.screenX,\n screenY: t.screenY,\n touchDrag: !0\n }), this.callCallback(\"onTouchStart\", e);\n }\n }, {\n key: \"handleDocumentScroll\",\n value: function () {\n var e = this;\n this.props.touchEnabled && (this.isDocumentScrolling = !0, window.clearTimeout(this.scrollStopTimer), this.scrollStopTimer = window.setTimeout(function () {\n e.isDocumentScrolling = !1;\n }, 66));\n }\n }, {\n key: \"handleOnTouchMove\",\n value: function (e) {\n if (!this.props.touchEnabled || this.props.lockOnWindowScroll && this.isDocumentScrolling) return void this.callCallback(\"onTouchMove\", e);\n window.cancelAnimationFrame.call(window, this.moveTimer);\n var t = e.targetTouches[0];\n t && (this.fakeOnDragMove(t.screenX, t.screenY), this.callCallback(\"onTouchMove\", e));\n }\n }, {\n key: \"forward\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.step,\n i = e.totalSlides,\n n = e.visibleSlides;\n return Math.min(t + r, i - n);\n }\n }, {\n key: \"backward\",\n value: function () {\n var e = this.props,\n t = e.currentSlide,\n r = e.step;\n return Math.max(t - r, 0);\n }\n }, {\n key: \"handleOnKeyDown\",\n value: function (e) {\n var t = e.keyCode,\n r = this.props,\n i = r.carouselStore,\n n = r.currentSlide,\n s = r.disableKeyboard,\n o = r.totalSlides,\n a = r.visibleSlides,\n l = {};\n !0 === s || o <= a || (37 === t && (e.preventDefault(), this.focus(), l.currentSlide = Math.max(0, n - 1), l.isPlaying = !1), 39 === t && (e.preventDefault(), this.focus(), l.currentSlide = Math.min(o - a, n + 1), l.isPlaying = !1), i.setStoreState(l));\n }\n }, {\n key: \"playForward\",\n value: function () {\n var e = this.props,\n t = e.carouselStore,\n r = e.currentSlide;\n t.setStoreState({\n currentSlide: this.forward() === r ? 0 : this.forward()\n });\n }\n }, {\n key: \"playBackward\",\n value: function () {\n var e = this.props,\n t = e.carouselStore,\n r = e.currentSlide,\n i = e.totalSlides,\n n = e.visibleSlides;\n t.setStoreState({\n currentSlide: this.backward() === r ? i - n : this.backward()\n });\n }\n }, {\n key: \"play\",\n value: function () {\n var e = this.props.playDirection;\n this.interval = setInterval(\"forward\" === e ? this.playForward : this.playBackward, this.props.interval);\n }\n }, {\n key: \"stop\",\n value: function () {\n window.clearInterval(this.interval), this.interval = null;\n }\n }, {\n key: \"lockScroll\",\n value: function () {\n var e = new GetScrollParent();\n this.scrollParent = e.getScrollParent(this.sliderTrayElement), this.scrollParent && (this.originalOverflow = this.originalOverflow || this.scrollParent.style.overflow, this.scrollParent.style.overflow = \"hidden\");\n }\n }, {\n key: \"unlockScroll\",\n value: function () {\n this.scrollParent && (this.scrollParent.style.overflow = this.originalOverflow, this.originalOverflow = null, this.scrollParent = null);\n }\n }, {\n key: \"blockWindowScroll\",\n value: function (e) {\n this.state.preventingVerticalScroll && (e.preventDefault(), e.stopImmediatePropagation());\n }\n }, {\n key: \"computeCurrentSlide\",\n value: function () {\n var e = t.slideSizeInPx(this.props.orientation, this.sliderTrayElement.clientWidth, this.sliderTrayElement.clientHeight, this.props.totalSlides),\n r = t.slidesMoved(this.props.moveThreshold, this.props.orientation, this.state.deltaX, this.state.deltaY, e, this.props.dragStep),\n i = this.props.totalSlides - Math.min(this.props.totalSlides, this.props.visibleSlides),\n n = boundedRange({\n min: 0,\n max: i,\n x: this.props.currentSlide + r\n });\n this.props.infinite && (this.props.currentSlide >= i && r > 0 && (n = 0), 0 === this.props.currentSlide && r < 0 && (n = i)), this.props.carouselStore.setStoreState({\n currentSlide: n\n });\n }\n }, {\n key: \"focus\",\n value: function () {\n this.sliderElement.focus();\n }\n }, {\n key: \"handleOnTouchEnd\",\n value: function (e) {\n this.endTouchMove(), this.callCallback(\"onTouchEnd\", e);\n }\n }, {\n key: \"handleOnTouchCancel\",\n value: function (e) {\n this.endTouchMove(), this.callCallback(\"onTouchCancel\", e);\n }\n }, {\n key: \"endTouchMove\",\n value: function () {\n this.props.touchEnabled && this.fakeOnDragEnd();\n }\n }, {\n key: \"renderMasterSpinner\",\n value: function () {\n var e = this.props,\n t = e.hasMasterSpinner,\n r = e.masterSpinnerFinished,\n i = e.spinner;\n return t && !r ? (\"function\" == typeof this.props.onMasterSpinner && this.props.onMasterSpinner(), React.createElement(\"div\", {\n className: cn([s$b.masterSpinnerContainer, \"carousel__master-spinner-container\"])\n }, i && i(), !i && React.createElement(Spinner, null))) : null;\n }\n }, {\n key: \"render\",\n value: function () {\n var e = this,\n t = this.props,\n r = t.ariaLabel,\n i = (t.carouselStore, t.children),\n n = t.className,\n s = t.classNameAnimation,\n o = t.classNameTray,\n a = t.classNameTrayWrap,\n l = t.currentSlide,\n c = t.disableAnimation,\n u = (t.disableKeyboard, t.dragEnabled, t.hasMasterSpinner, t.interval, t.isPageScrollLocked, t.isPlaying, t.lockOnWindowScroll, t.masterSpinnerFinished, t.moveThreshold, t.naturalSlideHeight),\n p = t.naturalSlideWidth,\n d = (t.onMasterSpinner, t.orientation),\n h = (t.playDirection, t.privateUnDisableAnimation, t.slideSize),\n S = t.slideTraySize,\n y = (t.spinner, t.style),\n b = t.tabIndex,\n m = (t.totalSlides, t.touchEnabled, t.trayProps),\n f = t.trayTag,\n g = t.visibleSlides,\n v = t.isIntrinsicHeight,\n _ = _objectWithoutProperties(t, _excluded$c),\n T = _extends({}, y),\n k = {};\n\n \"vertical\" === d && (k.height = 0, k.paddingBottom = pct(100 * u * g / p), k.width = pct(100));\n var C = {},\n O = pct(h * l * -1);\n (this.state.isBeingTouchDragged || this.state.isBeingMouseDragged || c) && (C.transition = \"none\"), v && (C.display = \"flex\", C.alignItems = \"stretch\"), \"vertical\" === d ? (C.transform = \"translateY(\".concat(O, \") translateY(\").concat(this.state.deltaY, \"px)\"), C.width = pct(100), C.flexDirection = \"column\") : (C.width = pct(S), C.transform = \"translateX(\".concat(O, \") translateX(\").concat(this.state.deltaX, \"px)\"), C.flexDirection = \"row\");\n var P = cn([\"vertical\" === d ? s$b.verticalSlider : s$b.horizontalSlider, \"carousel__slider\", \"vertical\" === d ? \"carousel__slider--vertical\" : \"carousel__slider--horizontal\", n]),\n E = cn([s$b.sliderTrayWrap, \"carousel__slider-tray-wrapper\", \"vertical\" === d ? s$b.verticalSlideTrayWrap : s$b.horizontalTrayWrap, \"vertical\" === d ? \"carousel__slider-tray-wrap--vertical\" : \"carousel__slider-tray-wrap--horizontal\", a]),\n w = cn([s$b.sliderTray, s || s$b.sliderAnimation, \"carousel__slider-tray\", \"vertical\" === d ? s$b.verticalTray : s$b.horizontalTray, \"vertical\" === d ? \"carousel__slider-tray--vertical\" : \"carousel__slider-tray--horizontal\", o]),\n M = null !== b ? b : 0,\n x = (_.dragStep, _.step, _.infinite, _.preventVerticalScrollOnTouch, _.preventingVerticalScroll, _.horizontalPixelThreshold, _.verticalPixelThreshold, _objectWithoutProperties(_, _excluded2$2)),\n R = (m.className, m.onClickCapture, m.onMouseDown, m.onTouchCancel, m.onTouchEnd, m.onTouchMove, m.onTouchStart, m.ref, m.style, _objectWithoutProperties(m, _excluded3));\n return React.createElement(\"div\", _extends({\n ref: function (t) {\n e.sliderElement = t;\n },\n className: P,\n \"aria-live\": \"polite\",\n \"aria-label\": r,\n style: T,\n tabIndex: M,\n onKeyDown: this.handleOnKeyDown,\n role: \"listbox\"\n }, x), React.createElement(\"div\", {\n className: E,\n style: k\n }, React.createElement(f, _extends({\n ref: this.getSliderRef,\n className: w,\n style: C,\n onTouchStart: this.handleOnTouchStart,\n onTouchMove: this.handleOnTouchMove,\n onTouchEnd: this.handleOnTouchEnd,\n onTouchCancel: this.handleOnTouchCancel,\n onMouseDown: this.handleOnMouseDown,\n onClickCapture: this.handleOnClickCapture\n }, R), i), this.renderMasterSpinner()));\n }\n }], [{\n key: \"slideSizeInPx\",\n value: function (e, t, r, i) {\n return (\"horizontal\" === e ? t : r) / i;\n }\n }, {\n key: \"slidesMoved\",\n value: function (e, t, r, i, n, s) {\n var o = \"horizontal\" === t ? r : i,\n a = Math.abs(Math.round(o / n)),\n l = Math.abs(o) >= n * e ? s : 0,\n c = Math.max(l, a);\n if (o < 0) return c;\n var u = -c;\n return 0 === u ? 0 : u;\n }\n }]), t;\n}(React.Component), _defineProperty(_class$a, \"propTypes\", {\n ariaLabel: propTypes.string,\n carouselStore: propTypes.object.isRequired,\n children: propTypes.node.isRequired,\n className: propTypes.string,\n classNameAnimation: propTypes.string,\n classNameTray: propTypes.string,\n classNameTrayWrap: propTypes.string,\n currentSlide: propTypes.number.isRequired,\n disableAnimation: propTypes.bool,\n disableKeyboard: propTypes.bool,\n dragEnabled: propTypes.bool.isRequired,\n dragStep: propTypes.number,\n hasMasterSpinner: propTypes.bool.isRequired,\n infinite: propTypes.bool,\n interval: propTypes.number.isRequired,\n isPageScrollLocked: propTypes.bool.isRequired,\n isPlaying: propTypes.bool.isRequired,\n lockOnWindowScroll: propTypes.bool.isRequired,\n preventVerticalScrollOnTouch: propTypes.bool,\n horizontalPixelThreshold: propTypes.number,\n verticalPixelThreshold: propTypes.number,\n masterSpinnerFinished: propTypes.bool.isRequired,\n moveThreshold: propTypes.number,\n naturalSlideHeight: propTypes.number.isRequired,\n naturalSlideWidth: propTypes.number.isRequired,\n onMasterSpinner: propTypes.func,\n orientation: CarouselPropTypes.orientation.isRequired,\n playDirection: CarouselPropTypes.direction.isRequired,\n privateUnDisableAnimation: propTypes.bool,\n slideSize: propTypes.number.isRequired,\n slideTraySize: propTypes.number.isRequired,\n spinner: propTypes.func,\n step: propTypes.number.isRequired,\n style: propTypes.object,\n tabIndex: propTypes.number,\n totalSlides: propTypes.number.isRequired,\n touchEnabled: propTypes.bool.isRequired,\n trayProps: propTypes.shape({\n className: propTypes.string,\n onClickCapture: propTypes.func,\n onMouseDown: propTypes.func,\n onTouchCancel: propTypes.func,\n onTouchEnd: propTypes.func,\n onTouchMove: propTypes.func,\n onTouchStart: propTypes.func,\n ref: propTypes.shape({}),\n style: propTypes.string\n }),\n trayTag: propTypes.string,\n visibleSlides: propTypes.number,\n isIntrinsicHeight: propTypes.bool\n}), _defineProperty(_class$a, \"defaultProps\", {\n ariaLabel: \"slider\",\n className: null,\n classNameAnimation: null,\n classNameTray: null,\n classNameTrayWrap: null,\n disableAnimation: !1,\n disableKeyboard: !1,\n dragStep: 1,\n infinite: !1,\n preventVerticalScrollOnTouch: !0,\n horizontalPixelThreshold: 15,\n verticalPixelThreshold: 10,\n moveThreshold: .1,\n onMasterSpinner: null,\n privateUnDisableAnimation: !1,\n spinner: null,\n style: {},\n tabIndex: null,\n trayProps: {},\n trayTag: \"div\",\n visibleSlides: 1,\n isIntrinsicHeight: !1\n}), _class$a),\n index$8 = WithStore(Slider, function (e) {\n return {\n currentSlide: e.currentSlide,\n disableAnimation: e.disableAnimation,\n privateUnDisableAnimation: e.privateUnDisableAnimation,\n disableKeyboard: e.disableKeyboard,\n dragEnabled: e.dragEnabled,\n hasMasterSpinner: e.hasMasterSpinner,\n infinite: e.infinite,\n interval: e.interval,\n isPageScrollLocked: e.isPageScrollLocked,\n isPlaying: e.isPlaying,\n lockOnWindowScroll: e.lockOnWindowScroll,\n preventingVerticalScroll: e.preventingVerticalScroll,\n masterSpinnerFinished: e.masterSpinnerFinished,\n naturalSlideHeight: e.naturalSlideHeight,\n naturalSlideWidth: e.naturalSlideWidth,\n orientation: e.orientation,\n playDirection: e.playDirection,\n slideSize: e.slideSize,\n slideTraySize: e.slideTraySize,\n step: e.step,\n dragStep: e.dragStep,\n totalSlides: e.totalSlides,\n touchEnabled: e.touchEnabled,\n visibleSlides: e.visibleSlides,\n isIntrinsicHeight: e.isIntrinsicHeight\n };\n});\n\nexport { index as ButtonBack, index$1 as ButtonFirst, index$3 as ButtonLast, index$2 as ButtonNext, index$4 as ButtonPlay, Context as CarouselContext, CarouselProvider, Dot$1 as Dot, index$5 as DotGroup, Image$1 as Image, index$6 as ImageWithZoom, index$7 as Slide, index$8 as Slider, Spinner, Store, WithStore };","export default __webpack_public_path__ + \"static/zdl-config-22ffe1feddf1576631556dac3c5df6df.png\";","export default __webpack_public_path__ + \"static/zdl-entities-9dcd418e1c9cba75e3cb4ba6acbc9c9f.png\";","export default __webpack_public_path__ + \"static/zdl-entities-jpa-ea6ea8843009c669c80baf9d9efdfd4f.png\";","export default __webpack_public_path__ + \"static/zdl-service-b8becfedca93cafd8d1245f8a7ea023e.png\";","export default __webpack_public_path__ + \"static/zdl-events-68a08c167aaa8d49a135ee64418c5398.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport {CarouselProvider, Slider, Slide, ButtonBack, ButtonNext, ImageWithZoom, ButtonFirst, ButtonLast, DotGroup} from 'pure-react-carousel';\nimport 'pure-react-carousel/dist/react-carousel.es.css';\nimport zdlConfig from './images/getting-started/zdl-config.png';\nimport zdlEntities from './images/getting-started/zdl-entities.png';\nimport zdlEntitiesJPA from './images/getting-started/zdl-entities-jpa.png';\nimport zdlService from './images/getting-started/zdl-service.png';\nimport zdlEvents from './images/getting-started/zdl-events.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n h2: \"h2\",\n p: \"p\",\n em: \"em\",\n pre: \"pre\",\n code: \"code\",\n strong: \"strong\",\n ul: \"ul\",\n li: \"li\",\n ol: \"ol\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"getting-started-with-zenwave-360º\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#getting-started-with-zenwave-360%C2%BA\",\n \"aria-label\": \"getting started with zenwave 360º permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Getting Started with ZenWave 360º\"), \"\\n\", React.createElement(_components.h2, {\n id: \"installation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#installation\",\n \"aria-label\": \"installation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Installation\"), \"\\n\", React.createElement(_components.p, null, \"We recommend using \", React.createElement(_components.a, {\n href: \"https://sdkman.io/\"\n }, \"SDKMAN!\"), \" to install ZenWave SDK requirements: \", React.createElement(_components.a, {\n href: \"https://sdkman.io/jdks\"\n }, \"Java 17+\"), \", \", React.createElement(_components.a, {\n href: \"https://sdkman.io/sdks#maven\"\n }, \"Maven\"), \" and \", React.createElement(_components.a, {\n href: \"https://sdkman.io/sdks#jbang\"\n }, \"JBang\"), \".\"), \"\\n\", React.createElement(_components.p, null, \"NOTE: Temurin (Eclipse) is a good option for Java JDK as it is high performance, enterprise-caliber and open-sourced licensed.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-installation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-installation\",\n \"aria-label\": \"zenwave sdk installation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Installation\"), \"\\n\", React.createElement(_components.p, null, \"Use JBang to install an \", React.createElement(_components.em, null, \"evergreen\"), \" self updating CLI for the ZenWave SDK.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-bash\"\n }, \"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\\n\")), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.strong, null, \"NOTE:\"), \" You can install ZenWave versions from different channel: \", React.createElement(_components.code, null, \"release\"), \" for latest stable version, \", React.createElement(_components.code, null, \"snapshots\"), \" for development versions compatible with current releases or \", React.createElement(_components.code, null, \"next\"), \" for experimental versions. They can be installed side by side (using different \", React.createElement(_components.code, null, \"--name=\"), \") or independently.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"install-zenwave-editor-intellij-plugin\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#install-zenwave-editor-intellij-plugin\",\n \"aria-label\": \"install zenwave editor intellij plugin permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Install ZenWave Editor IntelliJ Plugin\"), \"\\n\", React.createElement(_components.p, null, \"Install ZenWave Editor IntelliJ Plugin from JetBrains Marketplace:\"), \"\\n\", React.createElement(\"iframe\", {\n width: \"384px\",\n height: \"319px\",\n src: \"https://plugins.jetbrains.com/embeddable/card/22858\"\n }), \"\\n\", React.createElement(_components.p, null, \"For rendering class diagrams in markdown preview, install \", React.createElement(_components.a, {\n href: \"https://plugins.jetbrains.com/plugin/7017-plantuml-integration\"\n }, \"PlantUML Integration\"), \" plugin.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.strong, null, \"NOTE:\"), \" ZenWave Editor requires ZenWave SDK CLI to be installed as \", React.createElement(_components.code, null, \"jbang zw\"), \" alias.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"spring-boot-base-project\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#spring-boot-base-project\",\n \"aria-label\": \"spring boot base project permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Spring-Boot base Project\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK only generates business logic code and tests. It is expected to work with any compatible Spring-Boot project. Default backend generator is based ona maven single module project.\"), \"\\n\", React.createElement(_components.p, null, \"We expect most companies and teams to have their own starter base project. If you don't have one you can create one from \", React.createElement(_components.a, {\n href: \"https://start.spring.io\"\n }, \"https://start.spring.io\"), \" or clone one of the ZenWave 360 base projects from our GitHub playground repository.\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"ZenWave \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-playground/tree/baseline/jpa\"\n }, \"Starter Project for JPA\")), \"\\n\", React.createElement(_components.li, null, \"ZenWave \", React.createElement(_components.a, {\n href: \"https://github.com/ZenWave360/zenwave-playground/tree/baseline/mongodb\"\n }, \"Starter Project for MongoDB\")), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK generated code was tested with Spring-Boot 3.1.4, Hibernate 6.x, MongoDB 5 and Spring-Cloud xxx.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zdl-modeling-and-code-generation\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zdl-modeling-and-code-generation\",\n \"aria-label\": \"zdl modeling and code generation permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZDL Modeling and Code Generation\"), \"\\n\", React.createElement(_components.p, null, \"Scroll left/right for a quick overview of how ZDL modeling looks like, with an example. And then follow the instructions below.\"), \"\\n\", React.createElement(CarouselProvider, {\n visibleSlides: 1,\n totalSlides: 5,\n step: 1,\n naturalSlideWidth: 500,\n naturalSlideHeight: 295,\n lockOnWindowScroll: true\n }, React.createElement(Slider, {\n className: \"{s.slider}\"\n }, React.createElement(Slide, {\n index: 0\n }, React.createElement(\"h3\", null, \"👇 ZDL Config Section with SDK Plugins \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlConfig\n })), React.createElement(Slide, {\n index: 1\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Entities (with Nested Entities for MongoDB) \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlEntities\n })), React.createElement(Slide, {\n index: 2\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Entities (with Relationships for JPA) \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlEntitiesJPA\n })), React.createElement(Slide, {\n index: 3\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Service (with @annotations for REST API) \", React.createElement(ButtonNext, null, \"👉\")), React.createElement(Image, {\n src: zdlService\n })), React.createElement(Slide, {\n index: 4\n }, React.createElement(\"h3\", null, React.createElement(ButtonBack, null, \"👈\"), \" 👇 ZDL Events (with @annotations for AsyncAPI)\"), React.createElement(Image, {\n src: zdlEvents\n }))), React.createElement(ButtonBack, null, \"👈\"), React.createElement(ButtonNext, null, \"👉\")), \"\\n\", React.createElement(_components.p, null, \"Create a new ZDL model or use one of ZDL examples as base:\"), \"\\n\", React.createElement(_components.ol, null, \"\\n\", React.createElement(_components.li, null, \"Create a new file with \", React.createElement(_components.code, null, \".zdl\"), \" extension\"), \"\\n\", React.createElement(_components.li, null, \"Model your Bounded Context adding some entities, services, inputs and events...\"), \"\\n\", React.createElement(_components.li, null, \"Add ZenWave SDK Plugins to ZDL \", React.createElement(_components.code, null, \"config\"), \" section. You can use IntelliJ live templates provided for this task.\"), \"\\n\", React.createElement(_components.li, null, \"Follow these steps to generate code and tests from your model:\", \"\\n\", React.createElement(_components.ol, null, \"\\n\", React.createElement(_components.li, null, \"Generate API definitions from your model: OpenAPI and AsyncAPI v2/v3 are supported.\"), \"\\n\", React.createElement(_components.li, null, \"Customize your API definitions. They are the source of truth for outbound/inbound communications.\"), \"\\n\", React.createElement(_components.li, null, \"Configure API-First generators in \", React.createElement(_components.code, null, \"pom.xml\"), \" for OpenAPI and AsyncAPI.\"), \"\\n\", React.createElement(_components.li, null, \"Generate your Core Backed code and tests. ZenWave SDK can generate CRUD implementation for your services.\"), \"\\n\", React.createElement(_components.li, null, \"Customize generated code implementing non-CRUD service commands and customize generated tests.\"), \"\\n\", React.createElement(_components.li, null, \"Implement Adapters code (web, event) connecting API-First generated code with your Core Backend. ZenWave SDK can generate Stub implementation for some adapters.\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"Run your tests and start your application.\"), \"\\n\"), \"\\n\", React.createElement(_components.h2, {\n id: \"generating-a-complete-spring-boot-application-with-zenwave-sdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#generating-a-complete-spring-boot-application-with-zenwave-sdk\",\n \"aria-label\": \"generating a complete spring boot application with zenwave sdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Generating a complete Spring-Boot Application with ZenWave SDK\"), \"\\n\", React.createElement(\"iframe\", {\n width: \"1050\",\n height: \"591\",\n src: \"https://www.youtube.com/embed/G93Mkf1xaXQ?si=XVghVSdbiy8yQA3j\",\n title: \"YouTube video player\",\n frameborder: \"0\",\n allow: \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen\",\n allowfullscreen: true\n }));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/ZenWave360/Getting-Started.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n"],"names":["ownKeys","e","t","r","Object","keys","getOwnPropertySymbols","i","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_classCallCheck","TypeError","_defineProperties","configurable","writable","key","_createClass","prototype","value","_extends","assign","bind","hasOwnProperty","call","this","_inherits","create","constructor","_setPrototypeOf","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_objectWithoutProperties","n","s","indexOf","_objectWithoutPropertiesLoose","propertyIsEnumerable","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","_toConsumableArray","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","Symbol","iterator","from","_iterableToArray","toString","slice","name","test","_unsupportedIterableToArray","_nonIterableSpread","createCommonjsModule","exports","emptyFunction","emptyFunctionWithReset","cn","map","join","replace","trim","slideSize","slideTraySize","pct","concat","equal","types","jkrosoType","memoGaurd","getEnumerableProperties","isSpecial","$$typeof","REACT_ELEMENT_TYPE","isReactElement","cloneUnlessOtherwiseSpecified","clone","isMergeableObject","deepmerge","emptyTarget","defaultArrayMerge","arrayMerge","mergeObject","WithStore","state","updateStateProps","context","subscribe","equals","props","unsubscribe","setState","deepmerge_1","ref","instance","carouselStore","getStoreState","masterSpinnerError","masterSpinnerSuccess","setStoreState","subscribeMasterSpinner","unsubscribeAllMasterSpinner","unsubscribeMasterSpinner","children","Context","CarouselPropTypes","resetWarningCache","propTypes","o","Error","isRequired","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","factoryWithThrowingShims","LOADING","SUCCESS","ERROR","direction","height","orientation","isBgImage","tag","boundedRange","min","max","x","Math","_excluded","ButtonBack","handleOnClick","currentSlide","onClick","step","infinite","a","visibleSlides","l","totalSlides","c","isPlaying","className","disabled","setDisabled","type","window","Node","Function","Map","Set","nodeType","outerHTML","textContent","sort","isNonNullObject","for","all","reduce","_class","deepFreeze","freeze","getOwnPropertyNames","isFrozen","DEFAULT_STATE","masterSpinnerFinished","Store","subscriptions","masterSpinnerSubscriptions","updateSubscribers","splice","success","error","complete","setMasterSpinnerFinished","isMasterSpinnerFinished","_excluded$1","CarouselProvider","isIntrinsicHeight","disableAnimation","disableKeyboard","hasMasterSpinner","imageErrorCount","imageSuccessCount","interval","isPageScrollLocked","lockOnWindowScroll","masterSpinnerThreshold","naturalSlideHeight","naturalSlideWidth","playDirection","privateUnDisableAnimation","dragStep","touchEnabled","dragEnabled","Provider","Consumer","_class$1","_class$2","_class$3","_class$4","_class$5","_class$6","index","s$1","_excluded$2","ButtonFirst","s$2","_excluded$3","ButtonNext","u","index$2","s$3","_excluded$4","ButtonLast","s$4","_excluded$5","ButtonPlay","childrenPaused","childrenPlaying","s$5","dot","_excluded$6","Dot","slide","selected","p","d","dotSelected","Dot$1","s$6","_excluded$7","_excluded2","DotGroup","disableActiveDots","showAsSelectedForCurrentSlideOnly","renderDots","h","dotNumbers","s$7","image","_excluded$8","_excluded2$1","Image","imageStatus","handleImageLoad","handleImageError","initImage","src","removeEventListener","document","createElement","addEventListener","readyState","onLoad","onError","tempTag","imageLoading","customRender","imageError","style","alt","backgroundImage","backgroundSize","renderError","renderLoading","renderSuccess","_class$7","_class$8","_class$9","_class$a","Image$1","s$8","_excluded$9","Spinner","s$9","container","overlay","hover","zoom","loading","imageLoadingSpinnerContainer","_excluded$a","ImageWithZoom","isImageLoading","isHovering","isZooming","y","scale","tpCache","handleImageComplete","handleOnMouseMove","handleOnMouseOut","handleOnMouseOver","handleOnTouchEnd","handleOnTouchMove","handleOnTouchStart","nativeEvent","offsetX","target","offsetWidth","offsetY","offsetHeight","isPinchZoomEnabled","targetTouches","identifier","clientX","clientY","persist","stopPropagation","getBoundingClientRect","x1","y1","x2","y2","distance","distanceBetweenTwoTouches","midpointBetweenTwoTouches","cx","cy","left","width","top","changedTouches","spinner","bgImageProps","bgImageTag","imageClassName","overlayClassName","srcZoomed","S","transformOrigin","transform","onFocus","onMouseOver","onBlur","onMouseOut","onMouseMove","onTouchStart","onTouchEnd","onTouchMove","sqrt","pow","s$a","slideHorizontal","slideInner","focusRing","_excluded$b","Slide","handleOnFocus","handleOnBlur","focused","ariaLabel","classNameHidden","classNameVisible","innerClassName","innerTag","tabIndex","b","m","f","paddingBottom","g","position","v","_","isVisible","T","k","C","O","tagRef","role","innerTagRef","renderFocusRing","index$7","GetScrollParent","parentNode","parents","scroll","scrollingElement","documentElement","isNodeValid","scrollParent","getComputedStyle","getPropertyValue","overflow","HTMLElement","SVGElement","s$b","horizontalSlider","horizontalSliderTray","verticalSlider","verticalSliderTray","verticalTray","verticalSlideTrayWrap","sliderTray","sliderAnimation","masterSpinnerContainer","_excluded$c","_excluded2$2","_excluded3","Slider","getSliderRef","handleDocumentScroll","handleOnClickCapture","handleOnKeyDown","handleOnMouseDown","handleOnMouseUp","handleOnTouchCancel","playBackward","playForward","callCallback","blockWindowScroll","cancelNextClick","deltaX","deltaY","isBeingMouseDragged","isBeingTouchDragged","preventingVerticalScroll","startX","startY","isDocumentScrolling","moveTimer","originalOverflow","scrollStopTimer","preventVerticalScrollOnTouch","play","stop","lockScroll","unlockScroll","cancelAnimationFrame","clearTimeout","sliderTrayElement","screenX","screenY","touchDrag","mouseDrag","requestAnimationFrame","abs","verticalPixelThreshold","horizontalPixelThreshold","computeCurrentSlide","trayProps","preventDefault","fakeOnDragStart","fakeOnDragMove","fakeOnDragEnd","setTimeout","keyCode","focus","forward","backward","setInterval","clearInterval","getScrollParent","stopImmediatePropagation","slideSizeInPx","clientWidth","clientHeight","slidesMoved","moveThreshold","sliderElement","endTouchMove","onMasterSpinner","classNameAnimation","classNameTray","classNameTrayWrap","trayTag","transition","display","alignItems","flexDirection","P","E","sliderTrayWrap","horizontalTrayWrap","w","horizontalTray","M","R","onClickCapture","onMouseDown","onTouchCancel","onKeyDown","renderMasterSpinner","round","index$8","_createMdxContent","_components","h1","div","h2","em","pre","code","strong","ul","li","ol","_provideComponents","components","React","id","href","dangerouslySetInnerHTML","__html","zdlConfig","zdlEntities","zdlEntitiesJPA","zdlService","zdlEvents","title","frameborder","allow","allowfullscreen","wrapper","MDXLayout","DocTemplate","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","FeatureList","ScreenContainer","row","my","FeatureSection","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","HeroBody","HeroSection","HeroActionList","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","current","console","fetchGistContent","gistUrl","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","rel","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js.map deleted file mode 100644 index 9e5e2c1..0000000 --- a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js","mappings":"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","sources":["webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-Landscape-dark.png","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-Landscape-light.png","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark.png","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.excalidraw.svg","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light.png","webpack://website/./pages/docs/ZenWave360/images/business-developers-software-triangle.light.png","webpack://website/./pages/docs/ZenWave360/ZenWave360.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js"],"sourcesContent":["export default __webpack_public_path__ + \"static/ZenWave-360-Landscape-dark-827cefe4d8f6c9cfb583787bcd6da0d0.png\";","export default __webpack_public_path__ + \"static/ZenWave-360-Landscape-light-a49770c99d3439f3a52b764905e5829b.png\";","export default __webpack_public_path__ + \"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark-7427760088d30aebaf151b93891b82bb.png\";","export default __webpack_public_path__ + \"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.excalidraw-b05a228b7280d31e26bf0830efc979f7.svg\";","export default __webpack_public_path__ + \"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light-48139b6e3e76bdc45a8442974d936c9f.png\";","export default __webpack_public_path__ + \"static/business-developers-software-triangle.light-c9f9eefba3ce2a408c6e623059931fa8.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport landscapeDark from './images/ZenWave-360-Landscape-dark.png';\nimport landscapeLight from './images/ZenWave-360-Landscape-light.png';\nimport dddFeedbackLoop from './images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.excalidraw.svg';\nimport dddFeedbackLoopDark from './images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark.png';\nimport dddFeedbackLoopLight from './images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light.png';\nimport dddTriangleLightImage from './images/business-developers-software-triangle.light.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n blockquote: \"blockquote\",\n h2: \"h2\",\n ul: \"ul\",\n li: \"li\",\n strong: \"strong\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"zenwave-360º\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-360%C2%BA\",\n \"aria-label\": \"zenwave 360º permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave 360º\"), \"\\n\", React.createElement(Quote, null, React.createElement(_components.p, null, \"The critical complexity of most software projects is in understanding the domain itself.\\r\\n\", React.createElement(QuoteAuthor, null, \"- Eric Evans in Domain-Driven Design\"))), \"\\n\", React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"👉 ZenWave360 Helps You Create Software Easy to Understand\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Being easy to understand should be the gold standard of good and maintainable software.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZenWave 360º\"), \" is a set of tools built on the foundations of \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain Driven Design\"), \" and \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First\"), \" principles for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Event-Driven Architectures.\")), \"\\n\", React.createElement(_components.h2, {\n id: \"domain-driven-design-and-api-first-for-event-driven-microservices\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#domain-driven-design-and-api-first-for-event-driven-microservices\",\n \"aria-label\": \"domain driven design and api first for event driven microservices permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Domain Driven Design and API-First for Event Driven Microservices\"), \"\\n\", React.createElement(Quote, null, \"The domain model is a powerful communication tool. It provides a shared vision of the structure and behavior of the system.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Event-Driven Architecture\"), \" reflects how we conduct business in real life - asynchronously and in response to events. That is why it is gaining popularity as the go-to architectural pattern for building enterprise applications.\"), \"\\n\", React.createElement(_components.p, null, \"Our lives and businesses are a continuous sequence of events. We are perpetually responding to these events and initiating new ones. \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"This is a reflection of how we operate in the real world\"), \". Therefore, Event-Driven Architectures (EDAs) are ideally suited for creating software that accurately represents and empowers our business processes.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain-Driven Design (DDD)\"), \" is a software development approach that emphasizes the importance of understanding the business domain in order to create effective software. Design, in the DDD sense, \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"is really about understanding\"), \", not inventing. Focusing on creating software that matches the mental model of the problem domain.\"), \"\\n\", React.createElement(_components.p, null, \"With a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"good understanding of the business\"), \" process we want to model even the \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"simplest architectural pattern\"), \" suffices for crafting software that's straightforward and maintainable.\"), \"\\n\", React.createElement(_components.p, null, \"On the other hand with a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"poor understanding\"), \" of the business process we want to model, there is \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"no amount of clean code\"), \", clean architecture, SOLID principles, hexagonal, event-driven... that will make your code easy to maintain and to evolve because with a poor understanding, new requirements will spring as a surprise shaking the foundations of your previous design.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zdl-domain-model-language-as-ubiquitous-language-format\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zdl-domain-model-language-as-ubiquitous-language-format\",\n \"aria-label\": \"zdl domain model language as ubiquitous language format permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZDL Domain Model Language as 'Ubiquitous Language' format\"), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.a, {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL\"), \" is a developer friendly domain model format, that can map the discoveries of \", React.createElement(_components.a, {\n href: \"/docs/event-driven-design/event-storming\"\n }, \"Event-Storming\"), \" workshops capturing the essence of Event-Driven Domains while maintaining the business language brought up during Event-Storming sessions.\"), \"\\n\", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZDL Domain Model Language is\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Developer Friendly\"), \": compact and concise format resembling a very lightweight programing language.\"), \"\\n\", React.createElement(_components.li, null, \"Retaining the \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Business Language\"), \" discovered during Event-Storming sessions\"), \"\\n\", React.createElement(_components.li, null, \"And because it's also \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Machine Friendly\"), \" it can be converted into multiple software artifacts \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"propagating that Common/Ubiquitous Language\"), \" automatically and effortless.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Efectively closing the Gap between Domain Experts, Technical Experts and Working Software & Tests\"), \"\\n\", React.createElement(Image, {\n alt: \"Domain Driven Design Triangle\",\n src: dddTriangleLightImage,\n width: \"80%\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-accelerates-your-development-cycle\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-accelerates-your-development-cycle\",\n \"aria-label\": \"zenwave sdk accelerates your development cycle permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Accelerates your Development Cycle\"), \"\\n\", React.createElement(Quote, null, \"Code is not the center, but merely one expression of the model.\"), \"\\n\", React.createElement(_components.p, null, \"Because the most effective way to model is to do so in the context of a running system that can demonstrate whether the model actually works. ZenWave SDK helps you convert your Domain Models into working Software & Tests.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.a, {\n href: \"/docs/zenwave-sdk\"\n }, \"ZenWave SDK\"), \" accelerates your development cycle by converting your Domain Models into well crafted software artifacts you can assemble into a running application.\"), \"\\n\", React.createElement(_components.p, null, \"With ZenWave SDK you can quickly convert your models into working software:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"API definitions: OpenAPI and AsyncAPI v2/v3\"), \"\\n\", React.createElement(_components.li, null, \"Multiple backend implementations with Spring-Boot and Spring-Cloud: with JPA and MongoDB flavors.\"), \"\\n\", React.createElement(_components.li, null, \"SpringMVC RestControllers from OpenAPI + ZDL: complete controller skeletons with their mapstruct mappers, connecting the inside of your backend with the external world through your APIs.\"), \"\\n\", React.createElement(_components.li, null, \"API-First code generator for AsyncAPI v2/v3 for producing and consuming async events.\"), \"\\n\", React.createElement(_components.li, null, \"API-Testing with Spring WebTestClient and KarateDSL.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK main purpose is to help you produce successful software projects by dramatically shortening the feedback loop between the expert domain knowledge and working software and its tests.\"), \"\\n\", React.createElement(Image, {\n alt: \"Domain Driven Design Feedback Loop\",\n dark: dddFeedbackLoopDark,\n light: dddFeedbackLoopLight\n }), \"\\n\", React.createElement(_components.p, null, \"In this way all team members: \", React.createElement(_components.strong, null, \"Domain Experts\"), \", \", React.createElement(_components.strong, null, \"Product Owners\"), \", \", React.createElement(_components.strong, null, \"Software Architects\"), \", \", React.createElement(_components.strong, null, \"Developers\"), \" and \", React.createElement(_components.strong, null, \"Testers\"), \" can provide early feedback based on an \", React.createElement(_components.strong, null, \"Ubiquitous Language (ZDL)\"), \" and the software and tests generated from that model.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-360º-landscape\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-360%C2%BA-landscape\",\n \"aria-label\": \"zenwave 360º landscape permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave 360º Landscape\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave 360º is a set of tools that help you create software that is easy to understand, maintain and fulfill the requirements of your users.\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"ZDL Domain Modeling Language\", \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"ZenWave SDK: CLI and Maven Plugin\"), \"\\n\", React.createElement(_components.li, null, \"ZenWave Editor: IntelliJ Plugin\"), \"\\n\", React.createElement(_components.li, null, \"ZenWave Models Catalog: \"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \" \"), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave360 Landscape\",\n dark: landscapeDark,\n light: landscapeLight\n }));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/ZenWave360/ZenWave360.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","blockquote","h2","ul","li","strong","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","Quote","QuoteAuthor","Image","alt","src","dddTriangleLightImage","width","dark","dddFeedbackLoopDark","light","dddFeedbackLoopLight","landscapeDark","landscapeLight","wrapper","MDXLayout","DocTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","visible","useColorMode","Cite","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js similarity index 62% rename from component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js rename to component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js index b89f4a9..d79117a 100644 --- a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js +++ b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[789],{56572:function(e,n,t){t.r(n),t.d(n,{default:function(){return p}});var a=t(27378),r=t(20951),o=t(97702),i=t.p+"static/ZenWave-360-Landscape-dark-827cefe4d8f6c9cfb583787bcd6da0d0.png",l=t.p+"static/ZenWave-360-Landscape-light-a49770c99d3439f3a52b764905e5829b.png",s=(t.p,t.p+"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark-7427760088d30aebaf151b93891b82bb.png"),c=t.p+"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light-48139b6e3e76bdc45a8442974d936c9f.png",d=t.p+"static/business-developers-software-triangle.light-c9f9eefba3ce2a408c6e623059931fa8.png";function m(e){const n=Object.assign({h1:"h1",a:"a",div:"div",p:"p",blockquote:"blockquote",h2:"h2",ul:"ul",li:"li",strong:"strong"},(0,r.ah)(),e.components);return a.createElement(a.Fragment,null,a.createElement(n.h1,{id:"zenwave-360º",style:{position:"relative"}},a.createElement(n.a,{href:"#zenwave-360%C2%BA","aria-label":"zenwave 360º permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave 360º"),"\n",a.createElement(o.Bk,null,a.createElement(n.p,null,"The critical complexity of most software projects is in understanding the domain itself.\r\n",a.createElement(o.Nm,null,"- Eric Evans in Domain-Driven Design"))),"\n",a.createElement(n.blockquote,null,"\n",a.createElement(n.p,null,"👉 ZenWave360 Helps You Create Software Easy to Understand"),"\n"),"\n",a.createElement(n.p,null,"Being easy to understand should be the gold standard of good and maintainable software."),"\n",a.createElement(n.p,null,a.createElement("strong",{className:"orange"},"ZenWave 360º")," is a set of tools built on the foundations of ",a.createElement("strong",{className:"orange"},"Domain Driven Design")," and ",a.createElement("strong",{className:"orange"},"API-First")," principles for ",a.createElement("strong",{className:"orange"},"Event-Driven Architectures.")),"\n",a.createElement(n.h2,{id:"domain-driven-design-and-api-first-for-event-driven-microservices",style:{position:"relative"}},a.createElement(n.a,{href:"#domain-driven-design-and-api-first-for-event-driven-microservices","aria-label":"domain driven design and api first for event driven microservices permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Domain Driven Design and API-First for Event Driven Microservices"),"\n",a.createElement(o.Bk,null,"The domain model is a powerful communication tool. It provides a shared vision of the structure and behavior of the system."),"\n",a.createElement(n.p,null,a.createElement("strong",{className:"orange"},"Event-Driven Architecture")," reflects how we conduct business in real life - asynchronously and in response to events. That is why it is gaining popularity as the go-to architectural pattern for building enterprise applications."),"\n",a.createElement(n.p,null,"Our lives and businesses are a continuous sequence of events. We are perpetually responding to these events and initiating new ones. ",a.createElement("strong",{className:"orange"},"This is a reflection of how we operate in the real world"),". Therefore, Event-Driven Architectures (EDAs) are ideally suited for creating software that accurately represents and empowers our business processes."),"\n",a.createElement(n.p,null,a.createElement("strong",{className:"orange"},"Domain-Driven Design (DDD)")," is a software development approach that emphasizes the importance of understanding the business domain in order to create effective software. Design, in the DDD sense, ",a.createElement("strong",{className:"orange"},"is really about understanding"),", not inventing. Focusing on creating software that matches the mental model of the problem domain."),"\n",a.createElement(n.p,null,"With a ",a.createElement("strong",{className:"orange"},"good understanding of the business")," process we want to model even the ",a.createElement("strong",{className:"orange"},"simplest architectural pattern")," suffices for crafting software that's straightforward and maintainable."),"\n",a.createElement(n.p,null,"On the other hand with a ",a.createElement("strong",{className:"orange"},"poor understanding")," of the business process we want to model, there is ",a.createElement("strong",{className:"orange"},"no amount of clean code"),", clean architecture, SOLID principles, hexagonal, event-driven... that will make your code easy to maintain and to evolve because with a poor understanding, new requirements will spring as a surprise shaking the foundations of your previous design."),"\n",a.createElement(n.h2,{id:"zdl-domain-model-language-as-ubiquitous-language-format",style:{position:"relative"}},a.createElement(n.a,{href:"#zdl-domain-model-language-as-ubiquitous-language-format","aria-label":"zdl domain model language as ubiquitous language format permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZDL Domain Model Language as 'Ubiquitous Language' format"),"\n",a.createElement(n.p,null,a.createElement(n.a,{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL")," is a developer friendly domain model format, that can map the discoveries of ",a.createElement(n.a,{href:"/docs/event-driven-design/event-storming"},"Event-Storming")," workshops capturing the essence of Event-Driven Domains while maintaining the business language brought up during Event-Storming sessions."),"\n",a.createElement("strong",{className:"orange"},"ZDL Domain Model Language is"),"\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,a.createElement("strong",{className:"orange"},"Developer Friendly"),": compact and concise format resembling a very lightweight programing language."),"\n",a.createElement(n.li,null,"Retaining the ",a.createElement("strong",{className:"orange"},"Business Language")," discovered during Event-Storming sessions"),"\n",a.createElement(n.li,null,"And because it's also ",a.createElement("strong",{className:"orange"},"Machine Friendly")," it can be converted into multiple software artifacts ",a.createElement("strong",{className:"orange"},"propagating that Common/Ubiquitous Language")," automatically and effortless."),"\n"),"\n",a.createElement(n.p,null,"Efectively closing the Gap between Domain Experts, Technical Experts and Working Software & Tests"),"\n",a.createElement(o.Ee,{alt:"Domain Driven Design Triangle",src:d,width:"80%"}),"\n",a.createElement(n.h2,{id:"zenwave-sdk-accelerates-your-development-cycle",style:{position:"relative"}},a.createElement(n.a,{href:"#zenwave-sdk-accelerates-your-development-cycle","aria-label":"zenwave sdk accelerates your development cycle permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Accelerates your Development Cycle"),"\n",a.createElement(o.Bk,null,"Code is not the center, but merely one expression of the model."),"\n",a.createElement(n.p,null,"Because the most effective way to model is to do so in the context of a running system that can demonstrate whether the model actually works. ZenWave SDK helps you convert your Domain Models into working Software & Tests."),"\n",a.createElement(n.p,null,a.createElement(n.a,{href:"/docs/zenwave-sdk"},"ZenWave SDK")," accelerates your development cycle by converting your Domain Models into well crafted software artifacts you can assemble into a running application."),"\n",a.createElement(n.p,null,"With ZenWave SDK you can quickly convert your models into working software:"),"\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,"API definitions: OpenAPI and AsyncAPI v2/v3"),"\n",a.createElement(n.li,null,"Multiple backend implementations with Spring-Boot and Spring-Cloud: with JPA and MongoDB flavors."),"\n",a.createElement(n.li,null,"SpringMVC RestControllers from OpenAPI + ZDL: complete controller skeletons with their mapstruct mappers, connecting the inside of your backend with the external world through your APIs."),"\n",a.createElement(n.li,null,"API-First code generator for AsyncAPI v2/v3 for producing and consuming async events."),"\n",a.createElement(n.li,null,"API-Testing with Spring WebTestClient and KarateDSL."),"\n"),"\n",a.createElement(n.p,null,"ZenWave SDK main purpose is to help you produce successful software projects by dramatically shortening the feedback loop between the expert domain knowledge and working software and its tests."),"\n",a.createElement(o.Ee,{alt:"Domain Driven Design Feedback Loop",dark:s,light:c}),"\n",a.createElement(n.p,null,"In this way all team members: ",a.createElement(n.strong,null,"Domain Experts"),", ",a.createElement(n.strong,null,"Product Owners"),", ",a.createElement(n.strong,null,"Software Architects"),", ",a.createElement(n.strong,null,"Developers")," and ",a.createElement(n.strong,null,"Testers")," can provide early feedback based on an ",a.createElement(n.strong,null,"Ubiquitous Language (ZDL)")," and the software and tests generated from that model."),"\n",a.createElement(n.h2,{id:"zenwave-360º-landscape",style:{position:"relative"}},a.createElement(n.a,{href:"#zenwave-360%C2%BA-landscape","aria-label":"zenwave 360º landscape permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave 360º Landscape"),"\n",a.createElement(n.p,null,"ZenWave 360º is a set of tools that help you create software that is easy to understand, maintain and fulfill the requirements of your users."),"\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,"ZDL Domain Modeling Language","\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,"ZenWave SDK: CLI and Maven Plugin"),"\n",a.createElement(n.li,null,"ZenWave Editor: IntelliJ Plugin"),"\n",a.createElement(n.li,null,"ZenWave Models Catalog: "),"\n"),"\n"),"\n"),"\n",a.createElement(n.p,null," "),"\n",a.createElement(o.Ee,{alt:"ZenWave360 Landscape",dark:i,light:l}))}var u=function(e){void 0===e&&(e={});const{wrapper:n}=Object.assign({},(0,r.ah)(),e.components);return n?a.createElement(n,e,a.createElement(m,e)):m(e)};function g(e){let{children:n}=e;return n}function p(e){return a.createElement(g,e,a.createElement(u,e))}},97702:function(e,n,t){t.d(n,{d2:function(){return a.d},zx:function(){return c},L0:function(){return g},$s:function(){return v},VS:function(){return b},gT:function(){return w},P7:function(){return f},Gz:function(){return p},VM:function(){return D},sd:function(){return S},kW:function(){return C},$D:function(){return x},DH:function(){return I},vC:function(){return y},LR:function(){return E},Ee:function(){return H},Bk:function(){return W},Nm:function(){return L},X_:function(){return m.X},YZ:function(){return T},vk:function(){return O},BW:function(){return B},Mo:function(){return j}});var a=t(63585),r=t(27378),o=t(87573),i=t(30294);const l=e=>{let{background:n,backgroundHover:t,on:a}=e;return()=>(0,i.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],n,a,t,a,t,a)},s=i.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),c=r.forwardRef(((e,n)=>{let{variant:t="primary",children:a,...i}=e;return r.createElement(o.z,{ref:n,"data-variant":t},(e=>r.createElement(s,Object.assign({},e,i),a)))}));t(23824),t(31729);var d=t(63681),m=t(84234);const u=i.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),g=r.forwardRef(((e,n)=>r.createElement(u,Object.assign({ref:n,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),p=i.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],d.th.px(-9),d.th.px(9)),f=i.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),h=i.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),v=r.forwardRef(((e,n)=>r.createElement(h,Object.assign({ref:n,width:48,height:48},e)))),b=r.forwardRef(((e,n)=>r.createElement(m.X,Object.assign({ref:n,row:!0,my:-4,px:3},e)))),w=r.forwardRef(((e,n)=>r.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),E=i.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:4;font-size:48;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:60;"]))),y=i.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),k=(0,i.ZPm)(m.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,d.up)("xl",(0,i.ivY)(["margin-top:6;"]))),D=r.forwardRef(((e,n)=>{let{backgroundImageURL:t,...a}=e;return r.createElement(k,Object.assign({ref:n,backgroundImage:"url("+t+")"},a))})),x=r.forwardRef(((e,n)=>r.createElement(i.x.div,Object.assign({ref:n,w:{md:.5}},e)))),I=i.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),C=r.forwardRef(((e,n)=>r.createElement(i.x.div,Object.assign({ref:n,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),S=r.forwardRef(((e,n)=>r.createElement(i.x.div,Object.assign({ref:n,col:"auto",p:2},e))));var z=t(24956);const N=i.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),Z=i.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),_=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,H=r.forwardRef(((e,n)=>r.createElement(N,{align:e.align||"center",className:e.visible},r.createElement(Z,Object.assign({ref:n,src:_(e,(0,z.If)()[0])},e)))));t(15239),t(83160);const P=(0,i.ZPm)(i.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),W=r.forwardRef(((e,n)=>r.createElement(i.x.blockquote,Object.assign({ref:n,className:"quote"},e)))),L=r.forwardRef(((e,n)=>r.createElement(P,Object.assign({ref:n},e)))),B=r.forwardRef(((e,n)=>r.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),T=i.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,d.up)("md",(0,i.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),j=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),F=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),M=i.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),A=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,O=r.forwardRef(((e,n)=>r.createElement(F,{className:e.className},r.createElement(M,Object.assign({ref:n,src:A(e,(0,z.If)()[0])},e)))))}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js.map \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[789],{56572:function(e,n,t){t.r(n),t.d(n,{default:function(){return p}});var a=t(27378),r=t(20951),o=t(16376),i=t.p+"static/ZenWave-360-Landscape-dark-827cefe4d8f6c9cfb583787bcd6da0d0.png",l=t.p+"static/ZenWave-360-Landscape-light-a49770c99d3439f3a52b764905e5829b.png",s=(t.p,t.p+"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark-7427760088d30aebaf151b93891b82bb.png"),c=t.p+"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light-48139b6e3e76bdc45a8442974d936c9f.png",d=t.p+"static/business-developers-software-triangle.light-c9f9eefba3ce2a408c6e623059931fa8.png";function m(e){const n=Object.assign({h1:"h1",a:"a",div:"div",p:"p",blockquote:"blockquote",h2:"h2",ul:"ul",li:"li",strong:"strong"},(0,r.ah)(),e.components);return a.createElement(a.Fragment,null,a.createElement(n.h1,{id:"zenwave-360º",style:{position:"relative"}},a.createElement(n.a,{href:"#zenwave-360%C2%BA","aria-label":"zenwave 360º permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave 360º"),"\n",a.createElement(o.Bk,null,a.createElement(n.p,null,"The critical complexity of most software projects is in understanding the domain itself.\r\n",a.createElement(o.Nm,null,"- Eric Evans in Domain-Driven Design"))),"\n",a.createElement(n.blockquote,null,"\n",a.createElement(n.p,null,"👉 ZenWave360 Helps You Create Software Easy to Understand"),"\n"),"\n",a.createElement(n.p,null,"Being easy to understand should be the gold standard of good and maintainable software."),"\n",a.createElement(n.p,null,a.createElement("strong",{className:"orange"},"ZenWave 360º")," is a set of tools built on the foundations of ",a.createElement("strong",{className:"orange"},"Domain Driven Design")," and ",a.createElement("strong",{className:"orange"},"API-First")," principles for ",a.createElement("strong",{className:"orange"},"Event-Driven Architectures.")),"\n",a.createElement(n.h2,{id:"domain-driven-design-and-api-first-for-event-driven-microservices",style:{position:"relative"}},a.createElement(n.a,{href:"#domain-driven-design-and-api-first-for-event-driven-microservices","aria-label":"domain driven design and api first for event driven microservices permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Domain Driven Design and API-First for Event Driven Microservices"),"\n",a.createElement(o.Bk,null,"The domain model is a powerful communication tool. It provides a shared vision of the structure and behavior of the system."),"\n",a.createElement(n.p,null,a.createElement("strong",{className:"orange"},"Event-Driven Architecture")," reflects how we conduct business in real life - asynchronously and in response to events. That is why it is gaining popularity as the go-to architectural pattern for building enterprise applications."),"\n",a.createElement(n.p,null,"Our lives and businesses are a continuous sequence of events. We are perpetually responding to these events and initiating new ones. ",a.createElement("strong",{className:"orange"},"This is a reflection of how we operate in the real world"),". Therefore, Event-Driven Architectures (EDAs) are ideally suited for creating software that accurately represents and empowers our business processes."),"\n",a.createElement(n.p,null,a.createElement("strong",{className:"orange"},"Domain-Driven Design (DDD)")," is a software development approach that emphasizes the importance of understanding the business domain in order to create effective software. Design, in the DDD sense, ",a.createElement("strong",{className:"orange"},"is really about understanding"),", not inventing. Focusing on creating software that matches the mental model of the problem domain."),"\n",a.createElement(n.p,null,"With a ",a.createElement("strong",{className:"orange"},"good understanding of the business")," process we want to model even the ",a.createElement("strong",{className:"orange"},"simplest architectural pattern")," suffices for crafting software that's straightforward and maintainable."),"\n",a.createElement(n.p,null,"On the other hand with a ",a.createElement("strong",{className:"orange"},"poor understanding")," of the business process we want to model, there is ",a.createElement("strong",{className:"orange"},"no amount of clean code"),", clean architecture, SOLID principles, hexagonal, event-driven... that will make your code easy to maintain and to evolve because with a poor understanding, new requirements will spring as a surprise shaking the foundations of your previous design."),"\n",a.createElement(n.h2,{id:"zdl-domain-model-language-as-ubiquitous-language-format",style:{position:"relative"}},a.createElement(n.a,{href:"#zdl-domain-model-language-as-ubiquitous-language-format","aria-label":"zdl domain model language as ubiquitous language format permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZDL Domain Model Language as 'Ubiquitous Language' format"),"\n",a.createElement(n.p,null,a.createElement(n.a,{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL")," is a developer friendly domain model format, that can map the discoveries of ",a.createElement(n.a,{href:"/docs/event-driven-design/event-storming"},"Event-Storming")," workshops capturing the essence of Event-Driven Domains while maintaining the business language brought up during Event-Storming sessions."),"\n",a.createElement("strong",{className:"orange"},"ZDL Domain Model Language is"),"\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,a.createElement("strong",{className:"orange"},"Developer Friendly"),": compact and concise format resembling a very lightweight programing language."),"\n",a.createElement(n.li,null,"Retaining the ",a.createElement("strong",{className:"orange"},"Business Language")," discovered during Event-Storming sessions"),"\n",a.createElement(n.li,null,"And because it's also ",a.createElement("strong",{className:"orange"},"Machine Friendly")," it can be converted into multiple software artifacts ",a.createElement("strong",{className:"orange"},"propagating that Common/Ubiquitous Language")," automatically and effortless."),"\n"),"\n",a.createElement(n.p,null,"Efectively closing the Gap between Domain Experts, Technical Experts and Working Software & Tests"),"\n",a.createElement(o.Ee,{alt:"Domain Driven Design Triangle",src:d,width:"80%"}),"\n",a.createElement(n.h2,{id:"zenwave-sdk-accelerates-your-development-cycle",style:{position:"relative"}},a.createElement(n.a,{href:"#zenwave-sdk-accelerates-your-development-cycle","aria-label":"zenwave sdk accelerates your development cycle permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave SDK Accelerates your Development Cycle"),"\n",a.createElement(o.Bk,null,"Code is not the center, but merely one expression of the model."),"\n",a.createElement(n.p,null,"Because the most effective way to model is to do so in the context of a running system that can demonstrate whether the model actually works. ZenWave SDK helps you convert your Domain Models into working Software & Tests."),"\n",a.createElement(n.p,null,a.createElement(n.a,{href:"/docs/zenwave-sdk"},"ZenWave SDK")," accelerates your development cycle by converting your Domain Models into well crafted software artifacts you can assemble into a running application."),"\n",a.createElement(n.p,null,"With ZenWave SDK you can quickly convert your models into working software:"),"\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,"API definitions: OpenAPI and AsyncAPI v2/v3"),"\n",a.createElement(n.li,null,"Multiple backend implementations with Spring-Boot and Spring-Cloud: with JPA and MongoDB flavors."),"\n",a.createElement(n.li,null,"SpringMVC RestControllers from OpenAPI + ZDL: complete controller skeletons with their mapstruct mappers, connecting the inside of your backend with the external world through your APIs."),"\n",a.createElement(n.li,null,"API-First code generator for AsyncAPI v2/v3 for producing and consuming async events."),"\n",a.createElement(n.li,null,"API-Testing with Spring WebTestClient and KarateDSL."),"\n"),"\n",a.createElement(n.p,null,"ZenWave SDK main purpose is to help you produce successful software projects by dramatically shortening the feedback loop between the expert domain knowledge and working software and its tests."),"\n",a.createElement(o.Ee,{alt:"Domain Driven Design Feedback Loop",dark:s,light:c}),"\n",a.createElement(n.p,null,"In this way all team members: ",a.createElement(n.strong,null,"Domain Experts"),", ",a.createElement(n.strong,null,"Product Owners"),", ",a.createElement(n.strong,null,"Software Architects"),", ",a.createElement(n.strong,null,"Developers")," and ",a.createElement(n.strong,null,"Testers")," can provide early feedback based on an ",a.createElement(n.strong,null,"Ubiquitous Language (ZDL)")," and the software and tests generated from that model."),"\n",a.createElement(n.h2,{id:"zenwave-360º-landscape",style:{position:"relative"}},a.createElement(n.a,{href:"#zenwave-360%C2%BA-landscape","aria-label":"zenwave 360º landscape permalink",className:"anchor before"},a.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave 360º Landscape"),"\n",a.createElement(n.p,null,"ZenWave 360º is a set of tools that help you create software that is easy to understand, maintain and fulfill the requirements of your users."),"\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,"ZDL Domain Modeling Language","\n",a.createElement(n.ul,null,"\n",a.createElement(n.li,null,"ZenWave SDK: CLI and Maven Plugin"),"\n",a.createElement(n.li,null,"ZenWave Editor: IntelliJ Plugin"),"\n",a.createElement(n.li,null,"ZenWave Models Catalog: "),"\n"),"\n"),"\n"),"\n",a.createElement(n.p,null," "),"\n",a.createElement(o.Ee,{alt:"ZenWave360 Landscape",dark:i,light:l}))}var u=function(e){void 0===e&&(e={});const{wrapper:n}=Object.assign({},(0,r.ah)(),e.components);return n?a.createElement(n,e,a.createElement(m,e)):m(e)};function g(e){let{children:n}=e;return n}function p(e){return a.createElement(g,e,a.createElement(u,e))}},16376:function(e,n,t){t.d(n,{d2:function(){return a.d},zx:function(){return c},L0:function(){return g},$s:function(){return v},VS:function(){return b},gT:function(){return w},P7:function(){return f},Gz:function(){return p},S:function(){return R},VM:function(){return D},sd:function(){return S},kW:function(){return C},$D:function(){return x},DH:function(){return I},vC:function(){return y},LR:function(){return E},Ee:function(){return H},Bk:function(){return P},Nm:function(){return W},X_:function(){return m.X},YZ:function(){return F},vk:function(){return O},BW:function(){return B},Mo:function(){return T}});var a=t(63585),r=t(27378),o=t(87573),i=t(30294);const l=e=>{let{background:n,backgroundHover:t,on:a}=e;return()=>(0,i.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],n,a,t,a,t,a)},s=i.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),c=r.forwardRef(((e,n)=>{let{variant:t="primary",children:a,...i}=e;return r.createElement(o.z,{ref:n,"data-variant":t},(e=>r.createElement(s,Object.assign({},e,i),a)))}));t(23824),t(31729);var d=t(63681),m=t(84234);const u=i.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),g=r.forwardRef(((e,n)=>r.createElement(u,Object.assign({ref:n,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),p=i.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],d.th.px(-9),d.th.px(9)),f=i.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),h=i.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),v=r.forwardRef(((e,n)=>r.createElement(h,Object.assign({ref:n,width:48,height:48},e)))),b=r.forwardRef(((e,n)=>r.createElement(m.X,Object.assign({ref:n,row:!0,my:-4,px:3},e)))),w=r.forwardRef(((e,n)=>r.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),E=i.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:4;font-size:48;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:60;"]))),y=i.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),k=(0,i.ZPm)(m.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,d.up)("xl",(0,i.ivY)(["margin-top:6;"]))),D=r.forwardRef(((e,n)=>{let{backgroundImageURL:t,...a}=e;return r.createElement(k,Object.assign({ref:n,backgroundImage:"url("+t+")"},a))})),x=r.forwardRef(((e,n)=>r.createElement(i.x.div,Object.assign({ref:n,w:{md:.5}},e)))),I=i.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),C=r.forwardRef(((e,n)=>r.createElement(i.x.div,Object.assign({ref:n,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),S=r.forwardRef(((e,n)=>r.createElement(i.x.div,Object.assign({ref:n,col:"auto",p:2},e))));var z=t(24956);const N=i.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),Z=i.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),_=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,H=r.forwardRef(((e,n)=>r.createElement(N,{align:e.align||"center",className:e.visible},r.createElement(Z,Object.assign({ref:n,src:_(e,(0,z.If)()[0])},e)))));t(15239),t(83160);const L=(0,i.ZPm)(i.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),P=r.forwardRef(((e,n)=>r.createElement(i.x.blockquote,Object.assign({ref:n,className:"quote"},e)))),W=r.forwardRef(((e,n)=>r.createElement(L,Object.assign({ref:n},e)))),B=r.forwardRef(((e,n)=>r.createElement(i.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),F=i.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,d.up)("md",(0,i.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),T=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),j=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),M=i.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),A=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,O=r.forwardRef(((e,n)=>r.createElement(j,{className:e.className},r.createElement(M,Object.assign({ref:n,src:A(e,(0,z.If)()[0])},e))))),R=e=>{let{gist:n,file:t}=e;const a=(0,r.useRef)(null);(0,r.useEffect)((()=>{(async()=>{const e=t?"https://gist.githubusercontent.com/"+n+"/raw/"+t:"https://gist.githubusercontent.com/"+n+"/raw";try{const n=await fetch(e);if(n.ok){const e=22*(await n.text()).split("\n").length+40;a.current&&(a.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(r){console.error("Error fetching Gist content:",r)}})()}),[n,t]);const o=t?"https://gist.github.com/"+n+".pibb?file="+t:"https://gist.github.com/"+n+".pibb",i=t?"https://gist.github.com/"+n+"#file-"+t.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+n;return r.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},t&&r.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},r.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),r.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer"},t)),r.createElement("iframe",{title:t,ref:a,src:o,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js.map b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js.map new file mode 100644 index 0000000..2b43b35 --- /dev/null +++ b/component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js","mappings":"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","sources":["webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-Landscape-dark.png","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-Landscape-light.png","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark.png","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.excalidraw.svg","webpack://website/./pages/docs/ZenWave360/images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light.png","webpack://website/./pages/docs/ZenWave360/images/business-developers-software-triangle.light.png","webpack://website/./pages/docs/ZenWave360/ZenWave360.mdx","webpack://website/../smooth-doc/src/templates/doc.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js"],"sourcesContent":["export default __webpack_public_path__ + \"static/ZenWave-360-Landscape-dark-827cefe4d8f6c9cfb583787bcd6da0d0.png\";","export default __webpack_public_path__ + \"static/ZenWave-360-Landscape-light-a49770c99d3439f3a52b764905e5829b.png\";","export default __webpack_public_path__ + \"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark-7427760088d30aebaf151b93891b82bb.png\";","export default __webpack_public_path__ + \"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.excalidraw-b05a228b7280d31e26bf0830efc979f7.svg\";","export default __webpack_public_path__ + \"static/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light-48139b6e3e76bdc45a8442974d936c9f.png\";","export default __webpack_public_path__ + \"static/business-developers-software-triangle.light-c9f9eefba3ce2a408c6e623059931fa8.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport landscapeDark from './images/ZenWave-360-Landscape-dark.png';\nimport landscapeLight from './images/ZenWave-360-Landscape-light.png';\nimport dddFeedbackLoop from './images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.excalidraw.svg';\nimport dddFeedbackLoopDark from './images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.dark.png';\nimport dddFeedbackLoopLight from './images/ZenWave-360-DDD-Feedback-Loop-with-ZW-Products.light.png';\nimport dddTriangleLightImage from './images/business-developers-software-triangle.light.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n blockquote: \"blockquote\",\n h2: \"h2\",\n ul: \"ul\",\n li: \"li\",\n strong: \"strong\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"zenwave-360º\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-360%C2%BA\",\n \"aria-label\": \"zenwave 360º permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave 360º\"), \"\\n\", React.createElement(Quote, null, React.createElement(_components.p, null, \"The critical complexity of most software projects is in understanding the domain itself.\\r\\n\", React.createElement(QuoteAuthor, null, \"- Eric Evans in Domain-Driven Design\"))), \"\\n\", React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"👉 ZenWave360 Helps You Create Software Easy to Understand\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Being easy to understand should be the gold standard of good and maintainable software.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZenWave 360º\"), \" is a set of tools built on the foundations of \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain Driven Design\"), \" and \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"API-First\"), \" principles for \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Event-Driven Architectures.\")), \"\\n\", React.createElement(_components.h2, {\n id: \"domain-driven-design-and-api-first-for-event-driven-microservices\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#domain-driven-design-and-api-first-for-event-driven-microservices\",\n \"aria-label\": \"domain driven design and api first for event driven microservices permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Domain Driven Design and API-First for Event Driven Microservices\"), \"\\n\", React.createElement(Quote, null, \"The domain model is a powerful communication tool. It provides a shared vision of the structure and behavior of the system.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Event-Driven Architecture\"), \" reflects how we conduct business in real life - asynchronously and in response to events. That is why it is gaining popularity as the go-to architectural pattern for building enterprise applications.\"), \"\\n\", React.createElement(_components.p, null, \"Our lives and businesses are a continuous sequence of events. We are perpetually responding to these events and initiating new ones. \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"This is a reflection of how we operate in the real world\"), \". Therefore, Event-Driven Architectures (EDAs) are ideally suited for creating software that accurately represents and empowers our business processes.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Domain-Driven Design (DDD)\"), \" is a software development approach that emphasizes the importance of understanding the business domain in order to create effective software. Design, in the DDD sense, \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"is really about understanding\"), \", not inventing. Focusing on creating software that matches the mental model of the problem domain.\"), \"\\n\", React.createElement(_components.p, null, \"With a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"good understanding of the business\"), \" process we want to model even the \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"simplest architectural pattern\"), \" suffices for crafting software that's straightforward and maintainable.\"), \"\\n\", React.createElement(_components.p, null, \"On the other hand with a \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"poor understanding\"), \" of the business process we want to model, there is \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"no amount of clean code\"), \", clean architecture, SOLID principles, hexagonal, event-driven... that will make your code easy to maintain and to evolve because with a poor understanding, new requirements will spring as a surprise shaking the foundations of your previous design.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zdl-domain-model-language-as-ubiquitous-language-format\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zdl-domain-model-language-as-ubiquitous-language-format\",\n \"aria-label\": \"zdl domain model language as ubiquitous language format permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZDL Domain Model Language as 'Ubiquitous Language' format\"), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.a, {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL\"), \" is a developer friendly domain model format, that can map the discoveries of \", React.createElement(_components.a, {\n href: \"/docs/event-driven-design/event-storming\"\n }, \"Event-Storming\"), \" workshops capturing the essence of Event-Driven Domains while maintaining the business language brought up during Event-Storming sessions.\"), \"\\n\", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"ZDL Domain Model Language is\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Developer Friendly\"), \": compact and concise format resembling a very lightweight programing language.\"), \"\\n\", React.createElement(_components.li, null, \"Retaining the \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Business Language\"), \" discovered during Event-Storming sessions\"), \"\\n\", React.createElement(_components.li, null, \"And because it's also \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"Machine Friendly\"), \" it can be converted into multiple software artifacts \", React.createElement(\"strong\", {\n className: \"orange\"\n }, \"propagating that Common/Ubiquitous Language\"), \" automatically and effortless.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Efectively closing the Gap between Domain Experts, Technical Experts and Working Software & Tests\"), \"\\n\", React.createElement(Image, {\n alt: \"Domain Driven Design Triangle\",\n src: dddTriangleLightImage,\n width: \"80%\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-sdk-accelerates-your-development-cycle\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-sdk-accelerates-your-development-cycle\",\n \"aria-label\": \"zenwave sdk accelerates your development cycle permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave SDK Accelerates your Development Cycle\"), \"\\n\", React.createElement(Quote, null, \"Code is not the center, but merely one expression of the model.\"), \"\\n\", React.createElement(_components.p, null, \"Because the most effective way to model is to do so in the context of a running system that can demonstrate whether the model actually works. ZenWave SDK helps you convert your Domain Models into working Software & Tests.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.a, {\n href: \"/docs/zenwave-sdk\"\n }, \"ZenWave SDK\"), \" accelerates your development cycle by converting your Domain Models into well crafted software artifacts you can assemble into a running application.\"), \"\\n\", React.createElement(_components.p, null, \"With ZenWave SDK you can quickly convert your models into working software:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"API definitions: OpenAPI and AsyncAPI v2/v3\"), \"\\n\", React.createElement(_components.li, null, \"Multiple backend implementations with Spring-Boot and Spring-Cloud: with JPA and MongoDB flavors.\"), \"\\n\", React.createElement(_components.li, null, \"SpringMVC RestControllers from OpenAPI + ZDL: complete controller skeletons with their mapstruct mappers, connecting the inside of your backend with the external world through your APIs.\"), \"\\n\", React.createElement(_components.li, null, \"API-First code generator for AsyncAPI v2/v3 for producing and consuming async events.\"), \"\\n\", React.createElement(_components.li, null, \"API-Testing with Spring WebTestClient and KarateDSL.\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK main purpose is to help you produce successful software projects by dramatically shortening the feedback loop between the expert domain knowledge and working software and its tests.\"), \"\\n\", React.createElement(Image, {\n alt: \"Domain Driven Design Feedback Loop\",\n dark: dddFeedbackLoopDark,\n light: dddFeedbackLoopLight\n }), \"\\n\", React.createElement(_components.p, null, \"In this way all team members: \", React.createElement(_components.strong, null, \"Domain Experts\"), \", \", React.createElement(_components.strong, null, \"Product Owners\"), \", \", React.createElement(_components.strong, null, \"Software Architects\"), \", \", React.createElement(_components.strong, null, \"Developers\"), \" and \", React.createElement(_components.strong, null, \"Testers\"), \" can provide early feedback based on an \", React.createElement(_components.strong, null, \"Ubiquitous Language (ZDL)\"), \" and the software and tests generated from that model.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-360º-landscape\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-360%C2%BA-landscape\",\n \"aria-label\": \"zenwave 360º landscape permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave 360º Landscape\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave 360º is a set of tools that help you create software that is easy to understand, maintain and fulfill the requirements of your users.\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"ZDL Domain Modeling Language\", \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"ZenWave SDK: CLI and Maven Plugin\"), \"\\n\", React.createElement(_components.li, null, \"ZenWave Editor: IntelliJ Plugin\"), \"\\n\", React.createElement(_components.li, null, \"ZenWave Models Catalog: \"), \"\\n\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \" \"), \"\\n\", React.createElement(Image, {\n alt: \"ZenWave360 Landscape\",\n dark: landscapeDark,\n light: landscapeLight\n }));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/docs/ZenWave360/ZenWave360.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query DocPageQuery($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n tableOfContents\n }\n }\n`;\nfunction DocTemplate({children}) {\n return children;\n}\nDocTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(DocTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","blockquote","h2","ul","li","strong","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","Quote","QuoteAuthor","Image","alt","src","dddTriangleLightImage","width","dark","dddFeedbackLoopDark","light","dddFeedbackLoopLight","landscapeDark","landscapeLight","wrapper","MDXLayout","DocTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","visible","useColorMode","Cite","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js deleted file mode 100644 index e116fc7..0000000 --- a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6],{92898:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var r=n(27378),o=n(20951),a=n(30294),i=n(97702),c=n(80858),d=n.p+"static/404-f3235698f7e253ae1af3bab154ddd2f5.png";function s(e){const t=Object.assign({p:"p"},(0,o.ah)(),e.components);return a.x||l("x",!1),a.x.h1||l("x.h1",!0),a.x.img||l("x.img",!0),a.x.p||l("x.p",!0),r.createElement(i.d2,{style:{textAlign:"center",overflow:"hidden"}},r.createElement(i.X_,{mt:5,position:"relative"},r.createElement(a.x.h1,{m:0},"There's a leak in the website."),r.createElement(a.x.img,{alt:"Leak illustration",src:d,w:500,h:"auto",mx:"auto",my:5}),r.createElement(a.x.p,{my:3,mx:"auto",fontSize:"1.5em"},r.createElement(t.p,null,"The page you are looking for does not actually exist.")),r.createElement("div",null,r.createElement(i.zx,{as:c.Link,to:"/"},r.createElement(t.p,null,"Back to home")))))}var m=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,o.ah)(),e.components);return t?r.createElement(t,e,r.createElement(s,e)):s(e)};function l(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}function u(e){let{children:t}=e;return t}function f(e){return r.createElement(u,e,r.createElement(m,e))}},97702:function(e,t,n){n.d(t,{d2:function(){return r.d},zx:function(){return s},L0:function(){return f},$s:function(){return x},VS:function(){return h},gT:function(){return y},P7:function(){return g},Gz:function(){return p},VM:function(){return E},sd:function(){return j},kW:function(){return C},$D:function(){return I},DH:function(){return _},vC:function(){return k},LR:function(){return w},Ee:function(){return O},Bk:function(){return B},Nm:function(){return F},X_:function(){return l.X},YZ:function(){return Y},vk:function(){return q},BW:function(){return H},Mo:function(){return T}});var r=n(63585),o=n(27378),a=n(87573),i=n(30294);const c=e=>{let{background:t,backgroundHover:n,on:r}=e;return()=>(0,i.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,r,n,r,n,r)},d=i.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],c({background:"primary-600",backgroundHover:"primary-700",on:"white"}),c({background:"green-600",backgroundHover:"green-700",on:"white"}),c({background:"red-600",backgroundHover:"red-700",on:"white"}),c({background:"gray-300",backgroundHover:"gray-400",on:"black"})),s=o.forwardRef(((e,t)=>{let{variant:n="primary",children:r,...i}=e;return o.createElement(a.z,{ref:t,"data-variant":n},(e=>o.createElement(d,Object.assign({},e,i),r)))}));n(23824),n(31729);var m=n(63681),l=n(84234);const u=i.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),f=o.forwardRef(((e,t)=>o.createElement(u,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),p=i.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],m.th.px(-9),m.th.px(9)),g=i.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),b=i.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),x=o.forwardRef(((e,t)=>o.createElement(b,Object.assign({ref:t,width:48,height:48},e)))),h=o.forwardRef(((e,t)=>o.createElement(l.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),y=o.forwardRef(((e,t)=>o.createElement(i.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),w=i.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,m.up)("md",(0,i.ivY)(["padding-top:4;font-size:48;"])),(0,m.up)("xl",(0,i.ivY)(["font-size:60;"]))),k=i.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,m.up)("md",(0,i.ivY)(["font-size:20;"])),(0,m.up)("xl",(0,i.ivY)(["font-size:24;"]))),v=(0,i.ZPm)(l.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,m.up)("md",(0,i.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,m.up)("xl",(0,i.ivY)(["margin-top:6;"]))),E=o.forwardRef(((e,t)=>{let{backgroundImageURL:n,...r}=e;return o.createElement(v,Object.assign({ref:t,backgroundImage:"url("+n+")"},r))})),I=o.forwardRef(((e,t)=>o.createElement(i.x.div,Object.assign({ref:t,w:{md:.5}},e)))),_=i.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),C=o.forwardRef(((e,t)=>o.createElement(i.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),j=o.forwardRef(((e,t)=>o.createElement(i.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var z=n(24956);const N=i.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),P=i.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),Z=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,O=o.forwardRef(((e,t)=>o.createElement(N,{align:e.align||"center",className:e.visible},o.createElement(P,Object.assign({ref:t,src:Z(e,(0,z.If)()[0])},e)))));n(15239),n(83160);const R=(0,i.ZPm)(i.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),B=o.forwardRef(((e,t)=>o.createElement(i.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),F=o.forwardRef(((e,t)=>o.createElement(R,Object.assign({ref:t},e)))),H=o.forwardRef(((e,t)=>o.createElement(i.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),Y=i.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,m.up)("md",(0,i.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),T=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,m.up)("md",(0,i.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,m.up)("xl",(0,i.ivY)(["font-size:24;"]))),W=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),L=i.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),X=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,q=o.forwardRef(((e,t)=>o.createElement(W,{className:e.className},o.createElement(L,Object.assign({ref:t,src:X(e,(0,z.If)()[0])},e)))))}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js.map b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js.map deleted file mode 100644 index 93f28fc..0000000 --- a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js","mappings":"8MAAA,EAAe,IAA0B,kDCOzC,SAASA,EAAkBC,GACzB,MAAMC,EAAcC,OAAOC,OAAO,CAChCC,EAAG,MACFC,EAAAA,EAAAA,MAAsBL,EAAMM,YAK/B,OAJKC,EAAAA,GAAGC,EAAqB,KAAK,GAC7BD,EAAAA,EAAAA,IAAMC,EAAqB,QAAQ,GACnCD,EAAAA,EAAAA,KAAOC,EAAqB,SAAS,GACrCD,EAAAA,EAAAA,GAAKC,EAAqB,OAAO,GAC/BC,EAAAA,cAAoBC,EAAAA,GAAS,CAClCC,MAAO,CACLC,UAAW,SACXC,SAAU,WAEXJ,EAAAA,cAAoBK,EAAAA,GAAiB,CACtCC,GAAI,EACJC,SAAU,YACTP,EAAAA,cAAoBF,EAAAA,EAAAA,GAAM,CAC3BU,EAAG,GACF,kCAAmCR,EAAAA,cAAoBF,EAAAA,EAAAA,IAAO,CAC/DW,IAAK,oBACLC,IAAKC,EACLC,EAAG,IACHC,EAAG,OACHC,GAAI,OACJC,GAAI,IACFf,EAAAA,cAAoBF,EAAAA,EAAAA,EAAK,CAC3BiB,GAAI,EACJD,GAAI,OACJE,SAAU,SACThB,EAAAA,cAAoBR,EAAYG,EAAG,KAAM,0DAA2DK,EAAAA,cAAoB,MAAO,KAAMA,EAAAA,cAAoBiB,EAAAA,GAAQ,CAClKC,GAAIC,EAAAA,KACJC,GAAI,KACHpB,EAAAA,cAAoBR,EAAYG,EAAG,KAAM,mBAC7C,CAKD,MAJA,SAAoBJ,QAAY,IAAZA,IAAAA,EAAQ,CAAC,GAC3B,MAAO8B,QAASC,GAAa7B,OAAOC,OAAO,CAAC,GAAGE,EAAAA,EAAAA,MAAsBL,EAAMM,YAC3E,OAAOyB,EAAYtB,EAAAA,cAAoBsB,EAAW/B,EAAOS,EAAAA,cAAoBV,EAAmBC,IAAUD,EAAkBC,EAC7H,EAED,SAASQ,EAAqBwB,EAAIC,GAChC,MAAM,IAAIC,MAAM,aAAeD,EAAY,YAAc,UAAY,KAAOD,EAAK,qEAClF,CCnCD,SAASG,EAAT,GAAkC,IAAZ,SAACC,GAAWC,EAChC,OAAOD,CACR,CAEc,SAASE,EAAiBtC,GACvC,OAAOS,EAAAA,cAAoB0B,EAAcnC,EAAOS,EAAAA,cAAoB8B,EAAqBvC,GAC1F,C,6nBCfD,MAAMwC,EACJH,IAAAA,IAAC,WAAEI,EAAF,gBAAcC,EAAd,GAA+BC,GAAhCN,EAAAA,MACA,KACSO,EAAAA,EAAAA,KAAP,mJACsBH,EACXE,EAGaD,EACXC,EAIWD,EACXC,EAbf,EAkBIE,EAAcC,EAAAA,IAAAA,UAAAA,WAAH,+DAAGA,CAAH,8VAmBXN,EAAQ,CACRC,WAAY,cACZC,gBAAiB,cACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,YACZC,gBAAiB,YACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,UACZC,gBAAiB,UACjBC,GAAI,UAKJH,EAAQ,CACRC,WAAY,WACZC,gBAAiB,WACjBC,GAAI,WAKGjB,EAASjB,EAAAA,YACpB,CAAC,EAA6CsC,KAAS,IAAtD,QAAEP,EAAU,UAAZ,SAAuBJ,KAAapC,GAAiBgD,EACpD,OACEvC,EAAAA,cAACwC,EAAAA,EAAD,CAAeF,IAAKA,EAAK,eAAcP,IACnCU,GACAzC,EAAAA,cAACoC,EAAD,iBAAiBK,EAAiBlD,GAC/BoC,IAJT,I,4CCtEJ,MAAMe,EAAeL,EAAAA,IAAAA,IAAAA,WAAH,iEAAGA,CAAH,kIAQLM,EAAU3C,EAAAA,YAAiB,CAACT,EAAO+C,IAC9CtC,EAAAA,cAAC0C,EAAD,eACEJ,IAAKA,EACLM,IAAK,CAAEC,GAAI,EAAGC,GAAI,EAAI,GACtBC,GAAI,EACJC,GAAI,EACJC,GAAI,CAAEJ,GAAI,EAAGC,GAAI,IACbvD,MAIK2D,EAAeb,EAAAA,IAAAA,GAAAA,WAAH,iEAAGA,CAAH,qHAMRc,EAAAA,GAAAA,IAAO,GACNA,EAAAA,GAAAA,GAAM,IAGXC,EAAcf,EAAAA,IAAAA,EAAAA,WAAH,gEAAGA,CAAH,2EAOlBgB,EAAoBhB,EAAAA,IAAAA,IAAAA,WAAH,sEAAGA,CAAH,mBAIViB,EAAetD,EAAAA,YAAiB,CAACT,EAAO+C,IACnDtC,EAAAA,cAACqD,EAAD,eAAmBf,IAAKA,EAAKiB,MAAO,GAAIC,OAAQ,IAAQjE,MAG7CkE,EAAczD,EAAAA,YAAiB,CAACT,EAAO+C,IAClDtC,EAAAA,cAACK,EAAAA,EAAD,eAAiBiC,IAAKA,EAAKoB,KAAG,EAAC3C,IAAK,EAAGgC,GAAI,GAAOxD,MAGvCoE,EAAiB3D,EAAAA,YAAiB,CAACT,EAAO+C,IACrDtC,EAAAA,cAACF,EAAAA,EAAAA,QAAD,eACEwC,IAAKA,EACLsB,GAAI,EACJC,UAAW,EACXC,aAAc,EACdC,YAAY,iBACRxE,MCzDKyE,EAAY3B,EAAAA,IAAAA,MAAAA,WAAH,2DAAGA,CAAH,8FAOlB4B,EAAAA,EAAAA,IACA,MACA9B,EAAAA,EAAAA,KAFG,CAAD,kCAQF8B,EAAAA,EAAAA,IACA,MACA9B,EAAAA,EAAAA,KAFG,CAAD,oBAQO+B,EAAa7B,EAAAA,IAAAA,KAAAA,WAAH,4DAAGA,CAAH,qCAInB4B,EAAAA,EAAAA,IACA,MACA9B,EAAAA,EAAAA,KAFG,CAAD,oBAOF8B,EAAAA,EAAAA,IACA,MACA9B,EAAAA,EAAAA,KAFG,CAAD,oBAQAgC,GAAY9B,EAAAA,EAAAA,KAAOhC,EAAAA,GAAV+D,WAAA,2DAAG/B,CAAH,wIAOX4B,EAAAA,EAAAA,IACA,MACA9B,EAAAA,EAAAA,KAFG,CAAD,2HAYF8B,EAAAA,EAAAA,IACA,MACA9B,EAAAA,EAAAA,KAFG,CAAD,oBAQOkC,EAAOrE,EAAAA,YAClB,CAAC,EAAkCsC,KAAS,IAA3C,mBAAEgC,KAAuB/E,GAAiBqC,EACzC,OACE5B,EAAAA,cAACmE,EAAD,eACE7B,IAAKA,EACLiC,gBAAe,OAASD,EAAT,KACX/E,GAJR,IAUSiF,EAAWxE,EAAAA,YAAiB,CAACT,EAAO+C,IACxCtC,EAAAA,cAACF,EAAAA,EAAAA,IAAD,eAAOwC,IAAKA,EAAK1B,EAAG,CAAEkC,GAAI,KAAWvD,MAGjCkF,EAAcpC,EAAAA,IAAAA,WAAAA,WAAH,6DAAGA,CAAH,qDAMXqC,EAAiB1E,EAAAA,YAAiB,CAACT,EAAO+C,IAEnDtC,EAAAA,cAACF,EAAAA,EAAAA,IAAD,eACEwC,IAAKA,EACLoB,KAAG,EACHlD,GAAI,EACJmE,eAAgB,CAAE9B,GAAI,SAAUC,GAAI,YAChCvD,MAKGqF,EAAa5E,EAAAA,YAAiB,CAACT,EAAO+C,IAC1CtC,EAAAA,cAACF,EAAAA,EAAAA,IAAD,eAAOwC,IAAKA,EAAKM,IAAI,OAAOjD,EAAG,GAAOJ,M,eCvG/C,MAAMsF,EAAiBxC,EAAAA,IAAAA,IAAAA,WAAH,iEAAGA,CAAH,qBACH9C,GAASA,EAAMuF,QAE1BC,EAAa1C,EAAAA,IAAAA,IAAAA,WAAH,6DAAGA,CAAH,2BAGV3B,EAAM,CAACnB,EAAOyF,IACK,SAAdA,EAAsBzF,EAAM0F,MAAQ1F,EAAMmB,IAAMnB,EAAM2F,OAAS3F,EAAMmB,IAEnEyE,EAAQnF,EAAAA,YAAiB,CAACT,EAAO+C,IAC1CtC,EAAAA,cAAC6E,EAAD,CAAgBC,MAAOvF,EAAMuF,OAAS,SAAUM,UAAW7F,EAAM8F,SAC7DrF,EAAAA,cAAC+E,EAAD,eAAYzC,IAAKA,EAAK5B,IAAKA,EAAInB,GAAO+F,EAAAA,EAAAA,MAAe,KAAS/F,O,kBCZtE,MAAMgG,GAAOlD,EAAAA,EAAAA,KAAOvC,EAAAA,EAAAA,MAAVsE,WAAA,uDAAG/B,CAAH,qDAMGmD,EAAQxF,EAAAA,YAAiB,CAACT,EAAO+C,IACnCtC,EAAAA,cAACF,EAAAA,EAAAA,WAAD,eAAcwC,IAAKA,EAAK8C,UAAU,SAAY7F,MAG5CkG,EAAczF,EAAAA,YAAiB,CAACT,EAAO+C,IACzCtC,EAAAA,cAACuF,EAAD,eAAMjD,IAAKA,GAAS/C,MCZlBmG,EAAqB1F,EAAAA,YAAiB,CAACT,EAAO+C,IACvDtC,EAAAA,cAACF,EAAAA,EAAAA,QAAD,eACIwC,IAAKA,EACLsB,GAAI,EACJC,UAAW,EACXC,aAAc,EACdC,YAAY,iBACRxE,MAICoG,EAActD,EAAAA,IAAAA,OAAAA,WAAH,uDAAGA,CAAH,wBAEpB4B,EAAAA,EAAAA,IACE,MACA9B,EAAAA,EAAAA,KAFC,CAAD,4KAaOyD,EAAkBvD,EAAAA,IAAAA,OAAAA,WAAH,wEAAGA,CAAH,gEAKxB4B,EAAAA,EAAAA,IACE,MACA9B,EAAAA,EAAAA,KAFC,CAAD,kDASF8B,EAAAA,EAAAA,IACE,MACA9B,EAAAA,EAAAA,KAFC,CAAD,oBAOA0D,EAA4BxD,EAAAA,IAAAA,OAAAA,WAAH,kFAAGA,CAAH,qCAKzB0C,EAAa1C,EAAAA,IAAAA,OAAAA,WAAH,mEAAGA,CAAH,2BAKV3B,EAAM,CAACnB,EAAOyF,IACG,SAAdA,EAAsBzF,EAAM0F,MAAQ1F,EAAMmB,IAAMnB,EAAM2F,OAAS3F,EAAMmB,IAEjEoF,EAAmB9F,EAAAA,YAAiB,CAACT,EAAO+C,IACrDtC,EAAAA,cAAC6F,EAAD,CAA2BT,UAAW7F,EAAM6F,WAC1CpF,EAAAA,cAAC+E,EAAD,eAAYzC,IAAKA,EAAK5B,IAAKA,EAAInB,GAAO+F,EAAAA,EAAAA,MAAe,KAAS/F,M","sources":["webpack://website/../smooth-doc/images/404.png","webpack://website/../smooth-doc/pages/404.mdx","webpack://website/../smooth-doc/src/templates/page.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js"],"sourcesContent":["export default __webpack_public_path__ + \"static/404-f3235698f7e253ae1af3bab154ddd2f5.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Article, ScreenContainer, Button} from '../components';\nimport {Link} from 'gatsby';\nimport notFoundImageURL from '../images/404.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\"\n }, _provideComponents(), props.components);\n if (!x) _missingMdxReference(\"x\", false);\n if (!x.h1) _missingMdxReference(\"x.h1\", true);\n if (!x.img) _missingMdxReference(\"x.img\", true);\n if (!x.p) _missingMdxReference(\"x.p\", true);\n return React.createElement(Article, {\n style: {\n textAlign: 'center',\n overflow: 'hidden'\n }\n }, React.createElement(ScreenContainer, {\n mt: 5,\n position: \"relative\"\n }, React.createElement(x.h1, {\n m: 0\n }, \"There's a leak in the website.\"), React.createElement(x.img, {\n alt: \"Leak illustration\",\n src: notFoundImageURL,\n w: 500,\n h: \"auto\",\n mx: \"auto\",\n my: 5\n }), React.createElement(x.p, {\n my: 3,\n mx: \"auto\",\n fontSize: \"1.5em\"\n }, React.createElement(_components.p, null, \"The page you are looking for does not actually exist.\")), React.createElement(\"div\", null, React.createElement(Button, {\n as: Link,\n to: \"/\"\n }, React.createElement(_components.p, null, \"Back to home\")))));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/smooth-doc/pages/404.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query PageTemplate($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PageTemplate({children}) {\n return children;\n}\nPageTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PageTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n"],"names":["_createMdxContent","props","_components","Object","assign","p","_provideComponents","components","x","_missingMdxReference","React","Article","style","textAlign","overflow","ScreenContainer","mt","position","m","alt","src","notFoundImageURL","w","h","mx","my","fontSize","Button","as","Link","to","wrapper","MDXLayout","id","component","Error","PageTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","row","FeatureSection","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","HeroSection","HeroActionList","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","Image","className","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js new file mode 100644 index 0000000..d0134b1 --- /dev/null +++ b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6],{92898:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var r=n(27378),o=n(20951),i=n(30294),a=n(16376),c=n(80858),d=n.p+"static/404-f3235698f7e253ae1af3bab154ddd2f5.png";function s(e){const t=Object.assign({p:"p"},(0,o.ah)(),e.components);return i.x||m("x",!1),i.x.h1||m("x.h1",!0),i.x.img||m("x.img",!0),i.x.p||m("x.p",!0),r.createElement(a.d2,{style:{textAlign:"center",overflow:"hidden"}},r.createElement(a.X_,{mt:5,position:"relative"},r.createElement(i.x.h1,{m:0},"There's a leak in the website."),r.createElement(i.x.img,{alt:"Leak illustration",src:d,w:500,h:"auto",mx:"auto",my:5}),r.createElement(i.x.p,{my:3,mx:"auto",fontSize:"1.5em"},r.createElement(t.p,null,"The page you are looking for does not actually exist.")),r.createElement("div",null,r.createElement(a.zx,{as:c.Link,to:"/"},r.createElement(t.p,null,"Back to home")))))}var l=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,o.ah)(),e.components);return t?r.createElement(t,e,r.createElement(s,e)):s(e)};function m(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}function u(e){let{children:t}=e;return t}function f(e){return r.createElement(u,e,r.createElement(l,e))}},16376:function(e,t,n){n.d(t,{d2:function(){return r.d},zx:function(){return s},L0:function(){return f},$s:function(){return h},VS:function(){return x},gT:function(){return y},P7:function(){return p},Gz:function(){return g},S:function(){return X},VM:function(){return E},sd:function(){return j},kW:function(){return C},$D:function(){return I},DH:function(){return _},vC:function(){return k},LR:function(){return w},Ee:function(){return Z},Bk:function(){return O},Nm:function(){return F},X_:function(){return m.X},YZ:function(){return Y},vk:function(){return S},BW:function(){return H},Mo:function(){return T}});var r=n(63585),o=n(27378),i=n(87573),a=n(30294);const c=e=>{let{background:t,backgroundHover:n,on:r}=e;return()=>(0,a.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,r,n,r,n,r)},d=a.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],c({background:"primary-600",backgroundHover:"primary-700",on:"white"}),c({background:"green-600",backgroundHover:"green-700",on:"white"}),c({background:"red-600",backgroundHover:"red-700",on:"white"}),c({background:"gray-300",backgroundHover:"gray-400",on:"black"})),s=o.forwardRef(((e,t)=>{let{variant:n="primary",children:r,...a}=e;return o.createElement(i.z,{ref:t,"data-variant":n},(e=>o.createElement(d,Object.assign({},e,a),r)))}));n(23824),n(31729);var l=n(63681),m=n(84234);const u=a.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),f=o.forwardRef(((e,t)=>o.createElement(u,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=a.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],l.th.px(-9),l.th.px(9)),p=a.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),b=a.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),h=o.forwardRef(((e,t)=>o.createElement(b,Object.assign({ref:t,width:48,height:48},e)))),x=o.forwardRef(((e,t)=>o.createElement(m.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),y=o.forwardRef(((e,t)=>o.createElement(a.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),w=a.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,l.up)("md",(0,a.ivY)(["padding-top:4;font-size:48;"])),(0,l.up)("xl",(0,a.ivY)(["font-size:60;"]))),k=a.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,l.up)("md",(0,a.ivY)(["font-size:20;"])),(0,l.up)("xl",(0,a.ivY)(["font-size:24;"]))),v=(0,a.ZPm)(m.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,l.up)("md",(0,a.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,l.up)("xl",(0,a.ivY)(["margin-top:6;"]))),E=o.forwardRef(((e,t)=>{let{backgroundImageURL:n,...r}=e;return o.createElement(v,Object.assign({ref:t,backgroundImage:"url("+n+")"},r))})),I=o.forwardRef(((e,t)=>o.createElement(a.x.div,Object.assign({ref:t,w:{md:.5}},e)))),_=a.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),C=o.forwardRef(((e,t)=>o.createElement(a.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),j=o.forwardRef(((e,t)=>o.createElement(a.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var z=n(24956);const N=a.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),R=a.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),P=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,Z=o.forwardRef(((e,t)=>o.createElement(N,{align:e.align||"center",className:e.visible},o.createElement(R,Object.assign({ref:t,src:P(e,(0,z.If)()[0])},e)))));n(15239),n(83160);const B=(0,a.ZPm)(a.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),O=o.forwardRef(((e,t)=>o.createElement(a.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),F=o.forwardRef(((e,t)=>o.createElement(B,Object.assign({ref:t},e)))),H=o.forwardRef(((e,t)=>o.createElement(a.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),Y=a.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,l.up)("md",(0,a.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),T=a.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,l.up)("md",(0,a.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,l.up)("xl",(0,a.ivY)(["font-size:24;"]))),W=a.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),L=a.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),q=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,S=o.forwardRef(((e,t)=>o.createElement(W,{className:e.className},o.createElement(L,Object.assign({ref:t,src:q(e,(0,z.If)()[0])},e))))),X=e=>{let{gist:t,file:n}=e;const r=(0,o.useRef)(null);(0,o.useEffect)((()=>{(async()=>{const e=n?"https://gist.githubusercontent.com/"+t+"/raw/"+n:"https://gist.githubusercontent.com/"+t+"/raw";try{const t=await fetch(e);if(t.ok){const e=22*(await t.text()).split("\n").length+40;r.current&&(r.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(o){console.error("Error fetching Gist content:",o)}})()}),[t,n]);const i=n?"https://gist.github.com/"+t+".pibb?file="+n:"https://gist.github.com/"+t+".pibb",a=n?"https://gist.github.com/"+t+"#file-"+n.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+t;return o.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},n&&o.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},o.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),o.createElement("a",{href:a,target:"_blank",rel:"noopener noreferrer"},n)),o.createElement("iframe",{title:n,ref:r,src:i,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js.map b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js.map new file mode 100644 index 0000000..e9b503d --- /dev/null +++ b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js","mappings":"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","sources":["webpack://website/../smooth-doc/images/404.png","webpack://website/../smooth-doc/pages/404.mdx","webpack://website/../smooth-doc/src/templates/page.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js"],"sourcesContent":["export default __webpack_public_path__ + \"static/404-f3235698f7e253ae1af3bab154ddd2f5.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Article, ScreenContainer, Button} from '../components';\nimport {Link} from 'gatsby';\nimport notFoundImageURL from '../images/404.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\"\n }, _provideComponents(), props.components);\n if (!x) _missingMdxReference(\"x\", false);\n if (!x.h1) _missingMdxReference(\"x.h1\", true);\n if (!x.img) _missingMdxReference(\"x.img\", true);\n if (!x.p) _missingMdxReference(\"x.p\", true);\n return React.createElement(Article, {\n style: {\n textAlign: 'center',\n overflow: 'hidden'\n }\n }, React.createElement(ScreenContainer, {\n mt: 5,\n position: \"relative\"\n }, React.createElement(x.h1, {\n m: 0\n }, \"There's a leak in the website.\"), React.createElement(x.img, {\n alt: \"Leak illustration\",\n src: notFoundImageURL,\n w: 500,\n h: \"auto\",\n mx: \"auto\",\n my: 5\n }), React.createElement(x.p, {\n my: 3,\n mx: \"auto\",\n fontSize: \"1.5em\"\n }, React.createElement(_components.p, null, \"The page you are looking for does not actually exist.\")), React.createElement(\"div\", null, React.createElement(Button, {\n as: Link,\n to: \"/\"\n }, React.createElement(_components.p, null, \"Back to home\")))));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/smooth-doc/pages/404.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query PageTemplate($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PageTemplate({children}) {\n return children;\n}\nPageTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PageTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n"],"names":["_createMdxContent","props","_components","Object","assign","p","_provideComponents","components","x","_missingMdxReference","React","Article","style","textAlign","overflow","ScreenContainer","mt","position","m","alt","src","notFoundImageURL","w","h","mx","my","fontSize","Button","as","Link","to","wrapper","MDXLayout","id","component","Error","PageTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","row","FeatureSection","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","HeroSection","HeroActionList","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","Image","className","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","href","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js similarity index 87% rename from component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js rename to component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js index cbd0fd5..46af141 100644 --- a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js +++ b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[261],{43635:function(M,D,I){I.r(D),I.d(D,{default:function(){return x}});var N=I(27378),j=I(20951),g=I(80858),L=I(97702),A=I.p+"static/hero-background-b6fccd4ea5501ab264bb1bdb7fbbf8ba.png",u=I.p+"static/zenwave-sdk-dark-44c70567cf17d96a54e9284837feac82.png",y=I.p+"static/asyncapi-logo-fe1db05dd2b15b8170701f43d18710a1.png",z="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgMjYwIDI2MCINCiAgIHdpZHRoPSIyNjAiDQogICBoZWlnaHQ9IjI2MCINCiAgIGlkPSJzdmc1MjkzNiINCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICA8ZGVmcw0KICAgICBpZD0iZGVmczUyOTQwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDE0NC4wNjM1MiwyMzEuMzg5MTYgYyAxOS40NDg4NSwtNC40MzA0NyAzOC4wNzMzMiwtMTMuNjAzNjcgNTMuNjc0MjcsLTI2LjIyMDczIDE3LjA2OTI1LC0xMy43NTM0NCAzMC4yNzQ0NSwtMzEuNDIxMTUgMzguNDI0OTgsLTUwLjYyMDE2IDguMTg1MiwtMTkuMjE5MzQgMTEuMjMxMTgsLTM5Ljg0MTQ1IDguNzA2MzIsLTU5LjM1NjUyMiAtMi40NzIyOCwtMTkuNTkzNjIzIC0xMC43MjkxMSwtMzcuNjk5ODY2IC0yMy4zMzQ4OSwtNTIuNTg1ODY5IC0zLjAwMDc3LDIuMzI4NjgzIC01Ljk5MjU4LDQuNjUwNDI2IC04Ljk4NTY2LDYuOTc5NDg3IDExLjE5NzY0LDEzLjI2NTI1OSAxOC42ODkzNywyOS4yODEyNSAyMS4xMDgyNSw0Ni42ODc2MzMgMi42MDUyNSwxOC4xMzkwMjEgLTAuMTI2NzcsMzcuMzg5NDMxIC03Ljc0NDg5LDU1LjMwODkwMSAtOC4wNjg2NiwxOS4wNDA3MyAtMjEuNjA2NjUsMzYuNDE4NjIgLTM5LjE1NTYyLDQ5LjMyODcyIC0xMy4zOTkxNCw5Ljg5Mzg5IC0yOC45NDQwMSwxNy4wNTIzNyAtNDUuMDc4NzUsMjAuNjAxNyAtMjAuMTM0OTksNC40Njk3MSAtNDAuOTcwMzMsMy4zODM3NCAtNTkuMjI1NjA4LC0zLjAzMzcyIEMgNjUuMzE2OTk1LDIxMi40OTM5MiA1MC42MjA0MzYsMjAxLjgyMDExIDQwLjgzNjM4NywxODcuNjAwMTUgMzMuNDU1NzUyLDE3Ni45MzMwOSAyOC45Mjk3MTksMTY0LjQyNDQyIDI3LjgyODQ3OCwxNTEuMjU0MjQgMjYuMzAzMzQyLDEzMy43ODIxNiAzMC42OTI3NDUsMTE1LjMzODQ5IDQwLjI4MDM2Miw5OS4wOTAxNSA0Ny44MTYzMzksODYuMjgxMDc2IDU4LjU2NTg2NCw3NC45NDc0NTggNzEuNTI5MjI4LDY2LjU4ODg3NiA4My43NzMyNjIsNTguNjQ0MjY2IDk3LjgzMTc0Miw1My40OTk1NzUgMTEyLjA0OTkyLDUxLjgzMTYzOSBjIDI0LjkxNzMxLC0yLjk4OTA0IDQ5LjcxODEzLDQuNTU1MDc2IDY1LjQ0MjU2LDIxLjA1OTM5NCA4Ljk2ODI0LDkuMzgxNjggMTQuNzIxNjgsMjEuNDI4MTM2IDE2LjE0MjI1LDM0LjQ2Njc5NyAxLjY0NjY3LDE0LjU4NTE0IC0yLjAyLDMwLjE0MjYxIC0xMC4zODI1Myw0My42MjYgLTYuNDE1MjIsMTAuMzc4MzYgLTE1LjU4NjgzLDE5LjM5MjgyIC0yNi41NTQ0OSwyNS42ODIxIC0xOS45MzQ2MSwxMS42NjA4MiAtNDQuOTc3MDIsMTIuODc5NjcgLTYzLjYzOTE2OSwzLjEwNTg1IC05LjQwOTAyNiwtNC44NjUwMiAtMTYuOTIzMjA3LC0xMi40MzkxMiAtMjEuMTM2MDY5LC0yMS43NzMyNyAtNC4yNDk5MjEsLTkuMjU0NzkgLTQuOTg3NDc3LC0yMC4wODkyNiAtMi4xNjkwMTQsLTMwLjQ4NjM3IDIuOTI4NTA0LC0xMC45MDA4MiA5LjY5MTA2MiwtMjEuMjEwMDUgMTkuNDMyODY3LC0yOC40NTQwNDMgOS4wNTM2MywtNi43ODQyMDIgMjAuMzg3MjA1LC0xMC41MjM2MTkgMzEuMzM2ODA1LC0xMC4wMzEzMjggMTIuODY3OTYsMC41MDc2NzYgMjQuNjYzODYsNi42MTQ2ODIgMzAuMDkyNDMsMTcuMjM1MTMxIDUuMjE0MywxMC4wMDQ1MiAzLjU0MjE0LDIzLjIyNjkxIC00LjkwNjA1LDMyLjc1NzU0IC01LjE0ODk1LDUuODI5NDcgLTEyLjg3MzI3LDkuNzg3NTMgLTIwLjYyMDI2LDkuNzQ0MzIgLTYuMzQzMTgsMC4wMTI3IC0xMi42MTkwNiwtMi41OTExNCAtMTUuNTMxMjQsLTcuNzI2ODQgLTIuNTMwMDUsLTQuMTc5MTUgLTEuODM0NjMsLTEwLjM1ODM0IDIuMzEwNDgsLTE0LjE2NDQ3IDEuODc0MTUsLTEuNTQ0MDggMy4zNTg3NiwtMS41OTQ3OCA1LjQwNjg2LC0wLjgzNDgxIDAuNDUzMTEsLTEuNDA4OTUgMC44ODY2MiwtMS45Nzc1NSAxLjMxNjE1LC0xLjcwNTAxIDEuODQzNTcsMi42NzU5NiAzLjE5Nyw1LjY1OTI4IDQuOTM1MSw4LjQwMzcxIDIuMTI4NDcsLTEuNzk2OTQgNC4xNDM4MSwtMy4yMDg0MiA0LjgyNzMzLC01LjkxMjA4IDEuMjIxMjMsLTQuODMxNjMgLTIuMjUwMzIsLTguNjY3MDYgLTYuMzUzNDEsLTEwLjYwMDYxIC01Ljk3Mzg3LC0yLjg2MTc0IC0xNC4wNzAwNCwtMC4xNDc1NiAtMTguNzQ5MTIsNC44NTY4NiAtNy4xMjgxODYsNy41MzA1NyAtOC4xNzM0MzUsMTguMzc4NjQgLTMuMzM1NDA3LDI2LjEyMDU2IDYuMTYwODY3LDEwLjIyMTkzIDIwLjE4NjI3NywxNC4wMzUyIDMyLjkxNTU4NywxMC44NTMxNCA4Ljg4Mzk3LC0yLjIwOTU3IDE2Ljk4OTIzLC03LjU2NTQ2IDIyLjYwMTAzLC0xNC42MzM2NCA2LjI1ODYzLC03LjgzMjcxIDkuNDY4OTUsLTE3LjQyMDM0IDkuMjc5MDQsLTI2LjYyNTc2IC0wLjE3MTMsLTEwLjI2NzIgLTQuNzM5ODMsLTE5LjgwMzc0OCAtMTIuMjUzMDIsLTI2LjU2NTk1NSBDIDEzOC41NDg0Miw3Ny42NjA5NzEgMTE1Ljk1OTA1LDc1LjE5NTEyOSA5Ni43MTIwNCw4My4zMTExMiA4Ni4zNjc4MDUsODcuNjA5NTk1IDc3LjE5MTQ1MSw5NC42NTMzMDEgNzAuNDQyMjQ2LDEwMy4yOTUyNyBjIC05LjA1NzM5MywxMS41Mjk1MSAtMTMuNzcxODgxLDI1LjU1MDgxIC0xMy40NjkwMzYsMzkuMDQ5OCAwLjMzNzcxNiwyMC4yOTA1NiAxMi40NzY0MDgsMzguMTE5OTQgMzAuODUwMDgyLDQ3LjExOTA2IDE0LjExNjk2OCw3LjA1MDQ1IDMxLjM0NjYwOCw5LjAzMjQyIDQ4LjA0MDc3OCw1LjY4MDk3IDEzLjg0ODQxLC0yLjc0MTkzIDI3LjEyMzMxLC05LjE4ODA4IDM4LjA5ODIxLC0xOC4yNDQ1OSAxOS4xOTI4MSwtMTUuNzk0MjMgMzAuNDI2NjMsLTM4LjgwMTE3IDMxLjEzMzA2LC02MS4zNDkxOCAwLjUwNTgsLTE0LjQzMjQ5IC0zLjM4NDIsLTI4LjQxNDY5NCAtMTEuMDg2NzUsLTQwLjExNjQ3NSBDIDE4NS45MDE3LDYyLjk5NjgzNCAxNzMuNjk2ODgsNTMuMzYzNjE5IDE1OS4zMDc4OSw0Ny41MzE5OCAxNDMuMTE0NTksNDAuOTMwNTA2IDEyNC4zMjk5NSwzOS4xMzU5NTcgMTA1LjkzOTAxLDQyLjQwOTMyNCA5MC4xOTA0MTYsNDUuMTY2Mjc1IDc0Ljg2OTg4Myw1MS43MDEzMzkgNjEuNjk1NjQ4LDYxLjEwNDY4NiA0Ni41Mjc4MzcsNzEuODgzNzA1IDM0LjQ1OTE3NSw4Ni4zMDIyNzIgMjYuNjgxNjUzLDEwMi4yODc0OCBjIC04LjYyNjgzMSwxNy42NTQ2NyAtMTEuOTYzMjE2LDM3LjA1OTE3IC05LjQ0Nzk2OSw1NS4yNjc0MyAyLjIyMjQ5OCwxNi40NTkxOSA5LjI5NzAzMywzMS43Njc4NCAyMC4xNTI2OCw0NC4xMTU0OCAxMi4wNjE2NzUsMTMuNzgxMDggMjguNjI2NjY5LDIzLjY3MDc0IDQ3LjI5MTcyMSwyOC43OTUxNCAxOC43MDM5MjUsNS4xNzA2NSAzOS4zODM4MzUsNS41MjU1NSA1OS4zODU0MzUsMC45MjM2MyB6Ig0KICAgICBmaWxsPSIjMDAwMDAwIg0KICAgICBpZD0icGF0aDUyOTM0Ig0KICAgICBzdHlsZT0iZmlsbDojYmFiOWJiO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjc1NTkiIC8+DQo8L3N2Zz4NCg==",C=I.p+"static/laptop-gears-54f3eaa232e7503cd5a1cb0cea35d352.svg",T=I(29934),w=I(28151),i=I(53468),E=I.p+"static/plugin-run-screenshot-0aea571608647046fa2f9cc31ce61bf0.png";function O(M){const D=Object.assign({p:"p",ul:"ul",li:"li"},(0,j.ah)(),M.components);return N.createElement(L.X_,null,N.createElement(L.DH,null,N.createElement(L.VM,{backgroundImageURL:A},N.createElement(L.$D,null,N.createElement(L.LR,null,"Create Software",N.createElement("br")," Easy To Understand!"),"\r\n",N.createElement(L.vC,null,"DDD and API-First Modeling Tools for Modern Distributed Applications."),N.createElement(L.kW,null,N.createElement(L.sd,null,N.createElement(L.zx,{variant:"neutral",as:g.Link,to:"/docs/zenwave360",style:{marginRight:"6px"}},N.createElement(D.p,null,"Browse Docs")),N.createElement(L.zx,{as:g.Link,to:"/docs/getting-started/"},N.createElement(D.p,null,"Getting Started"))))))),N.createElement(L.gT,null,N.createElement(L.VS,null,N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMTIwMHB4IiBoZWlnaHQ9IjEyMDBweCIgc3R5bGU9InNoYXBlLXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247IHRleHQtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjsgaW1hZ2UtcmVuZGVyaW5nOm9wdGltaXplUXVhbGl0eTsgZmlsbC1ydWxlOmV2ZW5vZGQ7IGNsaXAtcnVsZTpldmVub2RkIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk2MiIgZmlsbD0iIzJiOGEzZSIgZD0iTSA0MjcuNSwxMzIuNSBDIDQ5MC41LDEzMi41IDU1My41LDEzMi41IDYxNi41LDEzMi41QyA2MTYuNSwxOTUuNSA2MTYuNSwyNTguNSA2MTYuNSwzMjEuNUMgNTUzLjUsMzIxLjUgNDkwLjUsMzIxLjUgNDI3LjUsMzIxLjVDIDQyNy41LDI1OC41IDQyNy41LDE5NS41IDQyNy41LDEzMi41IFogTSA0NjYuNSwxNzEuNSBDIDUwMy41LDE3MS41IDU0MC41LDE3MS41IDU3Ny41LDE3MS41QyA1NzcuNSwyMDguNSA1NzcuNSwyNDUuNSA1NzcuNSwyODIuNUMgNTQwLjUsMjgyLjUgNTAzLjUsMjgyLjUgNDY2LjUsMjgyLjVDIDQ2Ni41LDI0NS41IDQ2Ni41LDIwOC41IDQ2Ni41LDE3MS41IFoiLz48L2c+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk3NCIgZmlsbD0iIzJiOGEzZSIgZD0iTSA1MDUuNSwzNzQuNSBDIDUxOC4xNjcsMzc0LjUgNTMwLjgzMywzNzQuNSA1NDMuNSwzNzQuNUMgNTQzLjUsMzkzLjgzMyA1NDMuNSw0MTMuMTY3IDU0My41LDQzMi41QyA2OTMuNSw0MzIuNSA4NDMuNSw0MzIuNSA5OTMuNSw0MzIuNUMgOTkzLjUsNTYzLjE2NyA5OTMuNSw2OTMuODMzIDk5My41LDgyNC41QyA5ODAuODMzLDgyNC41IDk2OC4xNjcsODI0LjUgOTU1LjUsODI0LjVDIDk1NS41LDcwNi44MzMgOTU1LjUsNTg5LjE2NyA5NTUuNSw0NzEuNUMgODE4LjE2Nyw0NzEuNSA2ODAuODMzLDQ3MS41IDU0My41LDQ3MS41QyA1NDMuNSw0ODkuMTY3IDU0My41LDUwNi44MzMgNTQzLjUsNTI0LjVDIDUzMC44MzMsNTI0LjUgNTE4LjE2Nyw1MjQuNSA1MDUuNSw1MjQuNUMgNTA1LjUsNTA2LjgzMyA1MDUuNSw0ODkuMTY3IDUwNS41LDQ3MS41QyA0MTguMTY3LDQ3MS41IDMzMC44MzMsNDcxLjUgMjQzLjUsNDcxLjVDIDI0My41LDQ4OS4xNjcgMjQzLjUsNTA2LjgzMyAyNDMuNSw1MjQuNUMgMjMwLjgzMyw1MjQuNSAyMTguMTY3LDUyNC41IDIwNS41LDUyNC41QyAyMDUuNSw0OTMuODMzIDIwNS41LDQ2My4xNjcgMjA1LjUsNDMyLjVDIDMwNS41LDQzMi41IDQwNS41LDQzMi41IDUwNS41LDQzMi41QyA1MDUuNSw0MTMuMTY3IDUwNS41LDM5My44MzMgNTA1LjUsMzc0LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDEzMC41LDU4MC41IEMgMTkzLjE2Nyw1ODAuNSAyNTUuODMzLDU4MC41IDMxOC41LDU4MC41QyAzMTguNSw2NDMuMTY3IDMxOC41LDcwNS44MzMgMzE4LjUsNzY4LjVDIDI1NS44MzMsNzY4LjUgMTkzLjE2Nyw3NjguNSAxMzAuNSw3NjguNUMgMTMwLjUsNzA1LjgzMyAxMzAuNSw2NDMuMTY3IDEzMC41LDU4MC41IFogTSAxNjguNSw2MTguNSBDIDIwNS44MzMsNjE4LjUgMjQzLjE2Nyw2MTguNSAyODAuNSw2MTguNUMgMjgwLjUsNjU1LjgzMyAyODAuNSw2OTMuMTY3IDI4MC41LDczMC41QyAyNDMuMTY3LDczMC41IDIwNS44MzMsNzMwLjUgMTY4LjUsNzMwLjVDIDE2OC41LDY5My4xNjcgMTY4LjUsNjU1LjgzMyAxNjguNSw2MTguNSBaIi8+PC9nPg0KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MC45NzQiIGZpbGw9IiMyYjhhM2UiIGQ9Ik0gNDI3LjUsNTgwLjUgQyA0OTAuNSw1ODAuNSA1NTMuNSw1ODAuNSA2MTYuNSw1ODAuNUMgNjE2LjUsNjQzLjE2NyA2MTYuNSw3MDUuODMzIDYxNi41LDc2OC41QyA1NTMuNSw3NjguNSA0OTAuNSw3NjguNSA0MjcuNSw3NjguNUMgNDI3LjUsNzA1LjgzMyA0MjcuNSw2NDMuMTY3IDQyNy41LDU4MC41IFogTSA0NjYuNSw2MTguNSBDIDUwMy41LDYxOC41IDU0MC41LDYxOC41IDU3Ny41LDYxOC41QyA1NzcuNSw2NTUuODMzIDU3Ny41LDY5My4xNjcgNTc3LjUsNzMwLjVDIDU0MC41LDczMC41IDUwMy41LDczMC41IDQ2Ni41LDczMC41QyA0NjYuNSw2OTMuMTY3IDQ2Ni41LDY1NS44MzMgNDY2LjUsNjE4LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDg4MC41LDg4MC41IEMgOTQzLjE2Nyw4ODAuNSAxMDA1LjgzLDg4MC41IDEwNjguNSw4ODAuNUMgMTA2OC41LDk0My4xNjcgMTA2OC41LDEwMDUuODMgMTA2OC41LDEwNjguNUMgMTAwNS44MywxMDY4LjUgOTQzLjE2NywxMDY4LjUgODgwLjUsMTA2OC41QyA4ODAuNSwxMDA1LjgzIDg4MC41LDk0My4xNjcgODgwLjUsODgwLjUgWiBNIDkxOC41LDkxOC41IEMgOTU1LjgzMyw5MTguNSA5OTMuMTY3LDkxOC41IDEwMzAuNSw5MTguNUMgMTAzMC41LDk1NS44MzMgMTAzMC41LDk5My4xNjcgMTAzMC41LDEwMzAuNUMgOTkzLjE2NywxMDMwLjUgOTU1LjgzMywxMDMwLjUgOTE4LjUsMTAzMC41QyA5MTguNSw5OTMuMTY3IDkxOC41LDk1NS44MzMgOTE4LjUsOTE4LjUgWiIvPjwvZz4NCjwvc3ZnPg0K"}),N.createElement(L.Gz,null,"Domain Model Language"),N.createElement(L.P7,null,N.createElement(D.p,null,"Concise and complete DDD modeling language for Event-Driven Architectures."))),N.createElement(L.L0,null,N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:u}),N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MTAgNDU3LjgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMCA0NTcuODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzZEQjMzRjt9DQo8L3N0eWxlPg0KPHRpdGxlPmljb24tc3ByaW5nLWJvb3Q8L3RpdGxlPg0KPGcgaWQ9IkxheWVyXzJfMV8iPg0KCTxnIGlkPSJMYXllcl8xLTIiPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTAzLjUsMjAxLjRMNDAzLDI3LjVDMzk0LjMsMTIuNCwzNzIuOSwwLDM1NS40LDBIMTU0LjZjLTE3LjQsMC0zOC45LDEyLjQtNDcuNiwyNy41TDYuNiwyMDEuNA0KCQkJYy04LjcsMTUuMS04LjcsMzkuOCwwLDU0LjlsMTAwLjQsMTc0YzguNywxNS4xLDMwLjEsMjcuNSw0Ny42LDI3LjVoMjAwLjljMTcuNCwwLDM4LjgtMTIuNCw0Ny42LTI3LjVsMTAwLjQtMTc0DQoJCQlDNTEyLjIsMjQxLjIsNTEyLjIsMjE2LjUsNTAzLjUsMjAxLjR6IE0yMzMuMyw5Ni4yYzAtMTEuNCw5LjMtMjAuNywyMC43LTIwLjdjMTEuNCwwLDIwLjcsOS4zLDIwLjcsMjAuN3YxMjMuNw0KCQkJYzAsMTEuNC05LjMsMjAuNy0yMC43LDIwLjdjLTExLjQsMC0yMC43LTkuMy0yMC43LTIwLjdsMCwwVjk2LjJ6IE0yNTQsMzYwLjNjLTc3LjQsMC0xNDAuNC02My0xNDAuNC0xNDAuNA0KCQkJYzAuMS00NC40LDIxLjEtODYuMSw1Ni43LTExMi43YzguMi02LjEsMTkuNy00LjQsMjUuOCwzLjhzNC40LDE5LjctMy44LDI1LjhsMCwwYy00NS45LDM0LjEtNTUuNSw5OS0yMS40LDE0NC45DQoJCQlzOTksNTUuNSwxNDQuOSwyMS40YzI2LjMtMTkuNSw0MS44LTUwLjQsNDEuOC04My4yYy0wLjEtMzIuOS0xNS43LTYzLjgtNDIuMi04My40Yy04LjItNi05LjktMTcuNi0zLjktMjUuOHMxNy42LTkuOSwyNS44LTMuOQ0KCQkJYzM1LjksMjYuNSw1Nyw2OC41LDU3LjEsMTEzLjFDMzk0LjQsMjk3LjQsMzMxLjQsMzYwLjMsMjU0LDM2MC4zeiIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K"}),N.createElement(L.Gz,null,"ZenWave SDK"),N.createElement(L.P7,null,N.createElement(D.p,null,"ZenWave SDK helps you create SpringBoot/SpringCloud applications in no time."))),N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI0OSAyMTkiIHdpZHRoPSIyNDkuMHB0IiBoZWlnaHQ9IjIxOS4wcHQiPg0KDQo8cGF0aCBkPSJNIDExNS41MSAxMS44MiBDIDEzMi4zMyA4Ljg4IDE1MC4zOCAxNS41NyAxNjEuNDEgMjguNTYgQyAxNjcuNzMgMzUuNzMgMTcxLjUwIDQ0LjYyIDE3My4xMCA1My45OCBDIDE3NC44OSA2NS42OCAxNzEuOTcgNzcuNzkgMTY1Ljc1IDg3Ljc4IEMgMTU5LjE2IDk4LjA2IDE0OC44MyAxMDUuODMgMTM3LjAxIDEwOS4wNCBDIDExOC4yMiAxMTQuNzcgOTYuODkgMTA3LjQ1IDg0Ljc5IDkyLjE4IEMgNzYuMjggODEuNjIgNzIuMjQgNjcuNDEgNzQuMjUgNTMuOTcgQyA3NS43OSA0NC43MSA3OS41OSAzNS45MSA4NS43NiAyOC43OCBDIDkzLjMzIDE5Ljc3IDEwMy45OCAxMy45NSAxMTUuNTEgMTEuODIgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTAyLjY3IDI4LjU3IEMgMTE0LjU2IDI4Ljg5IDEyOC45MiAyNy4xNiAxMzkuOTIgMzIuMDUgQyAxNDcuMTkgMzUuMDcgMTUyLjAxIDQxLjU1IDE1My42MiA0OS4xNiBDIDE1NS40MCA1Ny43NCAxNTUuMjUgNjcuNTUgMTUxLjY1IDc1LjY0IEMgMTQ4LjYyIDgyLjQwIDE0Mi41MCA4Ni42NyAxMzUuNDkgODguNTkgQyAxMjUuMjQgOTEuNDcgMTEzLjMwIDkwLjIzIDEwMi42NyA5MC41MCBDIDEwMi42NiA2OS44NSAxMDIuNjYgNDkuMjEgMTAyLjY3IDI4LjU3IFoiIGZpbGw9IiMwMDAwMDAiIC8+DQo8cGF0aCBkPSJNIDExMS4wNCAzNS40OCBDIDExOC44MyAzNS42MSAxMjcuNzIgMzQuNjMgMTM0Ljk1IDM3Ljk0IEMgMTM5Ljg0IDQwLjA3IDE0My4yNCA0NC4zOSAxNDQuNjQgNDkuNDggQyAxNDYuMjIgNTUuNDIgMTQ2LjI1IDYxLjk3IDE0NS4wMyA2Ny45OCBDIDE0My45MCA3My40MSAxNDAuODEgNzguMjQgMTM1Ljc1IDgwLjc1IEMgMTI4LjMwIDg0LjUyIDExOS4xNiA4My40NyAxMTEuMDUgODMuNjIgQyAxMTEuMDMgNjcuNTggMTExLjA1IDUxLjUzIDExMS4wNCAzNS40OCBaIiBmaWxsPSIjMmFkNGZmIiAvPg0KPHBhdGggZD0iTSA1Ni41MiAxMDcuNzAgQyA3NC4xMiAxMDMuNTcgOTMuMzUgMTEwLjI3IDEwNS4wMCAxMjMuOTggQyAxMTEuMzUgMTMxLjE5IDExNS4wOCAxNDAuMTAgMTE2LjY2IDE0OS41MiBDIDExOC4zOCAxNjEuMjUgMTE1LjQ2IDE3My4yNiAxMDkuMjAgMTgzLjI1IEMgMTAyLjY5IDE5My4zMiA5Mi42NCAyMDAuOTkgODEuMDUgMjA0LjIzIEMgNzEuMTkgMjA3LjM1IDYwLjQ5IDIwNi45MyA1MC43OSAyMDMuNDIgQyAzMS44OSAxOTcuMDMgMTguNDEgMTc4Ljg5IDE3LjM1IDE1OS4wMyBDIDE2LjYyIDE0Ni4wNCAyMS40NSAxMzIuNzcgMzAuMTUgMTIzLjEzIEMgMzcuMTAgMTE1LjM5IDQ2LjM5IDExMC4wMyA1Ni41MiAxMDcuNzAgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTcxLjUyIDExMC43NSBDIDE4OS4xNiAxMDYuNTIgMjA4Ljk3IDExMy42MCAyMjAuNDAgMTI3LjU3IEMgMjI2LjUzIDEzNC43NiAyMzAuMTMgMTQzLjU1IDIzMS42MyAxNTIuODIgQyAyMzMuMjUgMTY0LjE0IDIzMC40OCAxNzUuODYgMjI0LjU3IDE4NS41OCBDIDIxOC4wNCAxOTYuMTYgMjA3LjUzIDIwNC4xNyAxOTUuNTIgMjA3LjQzIEMgMTc2Ljc1IDIxMy4xNyAxNTUuNDEgMjA1LjkwIDE0My4zMiAxOTAuNjMgQyAxMzQuNjkgMTc5Ljk3IDEzMC42MSAxNjUuNTYgMTMyLjc4IDE1MS45NyBDIDEzNC4zMCAxNDMuMzQgMTM3LjczIDEzNS4xMyAxNDMuMjggMTI4LjMyIEMgMTUwLjM1IDExOS4zNyAxNjAuNDUgMTEzLjI5IDE3MS41MiAxMTAuNzUgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTU5Ljg0IDEyNy4zMSBDIDE2Ny44NyAxMjcuNDMgMTc1Ljk4IDEyNy4wMCAxODMuOTkgMTI3LjY3IEMgMTkyLjEwIDEyOC41MSAyMDAuMjcgMTMwLjgyIDIwNS41OCAxMzcuNDMgQyAyMTEuMzQgMTQ0LjYzIDIxMi4wMCAxNTUuMjAgMjExLjEwIDE2NC4wMSBDIDIxMC4yMCAxNzIuNTIgMjA2LjMzIDE4MC40NCAxOTguNDUgMTg0LjQ1IEMgMTg3LjE3IDE5MC4zNSAxNzIuMjQgMTg4LjQwIDE1OS44MyAxODguNzUgQyAxNTkuODIgMTY4LjI3IDE1OS44MSAxNDcuNzkgMTU5Ljg0IDEyNy4zMSBaIiBmaWxsPSIjMDAyMjJiIiAvPg0KPHBhdGggZD0iTSA0NS42NCAxMjcuODUgQyA1Ni40NyAxMjguMTQgNjkuMzYgMTI2LjY0IDc5LjUwIDEzMC42MyBDIDg1Ljc5IDEzMi45NiA5MC42NyAxMzcuNzcgOTIuNzkgMTQ0LjE3IEMgOTUuMjggMTUxLjc4IDk1LjMxIDE2MC41MSA5My4zMCAxNjguMjQgQyA5MS40NiAxNzUuMDcgODYuNzkgMTgwLjU5IDgwLjE2IDE4My4xOSBDIDY5Ljg4IDE4Ny41MiA1Ni43MCAxODUuOTQgNDUuNjQgMTg2LjI1IEMgNDUuNjMgMTY2Ljc4IDQ1LjYzIDE0Ny4zMSA0NS42NCAxMjcuODUgWiIgZmlsbD0iIzAwMDAwMCIgLz4NCjxwYXRoIGQ9Ik0gNzYuMjMgMTM2Ljc2IEMgODAuODUgMTM4LjgyIDgzLjk3IDE0Mi45NSA4NS4yNiAxNDcuNzcgQyA4Ni42OSAxNTMuMjggODYuNzAgMTU5LjI2IDg1LjYyIDE2NC44NCBDIDg0LjU1IDE2OS45NyA4MS43NSAxNzQuNTcgNzYuOTcgMTc2Ljk4IEMgNjkuOTcgMTgwLjYxIDYxLjIyIDE3OS41OCA1My41NyAxNzkuNzcgQyA1My40OSAxNjQuNjQgNTMuNTggMTQ5LjUwIDUzLjUzIDEzNC4zNyBDIDYwLjg4IDEzNC40NCA2OS40MyAxMzMuNTkgNzYuMjMgMTM2Ljc2IFoiIGZpbGw9IiMyYWQ0ZmYiIC8+DQo8cGF0aCBkPSJNIDE2OC4yNCAxMzQuMjYgQyAxNzUuMzEgMTM0LjExIDE4My4yNCAxMzMuNTkgMTkwLjAyIDEzNS45MCBDIDE5NS4wMiAxMzcuNTcgMTk4Ljk2IDE0MS4yMCAyMDAuODAgMTQ2LjE3IEMgMjAzLjA2IDE1Mi40MCAyMDMuMTQgMTU5LjUyIDIwMS45MiAxNjUuOTggQyAyMDAuODYgMTcxLjQzIDE5Ny45NiAxNzYuMzMgMTkyLjkxIDE3OC45MiBDIDE4NS4zMSAxODIuOTAgMTc2LjQxIDE4MS43MyAxNjguMTMgMTgxLjkwIEMgMTY4LjIyIDE2Ni4wNCAxNjcuOTggMTUwLjExIDE2OC4yNCAxMzQuMjYgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjwvc3ZnPg=="}),N.createElement(L.Gz,null,"Domain Driven Design"),N.createElement(L.P7,null,N.createElement(D.p,null,"Business, Developer and Computer friendly Ubiquitous Language for your Domain Models and Bounded Contexts."))),N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgNTEyIDUxMiINCiAgIHdpZHRoPSI1MTIuMHB0Ig0KICAgaGVpZ2h0PSI1MTIuMHB0Ig0KICAgaWQ9InN2Zzk0ODU5Ig0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogIDxkZWZzDQogICAgIGlkPSJkZWZzOTQ4NjMiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTQzLjk5IDI2Ljg2IEMgMTU5LjY5IDI1Ljc5IDE3NS42MiAzMC40MSAxODguMzIgMzkuNzAgQyAxOTkuNDcgNDcuNzUgMjA4LjA0IDU5LjI2IDIxMi42MSA3Mi4yNCBDIDIxNy4wMyA4NC44MiAyMTcuNzYgOTguNTggMjE0LjQzIDExMS41MSBDIDIxMC42OCAxMjYuNzggMjAxLjQ0IDE0MC40NiAxODguODIgMTQ5LjgyIEMgMTk5LjcwIDE2OC41NyAyMTAuNjQgMTg3LjI5IDIyMS41MyAyMDYuMDQgQyAyMzkuODcgMjAwLjM5IDI2MC4xMiAyMDUuNDYgMjczLjY5IDIxOC45NyBDIDI5Ny44OSAxOTQuNzMgMzIyLjE2IDE3MC41NiAzNDYuMzIgMTQ2LjI5IEMgMzQzLjU1IDE0MC44OCAzNDEuNjcgMTM1LjE0IDM0MS40MiAxMjkuMDIgQyAzNDAuNDYgMTEzLjY5IDM0OS4xMyA5OC43MiAzNjIuODMgOTEuODMgQyAzNzYuMDIgODQuOTMgMzkyLjc1IDg2LjM5IDQwNC41NiA5NS40NCBDIDQxNi4wOCAxMDQuMDUgNDIyLjA3IDExOC44MSA0MTkuNzYgMTMzLjAzIEMgNDE3LjUzIDE0OC4yMyA0MDUuODggMTYxLjE5IDM5MS4wMSAxNjUuMDMgQyAzODAuOTYgMTY3Ljc4IDM3MC41MyAxNjYuMTcgMzYxLjM1IDE2MS40MiBDIDMzNi4xOSAxODYuNzUgMzEwLjg0IDIxMS45MiAyODUuNjQgMjM3LjIyIEMgMjg3LjU0IDI0Mi42OCAyODguNzIgMjQ4LjA3IDI4OS4wMiAyNTMuODYgQyAzMTYuMzMgMjUzLjg5IDM0My42NSAyNTMuODUgMzcwLjk3IDI1My44NyBDIDM3My44NSAyMzUuODcgMzg0LjAxIDIxOS4zOSAzOTguOTMgMjA4Ljg5IEMgNDExLjY2IDE5OS44NCA0MjcuNDQgMTk1LjM3IDQ0My4wMyAxOTYuNDggQyA0NTguNDIgMTk3LjQzIDQ3My4zMiAyMDMuODggNDg0LjYyIDIxNC4zNSBDIDQ5NS44NyAyMjQuNzIgNTAzLjQ5IDIzOC44MyA1MDUuNzggMjUzLjk4IEMgNTA3LjY0IDI2NC45NyA1MDYuNDYgMjc2LjMxIDUwMi44OCAyODYuODIgQyA0OTcuNzQgMzAxLjczIDQ4Ny4zMyAzMTQuNjkgNDczLjgyIDMyMi44MyBDIDQ2My4zOCAzMjkuMjUgNDUxLjIzIDMzMi42MyA0MzguOTkgMzMyLjc5IEMgNDIyLjM0IDMzMi44OCA0MDUuNzcgMzI2Ljc5IDM5My4zMSAzMTUuNzAgQyAzODEuNDIgMzA1LjMyIDM3My40NyAyOTAuNzggMzcwLjk5IDI3NS4yMCBDIDM0Mi40OCAyNzUuMjEgMzEzLjk4IDI3NS4xOSAyODUuNDcgMjc1LjIxIEMgMjgwLjg1IDI4Ni4yMSAyNzMuNTAgMjk0LjkwIDI2My4yOCAzMDEuMDkgQyAyNzIuODUgMzM2LjE4IDI4Mi40NSAzNzEuMjYgMjkyLjA2IDQwNi4zNCBDIDI5Ny40NyA0MDYuNDIgMzAyLjc3IDQwNy4xMyAzMDcuODIgNDA5LjE3IEMgMzIxLjA4IDQxNC4zMSAzMzAuODEgNDI2Ljg0IDMzMi40NiA0NDAuOTggQyAzMzQuNDAgNDU1LjczIDMyNy40MiA0NzAuODIgMzE0LjkyIDQ3OC44OCBDIDMwMi4xNCA0ODcuMzYgMjg0LjgwIDQ4Ny40NCAyNzEuOTcgNDc5LjAxIEMgMjU4Ljc1IDQ3MC42MyAyNTEuNjUgNDU0LjQ1IDI1NC40OSA0MzkuMDMgQyAyNTYuMzEgNDI4LjIzIDI2Mi43MyA0MTguOTUgMjcxLjY4IDQxMi43NyBDIDI2Mi4xMyAzNzcuODIgMjUyLjU4IDM0Mi44NyAyNDMuMDEgMzA3LjkzIEMgMjI5LjU2IDMwOS4zMCAyMTcuMTggMzA2LjA2IDIwNi4xMiAyOTguMzUgQyAxODMuNDAgMzExLjE3IDE2MC43MSAzMjQuMDIgMTM4LjAyIDMzNi44OCBDIDE0My45NCAzNTMuOTEgMTQyLjkzIDM3Mi44OCAxMzUuMDQgMzg5LjEwIEMgMTI3LjUyIDQwNC44MCAxMTMuODIgNDE3LjMyIDk3LjUwIDQyMy4zOSBDIDg1LjQyIDQyNy44NiA3Mi4xNSA0MjguOTYgNTkuNTQgNDI2LjIyIEMgNDUuNzAgNDIzLjMyIDMyLjkxIDQxNi4wNCAyMy4zNyA0MDUuNjEgQyAxMi42NyAzOTQuMDYgNi4yMyAzNzguNzMgNS40OCAzNjMuMDAgQyA0LjYzIDM0Ny41NSA5LjIyIDMzMS45MCAxOC4zOCAzMTkuNDEgQyAyNi4yOCAzMDguNDYgMzcuNTIgMjk5Ljk4IDUwLjIzIDI5NS4zOCBDIDYxLjI5IDI5MS4zMiA3My4zOCAyOTAuMjQgODQuOTkgMjkyLjIxIEMgMTAxLjk3IDI5NC45NCAxMTcuNDMgMzA0LjQ2IDEyNy44NyAzMTguMDggQyAxNDkuMDcgMzA2LjA5IDE3MC4yNiAyOTQuMTEgMTkxLjQ1IDI4Mi4xMCBDIDE4Ny41OSAyNzQuOTkgMTg1LjQxIDI2OC4wNCAxODQuNjYgMjU5Ljk2IEMgMTUyLjc2IDI1MS4xMSAxMjAuNzIgMjQyLjU3IDg4Ljc4IDIzMy44MiBDIDg2LjE4IDIzOC4xMSA4My4wNiAyNDIuMDEgNzkuMTEgMjQ1LjE0IEMgNjguMzEgMjUzLjk3IDUyLjkyIDI1Ni4yOSAzOS45NyAyNTEuMDkgQyAyNS4yNiAyNDUuNDMgMTUuMDYgMjMwLjc4IDE0Ljk3IDIxNC45OSBDIDE0LjU3IDE5OS4xNCAyNC40NiAxODQuMDYgMzkuMTIgMTc4LjA0IEMgNTIuOTkgMTcyLjA5IDY5Ljc1IDE3NC45MyA4MC44NiAxODUuMTQgQyA4OC44MCAxOTIuMjYgOTMuMzkgMjAyLjQ2IDkzLjg4IDIxMy4wOCBDIDEyNS4wOCAyMjEuNTkgMTU2LjI5IDIzMC4xMCAxODcuNTIgMjM4LjU0IEMgMTkwLjcwIDIyOS44NCAxOTUuODAgMjIyLjM3IDIwMi44MiAyMTYuMzIgQyAxOTEuODUgMTk3LjQ2IDE4MC44OCAxNzguNTkgMTY5Ljg4IDE1OS43NCBDIDE1My4yMSAxNjUuMTAgMTM1LjA1IDE2NC4yMCAxMTkuMjEgMTU2LjY0IEMgMTA1LjA0IDE1MC4wMSA5My4zNCAxMzguMzcgODYuNjQgMTI0LjIyIEMgODAuNTUgMTExLjQ5IDc4LjYzIDk2Ljg4IDgxLjEwIDgyLjk5IEMgODMuNjUgNjguMjIgOTEuMzEgNTQuNDUgMTAyLjQ0IDQ0LjQxIEMgMTEzLjc5IDM0LjA1IDEyOC42NSAyNy43OCAxNDMuOTkgMjYuODYgWiINCiAgICAgZmlsbD0iIzAxMDEwMSINCiAgICAgaWQ9InBhdGg5NDg0MyINCiAgICAgc3R5bGU9ImZpbGw6IzJiOGEzZTtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSAxMzkuNDkgNDguODYgQyAxNTEuMTggNDYuNjIgMTYzLjU4IDQ4Ljk1IDE3My41OCA1NS40MyBDIDE4OS4wMCA2NS4yMSAxOTcuNTcgODMuOTYgMTk0LjYzIDEwMi4wMyBDIDE5Mi4xNSAxMTkuMTMgMTc5LjY2IDEzNC4wMCAxNjMuMjQgMTM5LjM4IEMgMTUwLjc4IDE0My42NCAxMzYuNjkgMTQyLjMzIDEyNS4yNiAxMzUuNzggQyAxMTUuNzUgMTMwLjQ3IDEwOC4yMSAxMjEuNzAgMTA0LjM4IDExMS41MSBDIDEwMC43MyAxMDEuOTAgMTAwLjQxIDkxLjA2IDEwMy4zOSA4MS4yMyBDIDEwOC4zNCA2NC43OCAxMjIuNTggNTEuOTYgMTM5LjQ5IDQ4Ljg2IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDUiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMzc1LjQ3IDEwOS42MCBDIDM4MS42OCAxMDcuNzEgMzg4LjU0IDEwOS4yNyAzOTMuMjQgMTEzLjc1IEMgMzk4LjU5IDExOC43MSA0MDAuMzcgMTI2Ljc3IDM5Ny42NyAxMzMuNTQgQyAzOTQuNzcgMTQxLjA0IDM4Ni45OSAxNDUuODMgMzc4Ljk4IDE0NC45NiBDIDM3MC42MyAxNDQuMjAgMzYzLjY4IDEzNy4zNiAzNjIuODAgMTI5LjAyIEMgMzYxLjcwIDEyMC40NiAzNjcuMjQgMTEyLjA3IDM3NS40NyAxMDkuNjAgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg0NyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA1MC40OSAxOTYuNjkgQyA1Ni43OSAxOTUuMjkgNjMuNDggMTk3LjQyIDY3LjgwIDIwMi4yMCBDIDczLjAwIDIwNy44MiA3NC4wMiAyMTYuNTcgNzAuMjIgMjIzLjIyIEMgNjYuMzUgMjMwLjI5IDU3Ljg0IDIzNC4wMiA1MC4wMSAyMzEuOTcgQyA0MS44OSAyMzAuMDQgMzYuMDAgMjIyLjMyIDM2LjI4IDIxMy45NyBDIDM2LjM4IDIwNS43NSA0Mi40NiAxOTguNDAgNTAuNDkgMTk2LjY5IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDkiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gNDI4LjQ5IDIxOC42NyBDIDQ0My4yMSAyMTUuNDggNDU5LjAwIDIxOS42OCA0NzAuMDYgMjI5LjkzIEMgNDgxLjYyIDI0MC4zOSA0ODcuMzEgMjU2LjY1IDQ4NC43MCAyNzIuMDMgQyA0ODIuODAgMjg0LjAzIDQ3Ni4wNCAyOTUuMDcgNDY2LjI1IDMwMi4yNiBDIDQ1Ni4zMCAzMDkuNzAgNDQzLjIyIDMxMi45MCA0MzAuOTcgMzEwLjgzIEMgNDE2LjcyIDMwOC42MiA0MDMuOTcgMjk5LjU0IDM5Ny4xNCAyODYuODYgQyAzOTAuNzcgMjc1LjIyIDM4OS43NSAyNjAuOTMgMzk0LjMxIDI0OC40OCBDIDM5OS43MCAyMzMuNDkgNDEyLjkyIDIyMS45OSA0MjguNDkgMjE4LjY3IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTEiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMjMwLjQ5IDIyNS43MiBDIDIzOS4yMiAyMjMuOTMgMjQ4LjUwIDIyNS45NyAyNTUuNTYgMjMxLjQzIEMgMjY2LjA0IDIzOS4zMSAyNzAuMzcgMjUzLjU2IDI2Ni4wNiAyNjUuOTcgQyAyNjEuNjMgMjc5LjMxIDI0OC4wMCAyODguMjIgMjMzLjk4IDI4Ni43NyBDIDIxOC42OSAyODUuNTggMjA2LjIwIDI3Mi4zMiAyMDUuOTEgMjU2Ljk5IEMgMjA1LjI2IDI0Mi4xOCAyMTUuOTkgMjI4LjYzIDIzMC40OSAyMjUuNzIgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg1MyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA2My40OSAzMTMuNjYgQyA3NS4zNSAzMTEuMDcgODguMTAgMzEzLjEzIDk4LjM4IDMxOS42MyBDIDEwNy45NiAzMjUuNTYgMTE1LjIwIDMzNS4wMCAxMTguNDYgMzQ1Ljc4IEMgMTIzLjUxIDM2MS45MiAxMTkuMDYgMzgwLjE3IDEwNy4xOCAzOTIuMTggQyA5NC43NyA0MDUuMTQgNzUuMTEgNDA5LjgyIDU4LjIwIDQwMy43NSBDIDQ1LjUzIDM5OS40MSAzNS4wNiAzODkuNDMgMzAuMDkgMzc2Ljk5IEMgMjYuMjEgMzY3LjQ0IDI1LjY4IDM1Ni42NyAyOC40MyAzNDYuNzQgQyAzMi45OCAzMzAuMjcgNDYuODAgMzE3LjI2IDYzLjQ5IDMxMy42NiBaIg0KICAgICBmaWxsPSIjZmZmZmZmIg0KICAgICBpZD0icGF0aDk0ODU1Ig0KICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIiAvPg0KICA8cGF0aA0KICAgICBkPSJNIDI4Ny41MCA0MjguNzAgQyAyOTMuOTMgNDI2LjUxIDMwMS4yMyA0MjguMTQgMzA2LjA1IDQzMi45NSBDIDMxMS42OSA0MzguNDEgMzEzLjA3IDQ0Ny4zMCAzMDkuNDAgNDU0LjI0IEMgMzA1LjgxIDQ2MS4yNSAyOTcuNzcgNDY1LjE2IDI5MC4wMyA0NjMuNjkgQyAyODIuMDEgNDYyLjI3IDI3NS42NyA0NTUuMjAgMjc1LjI1IDQ0Ny4wNCBDIDI3NC42NSA0MzguOTcgMjc5LjgzIDQzMS4yNCAyODcuNTAgNDI4LjcwIFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTciDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4NCg=="}),N.createElement(L.Gz,null,"Event-Driven Architectures"),N.createElement(L.P7,null,N.createElement(D.p,null,"Designed for Event-Driven Architectures, mapping Event-Storming discoveries into your models."))),N.createElement(L.L0,null,N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY2NSA2NjEiIHdpZHRoPSI2NjUuMHB0IiBoZWlnaHQ9IjY2MS4wcHQiPg0KDQo8cGF0aCBkPSJNIDM5MS4yNCA1Ljg2IEMgNDUzLjUyIDE2LjkwIDUxMi4zMiA0Ni4yOCA1NTguNjIgODkuMzggQyA1ODkuODAgMTE4LjIxIDYxNS40MCAxNTMuMTIgNjMzLjQxIDE5MS41OCBDIDY1MS4zNyAyMjkuNjMgNjYxLjY0IDI3MS4xMCA2NjMuOTcgMzEzLjEwIEMgNjY3LjA1IDM3MC4xNiA2NTUuMzcgNDI3LjkxIDYzMC4yMyA0NzkuMjMgQyA2MDkuNzQgNTIxLjI3IDU4MC4yNSA1NTkuMzYgNTQzLjk0IDU4OC45MiBDIDUxNi4yNSA2MTEuNDMgNDg0LjYyIDYyOC45OCA0NTAuMDIgNjM4LjIxIEMgNDQ2LjIwIDYzOS4xNyA0NDIuMzYgNjM5LjQyIDQzOC45OSA2MzcuMDEgQyA0MzUuMjYgNjM0LjMyIDQzNC4yOCA2MjkuNTMgNDMyLjU5IDYyNS40OSBDIDQwOS42MiA1NjYuNDEgMzg2LjYyIDUwNy4zMyAzNjMuNjMgNDQ4LjI1IEMgMzYyLjA2IDQ0My45MyAzNTkuNDggNDM5Ljc5IDM2MC40NCA0MzUuMDQgQyAzNjEuMjggNDMwLjczIDM2NC41MSA0MjguMDIgMzY4LjUxIDQyNi42MyBDIDM4NS42OCA0MjAuMDggNDAxLjM2IDQxMC40MSA0MTIuMzcgMzk1LjM5IEMgNDIzLjA0IDM4MC44OCA0MjcuNzAgMzYzLjc2IDQyOS4zOSAzNDYuMDMgQyA0MzAuMDcgMzM3LjAwIDQzMC40MiAzMjguMDQgNDI5LjIzIDMxOS4wMyBDIDQyNC43NiAyODUuOTMgNDAyLjAzIDI1Ni43MiAzNzEuNDggMjQzLjUwIEMgMzQwLjg1IDIzMC4wMiAzMDMuNjcgMjM0LjI0IDI3Ni4zMyAyNTMuMzEgQyAyNTguNDYgMjY1LjczIDI0NC44OSAyODQuMDIgMjM4Ljk0IDMwNS4wMiBDIDIzNC4yNiAzMjAuOTIgMjM0Ljk0IDMzNi44MSAyMzcuMzIgMzUzLjAyIEMgMjQwLjA5IDM2OS42NSAyNDUuNzYgMzg1LjQ0IDI1NS45OSAzOTguOTggQyAyNjYuMjcgNDEyLjY0IDI4MC43OSA0MjIuNjQgMjk3LjAwIDQyNy45NSBDIDMwMC45NSA0MjkuMTcgMzA0LjM2IDQzMS4xMCAzMDUuODQgNDM1LjE5IEMgMzA3LjgyIDQ0MC4yOCAzMDUuMDMgNDQ0LjYzIDMwMy4yNSA0NDkuMjYgQyAyNzguNjggNTA5LjY4IDI1NC4xMCA1NzAuMTAgMjI5LjU1IDYzMC41MyBDIDIyOC40NyA2MzMuMDUgMjI3LjE5IDYzNS4zMiAyMjQuODAgNjM2LjgyIEMgMjIxLjg4IDYzOC43MSAyMTguNTAgNjM4LjgyIDIxNS4yMiA2MzcuOTIgQyAyMDMuODYgNjM0LjkxIDE5Mi43NSA2MzAuODUgMTgyLjAzIDYyNi4wNSBDIDE0Ny4zNSA2MTAuNDQgMTE2LjE3IDU4Ni40MCA5MC40NSA1NTguNTMgQyA1MS43NyA1MTYuNTcgMjQuMDEgNDY0LjcxIDEwLjQ3IDQwOS4yOCBDIC01LjE2IDM0NS4zNSAtMS4yMSAyNzYuNjMgMjEuODcgMjE0Ljk4IEMgMzkuMjMgMTY4LjMwIDY3LjM3IDEyNS43NSAxMDMuNDYgOTEuNDUgQyAxMzUuMTQgNjEuMjEgMTcyLjkwIDM3LjQ0IDIxMy44NiAyMS45NSBDIDI3MC4xMyAwLjYyIDMzMi4wNCAtNC44MSAzOTEuMjQgNS44NiBaIiBmaWxsPSIjMWI1MjFiIiAvPg0KPHBhdGggZD0iTSA0MTIuOTcgMzMuMDcgQyA0NDcuNzQgNDIuNDUgNDgxLjAxIDU3LjgxIDUxMC40NyA3OC41NCBDIDU0Ni4zMCAxMDMuNjEgNTc2Ljg4IDEzNi4yMiA1OTkuMjQgMTczLjgzIEMgNjIyLjk1IDIxMy4yMiA2MzcuNDIgMjU4LjIwIDY0MS4zNiAzMDMuOTkgQyA2NDYuOTUgMzY2LjgzIDYzMy4wNCA0MzEuMTAgNjAyLjAwIDQ4Ni4wMSBDIDU3Ni44NyA1MzAuNjggNTQwLjIyIDU2OS45OCA0OTUuNzEgNTk1LjczIEMgNDgxLjg2IDYwMy41OCA0NjcuMTYgNjEwLjI3IDQ1MS44OSA2MTQuODQgQyA0MjkuNzAgNTU3LjczIDQwNy41MiA1MDAuNjEgMzg1LjI0IDQ0My41NCBDIDM5MS4yMCA0NDAuNDQgMzk3LjE5IDQzNy41MyA0MDIuODEgNDMzLjgyIEMgNDE1LjExIDQyNS43MiA0MjUuOTYgNDE1LjM0IDQzMy43OSA0MDIuODIgQyA0NDQuOTEgMzg1LjUyIDQ1MC4yMyAzNjQuMTcgNDUxLjQ2IDM0My44MCBDIDQ1Mi4xMiAzMzEuNjEgNDUyLjA0IDMxOS41NyA0NDkuMzggMzA3LjYwIEMgNDQyLjU0IDI3NC44OSA0MjAuNzEgMjQ1Ljc2IDM5MS43NCAyMjkuMjggQyAzNzYuMjUgMjIwLjM4IDM1OC44MiAyMTUuMTQgMzQwLjk5IDIxMy45NSBDIDMyMC4wMyAyMTIuNzMgMjk4Ljg2IDIxNi44MSAyNzkuOTYgMjI1Ljk3IEMgMjU2LjYxIDIzNy4xOCAyMzcuMDggMjU2LjM1IDIyNS41MCAyNzkuNTIgQyAyMTcuMjEgMjk2LjA1IDIxMy4xMiAzMTQuNTIgMjEzLjY1IDMzMy4wMCBDIDIxNC4xMSAzNTQuNjQgMjE4LjQ1IDM3Ny4wNiAyMjguNjIgMzk2LjMyIEMgMjM2LjA5IDQxMS4wOCAyNDcuMDMgNDIzLjg5IDI2MC40NCA0MzMuNTggQyAyNjYuODUgNDM4LjQyIDI3My45MyA0NDEuOTEgMjgxLjA4IDQ0NS40OSBDIDI3MS45NiA0NjguNDcgMjYyLjUyIDQ5MS4zMiAyNTMuMjEgNTE0LjIzIEMgMjM5LjY3IDU0Ny41MyAyMjYuMTUgNTgwLjg0IDIxMi42MCA2MTQuMTQgQyAyMDQuNjcgNjEyLjIyIDE5Ny4wMyA2MDguNzEgMTg5LjU1IDYwNS40OSBDIDE2My44MyA1OTMuNTcgMTQwLjIyIDU3Ni43OCAxMTkuNzggNTU3LjIwIEMgMTE1LjUxIDU1My4zOSAxMTEuNjAgNTQ5LjQyIDEwNy44MiA1NDUuMTMgQyA1NS43NSA0ODkuMzYgMjQuNTkgNDE0LjM4IDIyLjk5IDMzOC4wMCBDIDIxLjUxIDI3Ni43NCAzOC41MiAyMTUuMjggNzEuODMgMTYzLjgxIEMgMTA2LjM1IDEwOS44MCAxNTguMTUgNjcuMjMgMjE3Ljg1IDQzLjg4IEMgMjc5LjQ1IDE5LjUwIDM0OS4wNSAxNS44NiA0MTIuOTcgMzMuMDcgWiIgZmlsbD0iIzNlYTUzOCIgLz4NCg0KPC9zdmc+"}),N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICBoZWlnaHQ9IjE3MDUuMDYwNyINCiAgIHZpZXdCb3g9Ii00OC41ODMxMzIgLTEzNi4yMjg1MyA1OTkuODk3NDkgNTM4LjIwODM5Ig0KICAgd2lkdGg9IjE3MDUuMjMxMiINCiAgIHZlcnNpb249IjEuMSINCiAgIGlkPSJzdmcxMDMxNjQiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMNCiAgICAgaWQ9ImRlZnMxMDMxNjgiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTA5Ljk0Njg3LDE3Ny44NjQ0MiBIIC00OC4zNDMxMzIgYyAwLjAzLDAuNzggMC4wNSwxLjU1IDAuMDksMi4zMiAwLjA2LDEuNDkgMC4xNywyLjk3IDAuMjYsNC40NiAwLjA0LDAuNjQgMC4wNywxLjI4IDAuMTIsMS45MSAwLjEyLDEuNzIgMC4yNywzLjQ0IDAuNDMsNS4xNSAwLjA0LDAuMzkgMC4wNywwLjc4IDAuMTEsMS4xNSAwLjE4LDEuOTEgMC4zOSwzLjgyIDAuNjEsNS43MSAwLjAxLDAuMTggMC4wMywwLjM3IDAuMDYsMC41NSAwLjI1LDIuMDQgMC41MSw0LjA5IDAuODEsNi4xMiAwLDAuMDMgMCwwLjA2IDAuMDEsMC4wOCBhIDI2Ni4wNSwyNjYuMDUgMCAwIDAgOC4xOCwzNy40IGMgMC4wMiwwLjA1IDAuMDQsMC4xIDAuMDUsMC4xNSAwLjU3LDEuOTQgMS4xNywzLjg2IDEuNzgsNS43NyAwLjA0LDAuMTEgMC4wOCwwLjIzIDAuMTEsMC4zNCAwLjAzLDAuMTEgMC4wNywwLjIyIDAuMTEsMC4zNCAwLjU2LDEuNzMgMS4xNSwzLjQ1IDEuNzQsNS4xOCAwLjE1LDAuNDMgMC4zLDAuODcgMC40NiwxLjMxIDAuNTMsMS40OSAxLjA3LDIuOTggMS42Myw0LjQ4IDAuMjYsMC42NyAwLjUxLDEuMzQgMC43NiwyLjAyIDAuNDksMS4yNCAwLjk2LDIuNDcgMS40NSwzLjcgMC4zNywwLjkzIDAuNzUsMS44NiAxLjE0LDIuNzggMC40LDAuOTcgMC44LDEuOTIgMS4yMSwyLjg5IDAuNSwxLjE4IDEuMDMsMi4zNSAxLjU1LDMuNTMgMC4zMSwwLjcgMC42MywxLjM5IDAuOTQsMi4wOSAwLjY0LDEuNDEgMS4zLDIuODIgMS45Nyw0LjIyIDAuMjIsMC40NSAwLjQzLDAuOSAwLjY1LDEuMzQgMC43OCwxLjYyIDEuNTcsMy4yMSAyLjM3LDQuOCAwLjE0LDAuMjQgMC4yNSwwLjQ5IDAuMzgsMC43MyAwLjksMS43NiAxLjgyLDMuNTEgMi43Nyw1LjI1IDAuMDQsMC4wOCAwLjA5LDAuMTUgMC4xMiwwLjI0IDAuMiwwLjM2IDAuNDIsMC43MSAwLjYyLDEuMDcgbCAxMzUuMTkwMDAyLC04MS40MyAwLjUsLTAuMyBjIC01LjMzLC0xMS4yNCAtOC42NSwtMjMuMiAtOS44OSwtMzUuMzUgeiINCiAgICAgZmlsbD0iIzkzZDUwMCINCiAgICAgaWQ9InBhdGgxMDMxNDQiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTQ4Ljg1Njg3LDI1MC41MzQ0MiAtMC4zOCwwLjM4IC0xMTEuNTAwMDAyLDExMS40OSBjIDAuNTcsMC41MyAxLjE0LDEuMDggMS43MywxLjU5IDEuMDQsMC45NSAyLjEsMS44OCAzLjE1LDIuODEgMC41NSwwLjQ4IDEuMDgsMC45NiAxLjYzLDEuNDQgMS4yNiwxLjA5IDIuNTQsMi4xNSAzLjgxLDMuMjIgMC4zNSwwLjI5IDAuNjgsMC41NyAxLjAzLDAuODYgYSAyNTUuNTc2LDI1NS41NzYgMCAwIDAgNC45MSwzLjk0IGMgMS41OCwxLjI1IDMuMTcsMi40NiA0Ljc5LDMuNjggMC4wNywwLjA0IDAuMTIsMC4wOCAwLjE4LDAuMTMgYSAyNjYuNDgsMjY2LjQ4IDAgMCAwIDIwLjg2LDE0LjEgYyAwLjI0LDAuMTYgMC40OSwwLjMgMC43NCwwLjQ2IDEuMzcsMC44MSAyLjczLDEuNjIgNC4xMSwyLjQyIGwgMi41MiwxLjQ0IGMgMC44LDAuNDYgMS41OSwwLjkgMi4zOSwxLjM0IDEuNDUsMC43OSAyLjksMS41OCA0LjM2LDIuMzUgMC4yLDAuMTEgMC40LDAuMjIgMC42MSwwLjMyIDQuMDUsMi4xMiA4LjE3MDAwMiw0LjA5IDEyLjMzMDAwMiw1Ljk5IGwgMy45NiwtOS42MSA1Ni4wOCwtMTM2LjE3IDAuMiwtMC41IGMgLTYuMTIsLTMuMjggLTExLjk5LC03LjE2IC0xNy41MSwtMTEuNjggeiINCiAgICAgZmlsbD0iIzRkNWEzMSINCiAgICAgaWQ9InBhdGgxMDMxNDYiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTM3LjI0Njg3LDIzOS40MjQ0MiBhIDk1LjQ5Miw5NS40OTIgMCAwIDEgLTMuNDgsLTQuMSBjIC0xLC0xLjIzIC0xLjk2LC0yLjQ3IC0yLjg5LC0zLjczIC0xLjA3LC0xLjQ0IC0yLjExLC0yLjkgLTMuMSwtNC4zOCAtMC45OSwtMS40OSAtMS45NywtMi45OSAtMi44OSwtNC41MSBsIC0xMzUuMzYwMDAyLDgxLjUzIGMgMi4wODAwMDAzLDMuNDYgNC4yNDAwMDAzLDYuODIgNi40NjAwMDAzLDEwLjE0IDAuMDcsMC4xMiAwLjE0LDAuMjQgMC4yMiwwLjM1IDAuMDIsMC4wNSAwLjA1LDAuMDggMC4wOCwwLjEzIDAuMDcsMC4xIDAuMTQsMC4yMiAwLjIxLDAuMzMgMC4wMSwwLjAxIDAuMDIsMC4wMiAwLjAyLDAuMDQgMC4xOCwwLjI2IDAuMzYsMC41MiAwLjU0LDAuNzkgMC4wMSwwLjAxIDAuMDIsMC4wMyAwLjA0LDAuMDUgMC4wMiwwLjAyIDAuMDEsMC4wMSAwLjAxLDAuMDIgMi4zNDk5OTk5NiwzLjQ3IDQuNzcsNi44OSA3LjI2LDEwLjIzIDAuMDUsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDAuMDYsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDEuMDksMS40MyAyLjE3LDIuODYgMy4yOSw0LjI4IDAuMTUsMC4xOSAwLjI5LDAuMzcgMC40NSwwLjU1IDEuMTQsMS40NyAyLjMwOTk5OTcsMi45MiAzLjQ5OTk5OTcsNC4zNSAwLjI4LDAuMzQgMC41NywwLjY4IDAuODUsMS4wMyAxLjA3LDEuMjggMi4xNCwyLjU1IDMuMjMsMy44MSAwLjQ3LDAuNTQgMC45NSwxLjA5IDEuNDMsMS42MiAwLjkzLDEuMDYgMS44NSwyLjEyIDIuOCwzLjE2IDAuNTIsMC41NyAxLjA2LDEuMTUgMS41OSwxLjcyIDAuMjQsMC4yNyAwLjQ4LDAuNTIgMC43MywwLjc5IDAuNjksMC43NSAxLjM4LDEuNSAyLjA4LDIuMjQgMC4yOCwwLjI5IDAuNTgsMC41OCAwLjg2LDAuODggMS4yMywxLjI4IDIuNDgsMi41NyAzLjc0LDMuODMgbCAxMTEuNjcwMDAyLC0xMTEuNjUgYyAtMS4yOCwtMS4yOCAtMi40OCwtMi42IC0zLjY2LC0zLjkyIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTQ4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI4NS4yNTY4NywyNTAuNDc0NDIgYyAtMS4yMywwLjk5IC0yLjQ3LDEuOTYgLTMuNzMsMi44OSBsIDAuMjcsMC40NyA4MS40MiwxMzUuMTMgYyAzLjc3LC0yLjQ2IDcuNSwtNSAxMS4xNCwtNy42NyA3Ljg4LC01LjgxIDE1LjUsLTEyLjExIDIyLjg1LC0xOC44OSBsIC0xMTEuNTEsLTExMS40OSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1MCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAzNTEuMzg2ODcsMzkwLjA3NDQyIC0yLjc2LC00LjU5IC03NiwtMTI2LjEzIGMgLTEuNTQsMC45MiAtMy4xMSwxLjc2IC00LjY4LDIuNiAtMS41OSwwLjg2IC0zLjE4LDEuNjUgLTQuOCwyLjQyIC0xNC42LDYuOTIgLTMwLjQsMTAuNDYgLTQ2LjIzLDEwLjQ2IC0xMC4zNywwIC0yMC43MywtMS41IC0zMC43NSwtNC40OSAtMS43MSwtMC41MSAtMy4zOCwtMS4xOCAtNS4wNiwtMS43OCAtMS42OSwtMC41OSAtMy40LC0xLjExIC01LjA2LC0xLjc5IGwgLTU2LjA0LDEzNi4wOCAtMi4xOSw1LjMzIC0xLjg4LDQuNTcgLTAuMDEsMC4wMiBjIDAuMTQsMC4wNiAwLjI5LDAuMTEgMC40MywwLjE3IDAuMTYsMC4wNiAwLjMxLDAuMTEgMC40NiwwLjE4IGggMC4wMiBjIDAuMDQsMC4wMiAwLjA4LDAuMDMgMC4xMSwwLjA0IDEuMzIsMC41NSAyLjY1LDEuMDEgMy45OCwxLjUzIDEuNjcsMC42NSAzLjMzLDEuMzEgNSwxLjkyIDAuODYsMC4zMSAxLjcsMC42NyAyLjU1LDAuOTcgaCAwLjAxIGEgMjY3LjQyLDI2Ny40MiAwIDAgMCA1NC4xOSwxMi45NyBjIDAuNzMsMC4wOSAxLjQ0LDAuMTkgMi4xNywwLjI5IDAuNzUsMC4wOSAxLjUxLDAuMTYgMi4yNywwLjI1IDEuNDIsMC4xNiAyLjg0LDAuMzIgNC4yNywwLjQ2IGwgMS4wNiwwLjA5IGMgMS43NSwwLjE3IDMuNSwwLjMyIDUuMjQsMC40NCAwLjYsMC4wNSAxLjIsMC4wNyAxLjc5LDAuMTIgMS41MywwLjEgMy4wNiwwLjE5IDQuNTksMC4yNiAwLjk0LDAuMDYgMS44OCwwLjA4IDIuODIsMC4xMiAxLjIyLDAuMDQgMi40MywwLjA5IDMuNjUsMC4xMyAxLjc1LDAuMDQgMy41MiwwLjA1IDUuMjgsMC4wNiAwLjQyLDAgMC44MywwLjAxIDEuMjUsMC4wMiAxNC43NSwwIDI5LjUsLTEuMjMgNDQuMDksLTMuNjggMC4yNCwtMC4wNCAwLjQ5LC0wLjA4IDAuNzQsLTAuMTEgMS41NCwtMC4yNyAzLjA4LC0wLjU2IDQuNjIsLTAuODQgMC44OCwtMC4xNyAxLjc3LC0wLjM0IDIuNjMsLTAuNTEgMC45LC0wLjE5IDEuODEsLTAuMzcgMi43MSwtMC41NyAxLjUsLTAuMzEgMywtMC42NCA0LjUxLC0wLjk5IDAuMjcsLTAuMDYgMC41NCwtMC4xMSAwLjgxLC0wLjE5IDIyLjE4LC01LjE2IDQzLjYsLTEzLjE2IDYzLjcyLC0yMy43NSB2IC0wLjAxIGMgMS4zMiwtMC42OSAyLjYxLC0xLjQ4IDMuOTIsLTIuMiAxLjU2LC0wLjg1IDMuMTEsLTEuNzQgNC42NywtMi42MyAxLjA3LC0wLjYxIDIuMTYsLTEuMTggMy4yMywtMS44MiAwLjAxLC0wLjAxIDAuMDIsLTAuMDIgMC4wMywtMC4wMiBoIDAuMDEgYyAwLjAyLC0wLjAxIDAuMDMsLTAuMDIgMC4wNSwtMC4wMyBsIDAuMDIsLTAuMDIgLTAuMiwtMC4zMyAwLjIsMC4zMyBjIDAuMDEsMCAwLjAyLC0wLjAxIDAuMDMsLTAuMDEgMC4wMiwtMC4wMSAwLjAzLC0wLjAyIDAuMDUsLTAuMDMgMC4wNiwtMC4wNCAwLjEyLC0wLjA3IDAuMTgsLTAuMTEgMC4zNCwtMC4yMSAwLjY5LC0wLjQxIDEuMDQsLTAuNjIgeiBtIC0yMDIuNDcsLTMwNi4yMjAwMDcgYyAxLjIzLC0xIDIuNDgsLTEuOTYgMy43MywtMi45IGwgLTAuMjcsLTAuNDYgLTgxLjQyMDAwMiwtMTM1LjE0IGMgLTMuNzgsMi40NyAtNy41MSw1LjAyIC0xMS4xNiw3LjY5IC03Ljg3LDUuOCAtMTUuNSwxMi4wOSAtMjIuODMsMTguODYgbCAxMTEuNTEwMDAyLDExMS41IHoiDQogICAgIGZpbGw9IiM5M2Q1MDAiDQogICAgIGlkPSJwYXRoMTAzMTUyIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI5LjIzNjg2OCwtMjAuNjY1NTg3IGMgLTEuMjcsMS4yNyAtMi40NywyLjU4IC0zLjcxLDMuODYgLTEuMjMsMS4yOSAtMi40OSwyLjU3IC0zLjcsMy44NyBhIDI2Ni4xNTYsMjY2LjE1NiAwIDAgMCAtMjIuNTU5OTk5NzQsMjcuOTYgYyAtMC4zMjk5OTk5NiwwLjQ1IC0wLjY0OTk5OTk2LDAuOTMgLTAuOTc5OTk5OTYsMS4zOSAtMC43NiwxLjEyIC0xLjUyLDIuMjMgLTIuMjYsMy4zNSAtMC43OCwxLjE2IC0xLjU1LDIuMzQgLTIuMywzLjUxIC0wLjI4LDAuNDMgLTAuNTYsMC44NyAtMC44MywxLjMgLTI1LjY1MDAwMDMsNDAuMjMgLTM5LjM5MDAwMDMsODUuODU5OTk3IC00MS4yNDAwMDAzLDEzMS44NzAwMDcgLTAuMDcsMS43OSAtMC4xMSwzLjU4IC0wLjE1LDUuMzYgLTAuMDMsMS43OCAtMC4wOSwzLjU3IC0wLjA5LDUuMzUgSCAxMDkuMzQ2ODcgYyAwLC0xLjc4IDAuMTYsLTMuNTYgMC4yNiwtNS4zNSAwLjA5LC0xLjc5IDAuMTEsLTMuNTggMC4yOSwtNS4zNiAyLjA0LC0yMC41NiA5Ljk4LC00MC42NCAyMy44MiwtNTcuNTAwMDA3IDEuMTIsLTEuMzcgMi4zOSwtMi42NiAzLjYsLTMuOTggMS4xOSwtMS4zMyAyLjMxLC0yLjcgMy41OSwtMy45OCB6IG0gMzI1Ljg1MDAwMiwtMzkuMiBjIC0wLjIxLC0wLjEzIC0wLjQ0LC0wLjI2IC0wLjY1LC0wLjM5IC0xLjM5LC0wLjg1IC0yLjc5LC0xLjY3IC00LjIsLTIuNDkgLTAuODEsLTAuNDcgLTEuNjMsLTAuOTMgLTIuNDQsLTEuMzkgLTAuODMsLTAuNDYgLTEuNjQsLTAuOTIgLTIuNDcsLTEuMzcgYSA5MDEuNCw5MDEuNCAwIDAgMCAtNC4yOSwtMi4zMiBjIC0wLjIzLC0wLjExIC0wLjQ1LC0wLjIzIC0wLjY4LC0wLjM1IC05LjI2LC00Ljg0IC0xOC43NywtOS4xIC0yOC40OCwtMTIuOCAtMC4yNSwtMC4xIC0wLjUsLTAuMiAtMC43NSwtMC4yOSAtMi4xMiwtMC43OSAtNC4yNCwtMS41OCAtNi4zOCwtMi4zMiBhIDI2Ny4wODQsMjY3LjA4NCAwIDAgMCAtNTMuMjEsLTEyLjYyOTk5NyBsIC0yLjIyLC0wLjMgYyAtMC43NSwtMC4wOSAtMS40OSwtMC4xNiAtMi4yMywtMC4yNCAtMS40MywtMC4xNyAtMi44NSwtMC4zMyAtNC4yOSwtMC40NyAtMC4zOSwtMC4wNCAtMC43OSwtMC4wNiAtMS4yLC0wLjExIC0xLjY5LC0wLjE1IC0zLjQsLTAuMyAtNS4xLC0wLjQzIGwgLTEuOTksLTAuMTIgYyAtMS40NSwtMC4wOSAtMi45MywtMC4yIC00LjM4LC0wLjI2IC0wLjc4LC0wLjA0IC0xLjU2LC0wLjA3IC0yLjMzLC0wLjA5IFYgNjAuMDU0NDEzIGMgOC4xMiwwLjg0IDE2LjE3LDIuNTcgMjMuOTgsNS4yMiBsIDExNi41MSwtMTE2LjQ5IGMgLTQuMzMsLTMgLTguNywtNS45MiAtMTMuMiwtOC42NSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1NCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAyMTEuNzM2ODcsLTk4LjM2NTU4NCBjIC0xLjc5LDAuMDQgLTMuNTgsMC4wNCAtNS4zNiwwLjExIC0xMS4xNywwLjQ1IC0yMi4zMiwxLjU5IC0zMy4zOCwzLjQ1IC0wLjI0LDAuMDQgLTAuNDgsMC4wOCAtMC43MywwLjEyIC0xLjU1LDAuMjcgLTMuMDksMC41NSAtNC42MywwLjg0IC0wLjg3LDAuMTcgLTEuNzUsMC4zMyAtMi42MywwLjUgLTAuOTEsMC4xOCAtMS44MSwwLjM3IC0yLjcyLDAuNTcgLTEuNSwwLjMxIC0zLDAuNjQgLTQuNDksMC45OSAtMC4yOCwwLjA1IC0wLjU1LDAuMTIgLTAuODIsMC4xOCBhIDI2Ny40NjUsMjY3LjQ2NSAwIDAgMCAtNjMuNzMwMDAyLDIzLjc1OTk5NyBjIC0xLjMxLDAuNyAtMi41OSwxLjQ5IC0zLjksMi4yIC0xLjU2LDAuODYgLTMuMTIsMS43NCAtNC42NywyLjYzIC0xLjE1LDAuNjcgLTIuMzIsMS4yOCAtMy40NywxLjk2IC0wLjAxLDAuMDEgLTAuMDMsMC4wMiAtMC4wNCwwLjAyIC0wLjA4LDAuMDUgLTAuMTYsMC4xIC0wLjI0LDAuMTQgLTAuMywwLjE5IC0wLjYxLDAuMzQgLTAuOTEsMC41MiBsIDAuMDEsMC4wMiAyLjc3LDQuNTkgNzguNzUwMDAyLDEzMC43MyBjIDEuNTQsLTAuOTIgMy4xMSwtMS43NyA0LjY4LC0yLjYxIDEuNTgsLTAuODUgMy4xOCwtMS42NSA0Ljc5LC0yLjQxIGEgMTA3LjI1LDEwNy4yNSAwIDAgMSAzNS4zNiwtOS45MSBjIDEuNzgsLTAuMTggMy41NiwtMC4zMyA1LjM1LC0wLjQyIDEuNzgsLTAuMDkgMy41NywtMC4xOCA1LjM2LC0wLjE4IFYgLTk4LjQ3NTU4NCBjIC0xLjc5LDAgLTMuNTcsMC4wOCAtNS4zNSwwLjExIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTU2IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDQ4Mi40MjY4NywxNTQuMTA0NDIgYyAtMC4wOCwtMS40MiAtMC4xNiwtMi44MyAtMC4yNiwtNC4yNiBhIDc1LjQsNzUuNCAwIDAgMCAtMC4xNCwtMi4xMiBjIC0wLjExLC0xLjY3IC0wLjI1LC0zLjM0IC0wLjQxLC01LjAxIC0wLjAzLC0wLjQzIC0wLjA3LC0wLjg2IC0wLjExLC0xLjI5IC0wLjE4LC0xLjg3IC0wLjM4LC0zLjczIC0wLjYsLTUuNTkgLTAuMDIsLTAuMTUgLTAuMDMsLTAuMyAtMC4wNSwtMC40NSBsIC0wLjAzLC0wLjIxIGMgLTAuMjQsLTIuMDEgLTAuNTEsLTQuMDIgLTAuNzksLTYuMDIgbCAtMC4wMywtMC4xOSBhIDI2Ni40NTQsMjY2LjQ1NCAwIDAgMCAtOC4xNiwtMzcuMzMwMDA3IGMgLTAuMDMsLTAuMDkgLTAuMDUsLTAuMTYgLTAuMDgsLTAuMjQgLTAuNTcsLTEuOTEgLTEuMTYsLTMuOCAtMS43NSwtNS42OSAtMC4wOSwtMC4yNSAtMC4xNywtMC41IC0wLjI1LC0wLjc1IC0wLjU2LC0xLjcxIC0xLjEzLC0zLjQxIC0xLjcyLC01LjExIGwgLTAuNDgsLTEuMzggYyAtMC41MiwtMS40NyAtMS4wNiwtMi45NCAtMS42LC00LjQxIC0wLjI3LC0wLjcgLTAuNTMsLTEuNCAtMC44MSwtMi4wOSAtMC40NiwtMS4yMiAtMC45MywtMi40MyAtMS40MiwtMy42MyAtMC4zOCwtMC45NyAtMC43NywtMS45MiAtMS4xNiwtMi44NiAtMC4zOSwtMC45NSAtMC43OSwtMS44OCAtMS4xOCwtMi44MiAtMC41MiwtMS4yIC0xLjA1LC0yLjQgLTEuNTgsLTMuNTkgLTAuMywtMC42NyAtMC42LC0xLjM1IC0wLjkxLC0yLjAzIC0wLjY1LC0xLjQyIC0xLjMyLC0yLjg1IC0xLjk5LC00LjI3IC0wLjIxLC0wLjQyIC0wLjQyLC0wLjg2IC0wLjYzLC0xLjI5IC0wLjc4LC0xLjYyIC0xLjU4LC0zLjI1IC0yLjQsLTQuODUgLTAuMTEsLTAuMjIgLTAuMjMsLTAuNDUgLTAuMzQsLTAuNjcgLTAuOTEsLTEuNzcgLTEuODUsLTMuNTUgLTIuNzksLTUuMyAtMC4wNCwtMC4wNiAtMC4wNywtMC4xMyAtMC4xMSwtMC4xOSBhIDI2Ni45OSwyNjYuOTkgMCAwIDAgLTE1LjExLC0yNC41MiBsIC0xMTYuNTQsMTE2LjU0MDAwNyBjIDIuNjUsNy44MSA0LjM3LDE1Ljg2IDUuMjEsMjMuOTcgaCAxNTguMzIgYyAtMC4wNCwtMC43OSAtMC4wNiwtMS41OCAtMC4xLC0yLjM1IHoiDQogICAgIGZpbGw9IiM0ZDVhMzEiDQogICAgIGlkPSJwYXRoMTAzMTU4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDMyNC44MjY4NywxNjcuMTU0NDIgYyAwLDEuNzkgLTAuMTcsMy41NyAtMC4yNiw1LjM2IC0wLjA5LDEuNzkgLTAuMTIsMy41OCAtMC4zLDUuMzUgLTIuMDQsMjAuNTcgLTkuOTcsNDAuNjUgLTIzLjgxLDU3LjUyIC0xLjEyLDEuMzcgLTIuMzksMi42NSAtMy42LDMuOTggLTEuMiwxLjMyIC0yLjMxLDIuNjkgLTMuNTksMy45NyBsIDExMS42NywxMTEuNjUgYyAxLjI3LC0xLjI3IDIuNDYsLTIuNTggMy43LC0zLjg3IDEuMjQsLTEuMjkgMi41LC0yLjU2IDMuNywtMy44NyA4LjI2LC04Ljk1IDE1LjgyLC0xOC4zMSAyMi42MiwtMjguMDQgMC4yOCwtMC4zOSAwLjUzLC0wLjc3IDAuOCwtMS4xNSAwLjgzLC0xLjE5IDEuNjMsLTIuNCAyLjQ1LC0zLjYgMC43MSwtMS4wOCAxLjQyLC0yLjE1IDIuMTEsLTMuMjQgMC4zNSwtMC41MiAwLjY5LC0xLjA2IDEuMDIsLTEuNTggMjUuNjEsLTQwLjIxIDM5LjMyLC04NS43OSA0MS4xNiwtMTMxLjc3IDAuMDcsLTEuNzggMC4xMSwtMy41NyAwLjE0LC01LjM2IDAuMDQsLTEuNzggMC4wOSwtMy41NiAwLjA5LC01LjM1IHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTYwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDUyOS42NDY4NywtMTQ1LjM3NTU4IGMgLTI4Ljg5LC0yOC44OSAtNzUuNzMsLTI4Ljg5IC0xMDQuNjIsMCAtMjMuMDUsMjMuMDQgLTI3LjY2LDU3LjQ4OTk5NiAtMTMuOTMsODUuMTQ5OTkzIGwgLTE2MS4xNiwxNjEuMTQ5OTk3IGMgLTI3LjY2LC0xMy43MTk5OTcgLTYyLjEyLC05LjExOTk5NyAtODUuMTcsMTMuOTIwMDEgLTI4Ljg5LDI4Ljg5IC0yOC44OCw3NS43MyAwLDEwNC42MiAyOC45LDI4Ljg5IDc1Ljc1LDI4Ljg4IDEwNC42NCwwIDIzLjA1LC0yMy4wNSAyNy42NSwtNTcuNSAxMy45MiwtODUuMTYgbCAxNjEuMTYsLTE2MS4xNDAwMDcgYyAyNy42NywxMy43MiA2Mi4xMSw5LjEyIDg1LjE2LC0xMy45MyAyOC44OSwtMjguODggMjguODksLTc1LjcxOTk5MyAwLC0xMDQuNjA5OTkzIHoiDQogICAgIGZpbGw9IiM0MjQxNDMiDQogICAgIGlkPSJwYXRoMTAzMTYyIiAvPg0KPC9zdmc+DQo="}),N.createElement(L.$s,{style:{display:"inline",...M.style},src:y}),N.createElement(L.Gz,null,"API-First"),N.createElement(L.P7,null,N.createElement(D.p,null,"Leveraging open standards like OpenAPI and AsyncAPI."))),N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQyNiA0MjAiIHdpZHRoPSI0MjYuMHB0IiBoZWlnaHQ9IjQyMC4wcHQiPg0KDQo8cGF0aCBkPSJNIDE1Ny42NCA2LjEwIEMgMTYwLjIxIDYuNDIgMTYxLjQwIDguMjEgMTYzLjEyIDkuOTEgQyAxNjkuNjkgMTYuOTkgMTc2LjcyIDIzLjYyIDE4My4zNSAzMC42NCBDIDE5MS4xMyAzOS40OCAyMDAuMDQgNDcuMjAgMjA3LjgwIDU2LjA3IEMgMjAzLjU0IDYxLjA4IDE5OC42NCA2NS4zNSAxOTQuMDkgNzAuMDkgQyAxODEuNTYgODIuOTAgMTY4LjUxIDk1LjE3IDE1Ni4wNiAxMDguMDYgQyAxNTQuMTcgMTEwLjA0IDE1Mi4wOCAxMTEuNzUgMTQ5LjgyIDExMy4yOSBDIDE0OC45OCAxMDUuODQgMTUwLjk0IDk4LjY4IDE1MC40MyA5MS4yMiBDIDE0NS42MCA5Mi40MyAxNDEuMTQgOTQuNDUgMTM2Ljc2IDk2Ljc3IEMgMTEzLjY0IDEwOC40MiA5Mi4xNCAxMjcuMTggODAuNzEgMTUwLjczIEMgNzMuODMgMTY0LjE1IDcwLjI5IDE3OC45NyA2OS41OCAxOTQuMDAgQyA2OS42MCAyMDAuMzMgNjkuMzQgMjA2LjcyIDY5Ljg1IDIxMy4wMyBDIDcwLjk2IDIyMi44MyA3Mi4zNyAyMzIuNTMgNzUuMjMgMjQxLjk5IEMgNzUuODggMjQ0LjY4IDc3LjE4IDI0OC4xMyA3Ni4zNiAyNTAuODUgQyA3NC4zMyAyNTIuNDYgNzEuNTAgMjUzLjIzIDY5LjA5IDI1NC4xNiBDIDU1LjIyIDI1OS4xMyA0MS43MSAyNjUuMTYgMjcuNzcgMjY5LjkxIEMgMjUuMzMgMjYzLjI1IDIzLjkzIDI1Ni4zOSAyMi40NCAyNDkuNDggQyAyMC43MSAyNDAuNzggMTguNjcgMjMxLjgyIDE4LjI5IDIyMy4wMCBDIDE3LjIwIDIxMy42MSAxNy40OCAyMDQuNDQgMTcuNDYgMTk1LjAwIEMgMTcuMzYgMTgyLjg2IDE5LjE3IDE3MC43OSAyMS45MCAxNTguOTggQyAyOS4wNiAxMjguMDUgNDYuMTQgOTkuODkgNjkuNzcgNzguNzYgQyA4MC41NCA2OS4yOSA5Mi4yMSA2MC41NyAxMDQuODUgNTMuNzUgQyAxMjAuOTcgNDQuNjggMTM4LjM2IDM3LjQ1IDE1Ni4zMyAzMy4wMCBDIDE1Ni45OCAyMy44NSAxNTUuOTQgMTQuOTIgMTU3LjY0IDYuMTAgWiIgZmlsbD0iI2EyNDM0MiIgLz4NCjxwYXRoIGQ9Ik0gMTYxLjg2IDE1LjMxIEMgMTY4Ljc4IDIwLjc2IDE3NC4yNyAyOC4yNiAxODAuNjEgMzQuMzkgQyAxODYuODkgNDAuNDYgMTkyLjY0IDQ3LjAzIDE5OS4wNCA1Mi45OCBDIDIwMC4wMiA1NC4xMyAyMDIuMjAgNTUuNjcgMjAxLjMyIDU3LjM5IEMgMTk4Ljg4IDYwLjQ3IDE5NS4yNiA2Mi42NyAxOTIuNDkgNjUuNDkgQyAxODQuMTUgNzMuODIgMTc1Ljg3IDgyLjIwIDE2Ny40OCA5MC40OSBDIDE2My4xOSA5NC42NSAxNTkuMzkgOTkuMTMgMTU0LjY0IDEwMi44MSBDIDE1NC4yNSA5Ni45NyAxNTQuODkgOTEuMjMgMTU1LjMxIDg1LjQxIEMgMTQ4Ljg0IDg2LjA5IDE0My42MyA4OC45OSAxMzcuODIgOTEuNjQgQyAxMzEuMjYgOTQuODggMTI0LjQ5IDk4LjI1IDExOC41NyAxMDIuNTYgQyAxMTMuMDkgMTA2LjU1IDEwNy43MCAxMTAuMDYgMTAyLjkzIDExNC45MiBDIDk3LjA2IDEyMS4wMCA5MC45NSAxMjYuMjIgODYuMjcgMTMzLjM1IEMgNzIuMjQgMTUyLjg5IDY0LjgzIDE3Ni45NiA2NS40MyAyMDEuMDAgQyA2NS4wOCAyMTMuODAgNjcuMDkgMjI2LjI1IDcwLjE5IDIzOC42MyBDIDcxLjA0IDI0MS45MSA3MS41MSAyNDUuMjMgNzEuNzkgMjQ4LjU5IEMgNTkuNjAgMjUzLjQ4IDQ3LjI2IDI1Ny45MiAzNS4xMCAyNjIuODggQyAzMy44MSAyNjMuMzMgMzAuMjIgMjY0LjQ5IDI5Ljc4IDI2Mi40NSBDIDI1Ljc3IDI0OC4xNyAyMy41OCAyMzMuODUgMjIuMTQgMjE5LjEzIEMgMjEuMDcgMjExLjI3IDIxLjU2IDIwMi45OSAyMS40NCAxOTUuMDAgQyAyMS4zMiAxODcuMjUgMjIuNDcgMTc5LjkzIDIzLjUxIDE3Mi4yMSBDIDI2LjEwIDE1NC4yNCAzMi4zMSAxMzYuNzYgNDEuMTAgMTIwLjkwIEMgNDYuOTQgMTExLjA5IDUzLjYwIDEwMS42NSA2MS4xOSA5My4xMSBDIDc1LjQ5IDc3LjI3IDkzLjEzIDY1LjE3IDExMS42MyA1NC43NCBDIDExOC4yMSA1MS4xNyAxMjUuMTcgNDguMjYgMTMyLjA1IDQ1LjMwIEMgMTQxLjIyIDQxLjQ3IDE1MC43NiAzOC45OSAxNjAuMjIgMzYuMDQgQyAxNjEuMDggMjkuMTYgMTYwLjY2IDIyLjEwIDE2MS44NiAxNS4zMSBaIiBmaWxsPSIjZTdiYWI4IiAvPg0KPHBhdGggZD0iTSAyNDQuODAgMjguNTYgQyAyNDcuNDMgMjguMTAgMjUwLjA5IDI4LjY2IDI1Mi42NCAyOS4zMCBDIDI2My4wOCAzMi4xNiAyNzMuNDEgMzUuMzYgMjgzLjQ2IDM5LjM5IEMgMzAzLjQwIDQ3LjAxIDMyMi4yMiA1Ny43NiAzMzguNzkgNzEuMjMgQyAzNDUuNDggNzYuODEgMzUxLjY4IDgzLjAyIDM1Ny41MCA4OS41MCBDIDM3Mi43NCAxMDcuMDQgMzgzLjgzIDEyNy45NiAzODkuODcgMTUwLjM5IEMgMzkyLjQwIDE1OC43OCAzOTMuNzUgMTY3LjM4IDM5NS4wNyAxNzYuMDEgQyAzOTUuOTcgMTgyLjU3IDM5NS4zNyAxODkuMzcgMzk1Ljk3IDE5NS45MCBDIDM5Ni44OCAyMDMuNTYgMzk2LjYxIDIxMS4xMyAzOTUuNjggMjE4Ljc3IEMgMzk1LjQ2IDIyNS40OCAzOTQuNDIgMjMyLjA1IDM5My4zNiAyMzguNjYgQyAzOTIuNTkgMjQ0LjU2IDM5MC42MCAyNTAuMDkgMzkwLjI0IDI1Ni4wNSBDIDM5Ny40MyAyNjAuNDUgNDA0Ljc2IDI2NC41OSA0MTEuOTAgMjY5LjA3IEMgNDExLjc3IDI2OS44MyA0MTEuNjQgMjcwLjU4IDQxMS41MSAyNzEuMzQgQyA0MDYuMTcgMjcyLjY4IDQwMC44NSAyNzQuMDggMzk1LjU1IDI3NS41NyBDIDM4Mi44NCAyNzkuMzUgMzY5Ljk2IDI4Mi41MSAzNTcuMjIgMjg2LjE3IEMgMzUzLjI2IDI4Ny4yMiAzNDkuMjcgMjg4LjY4IDM0NS4yMSAyODkuMjcgQyAzNDMuNzYgMjg4LjU2IDM0My41OCAyODcuNDIgMzQzLjEwIDI4Ni4wMSBDIDMzNy45OSAyNjYuODcgMzMyLjM0IDI0Ny45MCAzMjcuMTUgMjI4Ljc3IEMgMzI1LjU0IDIyMi42MyAzMjIuODEgMjE3LjY0IDMyMy40NSAyMTEuMTEgQyAzMzAuMDEgMjE0LjMyIDMzNS4zNCAyMTkuOTQgMzQyLjIzIDIyMi4wMyBDIDM0Mi43NSAyMTcuMzUgMzQzLjUyIDIxMi43NCAzNDMuNDggMjA4LjAwIEMgMzQzLjU0IDIwMC4xMiAzNDMuODEgMTkxLjkwIDM0Mi41MCAxODQuMTcgQyAzNDEuMDUgMTc1LjA3IDMzOS40MiAxNjUuNTEgMzM2LjE0IDE1Ni44OCBDIDMzMi4zMiAxNDYuMjEgMzI2Ljg3IDEzNi4wMyAzMTkuOTYgMTI3LjA0IEMgMzA2LjQ3IDEwOS41NiAyODguMDggOTcuNTYgMjY3LjY2IDg5LjYwIEMgMjU5LjM0IDg2LjQ2IDI1MS4wMyA4My41OCAyNDIuMTkgODIuMjcgQyAyMzkuODEgODEuODEgMjM4LjA1IDgwLjgyIDIzOC40MSA3OC4wNSBDIDIzOS4wMyA2OC4yMSAyNDEuODYgNTguNzAgMjQxLjU1IDQ4LjcwIEMgMjQxLjg1IDQ4LjkyIDI0Mi4xNSA0OS4xNCAyNDIuNDUgNDkuMzYgQyAyNDIuOTkgNDIuNDAgMjQ0LjAxIDM1LjQ4IDI0NC44MCAyOC41NiBaIiBmaWxsPSIjNWI3MDM2IiAvPg0KPHBhdGggZD0iTSAyNTMuMzEgMzMuODIgQyAyNzMuMzkgMzkuMzcgMjkyLjgzIDQ2Ljg4IDMxMC45OCA1Ny4xNSBDIDMyMS4zNiA2My42NyAzMzIuMTQgNzAuNTQgMzQxLjA3IDc4LjkxIEMgMzQ1LjMwIDgyLjQyIDM0OS4yMiA4Ni4wNiAzNTIuNjEgOTAuNDIgQyAzNjEuNjMgMTAwLjQwIDM2OS4zNSAxMTEuNjkgMzc1LjE3IDEyMy44MyBDIDM4NC4yMCAxNDEuMjMgMzg5LjA5IDE2MS4xMSAzOTEuMzMgMTgwLjUxIEMgMzkzLjA4IDE5MC4wOCAzOTIuMjUgMTk5LjM0IDM5Mi40NiAyMDkuMDAgQyAzOTIuNjQgMjE1Ljc5IDM5MS4yMiAyMjIuMjEgMzkwLjUwIDIyOC45MSBDIDM4OS42MyAyMzcuMDkgMzg3LjkwIDI0NS4xMCAzODUuODQgMjUzLjA1IEMgMzg1LjY1IDI1NC40OSAzODQuNzAgMjU2Ljg0IDM4Ni4wMyAyNTcuOTUgQyAzODkuOTQgMjYxLjcyIDM5NS43NyAyNjQuMTMgNDAwLjQwIDI2Ni44NiBDIDQwMS4zMyAyNjcuMzcgNDAxLjQzIDI2OS4wMCA0MDEuODUgMjY5LjkyIEMgMzg5LjY2IDI3Mi40NSAzNzcuNzggMjc2LjQ1IDM2NS43MSAyNzkuNDkgQyAzNTkuMjIgMjgxLjA0IDM1My41MiAyODMuNjkgMzQ2LjcyIDI4My43NCBDIDM0NC4wNiAyNzMuMTkgMzQwLjkxIDI2Mi43NiAzMzguMDcgMjUyLjI1IEMgMzM1LjE3IDI0MS40OSAzMzEuNjcgMjMxLjA3IDMyOS4yMCAyMjAuMjMgQyAzMzQuNDMgMjIyLjg3IDMzOS4xNiAyMjYuMzIgMzQ0LjM5IDIyOC45NiBDIDM0Ni45MCAyMjMuNDMgMzQ2LjU4IDIxNy44NyAzNDcuMzEgMjEyLjAwIEMgMzQ4LjE4IDIwMy40NiAzNDcuOTQgMTk1LjAxIDM0Ni44NCAxODYuNTEgQyAzNDUuMTYgMTY2LjU5IDMzOC43NCAxNDcuMTggMzI3LjU2IDEzMC41NiBDIDMyMC4xMiAxMTguNzMgMzEwLjAzIDEwOS40NSAyOTguOTQgMTAxLjEwIEMgMjg1LjQ1IDkyLjEzIDI3MC40OCA4NS4yOCAyNTQuODcgODAuOTcgQyAyNTAuNjcgNzkuODcgMjQ2LjUzIDc4LjY1IDI0Mi40MCA3Ny4yOSBDIDI0NC41NCA2My4xOSAyNDYuMjYgNDkuMDYgMjQ4LjMyIDM0Ljk2IEMgMjQ4LjU1IDMyLjE5IDI1MS42MiAzMy42MSAyNTMuMzEgMzMuODIgWiIgZmlsbD0iI2MzZDg5YyIgLz4NCjxwYXRoIGQ9Ik0gNzQuOTUgMjkwLjMzIEMgODAuMTUgMjkxLjI5IDg0Ljk5IDI5My4yMSA5MC4yMCAyOTQuNTUgQyA5OS40NCAyOTYuOTEgMTA4LjQyIDMwMC4xNSAxMTcuNjYgMzAyLjUzIEMgMTI0LjcxIDMwNC44MCAxMzEuOTAgMzA2LjU1IDEzOC45NiAzMDguNzggQyAxNDMuNjMgMzEwLjMxIDE0OC4xNyAzMTAuNzMgMTUyLjE5IDMxMy44NCBDIDE0Ni4yOCAzMTcuMzcgMTM5LjkwIDMxOS44MSAxMzMuODEgMzIzLjA1IEMgMTM2LjA3IDMyNy41MSAxMzkuOTEgMzI5LjQxIDE0My43NyAzMzIuMjMgQyAxNTUuNDAgMzQwLjM4IDE2OC4zNSAzNDYuNzggMTgxLjg4IDM1MS4wNiBDIDE5MC41OCAzNTMuNDMgMTk5Ljk0IDM1NS44MyAyMDkuMDAgMzU1LjU5IEMgMjE1LjY1IDM1NS41MiAyMjIuNDEgMzU1Ljg2IDIyOS4wMiAzNTUuMTAgQyAyNDMuODIgMzUyLjk3IDI1OC4yMSAzNDcuNjMgMjcxLjAwIDMzOS45MiBDIDI4NC41NSAzMzEuOTAgMjk2LjQ3IDMyMS43NyAzMDcuMjkgMzEwLjM4IEMgMzA5LjMzIDMxMS43NyAzMTEuMzUgMzEzLjE2IDMxMy4yNCAzMTQuNzUgQyAzMTkuMTMgMzE5Ljg1IDMyNS4yMSAzMjQuNzMgMzMxLjEwIDMyOS44MyBDIDMzNi44OSAzMzQuODIgMzQzLjIyIDMzOS4zNCAzNDguNTIgMzQ0Ljg0IEMgMzQ0LjE0IDM0OS43MSAzMzkuMjYgMzU0LjAxIDMzNC4zNSAzNTguMzIgQyAzMTYuMTggMzc0LjAwIDI5NS40NiAzODguMjkgMjczLjA0IDM5Ny4xMiBDIDI2Ny43NCAzOTkuMjkgMjYyLjUyIDQwMS41MiAyNTYuOTQgNDAyLjkyIEMgMjQ1LjA3IDQwNi4wMyAyMzIuMzEgNDA5LjA1IDIyMC4wMCA0MDguNzMgQyAyMTAuMDEgNDA4LjY1IDE5OS40OCA0MDkuMzIgMTg5LjcwIDQwNy40MCBDIDE2OS41MiA0MDQuNTQgMTUxLjAwIDM5Ny4zMCAxMzMuMDEgMzg3Ljk0IEMgMTE3LjUyIDM3OS40MyAxMDMuMTUgMzY4Ljc3IDg5Ljk3IDM1Ny4wMiBDIDg2LjM3IDM1My45MiA4My4yNCAzNDkuNTggNzkuMDYgMzQ3LjM0IEMgNzAuNzggMzUwLjI2IDYzLjQyIDM1NS42NyA1NS4wMiAzNTguNDYgQyA1NS43MCAzNTEuMjUgNTguMzkgMzQ1LjI0IDYwLjI3IDMzOC4yNSBDIDYzLjI3IDMyOC41NyA2NS44OSAzMTguNzkgNjguOTggMzA5LjE0IEMgNzAuOTcgMzAyLjc2IDcyLjE2IDI5Ni40NiA3NC45NSAyOTAuMzMgWiIgZmlsbD0iIzNjNjU5NCIgLz4NCjxwYXRoIGQ9Ik0gOTIuODMgMzAwLjA4IEMgMTAyLjY1IDMwMi45MCAxMTIuNDMgMzA1Ljg1IDEyMi4yNSAzMDguNjUgQyAxMjguMzAgMzEwLjQxIDEzNC4zNiAzMTIuMDMgMTQwLjI4IDMxNC4yMiBDIDEzNS4zNyAzMTcuMzggMTI5LjkwIDMxOS4zOCAxMjQuOTEgMzIyLjQyIEMgMTI3LjA0IDMyNC44NiAxMjkuMjYgMzI3LjE5IDEzMS44NiAzMjkuMTQgQyAxNDcuNzggMzQxLjgwIDE2NS41MSAzNTEuNjEgMTg1LjMwIDM1Ni42OSBDIDE5OS45NCAzNjAuODAgMjE1LjY5IDM2MS4yNyAyMzAuNzQgMzU5LjQyIEMgMjU4LjA0IDM1NS4xNCAyODIuMzAgMzQxLjAyIDMwMi4wMiAzMjIuMDIgQyAzMDMuODEgMzIwLjM3IDMwNS43MCAzMTguMTggMzA3Ljk5IDMxNy4yNSBDIDMxMC41MiAzMTguMzEgMzEyLjgwIDMyMC4zNyAzMTQuODcgMzIyLjE0IEMgMzE4Ljk1IDMyNS43NCAzMjMuMjEgMzI5LjEyIDMyNy4zMyAzMzIuNjggQyAzMzIuMDYgMzM2LjgzIDMzNy4xOSAzNDAuMzggMzQxLjU0IDM0NC45NyBDIDMzNy4yOCAzNDkuOTkgMzMyLjE4IDM1My45NiAzMjcuMjEgMzU4LjIzIEMgMzE3Ljc2IDM2Ni4yOCAzMDcuNTggMzczLjQ5IDI5Ni45OSAzNzkuOTcgQyAyNzEuNjQgMzk1LjE1IDI0MS4xMiA0MDUuNjQgMjExLjMzIDQwNC40OSBDIDE5MC4xOCA0MDQuOTcgMTY4LjY1IDM5OS4wNyAxNDkuMzMgMzkwLjc1IEMgMTI0LjI4IDM3OS41NCAxMDEuNDggMzYzLjIzIDgyLjY4IDM0My4yNiBDIDgxLjU4IDM0Mi40NCA4MC45MyAzNDEuMjIgNzkuNDAgMzQxLjc1IEMgNzMuMzQgMzQzLjYzIDY4Ljc4IDM0OC4wMiA2Mi4zMSAzNDkuMDYgQyA2Mi44NiAzNDUuODkgNjMuNjAgMzQyLjc4IDY0LjU4IDMzOS43MSBDIDY5LjE5IDMyNS4zOSA3My4wNSAzMTAuNzYgNzcuNjIgMjk2LjM4IEMgODMuMDYgMjk2LjcxIDg3LjY1IDI5OC42NSA5Mi44MyAzMDAuMDggWiIgZmlsbD0iIzRjODFiZiIgLz4NCjwvc3ZnPg=="}),N.createElement(L.Gz,null,"API-Testing"),N.createElement(L.P7,null,N.createElement(D.p,null,"Testing as first class citizen. Helps you create complete test suites from your Models and APIs."))))),N.createElement(L.BW,null,N.createElement(L.X_,null,N.createElement(L.YZ,null,N.createElement(L.vk,{src:z,alt:"Domain Driven Design is about Business Understanding",className:"only-small"}),N.createElement(L.Mo,{className:"wide-feature-text"},N.createElement("h3",null,"Maintainable Software"),N.createElement(D.ul,null,"\n",N.createElement(D.li,null,"It is ",N.createElement("strong",null,"not a matter of code")," but a matter of ",N.createElement("strong",null,"understanding the business domain")),"\n",N.createElement(D.li,null,"Software well designed ",N.createElement("strong",null,"should be easy to understand by all")),"\n")),N.createElement(L.vk,{src:z,alt:"Domain Driven Design is about Business Understanding",className:"only-wide"})),N.createElement(L.YZ,null,N.createElement(L.vk,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB4PSIwcHgiDQogICB5PSIwcHgiDQogICB2aWV3Qm94PSIwIDAgMzAwIDMwMCINCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiDQogICBpZD0ic3ZnNjc2NDYiDQogICB3aWR0aD0iMzAwIg0KICAgaGVpZ2h0PSIzMDAiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcw0KICAgICBpZD0iZGVmczY3NjUwIiAvPjxwYXRoDQogICAgIGZpbGw9IiNiYWI5YmIiDQogICAgIGQ9Im0gMjAuNjA1MDEyLDE4MC42NjkwMiBjIC0zLjA0OTg4Myw0NC43MzcyOSAzMS44MDgzNyw4My42Nzg2NiA3Ny43MDU1MjQsODYuODA3NjMgMTUuMTcwNDY0LDEuMDM0MjEgMjkuNjMzMjI0LC0yLjAzODkxIDQyLjM2NjYyNCwtOC4xMzkzOCAxMS43ODc2NSw3Ljc3MjAyIDI1LjY5OTUzLDEyLjc3OTY1IDQwLjg2OTk5LDEzLjgxMzg3IDQ1Ljg5NzE1LDMuMTI4OTYgODUuNzE3ODcsLTMwLjcyMTMyIDg4Ljc2Nzc1LC03NS40NTg2IDIuMDYzNjYsLTMwLjI3MDk5IC0xMy4yNjI5MSwtNTcuODQ0ODcgLTM3LjU4NjQ5LC03My41MDg4NyAwLjY5Nzk0LC0zLjQyMDI1IDEuMjU1NjUsLTYuODkxNjcgMS40OTkwMiwtMTAuNDYxNTMgQyAyMzcuMjc3MzEsNjguOTg0ODYxIDIwMi40MTkwNSwzMC4wNDM0NDkgMTU2LjUyMTksMjYuOTE0NDk1IDExMC42MjQ3NSwyMy43ODU1NDEgNzAuODA0MDUyLDU3LjYzNTg1IDY3Ljc1NDE3LDEwMi4zNzMxMiBjIC0wLjI0MzM0NCwzLjU2OTUgLTAuMTYxOTIzLDcuMDg0NTQgMC4wNjUzNSwxMC41NjgxNyAtMjYuMjI0NDk4LDEyLjIxOTg2IC00NS4xNTEzMzksMzcuNDU2NyAtNDcuMjE1MDA5LDY3LjcyNzcgeiBtIDI0MS4zODYyMDgsMTYuNDU2MDYgYyAtMi43NDQ4MSw0MC4yNjI0MyAtMzguNTg0NjcsNzAuNzI4NzUgLTc5Ljg5MDk3LDY3LjkxMjc3IC0xMi4xNTMwMSwtMC44Mjg1IC0yMy40MDQxOSwtNC41MDQ4MSAtMzMuMjI0MTYsLTEwLjIyODc4IDIxLjQ0ODM4LC0xMy40MDQzMiAzNi4zODQzMSwtMzYuMTI2MDUgMzguMjAyMDksLTYyLjc5MDEgMC4yNDMzNSwtMy41Njk0OCAwLjE2MTksLTcuMDg0NTUgLTAuMDY1MywtMTAuNTY4MTggMjAuNTM3MjIsLTkuNTcxMTkgMzYuNTI0MDcsLTI3LjE0Mjk2IDQzLjUwNzUxLC00OC44NjA0NyAyMC41MDE4NiwxNC4zMzAzMSAzMy4yNTk3OSwzOC4yOTAyOCAzMS40NzA1Niw2NC41MzU2OCB6IE0gMTEyLjk2NjM1LDE4MC4yNzc1NiBjIDkuODIyMDIsNC45NTc5NiAyMC43OTE5Nyw4LjEwNTQ4IDMyLjQ5NTAzLDguOTAzMzIgMTEuNzAzMDgsMC43OTc4NCAyMi45OTkxNywtMC44MzE4OCAzMy40MDI3LC00LjQxMDg2IDAuMDU0NywyLjIwODg5IDAuMDQ1LDQuNDMzMzQgLTAuMTA4MjUsNi42ODA2NSAtMS43MjIwNCwyNS4yNTk3NCAtMTYuNDc2MzIsNDYuNjU1NzEgLTM3LjQzMDY2LDU4LjM5OTIxIC0xOS4xNjYzOCwtMTQuNDgyODYgLTMwLjg4MDU4LC0zNy42ODA0NSAtMjkuMTU4NjMsLTYyLjkzODgyIDAuMTUzMTcsLTIuMjQ3NDggMC40NDU0MSwtNC40NTI2OSAwLjc5OTQxLC02LjYzMzUzIHogbSAzNi42MzEsLTUxLjc2NTI1IGMgMTUuMjQ4NzYsMTEuNTIxMyAyNS43NjU4NywyOC41NjU5MyAyOC41NjY2Miw0Ny43NzcxNSAtOS45Mzk1MiwzLjc0NzIzIC0yMC44MjEzNyw1LjU1MjY5IC0zMi4xNDk2NCw0Ljc4MDQxIC0xMS4zMjgyNSwtMC43NzIyOSAtMjEuODY0NCwtNC4wMzc3OCAtMzEuMjAzMDUsLTkuMTA0NDggNS4zODE2NiwtMTguNjQ5NjkgMTguMTE0NzUsLTM0LjEwNzQzIDM0Ljc4NjA0LC00My40NTI2NCB6IG0gLTQyLjA0NzI2LDM4Ljk2NDA3IEMgOTEuMDgzNjAxLDE1NS45NjQ3NCA3OS42MDkwOTksMTM4LjI1ODE4IDc2LjY3MTA4MSwxMTguMTA5MyBjIDkuOTM5NjYsLTMuNzQ5MDQgMjAuODIxNTA2LC01LjU1NDUzIDMyLjE0OTc2OSwtNC43ODIyNSAxMi4xNTMwMiwwLjgyODUxIDIzLjQwNDIsNC41MDQ4IDMzLjIyNDE4LDEwLjIyODc4IC0xNi4xNjY5MSwxMC4xMDUyNiAtMjguNTczMSwyNS41MDg5IC0zNC40OTUwNCw0My45MjE5MyB6IG0gNTAuMjAyMDIsLTQyLjg1MTE2IGMgMTAuNTA1OTUsLTQuMzM4MzMgMjIuMTUyNDIsLTYuNDUzNTcgMzQuMzA0OTksLTUuNjI1MDkgMTEuMzI3NzksMC43NzIyNSAyMS44NjQ0Miw0LjAzNzc4IDMxLjIwMzA3LDkuMTA0NDkgLTUuNjQzNTMsMTkuNTYxNTEgLTE5LjQxMTM1LDM1LjU0NzIyIC0zNy4yOTMyMiw0NC43MTk1NSAtMy4zNjc3OCwtMTkuMDQ5NjIgLTEzLjU2ODg4LC0zNS45OTQ0NyAtMjguMjE0NzQsLTQ4LjIwMDM0IHogTSA3Ni4wNzk4ODcsMTAyLjk0MjU3IGMgMi43NDQ4MTcsLTQwLjI2MjQyNyAzOC41ODQ2NjMsLTcwLjcyODc0IDc5Ljg5MDk0MywtNjcuOTEyNzYgNDEuMzA2MjgsMi44MTU5NzkgNzIuNjc5NzgsMzcuODY0NDM4IDY5LjkzNDk2LDc4LjEyNjg2IC0wLjE1MzE3LDIuMjQ3NDkgLTAuNDQ1NCw0LjQ1MjcgLTAuNzk5NCw2LjYzMzU0IC05LjgyMjAyLC00Ljk1Nzk2IC0yMC43OTE5NywtOC4xMDU0OSAtMzIuNDk1MDMsLTguOTAzMzIgLTE1LjE3MDQ4LC0xLjAzNDIyIC0yOS42MzMyNSwyLjAzODk0IC00Mi4zNjY2Miw4LjEzOTM4IC0xMS43ODc2NywtNy43NzIwMyAtMjUuNjk5NTQsLTEyLjc3OTY2IC00MC44NzAwMiwtMTMuODEzODggLTExLjcwMzA1NSwtMC43OTc4NCAtMjIuOTk5MTU0LDAuODMxODggLTMzLjQwMjY4OCw0LjQxMDg2IC0wLjA1NDczLC0yLjIwODg4IC0wLjA0NDk1LC00LjQzMzM1IDAuMTA4MjUzLC02LjY4MDY2IHogbSAtNy4yMTE2NzcsMTguNjMwNjUgYyAzLjk3MTU2MywyMi40NjI0OCAxNy40MjU0OCw0Mi4wNDUwNyAzNi40NzM4NSw1NC4zMTMwNSAtMC42OTc5NSwzLjQyMDI0IC0xLjI1NTY2LDYuODkxNjggLTEuNDk5MDIsMTAuNDYxNTMgLTEuODE3ODcsMjYuNjY1NDMgOS44OTY4MSw1MS4yMDE3MSAyOS4zMjcwNSw2Ny4zOTM3OCAtMTAuNTA1OTQsNC4zMzgzNyAtMjIuMTUyNDMsNi40NTM1OCAtMzQuMzA0OTg3LDUuNjI1MSBDIDU3LjU1ODgyMiwyNTYuNTUwNyAyNi4xODUzMjQsMjIxLjUwMjI1IDI4LjkzMDE0LDE4MS4yMzk4MyAzMC43MTkyMTUsMTU0Ljk5NjcyIDQ2LjYxMDg4NywxMzIuOTg5NDQgNjguODY4MDM1LDEyMS41NzIyOCBaIg0KICAgICBpZD0icGF0aDY3NjQwIg0KICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjIuNjA3NDQiIC8+PC9zdmc+DQo=",alt:"Gap between Domain Experts - Technical Knwoledge"}),N.createElement(L.Mo,{className:"wide-feature-text"},N.createElement("h3",null,"Common Language (DSL)"),N.createElement(D.p,null,"A common language closes the gap between:"),N.createElement(D.ul,null,"\n",N.createElement(D.li,null,"\n",N.createElement("strong",null,"Domain Experts"),"\n"),"\n",N.createElement(D.li,null,"\n",N.createElement("strong",null,"Technical Experts"),"\n"),"\n",N.createElement(D.li,null,"Working ",N.createElement("strong",null,"Software & Tests")),"\n"))),N.createElement(L.YZ,null,N.createElement(L.vk,{src:C,alt:"",width:"300px",className:"only-small"}),N.createElement(L.Mo,{className:"wide-feature-text"},N.createElement("h3",null,"ZenWave SDK"),N.createElement(D.p,null,"Accelerate your development ",N.createElement("strong",null,"Converting your Models")," into ",N.createElement("strong",null,"Software Artifacts:")),N.createElement(D.ul,null,"\n",N.createElement(D.li,null,"API Definitions: OpenAPI, AsyncAPI..."),"\n",N.createElement(D.li,null,"SpringBoot/SpringCloud Backend..."),"\n",N.createElement(D.li,null,"API Testing: KarateDSL, Spring WebTestClient..."),"\n")),N.createElement(L.vk,{src:C,alt:"",width:"300px",className:"only-wide"})))),N.createElement(L.X_,null,N.createElement("section",null,N.createElement("div",{className:"home-links"},N.createElement("div",null,N.createElement("a",{href:"/docs/domain-modeling/business-domain-modeling"},"Domain Modeling")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL Modeling Language")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/zenwave-sdk"},"ZenWave SDK"))))),N.createElement(L.X_,{className:"home-screenshots"},N.createElement("h2",null,"A Domain Language Designed for Event-Driven Architectures"),N.createElement(L.Ee,{src:T.Z,alt:"Event Storming"}),N.createElement("h2",null,"... And Bounded Context Mapping"),N.createElement(L.Ee,{src:w.Z,alt:"Bounded Context Mapping with ZDL",width:"100%"}),N.createElement("h2",null,"Can be read as documentation"),N.createElement(L.Ee,{src:i.Z}),N.createElement("h2",null,"And easily converted into working software & tests"),N.createElement(L.Ee,{src:E})),N.createElement(L.X_,null,N.createElement("section",null,N.createElement("div",{className:"home-links"},N.createElement("div",null,N.createElement("a",{href:"/docs/domain-modeling/business-domain-modeling"},"Domain Modeling")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL Modeling Language")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/zenwave-sdk"},"ZenWave SDK"))))))}var e=function(M){void 0===M&&(M={});const{wrapper:D}=Object.assign({},(0,j.ah)(),M.components);return D?N.createElement(D,M,N.createElement(O,M)):O(M)};function c(M){let{children:D}=M;return D}function x(M){return N.createElement(c,M,N.createElement(e,M))}},97702:function(M,D,I){I.d(D,{d2:function(){return N.d},zx:function(){return y},L0:function(){return w},$s:function(){return e},VS:function(){return c},gT:function(){return x},P7:function(){return E},Gz:function(){return i},VM:function(){return n},sd:function(){return a},kW:function(){return Y},$D:function(){return s},DH:function(){return U},vC:function(){return t},LR:function(){return S},Ee:function(){return m},Bk:function(){return B},Nm:function(){return Z},X_:function(){return C.X},YZ:function(){return p},vk:function(){return W},BW:function(){return b},Mo:function(){return v}});var N=I(63585),j=I(27378),g=I(87573),L=I(30294);const A=M=>{let{background:D,backgroundHover:I,on:N}=M;return()=>(0,L.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],D,N,I,N,I,N)},u=L.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],A({background:"primary-600",backgroundHover:"primary-700",on:"white"}),A({background:"green-600",backgroundHover:"green-700",on:"white"}),A({background:"red-600",backgroundHover:"red-700",on:"white"}),A({background:"gray-300",backgroundHover:"gray-400",on:"black"})),y=j.forwardRef(((M,D)=>{let{variant:I="primary",children:N,...L}=M;return j.createElement(g.z,{ref:D,"data-variant":I},(M=>j.createElement(u,Object.assign({},M,L),N)))}));I(23824),I(31729);var z=I(63681),C=I(84234);const T=L.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),w=j.forwardRef(((M,D)=>j.createElement(T,Object.assign({ref:D,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},M)))),i=L.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],z.th.px(-9),z.th.px(9)),E=L.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),O=L.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),e=j.forwardRef(((M,D)=>j.createElement(O,Object.assign({ref:D,width:48,height:48},M)))),c=j.forwardRef(((M,D)=>j.createElement(C.X,Object.assign({ref:D,row:!0,my:-4,px:3},M)))),x=j.forwardRef(((M,D)=>j.createElement(L.x.section,Object.assign({ref:D,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},M)))),S=L.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,z.up)("md",(0,L.ivY)(["padding-top:4;font-size:48;"])),(0,z.up)("xl",(0,L.ivY)(["font-size:60;"]))),t=L.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,z.up)("md",(0,L.ivY)(["font-size:20;"])),(0,z.up)("xl",(0,L.ivY)(["font-size:24;"]))),Q=(0,L.ZPm)(C.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,z.up)("md",(0,L.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,z.up)("xl",(0,L.ivY)(["margin-top:6;"]))),n=j.forwardRef(((M,D)=>{let{backgroundImageURL:I,...N}=M;return j.createElement(Q,Object.assign({ref:D,backgroundImage:"url("+I+")"},N))})),s=j.forwardRef(((M,D)=>j.createElement(L.x.div,Object.assign({ref:D,w:{md:.5}},M)))),U=L.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),Y=j.forwardRef(((M,D)=>j.createElement(L.x.div,Object.assign({ref:D,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},M)))),a=j.forwardRef(((M,D)=>j.createElement(L.x.div,Object.assign({ref:D,col:"auto",p:2},M))));var k=I(24956);const l=L.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(M=>M.align)),o=L.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),r=(M,D)=>"dark"===D?M.dark||M.src:M.light||M.src,m=j.forwardRef(((M,D)=>j.createElement(l,{align:M.align||"center",className:M.visible},j.createElement(o,Object.assign({ref:D,src:r(M,(0,k.If)()[0])},M)))));I(15239),I(83160);const d=(0,L.ZPm)(L.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),B=j.forwardRef(((M,D)=>j.createElement(L.x.blockquote,Object.assign({ref:D,className:"quote"},M)))),Z=j.forwardRef(((M,D)=>j.createElement(d,Object.assign({ref:D},M)))),b=j.forwardRef(((M,D)=>j.createElement(L.x.section,Object.assign({ref:D,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},M)))),p=L.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,z.up)("md",(0,L.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),v=L.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,z.up)("md",(0,L.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,z.up)("xl",(0,L.ivY)(["font-size:24;"]))),G=L.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),f=L.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),P=(M,D)=>"dark"===D?M.dark||M.src:M.light||M.src,W=j.forwardRef(((M,D)=>j.createElement(G,{className:M.className},j.createElement(f,Object.assign({ref:D,src:P(M,(0,k.If)()[0])},M)))))},28151:function(M,D,I){D.Z=I.p+"static/bounded-context-mapping-e7606a1679b367a38b685ca1bb77ef45.svg"},29934:function(M,D,I){D.Z=I.p+"static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png"},53468:function(M,D,I){D.Z=I.p+"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png"}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js.map \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[261],{43635:function(M,D,I){I.r(D),I.d(D,{default:function(){return t}});var N=I(27378),j=I(20951),g=I(80858),L=I(16376),A=I.p+"static/hero-background-b6fccd4ea5501ab264bb1bdb7fbbf8ba.png",u=I.p+"static/zenwave-sdk-dark-44c70567cf17d96a54e9284837feac82.png",y=I.p+"static/asyncapi-logo-fe1db05dd2b15b8170701f43d18710a1.png",z="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgMjYwIDI2MCINCiAgIHdpZHRoPSIyNjAiDQogICBoZWlnaHQ9IjI2MCINCiAgIGlkPSJzdmc1MjkzNiINCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICA8ZGVmcw0KICAgICBpZD0iZGVmczUyOTQwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDE0NC4wNjM1MiwyMzEuMzg5MTYgYyAxOS40NDg4NSwtNC40MzA0NyAzOC4wNzMzMiwtMTMuNjAzNjcgNTMuNjc0MjcsLTI2LjIyMDczIDE3LjA2OTI1LC0xMy43NTM0NCAzMC4yNzQ0NSwtMzEuNDIxMTUgMzguNDI0OTgsLTUwLjYyMDE2IDguMTg1MiwtMTkuMjE5MzQgMTEuMjMxMTgsLTM5Ljg0MTQ1IDguNzA2MzIsLTU5LjM1NjUyMiAtMi40NzIyOCwtMTkuNTkzNjIzIC0xMC43MjkxMSwtMzcuNjk5ODY2IC0yMy4zMzQ4OSwtNTIuNTg1ODY5IC0zLjAwMDc3LDIuMzI4NjgzIC01Ljk5MjU4LDQuNjUwNDI2IC04Ljk4NTY2LDYuOTc5NDg3IDExLjE5NzY0LDEzLjI2NTI1OSAxOC42ODkzNywyOS4yODEyNSAyMS4xMDgyNSw0Ni42ODc2MzMgMi42MDUyNSwxOC4xMzkwMjEgLTAuMTI2NzcsMzcuMzg5NDMxIC03Ljc0NDg5LDU1LjMwODkwMSAtOC4wNjg2NiwxOS4wNDA3MyAtMjEuNjA2NjUsMzYuNDE4NjIgLTM5LjE1NTYyLDQ5LjMyODcyIC0xMy4zOTkxNCw5Ljg5Mzg5IC0yOC45NDQwMSwxNy4wNTIzNyAtNDUuMDc4NzUsMjAuNjAxNyAtMjAuMTM0OTksNC40Njk3MSAtNDAuOTcwMzMsMy4zODM3NCAtNTkuMjI1NjA4LC0zLjAzMzcyIEMgNjUuMzE2OTk1LDIxMi40OTM5MiA1MC42MjA0MzYsMjAxLjgyMDExIDQwLjgzNjM4NywxODcuNjAwMTUgMzMuNDU1NzUyLDE3Ni45MzMwOSAyOC45Mjk3MTksMTY0LjQyNDQyIDI3LjgyODQ3OCwxNTEuMjU0MjQgMjYuMzAzMzQyLDEzMy43ODIxNiAzMC42OTI3NDUsMTE1LjMzODQ5IDQwLjI4MDM2Miw5OS4wOTAxNSA0Ny44MTYzMzksODYuMjgxMDc2IDU4LjU2NTg2NCw3NC45NDc0NTggNzEuNTI5MjI4LDY2LjU4ODg3NiA4My43NzMyNjIsNTguNjQ0MjY2IDk3LjgzMTc0Miw1My40OTk1NzUgMTEyLjA0OTkyLDUxLjgzMTYzOSBjIDI0LjkxNzMxLC0yLjk4OTA0IDQ5LjcxODEzLDQuNTU1MDc2IDY1LjQ0MjU2LDIxLjA1OTM5NCA4Ljk2ODI0LDkuMzgxNjggMTQuNzIxNjgsMjEuNDI4MTM2IDE2LjE0MjI1LDM0LjQ2Njc5NyAxLjY0NjY3LDE0LjU4NTE0IC0yLjAyLDMwLjE0MjYxIC0xMC4zODI1Myw0My42MjYgLTYuNDE1MjIsMTAuMzc4MzYgLTE1LjU4NjgzLDE5LjM5MjgyIC0yNi41NTQ0OSwyNS42ODIxIC0xOS45MzQ2MSwxMS42NjA4MiAtNDQuOTc3MDIsMTIuODc5NjcgLTYzLjYzOTE2OSwzLjEwNTg1IC05LjQwOTAyNiwtNC44NjUwMiAtMTYuOTIzMjA3LC0xMi40MzkxMiAtMjEuMTM2MDY5LC0yMS43NzMyNyAtNC4yNDk5MjEsLTkuMjU0NzkgLTQuOTg3NDc3LC0yMC4wODkyNiAtMi4xNjkwMTQsLTMwLjQ4NjM3IDIuOTI4NTA0LC0xMC45MDA4MiA5LjY5MTA2MiwtMjEuMjEwMDUgMTkuNDMyODY3LC0yOC40NTQwNDMgOS4wNTM2MywtNi43ODQyMDIgMjAuMzg3MjA1LC0xMC41MjM2MTkgMzEuMzM2ODA1LC0xMC4wMzEzMjggMTIuODY3OTYsMC41MDc2NzYgMjQuNjYzODYsNi42MTQ2ODIgMzAuMDkyNDMsMTcuMjM1MTMxIDUuMjE0MywxMC4wMDQ1MiAzLjU0MjE0LDIzLjIyNjkxIC00LjkwNjA1LDMyLjc1NzU0IC01LjE0ODk1LDUuODI5NDcgLTEyLjg3MzI3LDkuNzg3NTMgLTIwLjYyMDI2LDkuNzQ0MzIgLTYuMzQzMTgsMC4wMTI3IC0xMi42MTkwNiwtMi41OTExNCAtMTUuNTMxMjQsLTcuNzI2ODQgLTIuNTMwMDUsLTQuMTc5MTUgLTEuODM0NjMsLTEwLjM1ODM0IDIuMzEwNDgsLTE0LjE2NDQ3IDEuODc0MTUsLTEuNTQ0MDggMy4zNTg3NiwtMS41OTQ3OCA1LjQwNjg2LC0wLjgzNDgxIDAuNDUzMTEsLTEuNDA4OTUgMC44ODY2MiwtMS45Nzc1NSAxLjMxNjE1LC0xLjcwNTAxIDEuODQzNTcsMi42NzU5NiAzLjE5Nyw1LjY1OTI4IDQuOTM1MSw4LjQwMzcxIDIuMTI4NDcsLTEuNzk2OTQgNC4xNDM4MSwtMy4yMDg0MiA0LjgyNzMzLC01LjkxMjA4IDEuMjIxMjMsLTQuODMxNjMgLTIuMjUwMzIsLTguNjY3MDYgLTYuMzUzNDEsLTEwLjYwMDYxIC01Ljk3Mzg3LC0yLjg2MTc0IC0xNC4wNzAwNCwtMC4xNDc1NiAtMTguNzQ5MTIsNC44NTY4NiAtNy4xMjgxODYsNy41MzA1NyAtOC4xNzM0MzUsMTguMzc4NjQgLTMuMzM1NDA3LDI2LjEyMDU2IDYuMTYwODY3LDEwLjIyMTkzIDIwLjE4NjI3NywxNC4wMzUyIDMyLjkxNTU4NywxMC44NTMxNCA4Ljg4Mzk3LC0yLjIwOTU3IDE2Ljk4OTIzLC03LjU2NTQ2IDIyLjYwMTAzLC0xNC42MzM2NCA2LjI1ODYzLC03LjgzMjcxIDkuNDY4OTUsLTE3LjQyMDM0IDkuMjc5MDQsLTI2LjYyNTc2IC0wLjE3MTMsLTEwLjI2NzIgLTQuNzM5ODMsLTE5LjgwMzc0OCAtMTIuMjUzMDIsLTI2LjU2NTk1NSBDIDEzOC41NDg0Miw3Ny42NjA5NzEgMTE1Ljk1OTA1LDc1LjE5NTEyOSA5Ni43MTIwNCw4My4zMTExMiA4Ni4zNjc4MDUsODcuNjA5NTk1IDc3LjE5MTQ1MSw5NC42NTMzMDEgNzAuNDQyMjQ2LDEwMy4yOTUyNyBjIC05LjA1NzM5MywxMS41Mjk1MSAtMTMuNzcxODgxLDI1LjU1MDgxIC0xMy40NjkwMzYsMzkuMDQ5OCAwLjMzNzcxNiwyMC4yOTA1NiAxMi40NzY0MDgsMzguMTE5OTQgMzAuODUwMDgyLDQ3LjExOTA2IDE0LjExNjk2OCw3LjA1MDQ1IDMxLjM0NjYwOCw5LjAzMjQyIDQ4LjA0MDc3OCw1LjY4MDk3IDEzLjg0ODQxLC0yLjc0MTkzIDI3LjEyMzMxLC05LjE4ODA4IDM4LjA5ODIxLC0xOC4yNDQ1OSAxOS4xOTI4MSwtMTUuNzk0MjMgMzAuNDI2NjMsLTM4LjgwMTE3IDMxLjEzMzA2LC02MS4zNDkxOCAwLjUwNTgsLTE0LjQzMjQ5IC0zLjM4NDIsLTI4LjQxNDY5NCAtMTEuMDg2NzUsLTQwLjExNjQ3NSBDIDE4NS45MDE3LDYyLjk5NjgzNCAxNzMuNjk2ODgsNTMuMzYzNjE5IDE1OS4zMDc4OSw0Ny41MzE5OCAxNDMuMTE0NTksNDAuOTMwNTA2IDEyNC4zMjk5NSwzOS4xMzU5NTcgMTA1LjkzOTAxLDQyLjQwOTMyNCA5MC4xOTA0MTYsNDUuMTY2Mjc1IDc0Ljg2OTg4Myw1MS43MDEzMzkgNjEuNjk1NjQ4LDYxLjEwNDY4NiA0Ni41Mjc4MzcsNzEuODgzNzA1IDM0LjQ1OTE3NSw4Ni4zMDIyNzIgMjYuNjgxNjUzLDEwMi4yODc0OCBjIC04LjYyNjgzMSwxNy42NTQ2NyAtMTEuOTYzMjE2LDM3LjA1OTE3IC05LjQ0Nzk2OSw1NS4yNjc0MyAyLjIyMjQ5OCwxNi40NTkxOSA5LjI5NzAzMywzMS43Njc4NCAyMC4xNTI2OCw0NC4xMTU0OCAxMi4wNjE2NzUsMTMuNzgxMDggMjguNjI2NjY5LDIzLjY3MDc0IDQ3LjI5MTcyMSwyOC43OTUxNCAxOC43MDM5MjUsNS4xNzA2NSAzOS4zODM4MzUsNS41MjU1NSA1OS4zODU0MzUsMC45MjM2MyB6Ig0KICAgICBmaWxsPSIjMDAwMDAwIg0KICAgICBpZD0icGF0aDUyOTM0Ig0KICAgICBzdHlsZT0iZmlsbDojYmFiOWJiO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjc1NTkiIC8+DQo8L3N2Zz4NCg==",C=I.p+"static/laptop-gears-54f3eaa232e7503cd5a1cb0cea35d352.svg",T=I(29934),w=I(28151),i=I(53468),E=I.p+"static/plugin-run-screenshot-0aea571608647046fa2f9cc31ce61bf0.png";function e(M){const D=Object.assign({p:"p",ul:"ul",li:"li"},(0,j.ah)(),M.components);return N.createElement(L.X_,null,N.createElement(L.DH,null,N.createElement(L.VM,{backgroundImageURL:A},N.createElement(L.$D,null,N.createElement(L.LR,null,"Create Software",N.createElement("br")," Easy To Understand!"),"\r\n",N.createElement(L.vC,null,"DDD and API-First Modeling Tools for Modern Distributed Applications."),N.createElement(L.kW,null,N.createElement(L.sd,null,N.createElement(L.zx,{variant:"neutral",as:g.Link,to:"/docs/zenwave360",style:{marginRight:"6px"}},N.createElement(D.p,null,"Browse Docs")),N.createElement(L.zx,{as:g.Link,to:"/docs/getting-started/"},N.createElement(D.p,null,"Getting Started"))))))),N.createElement(L.gT,null,N.createElement(L.VS,null,N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMTIwMHB4IiBoZWlnaHQ9IjEyMDBweCIgc3R5bGU9InNoYXBlLXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247IHRleHQtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjsgaW1hZ2UtcmVuZGVyaW5nOm9wdGltaXplUXVhbGl0eTsgZmlsbC1ydWxlOmV2ZW5vZGQ7IGNsaXAtcnVsZTpldmVub2RkIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk2MiIgZmlsbD0iIzJiOGEzZSIgZD0iTSA0MjcuNSwxMzIuNSBDIDQ5MC41LDEzMi41IDU1My41LDEzMi41IDYxNi41LDEzMi41QyA2MTYuNSwxOTUuNSA2MTYuNSwyNTguNSA2MTYuNSwzMjEuNUMgNTUzLjUsMzIxLjUgNDkwLjUsMzIxLjUgNDI3LjUsMzIxLjVDIDQyNy41LDI1OC41IDQyNy41LDE5NS41IDQyNy41LDEzMi41IFogTSA0NjYuNSwxNzEuNSBDIDUwMy41LDE3MS41IDU0MC41LDE3MS41IDU3Ny41LDE3MS41QyA1NzcuNSwyMDguNSA1NzcuNSwyNDUuNSA1NzcuNSwyODIuNUMgNTQwLjUsMjgyLjUgNTAzLjUsMjgyLjUgNDY2LjUsMjgyLjVDIDQ2Ni41LDI0NS41IDQ2Ni41LDIwOC41IDQ2Ni41LDE3MS41IFoiLz48L2c+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk3NCIgZmlsbD0iIzJiOGEzZSIgZD0iTSA1MDUuNSwzNzQuNSBDIDUxOC4xNjcsMzc0LjUgNTMwLjgzMywzNzQuNSA1NDMuNSwzNzQuNUMgNTQzLjUsMzkzLjgzMyA1NDMuNSw0MTMuMTY3IDU0My41LDQzMi41QyA2OTMuNSw0MzIuNSA4NDMuNSw0MzIuNSA5OTMuNSw0MzIuNUMgOTkzLjUsNTYzLjE2NyA5OTMuNSw2OTMuODMzIDk5My41LDgyNC41QyA5ODAuODMzLDgyNC41IDk2OC4xNjcsODI0LjUgOTU1LjUsODI0LjVDIDk1NS41LDcwNi44MzMgOTU1LjUsNTg5LjE2NyA5NTUuNSw0NzEuNUMgODE4LjE2Nyw0NzEuNSA2ODAuODMzLDQ3MS41IDU0My41LDQ3MS41QyA1NDMuNSw0ODkuMTY3IDU0My41LDUwNi44MzMgNTQzLjUsNTI0LjVDIDUzMC44MzMsNTI0LjUgNTE4LjE2Nyw1MjQuNSA1MDUuNSw1MjQuNUMgNTA1LjUsNTA2LjgzMyA1MDUuNSw0ODkuMTY3IDUwNS41LDQ3MS41QyA0MTguMTY3LDQ3MS41IDMzMC44MzMsNDcxLjUgMjQzLjUsNDcxLjVDIDI0My41LDQ4OS4xNjcgMjQzLjUsNTA2LjgzMyAyNDMuNSw1MjQuNUMgMjMwLjgzMyw1MjQuNSAyMTguMTY3LDUyNC41IDIwNS41LDUyNC41QyAyMDUuNSw0OTMuODMzIDIwNS41LDQ2My4xNjcgMjA1LjUsNDMyLjVDIDMwNS41LDQzMi41IDQwNS41LDQzMi41IDUwNS41LDQzMi41QyA1MDUuNSw0MTMuMTY3IDUwNS41LDM5My44MzMgNTA1LjUsMzc0LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDEzMC41LDU4MC41IEMgMTkzLjE2Nyw1ODAuNSAyNTUuODMzLDU4MC41IDMxOC41LDU4MC41QyAzMTguNSw2NDMuMTY3IDMxOC41LDcwNS44MzMgMzE4LjUsNzY4LjVDIDI1NS44MzMsNzY4LjUgMTkzLjE2Nyw3NjguNSAxMzAuNSw3NjguNUMgMTMwLjUsNzA1LjgzMyAxMzAuNSw2NDMuMTY3IDEzMC41LDU4MC41IFogTSAxNjguNSw2MTguNSBDIDIwNS44MzMsNjE4LjUgMjQzLjE2Nyw2MTguNSAyODAuNSw2MTguNUMgMjgwLjUsNjU1LjgzMyAyODAuNSw2OTMuMTY3IDI4MC41LDczMC41QyAyNDMuMTY3LDczMC41IDIwNS44MzMsNzMwLjUgMTY4LjUsNzMwLjVDIDE2OC41LDY5My4xNjcgMTY4LjUsNjU1LjgzMyAxNjguNSw2MTguNSBaIi8+PC9nPg0KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MC45NzQiIGZpbGw9IiMyYjhhM2UiIGQ9Ik0gNDI3LjUsNTgwLjUgQyA0OTAuNSw1ODAuNSA1NTMuNSw1ODAuNSA2MTYuNSw1ODAuNUMgNjE2LjUsNjQzLjE2NyA2MTYuNSw3MDUuODMzIDYxNi41LDc2OC41QyA1NTMuNSw3NjguNSA0OTAuNSw3NjguNSA0MjcuNSw3NjguNUMgNDI3LjUsNzA1LjgzMyA0MjcuNSw2NDMuMTY3IDQyNy41LDU4MC41IFogTSA0NjYuNSw2MTguNSBDIDUwMy41LDYxOC41IDU0MC41LDYxOC41IDU3Ny41LDYxOC41QyA1NzcuNSw2NTUuODMzIDU3Ny41LDY5My4xNjcgNTc3LjUsNzMwLjVDIDU0MC41LDczMC41IDUwMy41LDczMC41IDQ2Ni41LDczMC41QyA0NjYuNSw2OTMuMTY3IDQ2Ni41LDY1NS44MzMgNDY2LjUsNjE4LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDg4MC41LDg4MC41IEMgOTQzLjE2Nyw4ODAuNSAxMDA1LjgzLDg4MC41IDEwNjguNSw4ODAuNUMgMTA2OC41LDk0My4xNjcgMTA2OC41LDEwMDUuODMgMTA2OC41LDEwNjguNUMgMTAwNS44MywxMDY4LjUgOTQzLjE2NywxMDY4LjUgODgwLjUsMTA2OC41QyA4ODAuNSwxMDA1LjgzIDg4MC41LDk0My4xNjcgODgwLjUsODgwLjUgWiBNIDkxOC41LDkxOC41IEMgOTU1LjgzMyw5MTguNSA5OTMuMTY3LDkxOC41IDEwMzAuNSw5MTguNUMgMTAzMC41LDk1NS44MzMgMTAzMC41LDk5My4xNjcgMTAzMC41LDEwMzAuNUMgOTkzLjE2NywxMDMwLjUgOTU1LjgzMywxMDMwLjUgOTE4LjUsMTAzMC41QyA5MTguNSw5OTMuMTY3IDkxOC41LDk1NS44MzMgOTE4LjUsOTE4LjUgWiIvPjwvZz4NCjwvc3ZnPg0K"}),N.createElement(L.Gz,null,"Domain Model Language"),N.createElement(L.P7,null,N.createElement(D.p,null,"Concise and complete DDD modeling language for Event-Driven Architectures."))),N.createElement(L.L0,null,N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:u}),N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MTAgNDU3LjgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMCA0NTcuODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzZEQjMzRjt9DQo8L3N0eWxlPg0KPHRpdGxlPmljb24tc3ByaW5nLWJvb3Q8L3RpdGxlPg0KPGcgaWQ9IkxheWVyXzJfMV8iPg0KCTxnIGlkPSJMYXllcl8xLTIiPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTAzLjUsMjAxLjRMNDAzLDI3LjVDMzk0LjMsMTIuNCwzNzIuOSwwLDM1NS40LDBIMTU0LjZjLTE3LjQsMC0zOC45LDEyLjQtNDcuNiwyNy41TDYuNiwyMDEuNA0KCQkJYy04LjcsMTUuMS04LjcsMzkuOCwwLDU0LjlsMTAwLjQsMTc0YzguNywxNS4xLDMwLjEsMjcuNSw0Ny42LDI3LjVoMjAwLjljMTcuNCwwLDM4LjgtMTIuNCw0Ny42LTI3LjVsMTAwLjQtMTc0DQoJCQlDNTEyLjIsMjQxLjIsNTEyLjIsMjE2LjUsNTAzLjUsMjAxLjR6IE0yMzMuMyw5Ni4yYzAtMTEuNCw5LjMtMjAuNywyMC43LTIwLjdjMTEuNCwwLDIwLjcsOS4zLDIwLjcsMjAuN3YxMjMuNw0KCQkJYzAsMTEuNC05LjMsMjAuNy0yMC43LDIwLjdjLTExLjQsMC0yMC43LTkuMy0yMC43LTIwLjdsMCwwVjk2LjJ6IE0yNTQsMzYwLjNjLTc3LjQsMC0xNDAuNC02My0xNDAuNC0xNDAuNA0KCQkJYzAuMS00NC40LDIxLjEtODYuMSw1Ni43LTExMi43YzguMi02LjEsMTkuNy00LjQsMjUuOCwzLjhzNC40LDE5LjctMy44LDI1LjhsMCwwYy00NS45LDM0LjEtNTUuNSw5OS0yMS40LDE0NC45DQoJCQlzOTksNTUuNSwxNDQuOSwyMS40YzI2LjMtMTkuNSw0MS44LTUwLjQsNDEuOC04My4yYy0wLjEtMzIuOS0xNS43LTYzLjgtNDIuMi04My40Yy04LjItNi05LjktMTcuNi0zLjktMjUuOHMxNy42LTkuOSwyNS44LTMuOQ0KCQkJYzM1LjksMjYuNSw1Nyw2OC41LDU3LjEsMTEzLjFDMzk0LjQsMjk3LjQsMzMxLjQsMzYwLjMsMjU0LDM2MC4zeiIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K"}),N.createElement(L.Gz,null,"ZenWave SDK"),N.createElement(L.P7,null,N.createElement(D.p,null,"ZenWave SDK helps you create SpringBoot/SpringCloud applications in no time."))),N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI0OSAyMTkiIHdpZHRoPSIyNDkuMHB0IiBoZWlnaHQ9IjIxOS4wcHQiPg0KDQo8cGF0aCBkPSJNIDExNS41MSAxMS44MiBDIDEzMi4zMyA4Ljg4IDE1MC4zOCAxNS41NyAxNjEuNDEgMjguNTYgQyAxNjcuNzMgMzUuNzMgMTcxLjUwIDQ0LjYyIDE3My4xMCA1My45OCBDIDE3NC44OSA2NS42OCAxNzEuOTcgNzcuNzkgMTY1Ljc1IDg3Ljc4IEMgMTU5LjE2IDk4LjA2IDE0OC44MyAxMDUuODMgMTM3LjAxIDEwOS4wNCBDIDExOC4yMiAxMTQuNzcgOTYuODkgMTA3LjQ1IDg0Ljc5IDkyLjE4IEMgNzYuMjggODEuNjIgNzIuMjQgNjcuNDEgNzQuMjUgNTMuOTcgQyA3NS43OSA0NC43MSA3OS41OSAzNS45MSA4NS43NiAyOC43OCBDIDkzLjMzIDE5Ljc3IDEwMy45OCAxMy45NSAxMTUuNTEgMTEuODIgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTAyLjY3IDI4LjU3IEMgMTE0LjU2IDI4Ljg5IDEyOC45MiAyNy4xNiAxMzkuOTIgMzIuMDUgQyAxNDcuMTkgMzUuMDcgMTUyLjAxIDQxLjU1IDE1My42MiA0OS4xNiBDIDE1NS40MCA1Ny43NCAxNTUuMjUgNjcuNTUgMTUxLjY1IDc1LjY0IEMgMTQ4LjYyIDgyLjQwIDE0Mi41MCA4Ni42NyAxMzUuNDkgODguNTkgQyAxMjUuMjQgOTEuNDcgMTEzLjMwIDkwLjIzIDEwMi42NyA5MC41MCBDIDEwMi42NiA2OS44NSAxMDIuNjYgNDkuMjEgMTAyLjY3IDI4LjU3IFoiIGZpbGw9IiMwMDAwMDAiIC8+DQo8cGF0aCBkPSJNIDExMS4wNCAzNS40OCBDIDExOC44MyAzNS42MSAxMjcuNzIgMzQuNjMgMTM0Ljk1IDM3Ljk0IEMgMTM5Ljg0IDQwLjA3IDE0My4yNCA0NC4zOSAxNDQuNjQgNDkuNDggQyAxNDYuMjIgNTUuNDIgMTQ2LjI1IDYxLjk3IDE0NS4wMyA2Ny45OCBDIDE0My45MCA3My40MSAxNDAuODEgNzguMjQgMTM1Ljc1IDgwLjc1IEMgMTI4LjMwIDg0LjUyIDExOS4xNiA4My40NyAxMTEuMDUgODMuNjIgQyAxMTEuMDMgNjcuNTggMTExLjA1IDUxLjUzIDExMS4wNCAzNS40OCBaIiBmaWxsPSIjMmFkNGZmIiAvPg0KPHBhdGggZD0iTSA1Ni41MiAxMDcuNzAgQyA3NC4xMiAxMDMuNTcgOTMuMzUgMTEwLjI3IDEwNS4wMCAxMjMuOTggQyAxMTEuMzUgMTMxLjE5IDExNS4wOCAxNDAuMTAgMTE2LjY2IDE0OS41MiBDIDExOC4zOCAxNjEuMjUgMTE1LjQ2IDE3My4yNiAxMDkuMjAgMTgzLjI1IEMgMTAyLjY5IDE5My4zMiA5Mi42NCAyMDAuOTkgODEuMDUgMjA0LjIzIEMgNzEuMTkgMjA3LjM1IDYwLjQ5IDIwNi45MyA1MC43OSAyMDMuNDIgQyAzMS44OSAxOTcuMDMgMTguNDEgMTc4Ljg5IDE3LjM1IDE1OS4wMyBDIDE2LjYyIDE0Ni4wNCAyMS40NSAxMzIuNzcgMzAuMTUgMTIzLjEzIEMgMzcuMTAgMTE1LjM5IDQ2LjM5IDExMC4wMyA1Ni41MiAxMDcuNzAgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTcxLjUyIDExMC43NSBDIDE4OS4xNiAxMDYuNTIgMjA4Ljk3IDExMy42MCAyMjAuNDAgMTI3LjU3IEMgMjI2LjUzIDEzNC43NiAyMzAuMTMgMTQzLjU1IDIzMS42MyAxNTIuODIgQyAyMzMuMjUgMTY0LjE0IDIzMC40OCAxNzUuODYgMjI0LjU3IDE4NS41OCBDIDIxOC4wNCAxOTYuMTYgMjA3LjUzIDIwNC4xNyAxOTUuNTIgMjA3LjQzIEMgMTc2Ljc1IDIxMy4xNyAxNTUuNDEgMjA1LjkwIDE0My4zMiAxOTAuNjMgQyAxMzQuNjkgMTc5Ljk3IDEzMC42MSAxNjUuNTYgMTMyLjc4IDE1MS45NyBDIDEzNC4zMCAxNDMuMzQgMTM3LjczIDEzNS4xMyAxNDMuMjggMTI4LjMyIEMgMTUwLjM1IDExOS4zNyAxNjAuNDUgMTEzLjI5IDE3MS41MiAxMTAuNzUgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTU5Ljg0IDEyNy4zMSBDIDE2Ny44NyAxMjcuNDMgMTc1Ljk4IDEyNy4wMCAxODMuOTkgMTI3LjY3IEMgMTkyLjEwIDEyOC41MSAyMDAuMjcgMTMwLjgyIDIwNS41OCAxMzcuNDMgQyAyMTEuMzQgMTQ0LjYzIDIxMi4wMCAxNTUuMjAgMjExLjEwIDE2NC4wMSBDIDIxMC4yMCAxNzIuNTIgMjA2LjMzIDE4MC40NCAxOTguNDUgMTg0LjQ1IEMgMTg3LjE3IDE5MC4zNSAxNzIuMjQgMTg4LjQwIDE1OS44MyAxODguNzUgQyAxNTkuODIgMTY4LjI3IDE1OS44MSAxNDcuNzkgMTU5Ljg0IDEyNy4zMSBaIiBmaWxsPSIjMDAyMjJiIiAvPg0KPHBhdGggZD0iTSA0NS42NCAxMjcuODUgQyA1Ni40NyAxMjguMTQgNjkuMzYgMTI2LjY0IDc5LjUwIDEzMC42MyBDIDg1Ljc5IDEzMi45NiA5MC42NyAxMzcuNzcgOTIuNzkgMTQ0LjE3IEMgOTUuMjggMTUxLjc4IDk1LjMxIDE2MC41MSA5My4zMCAxNjguMjQgQyA5MS40NiAxNzUuMDcgODYuNzkgMTgwLjU5IDgwLjE2IDE4My4xOSBDIDY5Ljg4IDE4Ny41MiA1Ni43MCAxODUuOTQgNDUuNjQgMTg2LjI1IEMgNDUuNjMgMTY2Ljc4IDQ1LjYzIDE0Ny4zMSA0NS42NCAxMjcuODUgWiIgZmlsbD0iIzAwMDAwMCIgLz4NCjxwYXRoIGQ9Ik0gNzYuMjMgMTM2Ljc2IEMgODAuODUgMTM4LjgyIDgzLjk3IDE0Mi45NSA4NS4yNiAxNDcuNzcgQyA4Ni42OSAxNTMuMjggODYuNzAgMTU5LjI2IDg1LjYyIDE2NC44NCBDIDg0LjU1IDE2OS45NyA4MS43NSAxNzQuNTcgNzYuOTcgMTc2Ljk4IEMgNjkuOTcgMTgwLjYxIDYxLjIyIDE3OS41OCA1My41NyAxNzkuNzcgQyA1My40OSAxNjQuNjQgNTMuNTggMTQ5LjUwIDUzLjUzIDEzNC4zNyBDIDYwLjg4IDEzNC40NCA2OS40MyAxMzMuNTkgNzYuMjMgMTM2Ljc2IFoiIGZpbGw9IiMyYWQ0ZmYiIC8+DQo8cGF0aCBkPSJNIDE2OC4yNCAxMzQuMjYgQyAxNzUuMzEgMTM0LjExIDE4My4yNCAxMzMuNTkgMTkwLjAyIDEzNS45MCBDIDE5NS4wMiAxMzcuNTcgMTk4Ljk2IDE0MS4yMCAyMDAuODAgMTQ2LjE3IEMgMjAzLjA2IDE1Mi40MCAyMDMuMTQgMTU5LjUyIDIwMS45MiAxNjUuOTggQyAyMDAuODYgMTcxLjQzIDE5Ny45NiAxNzYuMzMgMTkyLjkxIDE3OC45MiBDIDE4NS4zMSAxODIuOTAgMTc2LjQxIDE4MS43MyAxNjguMTMgMTgxLjkwIEMgMTY4LjIyIDE2Ni4wNCAxNjcuOTggMTUwLjExIDE2OC4yNCAxMzQuMjYgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjwvc3ZnPg=="}),N.createElement(L.Gz,null,"Domain Driven Design"),N.createElement(L.P7,null,N.createElement(D.p,null,"Business, Developer and Computer friendly Ubiquitous Language for your Domain Models and Bounded Contexts."))),N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgNTEyIDUxMiINCiAgIHdpZHRoPSI1MTIuMHB0Ig0KICAgaGVpZ2h0PSI1MTIuMHB0Ig0KICAgaWQ9InN2Zzk0ODU5Ig0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogIDxkZWZzDQogICAgIGlkPSJkZWZzOTQ4NjMiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTQzLjk5IDI2Ljg2IEMgMTU5LjY5IDI1Ljc5IDE3NS42MiAzMC40MSAxODguMzIgMzkuNzAgQyAxOTkuNDcgNDcuNzUgMjA4LjA0IDU5LjI2IDIxMi42MSA3Mi4yNCBDIDIxNy4wMyA4NC44MiAyMTcuNzYgOTguNTggMjE0LjQzIDExMS41MSBDIDIxMC42OCAxMjYuNzggMjAxLjQ0IDE0MC40NiAxODguODIgMTQ5LjgyIEMgMTk5LjcwIDE2OC41NyAyMTAuNjQgMTg3LjI5IDIyMS41MyAyMDYuMDQgQyAyMzkuODcgMjAwLjM5IDI2MC4xMiAyMDUuNDYgMjczLjY5IDIxOC45NyBDIDI5Ny44OSAxOTQuNzMgMzIyLjE2IDE3MC41NiAzNDYuMzIgMTQ2LjI5IEMgMzQzLjU1IDE0MC44OCAzNDEuNjcgMTM1LjE0IDM0MS40MiAxMjkuMDIgQyAzNDAuNDYgMTEzLjY5IDM0OS4xMyA5OC43MiAzNjIuODMgOTEuODMgQyAzNzYuMDIgODQuOTMgMzkyLjc1IDg2LjM5IDQwNC41NiA5NS40NCBDIDQxNi4wOCAxMDQuMDUgNDIyLjA3IDExOC44MSA0MTkuNzYgMTMzLjAzIEMgNDE3LjUzIDE0OC4yMyA0MDUuODggMTYxLjE5IDM5MS4wMSAxNjUuMDMgQyAzODAuOTYgMTY3Ljc4IDM3MC41MyAxNjYuMTcgMzYxLjM1IDE2MS40MiBDIDMzNi4xOSAxODYuNzUgMzEwLjg0IDIxMS45MiAyODUuNjQgMjM3LjIyIEMgMjg3LjU0IDI0Mi42OCAyODguNzIgMjQ4LjA3IDI4OS4wMiAyNTMuODYgQyAzMTYuMzMgMjUzLjg5IDM0My42NSAyNTMuODUgMzcwLjk3IDI1My44NyBDIDM3My44NSAyMzUuODcgMzg0LjAxIDIxOS4zOSAzOTguOTMgMjA4Ljg5IEMgNDExLjY2IDE5OS44NCA0MjcuNDQgMTk1LjM3IDQ0My4wMyAxOTYuNDggQyA0NTguNDIgMTk3LjQzIDQ3My4zMiAyMDMuODggNDg0LjYyIDIxNC4zNSBDIDQ5NS44NyAyMjQuNzIgNTAzLjQ5IDIzOC44MyA1MDUuNzggMjUzLjk4IEMgNTA3LjY0IDI2NC45NyA1MDYuNDYgMjc2LjMxIDUwMi44OCAyODYuODIgQyA0OTcuNzQgMzAxLjczIDQ4Ny4zMyAzMTQuNjkgNDczLjgyIDMyMi44MyBDIDQ2My4zOCAzMjkuMjUgNDUxLjIzIDMzMi42MyA0MzguOTkgMzMyLjc5IEMgNDIyLjM0IDMzMi44OCA0MDUuNzcgMzI2Ljc5IDM5My4zMSAzMTUuNzAgQyAzODEuNDIgMzA1LjMyIDM3My40NyAyOTAuNzggMzcwLjk5IDI3NS4yMCBDIDM0Mi40OCAyNzUuMjEgMzEzLjk4IDI3NS4xOSAyODUuNDcgMjc1LjIxIEMgMjgwLjg1IDI4Ni4yMSAyNzMuNTAgMjk0LjkwIDI2My4yOCAzMDEuMDkgQyAyNzIuODUgMzM2LjE4IDI4Mi40NSAzNzEuMjYgMjkyLjA2IDQwNi4zNCBDIDI5Ny40NyA0MDYuNDIgMzAyLjc3IDQwNy4xMyAzMDcuODIgNDA5LjE3IEMgMzIxLjA4IDQxNC4zMSAzMzAuODEgNDI2Ljg0IDMzMi40NiA0NDAuOTggQyAzMzQuNDAgNDU1LjczIDMyNy40MiA0NzAuODIgMzE0LjkyIDQ3OC44OCBDIDMwMi4xNCA0ODcuMzYgMjg0LjgwIDQ4Ny40NCAyNzEuOTcgNDc5LjAxIEMgMjU4Ljc1IDQ3MC42MyAyNTEuNjUgNDU0LjQ1IDI1NC40OSA0MzkuMDMgQyAyNTYuMzEgNDI4LjIzIDI2Mi43MyA0MTguOTUgMjcxLjY4IDQxMi43NyBDIDI2Mi4xMyAzNzcuODIgMjUyLjU4IDM0Mi44NyAyNDMuMDEgMzA3LjkzIEMgMjI5LjU2IDMwOS4zMCAyMTcuMTggMzA2LjA2IDIwNi4xMiAyOTguMzUgQyAxODMuNDAgMzExLjE3IDE2MC43MSAzMjQuMDIgMTM4LjAyIDMzNi44OCBDIDE0My45NCAzNTMuOTEgMTQyLjkzIDM3Mi44OCAxMzUuMDQgMzg5LjEwIEMgMTI3LjUyIDQwNC44MCAxMTMuODIgNDE3LjMyIDk3LjUwIDQyMy4zOSBDIDg1LjQyIDQyNy44NiA3Mi4xNSA0MjguOTYgNTkuNTQgNDI2LjIyIEMgNDUuNzAgNDIzLjMyIDMyLjkxIDQxNi4wNCAyMy4zNyA0MDUuNjEgQyAxMi42NyAzOTQuMDYgNi4yMyAzNzguNzMgNS40OCAzNjMuMDAgQyA0LjYzIDM0Ny41NSA5LjIyIDMzMS45MCAxOC4zOCAzMTkuNDEgQyAyNi4yOCAzMDguNDYgMzcuNTIgMjk5Ljk4IDUwLjIzIDI5NS4zOCBDIDYxLjI5IDI5MS4zMiA3My4zOCAyOTAuMjQgODQuOTkgMjkyLjIxIEMgMTAxLjk3IDI5NC45NCAxMTcuNDMgMzA0LjQ2IDEyNy44NyAzMTguMDggQyAxNDkuMDcgMzA2LjA5IDE3MC4yNiAyOTQuMTEgMTkxLjQ1IDI4Mi4xMCBDIDE4Ny41OSAyNzQuOTkgMTg1LjQxIDI2OC4wNCAxODQuNjYgMjU5Ljk2IEMgMTUyLjc2IDI1MS4xMSAxMjAuNzIgMjQyLjU3IDg4Ljc4IDIzMy44MiBDIDg2LjE4IDIzOC4xMSA4My4wNiAyNDIuMDEgNzkuMTEgMjQ1LjE0IEMgNjguMzEgMjUzLjk3IDUyLjkyIDI1Ni4yOSAzOS45NyAyNTEuMDkgQyAyNS4yNiAyNDUuNDMgMTUuMDYgMjMwLjc4IDE0Ljk3IDIxNC45OSBDIDE0LjU3IDE5OS4xNCAyNC40NiAxODQuMDYgMzkuMTIgMTc4LjA0IEMgNTIuOTkgMTcyLjA5IDY5Ljc1IDE3NC45MyA4MC44NiAxODUuMTQgQyA4OC44MCAxOTIuMjYgOTMuMzkgMjAyLjQ2IDkzLjg4IDIxMy4wOCBDIDEyNS4wOCAyMjEuNTkgMTU2LjI5IDIzMC4xMCAxODcuNTIgMjM4LjU0IEMgMTkwLjcwIDIyOS44NCAxOTUuODAgMjIyLjM3IDIwMi44MiAyMTYuMzIgQyAxOTEuODUgMTk3LjQ2IDE4MC44OCAxNzguNTkgMTY5Ljg4IDE1OS43NCBDIDE1My4yMSAxNjUuMTAgMTM1LjA1IDE2NC4yMCAxMTkuMjEgMTU2LjY0IEMgMTA1LjA0IDE1MC4wMSA5My4zNCAxMzguMzcgODYuNjQgMTI0LjIyIEMgODAuNTUgMTExLjQ5IDc4LjYzIDk2Ljg4IDgxLjEwIDgyLjk5IEMgODMuNjUgNjguMjIgOTEuMzEgNTQuNDUgMTAyLjQ0IDQ0LjQxIEMgMTEzLjc5IDM0LjA1IDEyOC42NSAyNy43OCAxNDMuOTkgMjYuODYgWiINCiAgICAgZmlsbD0iIzAxMDEwMSINCiAgICAgaWQ9InBhdGg5NDg0MyINCiAgICAgc3R5bGU9ImZpbGw6IzJiOGEzZTtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSAxMzkuNDkgNDguODYgQyAxNTEuMTggNDYuNjIgMTYzLjU4IDQ4Ljk1IDE3My41OCA1NS40MyBDIDE4OS4wMCA2NS4yMSAxOTcuNTcgODMuOTYgMTk0LjYzIDEwMi4wMyBDIDE5Mi4xNSAxMTkuMTMgMTc5LjY2IDEzNC4wMCAxNjMuMjQgMTM5LjM4IEMgMTUwLjc4IDE0My42NCAxMzYuNjkgMTQyLjMzIDEyNS4yNiAxMzUuNzggQyAxMTUuNzUgMTMwLjQ3IDEwOC4yMSAxMjEuNzAgMTA0LjM4IDExMS41MSBDIDEwMC43MyAxMDEuOTAgMTAwLjQxIDkxLjA2IDEwMy4zOSA4MS4yMyBDIDEwOC4zNCA2NC43OCAxMjIuNTggNTEuOTYgMTM5LjQ5IDQ4Ljg2IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDUiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMzc1LjQ3IDEwOS42MCBDIDM4MS42OCAxMDcuNzEgMzg4LjU0IDEwOS4yNyAzOTMuMjQgMTEzLjc1IEMgMzk4LjU5IDExOC43MSA0MDAuMzcgMTI2Ljc3IDM5Ny42NyAxMzMuNTQgQyAzOTQuNzcgMTQxLjA0IDM4Ni45OSAxNDUuODMgMzc4Ljk4IDE0NC45NiBDIDM3MC42MyAxNDQuMjAgMzYzLjY4IDEzNy4zNiAzNjIuODAgMTI5LjAyIEMgMzYxLjcwIDEyMC40NiAzNjcuMjQgMTEyLjA3IDM3NS40NyAxMDkuNjAgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg0NyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA1MC40OSAxOTYuNjkgQyA1Ni43OSAxOTUuMjkgNjMuNDggMTk3LjQyIDY3LjgwIDIwMi4yMCBDIDczLjAwIDIwNy44MiA3NC4wMiAyMTYuNTcgNzAuMjIgMjIzLjIyIEMgNjYuMzUgMjMwLjI5IDU3Ljg0IDIzNC4wMiA1MC4wMSAyMzEuOTcgQyA0MS44OSAyMzAuMDQgMzYuMDAgMjIyLjMyIDM2LjI4IDIxMy45NyBDIDM2LjM4IDIwNS43NSA0Mi40NiAxOTguNDAgNTAuNDkgMTk2LjY5IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDkiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gNDI4LjQ5IDIxOC42NyBDIDQ0My4yMSAyMTUuNDggNDU5LjAwIDIxOS42OCA0NzAuMDYgMjI5LjkzIEMgNDgxLjYyIDI0MC4zOSA0ODcuMzEgMjU2LjY1IDQ4NC43MCAyNzIuMDMgQyA0ODIuODAgMjg0LjAzIDQ3Ni4wNCAyOTUuMDcgNDY2LjI1IDMwMi4yNiBDIDQ1Ni4zMCAzMDkuNzAgNDQzLjIyIDMxMi45MCA0MzAuOTcgMzEwLjgzIEMgNDE2LjcyIDMwOC42MiA0MDMuOTcgMjk5LjU0IDM5Ny4xNCAyODYuODYgQyAzOTAuNzcgMjc1LjIyIDM4OS43NSAyNjAuOTMgMzk0LjMxIDI0OC40OCBDIDM5OS43MCAyMzMuNDkgNDEyLjkyIDIyMS45OSA0MjguNDkgMjE4LjY3IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTEiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMjMwLjQ5IDIyNS43MiBDIDIzOS4yMiAyMjMuOTMgMjQ4LjUwIDIyNS45NyAyNTUuNTYgMjMxLjQzIEMgMjY2LjA0IDIzOS4zMSAyNzAuMzcgMjUzLjU2IDI2Ni4wNiAyNjUuOTcgQyAyNjEuNjMgMjc5LjMxIDI0OC4wMCAyODguMjIgMjMzLjk4IDI4Ni43NyBDIDIxOC42OSAyODUuNTggMjA2LjIwIDI3Mi4zMiAyMDUuOTEgMjU2Ljk5IEMgMjA1LjI2IDI0Mi4xOCAyMTUuOTkgMjI4LjYzIDIzMC40OSAyMjUuNzIgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg1MyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA2My40OSAzMTMuNjYgQyA3NS4zNSAzMTEuMDcgODguMTAgMzEzLjEzIDk4LjM4IDMxOS42MyBDIDEwNy45NiAzMjUuNTYgMTE1LjIwIDMzNS4wMCAxMTguNDYgMzQ1Ljc4IEMgMTIzLjUxIDM2MS45MiAxMTkuMDYgMzgwLjE3IDEwNy4xOCAzOTIuMTggQyA5NC43NyA0MDUuMTQgNzUuMTEgNDA5LjgyIDU4LjIwIDQwMy43NSBDIDQ1LjUzIDM5OS40MSAzNS4wNiAzODkuNDMgMzAuMDkgMzc2Ljk5IEMgMjYuMjEgMzY3LjQ0IDI1LjY4IDM1Ni42NyAyOC40MyAzNDYuNzQgQyAzMi45OCAzMzAuMjcgNDYuODAgMzE3LjI2IDYzLjQ5IDMxMy42NiBaIg0KICAgICBmaWxsPSIjZmZmZmZmIg0KICAgICBpZD0icGF0aDk0ODU1Ig0KICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIiAvPg0KICA8cGF0aA0KICAgICBkPSJNIDI4Ny41MCA0MjguNzAgQyAyOTMuOTMgNDI2LjUxIDMwMS4yMyA0MjguMTQgMzA2LjA1IDQzMi45NSBDIDMxMS42OSA0MzguNDEgMzEzLjA3IDQ0Ny4zMCAzMDkuNDAgNDU0LjI0IEMgMzA1LjgxIDQ2MS4yNSAyOTcuNzcgNDY1LjE2IDI5MC4wMyA0NjMuNjkgQyAyODIuMDEgNDYyLjI3IDI3NS42NyA0NTUuMjAgMjc1LjI1IDQ0Ny4wNCBDIDI3NC42NSA0MzguOTcgMjc5LjgzIDQzMS4yNCAyODcuNTAgNDI4LjcwIFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTciDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4NCg=="}),N.createElement(L.Gz,null,"Event-Driven Architectures"),N.createElement(L.P7,null,N.createElement(D.p,null,"Designed for Event-Driven Architectures, mapping Event-Storming discoveries into your models."))),N.createElement(L.L0,null,N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY2NSA2NjEiIHdpZHRoPSI2NjUuMHB0IiBoZWlnaHQ9IjY2MS4wcHQiPg0KDQo8cGF0aCBkPSJNIDM5MS4yNCA1Ljg2IEMgNDUzLjUyIDE2LjkwIDUxMi4zMiA0Ni4yOCA1NTguNjIgODkuMzggQyA1ODkuODAgMTE4LjIxIDYxNS40MCAxNTMuMTIgNjMzLjQxIDE5MS41OCBDIDY1MS4zNyAyMjkuNjMgNjYxLjY0IDI3MS4xMCA2NjMuOTcgMzEzLjEwIEMgNjY3LjA1IDM3MC4xNiA2NTUuMzcgNDI3LjkxIDYzMC4yMyA0NzkuMjMgQyA2MDkuNzQgNTIxLjI3IDU4MC4yNSA1NTkuMzYgNTQzLjk0IDU4OC45MiBDIDUxNi4yNSA2MTEuNDMgNDg0LjYyIDYyOC45OCA0NTAuMDIgNjM4LjIxIEMgNDQ2LjIwIDYzOS4xNyA0NDIuMzYgNjM5LjQyIDQzOC45OSA2MzcuMDEgQyA0MzUuMjYgNjM0LjMyIDQzNC4yOCA2MjkuNTMgNDMyLjU5IDYyNS40OSBDIDQwOS42MiA1NjYuNDEgMzg2LjYyIDUwNy4zMyAzNjMuNjMgNDQ4LjI1IEMgMzYyLjA2IDQ0My45MyAzNTkuNDggNDM5Ljc5IDM2MC40NCA0MzUuMDQgQyAzNjEuMjggNDMwLjczIDM2NC41MSA0MjguMDIgMzY4LjUxIDQyNi42MyBDIDM4NS42OCA0MjAuMDggNDAxLjM2IDQxMC40MSA0MTIuMzcgMzk1LjM5IEMgNDIzLjA0IDM4MC44OCA0MjcuNzAgMzYzLjc2IDQyOS4zOSAzNDYuMDMgQyA0MzAuMDcgMzM3LjAwIDQzMC40MiAzMjguMDQgNDI5LjIzIDMxOS4wMyBDIDQyNC43NiAyODUuOTMgNDAyLjAzIDI1Ni43MiAzNzEuNDggMjQzLjUwIEMgMzQwLjg1IDIzMC4wMiAzMDMuNjcgMjM0LjI0IDI3Ni4zMyAyNTMuMzEgQyAyNTguNDYgMjY1LjczIDI0NC44OSAyODQuMDIgMjM4Ljk0IDMwNS4wMiBDIDIzNC4yNiAzMjAuOTIgMjM0Ljk0IDMzNi44MSAyMzcuMzIgMzUzLjAyIEMgMjQwLjA5IDM2OS42NSAyNDUuNzYgMzg1LjQ0IDI1NS45OSAzOTguOTggQyAyNjYuMjcgNDEyLjY0IDI4MC43OSA0MjIuNjQgMjk3LjAwIDQyNy45NSBDIDMwMC45NSA0MjkuMTcgMzA0LjM2IDQzMS4xMCAzMDUuODQgNDM1LjE5IEMgMzA3LjgyIDQ0MC4yOCAzMDUuMDMgNDQ0LjYzIDMwMy4yNSA0NDkuMjYgQyAyNzguNjggNTA5LjY4IDI1NC4xMCA1NzAuMTAgMjI5LjU1IDYzMC41MyBDIDIyOC40NyA2MzMuMDUgMjI3LjE5IDYzNS4zMiAyMjQuODAgNjM2LjgyIEMgMjIxLjg4IDYzOC43MSAyMTguNTAgNjM4LjgyIDIxNS4yMiA2MzcuOTIgQyAyMDMuODYgNjM0LjkxIDE5Mi43NSA2MzAuODUgMTgyLjAzIDYyNi4wNSBDIDE0Ny4zNSA2MTAuNDQgMTE2LjE3IDU4Ni40MCA5MC40NSA1NTguNTMgQyA1MS43NyA1MTYuNTcgMjQuMDEgNDY0LjcxIDEwLjQ3IDQwOS4yOCBDIC01LjE2IDM0NS4zNSAtMS4yMSAyNzYuNjMgMjEuODcgMjE0Ljk4IEMgMzkuMjMgMTY4LjMwIDY3LjM3IDEyNS43NSAxMDMuNDYgOTEuNDUgQyAxMzUuMTQgNjEuMjEgMTcyLjkwIDM3LjQ0IDIxMy44NiAyMS45NSBDIDI3MC4xMyAwLjYyIDMzMi4wNCAtNC44MSAzOTEuMjQgNS44NiBaIiBmaWxsPSIjMWI1MjFiIiAvPg0KPHBhdGggZD0iTSA0MTIuOTcgMzMuMDcgQyA0NDcuNzQgNDIuNDUgNDgxLjAxIDU3LjgxIDUxMC40NyA3OC41NCBDIDU0Ni4zMCAxMDMuNjEgNTc2Ljg4IDEzNi4yMiA1OTkuMjQgMTczLjgzIEMgNjIyLjk1IDIxMy4yMiA2MzcuNDIgMjU4LjIwIDY0MS4zNiAzMDMuOTkgQyA2NDYuOTUgMzY2LjgzIDYzMy4wNCA0MzEuMTAgNjAyLjAwIDQ4Ni4wMSBDIDU3Ni44NyA1MzAuNjggNTQwLjIyIDU2OS45OCA0OTUuNzEgNTk1LjczIEMgNDgxLjg2IDYwMy41OCA0NjcuMTYgNjEwLjI3IDQ1MS44OSA2MTQuODQgQyA0MjkuNzAgNTU3LjczIDQwNy41MiA1MDAuNjEgMzg1LjI0IDQ0My41NCBDIDM5MS4yMCA0NDAuNDQgMzk3LjE5IDQzNy41MyA0MDIuODEgNDMzLjgyIEMgNDE1LjExIDQyNS43MiA0MjUuOTYgNDE1LjM0IDQzMy43OSA0MDIuODIgQyA0NDQuOTEgMzg1LjUyIDQ1MC4yMyAzNjQuMTcgNDUxLjQ2IDM0My44MCBDIDQ1Mi4xMiAzMzEuNjEgNDUyLjA0IDMxOS41NyA0NDkuMzggMzA3LjYwIEMgNDQyLjU0IDI3NC44OSA0MjAuNzEgMjQ1Ljc2IDM5MS43NCAyMjkuMjggQyAzNzYuMjUgMjIwLjM4IDM1OC44MiAyMTUuMTQgMzQwLjk5IDIxMy45NSBDIDMyMC4wMyAyMTIuNzMgMjk4Ljg2IDIxNi44MSAyNzkuOTYgMjI1Ljk3IEMgMjU2LjYxIDIzNy4xOCAyMzcuMDggMjU2LjM1IDIyNS41MCAyNzkuNTIgQyAyMTcuMjEgMjk2LjA1IDIxMy4xMiAzMTQuNTIgMjEzLjY1IDMzMy4wMCBDIDIxNC4xMSAzNTQuNjQgMjE4LjQ1IDM3Ny4wNiAyMjguNjIgMzk2LjMyIEMgMjM2LjA5IDQxMS4wOCAyNDcuMDMgNDIzLjg5IDI2MC40NCA0MzMuNTggQyAyNjYuODUgNDM4LjQyIDI3My45MyA0NDEuOTEgMjgxLjA4IDQ0NS40OSBDIDI3MS45NiA0NjguNDcgMjYyLjUyIDQ5MS4zMiAyNTMuMjEgNTE0LjIzIEMgMjM5LjY3IDU0Ny41MyAyMjYuMTUgNTgwLjg0IDIxMi42MCA2MTQuMTQgQyAyMDQuNjcgNjEyLjIyIDE5Ny4wMyA2MDguNzEgMTg5LjU1IDYwNS40OSBDIDE2My44MyA1OTMuNTcgMTQwLjIyIDU3Ni43OCAxMTkuNzggNTU3LjIwIEMgMTE1LjUxIDU1My4zOSAxMTEuNjAgNTQ5LjQyIDEwNy44MiA1NDUuMTMgQyA1NS43NSA0ODkuMzYgMjQuNTkgNDE0LjM4IDIyLjk5IDMzOC4wMCBDIDIxLjUxIDI3Ni43NCAzOC41MiAyMTUuMjggNzEuODMgMTYzLjgxIEMgMTA2LjM1IDEwOS44MCAxNTguMTUgNjcuMjMgMjE3Ljg1IDQzLjg4IEMgMjc5LjQ1IDE5LjUwIDM0OS4wNSAxNS44NiA0MTIuOTcgMzMuMDcgWiIgZmlsbD0iIzNlYTUzOCIgLz4NCg0KPC9zdmc+"}),N.createElement(L.$s,{style:{display:"inline","margin-right":"5px",...M.style},src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICBoZWlnaHQ9IjE3MDUuMDYwNyINCiAgIHZpZXdCb3g9Ii00OC41ODMxMzIgLTEzNi4yMjg1MyA1OTkuODk3NDkgNTM4LjIwODM5Ig0KICAgd2lkdGg9IjE3MDUuMjMxMiINCiAgIHZlcnNpb249IjEuMSINCiAgIGlkPSJzdmcxMDMxNjQiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMNCiAgICAgaWQ9ImRlZnMxMDMxNjgiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTA5Ljk0Njg3LDE3Ny44NjQ0MiBIIC00OC4zNDMxMzIgYyAwLjAzLDAuNzggMC4wNSwxLjU1IDAuMDksMi4zMiAwLjA2LDEuNDkgMC4xNywyLjk3IDAuMjYsNC40NiAwLjA0LDAuNjQgMC4wNywxLjI4IDAuMTIsMS45MSAwLjEyLDEuNzIgMC4yNywzLjQ0IDAuNDMsNS4xNSAwLjA0LDAuMzkgMC4wNywwLjc4IDAuMTEsMS4xNSAwLjE4LDEuOTEgMC4zOSwzLjgyIDAuNjEsNS43MSAwLjAxLDAuMTggMC4wMywwLjM3IDAuMDYsMC41NSAwLjI1LDIuMDQgMC41MSw0LjA5IDAuODEsNi4xMiAwLDAuMDMgMCwwLjA2IDAuMDEsMC4wOCBhIDI2Ni4wNSwyNjYuMDUgMCAwIDAgOC4xOCwzNy40IGMgMC4wMiwwLjA1IDAuMDQsMC4xIDAuMDUsMC4xNSAwLjU3LDEuOTQgMS4xNywzLjg2IDEuNzgsNS43NyAwLjA0LDAuMTEgMC4wOCwwLjIzIDAuMTEsMC4zNCAwLjAzLDAuMTEgMC4wNywwLjIyIDAuMTEsMC4zNCAwLjU2LDEuNzMgMS4xNSwzLjQ1IDEuNzQsNS4xOCAwLjE1LDAuNDMgMC4zLDAuODcgMC40NiwxLjMxIDAuNTMsMS40OSAxLjA3LDIuOTggMS42Myw0LjQ4IDAuMjYsMC42NyAwLjUxLDEuMzQgMC43NiwyLjAyIDAuNDksMS4yNCAwLjk2LDIuNDcgMS40NSwzLjcgMC4zNywwLjkzIDAuNzUsMS44NiAxLjE0LDIuNzggMC40LDAuOTcgMC44LDEuOTIgMS4yMSwyLjg5IDAuNSwxLjE4IDEuMDMsMi4zNSAxLjU1LDMuNTMgMC4zMSwwLjcgMC42MywxLjM5IDAuOTQsMi4wOSAwLjY0LDEuNDEgMS4zLDIuODIgMS45Nyw0LjIyIDAuMjIsMC40NSAwLjQzLDAuOSAwLjY1LDEuMzQgMC43OCwxLjYyIDEuNTcsMy4yMSAyLjM3LDQuOCAwLjE0LDAuMjQgMC4yNSwwLjQ5IDAuMzgsMC43MyAwLjksMS43NiAxLjgyLDMuNTEgMi43Nyw1LjI1IDAuMDQsMC4wOCAwLjA5LDAuMTUgMC4xMiwwLjI0IDAuMiwwLjM2IDAuNDIsMC43MSAwLjYyLDEuMDcgbCAxMzUuMTkwMDAyLC04MS40MyAwLjUsLTAuMyBjIC01LjMzLC0xMS4yNCAtOC42NSwtMjMuMiAtOS44OSwtMzUuMzUgeiINCiAgICAgZmlsbD0iIzkzZDUwMCINCiAgICAgaWQ9InBhdGgxMDMxNDQiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTQ4Ljg1Njg3LDI1MC41MzQ0MiAtMC4zOCwwLjM4IC0xMTEuNTAwMDAyLDExMS40OSBjIDAuNTcsMC41MyAxLjE0LDEuMDggMS43MywxLjU5IDEuMDQsMC45NSAyLjEsMS44OCAzLjE1LDIuODEgMC41NSwwLjQ4IDEuMDgsMC45NiAxLjYzLDEuNDQgMS4yNiwxLjA5IDIuNTQsMi4xNSAzLjgxLDMuMjIgMC4zNSwwLjI5IDAuNjgsMC41NyAxLjAzLDAuODYgYSAyNTUuNTc2LDI1NS41NzYgMCAwIDAgNC45MSwzLjk0IGMgMS41OCwxLjI1IDMuMTcsMi40NiA0Ljc5LDMuNjggMC4wNywwLjA0IDAuMTIsMC4wOCAwLjE4LDAuMTMgYSAyNjYuNDgsMjY2LjQ4IDAgMCAwIDIwLjg2LDE0LjEgYyAwLjI0LDAuMTYgMC40OSwwLjMgMC43NCwwLjQ2IDEuMzcsMC44MSAyLjczLDEuNjIgNC4xMSwyLjQyIGwgMi41MiwxLjQ0IGMgMC44LDAuNDYgMS41OSwwLjkgMi4zOSwxLjM0IDEuNDUsMC43OSAyLjksMS41OCA0LjM2LDIuMzUgMC4yLDAuMTEgMC40LDAuMjIgMC42MSwwLjMyIDQuMDUsMi4xMiA4LjE3MDAwMiw0LjA5IDEyLjMzMDAwMiw1Ljk5IGwgMy45NiwtOS42MSA1Ni4wOCwtMTM2LjE3IDAuMiwtMC41IGMgLTYuMTIsLTMuMjggLTExLjk5LC03LjE2IC0xNy41MSwtMTEuNjggeiINCiAgICAgZmlsbD0iIzRkNWEzMSINCiAgICAgaWQ9InBhdGgxMDMxNDYiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTM3LjI0Njg3LDIzOS40MjQ0MiBhIDk1LjQ5Miw5NS40OTIgMCAwIDEgLTMuNDgsLTQuMSBjIC0xLC0xLjIzIC0xLjk2LC0yLjQ3IC0yLjg5LC0zLjczIC0xLjA3LC0xLjQ0IC0yLjExLC0yLjkgLTMuMSwtNC4zOCAtMC45OSwtMS40OSAtMS45NywtMi45OSAtMi44OSwtNC41MSBsIC0xMzUuMzYwMDAyLDgxLjUzIGMgMi4wODAwMDAzLDMuNDYgNC4yNDAwMDAzLDYuODIgNi40NjAwMDAzLDEwLjE0IDAuMDcsMC4xMiAwLjE0LDAuMjQgMC4yMiwwLjM1IDAuMDIsMC4wNSAwLjA1LDAuMDggMC4wOCwwLjEzIDAuMDcsMC4xIDAuMTQsMC4yMiAwLjIxLDAuMzMgMC4wMSwwLjAxIDAuMDIsMC4wMiAwLjAyLDAuMDQgMC4xOCwwLjI2IDAuMzYsMC41MiAwLjU0LDAuNzkgMC4wMSwwLjAxIDAuMDIsMC4wMyAwLjA0LDAuMDUgMC4wMiwwLjAyIDAuMDEsMC4wMSAwLjAxLDAuMDIgMi4zNDk5OTk5NiwzLjQ3IDQuNzcsNi44OSA3LjI2LDEwLjIzIDAuMDUsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDAuMDYsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDEuMDksMS40MyAyLjE3LDIuODYgMy4yOSw0LjI4IDAuMTUsMC4xOSAwLjI5LDAuMzcgMC40NSwwLjU1IDEuMTQsMS40NyAyLjMwOTk5OTcsMi45MiAzLjQ5OTk5OTcsNC4zNSAwLjI4LDAuMzQgMC41NywwLjY4IDAuODUsMS4wMyAxLjA3LDEuMjggMi4xNCwyLjU1IDMuMjMsMy44MSAwLjQ3LDAuNTQgMC45NSwxLjA5IDEuNDMsMS42MiAwLjkzLDEuMDYgMS44NSwyLjEyIDIuOCwzLjE2IDAuNTIsMC41NyAxLjA2LDEuMTUgMS41OSwxLjcyIDAuMjQsMC4yNyAwLjQ4LDAuNTIgMC43MywwLjc5IDAuNjksMC43NSAxLjM4LDEuNSAyLjA4LDIuMjQgMC4yOCwwLjI5IDAuNTgsMC41OCAwLjg2LDAuODggMS4yMywxLjI4IDIuNDgsMi41NyAzLjc0LDMuODMgbCAxMTEuNjcwMDAyLC0xMTEuNjUgYyAtMS4yOCwtMS4yOCAtMi40OCwtMi42IC0zLjY2LC0zLjkyIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTQ4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI4NS4yNTY4NywyNTAuNDc0NDIgYyAtMS4yMywwLjk5IC0yLjQ3LDEuOTYgLTMuNzMsMi44OSBsIDAuMjcsMC40NyA4MS40MiwxMzUuMTMgYyAzLjc3LC0yLjQ2IDcuNSwtNSAxMS4xNCwtNy42NyA3Ljg4LC01LjgxIDE1LjUsLTEyLjExIDIyLjg1LC0xOC44OSBsIC0xMTEuNTEsLTExMS40OSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1MCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAzNTEuMzg2ODcsMzkwLjA3NDQyIC0yLjc2LC00LjU5IC03NiwtMTI2LjEzIGMgLTEuNTQsMC45MiAtMy4xMSwxLjc2IC00LjY4LDIuNiAtMS41OSwwLjg2IC0zLjE4LDEuNjUgLTQuOCwyLjQyIC0xNC42LDYuOTIgLTMwLjQsMTAuNDYgLTQ2LjIzLDEwLjQ2IC0xMC4zNywwIC0yMC43MywtMS41IC0zMC43NSwtNC40OSAtMS43MSwtMC41MSAtMy4zOCwtMS4xOCAtNS4wNiwtMS43OCAtMS42OSwtMC41OSAtMy40LC0xLjExIC01LjA2LC0xLjc5IGwgLTU2LjA0LDEzNi4wOCAtMi4xOSw1LjMzIC0xLjg4LDQuNTcgLTAuMDEsMC4wMiBjIDAuMTQsMC4wNiAwLjI5LDAuMTEgMC40MywwLjE3IDAuMTYsMC4wNiAwLjMxLDAuMTEgMC40NiwwLjE4IGggMC4wMiBjIDAuMDQsMC4wMiAwLjA4LDAuMDMgMC4xMSwwLjA0IDEuMzIsMC41NSAyLjY1LDEuMDEgMy45OCwxLjUzIDEuNjcsMC42NSAzLjMzLDEuMzEgNSwxLjkyIDAuODYsMC4zMSAxLjcsMC42NyAyLjU1LDAuOTcgaCAwLjAxIGEgMjY3LjQyLDI2Ny40MiAwIDAgMCA1NC4xOSwxMi45NyBjIDAuNzMsMC4wOSAxLjQ0LDAuMTkgMi4xNywwLjI5IDAuNzUsMC4wOSAxLjUxLDAuMTYgMi4yNywwLjI1IDEuNDIsMC4xNiAyLjg0LDAuMzIgNC4yNywwLjQ2IGwgMS4wNiwwLjA5IGMgMS43NSwwLjE3IDMuNSwwLjMyIDUuMjQsMC40NCAwLjYsMC4wNSAxLjIsMC4wNyAxLjc5LDAuMTIgMS41MywwLjEgMy4wNiwwLjE5IDQuNTksMC4yNiAwLjk0LDAuMDYgMS44OCwwLjA4IDIuODIsMC4xMiAxLjIyLDAuMDQgMi40MywwLjA5IDMuNjUsMC4xMyAxLjc1LDAuMDQgMy41MiwwLjA1IDUuMjgsMC4wNiAwLjQyLDAgMC44MywwLjAxIDEuMjUsMC4wMiAxNC43NSwwIDI5LjUsLTEuMjMgNDQuMDksLTMuNjggMC4yNCwtMC4wNCAwLjQ5LC0wLjA4IDAuNzQsLTAuMTEgMS41NCwtMC4yNyAzLjA4LC0wLjU2IDQuNjIsLTAuODQgMC44OCwtMC4xNyAxLjc3LC0wLjM0IDIuNjMsLTAuNTEgMC45LC0wLjE5IDEuODEsLTAuMzcgMi43MSwtMC41NyAxLjUsLTAuMzEgMywtMC42NCA0LjUxLC0wLjk5IDAuMjcsLTAuMDYgMC41NCwtMC4xMSAwLjgxLC0wLjE5IDIyLjE4LC01LjE2IDQzLjYsLTEzLjE2IDYzLjcyLC0yMy43NSB2IC0wLjAxIGMgMS4zMiwtMC42OSAyLjYxLC0xLjQ4IDMuOTIsLTIuMiAxLjU2LC0wLjg1IDMuMTEsLTEuNzQgNC42NywtMi42MyAxLjA3LC0wLjYxIDIuMTYsLTEuMTggMy4yMywtMS44MiAwLjAxLC0wLjAxIDAuMDIsLTAuMDIgMC4wMywtMC4wMiBoIDAuMDEgYyAwLjAyLC0wLjAxIDAuMDMsLTAuMDIgMC4wNSwtMC4wMyBsIDAuMDIsLTAuMDIgLTAuMiwtMC4zMyAwLjIsMC4zMyBjIDAuMDEsMCAwLjAyLC0wLjAxIDAuMDMsLTAuMDEgMC4wMiwtMC4wMSAwLjAzLC0wLjAyIDAuMDUsLTAuMDMgMC4wNiwtMC4wNCAwLjEyLC0wLjA3IDAuMTgsLTAuMTEgMC4zNCwtMC4yMSAwLjY5LC0wLjQxIDEuMDQsLTAuNjIgeiBtIC0yMDIuNDcsLTMwNi4yMjAwMDcgYyAxLjIzLC0xIDIuNDgsLTEuOTYgMy43MywtMi45IGwgLTAuMjcsLTAuNDYgLTgxLjQyMDAwMiwtMTM1LjE0IGMgLTMuNzgsMi40NyAtNy41MSw1LjAyIC0xMS4xNiw3LjY5IC03Ljg3LDUuOCAtMTUuNSwxMi4wOSAtMjIuODMsMTguODYgbCAxMTEuNTEwMDAyLDExMS41IHoiDQogICAgIGZpbGw9IiM5M2Q1MDAiDQogICAgIGlkPSJwYXRoMTAzMTUyIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI5LjIzNjg2OCwtMjAuNjY1NTg3IGMgLTEuMjcsMS4yNyAtMi40NywyLjU4IC0zLjcxLDMuODYgLTEuMjMsMS4yOSAtMi40OSwyLjU3IC0zLjcsMy44NyBhIDI2Ni4xNTYsMjY2LjE1NiAwIDAgMCAtMjIuNTU5OTk5NzQsMjcuOTYgYyAtMC4zMjk5OTk5NiwwLjQ1IC0wLjY0OTk5OTk2LDAuOTMgLTAuOTc5OTk5OTYsMS4zOSAtMC43NiwxLjEyIC0xLjUyLDIuMjMgLTIuMjYsMy4zNSAtMC43OCwxLjE2IC0xLjU1LDIuMzQgLTIuMywzLjUxIC0wLjI4LDAuNDMgLTAuNTYsMC44NyAtMC44MywxLjMgLTI1LjY1MDAwMDMsNDAuMjMgLTM5LjM5MDAwMDMsODUuODU5OTk3IC00MS4yNDAwMDAzLDEzMS44NzAwMDcgLTAuMDcsMS43OSAtMC4xMSwzLjU4IC0wLjE1LDUuMzYgLTAuMDMsMS43OCAtMC4wOSwzLjU3IC0wLjA5LDUuMzUgSCAxMDkuMzQ2ODcgYyAwLC0xLjc4IDAuMTYsLTMuNTYgMC4yNiwtNS4zNSAwLjA5LC0xLjc5IDAuMTEsLTMuNTggMC4yOSwtNS4zNiAyLjA0LC0yMC41NiA5Ljk4LC00MC42NCAyMy44MiwtNTcuNTAwMDA3IDEuMTIsLTEuMzcgMi4zOSwtMi42NiAzLjYsLTMuOTggMS4xOSwtMS4zMyAyLjMxLC0yLjcgMy41OSwtMy45OCB6IG0gMzI1Ljg1MDAwMiwtMzkuMiBjIC0wLjIxLC0wLjEzIC0wLjQ0LC0wLjI2IC0wLjY1LC0wLjM5IC0xLjM5LC0wLjg1IC0yLjc5LC0xLjY3IC00LjIsLTIuNDkgLTAuODEsLTAuNDcgLTEuNjMsLTAuOTMgLTIuNDQsLTEuMzkgLTAuODMsLTAuNDYgLTEuNjQsLTAuOTIgLTIuNDcsLTEuMzcgYSA5MDEuNCw5MDEuNCAwIDAgMCAtNC4yOSwtMi4zMiBjIC0wLjIzLC0wLjExIC0wLjQ1LC0wLjIzIC0wLjY4LC0wLjM1IC05LjI2LC00Ljg0IC0xOC43NywtOS4xIC0yOC40OCwtMTIuOCAtMC4yNSwtMC4xIC0wLjUsLTAuMiAtMC43NSwtMC4yOSAtMi4xMiwtMC43OSAtNC4yNCwtMS41OCAtNi4zOCwtMi4zMiBhIDI2Ny4wODQsMjY3LjA4NCAwIDAgMCAtNTMuMjEsLTEyLjYyOTk5NyBsIC0yLjIyLC0wLjMgYyAtMC43NSwtMC4wOSAtMS40OSwtMC4xNiAtMi4yMywtMC4yNCAtMS40MywtMC4xNyAtMi44NSwtMC4zMyAtNC4yOSwtMC40NyAtMC4zOSwtMC4wNCAtMC43OSwtMC4wNiAtMS4yLC0wLjExIC0xLjY5LC0wLjE1IC0zLjQsLTAuMyAtNS4xLC0wLjQzIGwgLTEuOTksLTAuMTIgYyAtMS40NSwtMC4wOSAtMi45MywtMC4yIC00LjM4LC0wLjI2IC0wLjc4LC0wLjA0IC0xLjU2LC0wLjA3IC0yLjMzLC0wLjA5IFYgNjAuMDU0NDEzIGMgOC4xMiwwLjg0IDE2LjE3LDIuNTcgMjMuOTgsNS4yMiBsIDExNi41MSwtMTE2LjQ5IGMgLTQuMzMsLTMgLTguNywtNS45MiAtMTMuMiwtOC42NSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1NCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAyMTEuNzM2ODcsLTk4LjM2NTU4NCBjIC0xLjc5LDAuMDQgLTMuNTgsMC4wNCAtNS4zNiwwLjExIC0xMS4xNywwLjQ1IC0yMi4zMiwxLjU5IC0zMy4zOCwzLjQ1IC0wLjI0LDAuMDQgLTAuNDgsMC4wOCAtMC43MywwLjEyIC0xLjU1LDAuMjcgLTMuMDksMC41NSAtNC42MywwLjg0IC0wLjg3LDAuMTcgLTEuNzUsMC4zMyAtMi42MywwLjUgLTAuOTEsMC4xOCAtMS44MSwwLjM3IC0yLjcyLDAuNTcgLTEuNSwwLjMxIC0zLDAuNjQgLTQuNDksMC45OSAtMC4yOCwwLjA1IC0wLjU1LDAuMTIgLTAuODIsMC4xOCBhIDI2Ny40NjUsMjY3LjQ2NSAwIDAgMCAtNjMuNzMwMDAyLDIzLjc1OTk5NyBjIC0xLjMxLDAuNyAtMi41OSwxLjQ5IC0zLjksMi4yIC0xLjU2LDAuODYgLTMuMTIsMS43NCAtNC42NywyLjYzIC0xLjE1LDAuNjcgLTIuMzIsMS4yOCAtMy40NywxLjk2IC0wLjAxLDAuMDEgLTAuMDMsMC4wMiAtMC4wNCwwLjAyIC0wLjA4LDAuMDUgLTAuMTYsMC4xIC0wLjI0LDAuMTQgLTAuMywwLjE5IC0wLjYxLDAuMzQgLTAuOTEsMC41MiBsIDAuMDEsMC4wMiAyLjc3LDQuNTkgNzguNzUwMDAyLDEzMC43MyBjIDEuNTQsLTAuOTIgMy4xMSwtMS43NyA0LjY4LC0yLjYxIDEuNTgsLTAuODUgMy4xOCwtMS42NSA0Ljc5LC0yLjQxIGEgMTA3LjI1LDEwNy4yNSAwIDAgMSAzNS4zNiwtOS45MSBjIDEuNzgsLTAuMTggMy41NiwtMC4zMyA1LjM1LC0wLjQyIDEuNzgsLTAuMDkgMy41NywtMC4xOCA1LjM2LC0wLjE4IFYgLTk4LjQ3NTU4NCBjIC0xLjc5LDAgLTMuNTcsMC4wOCAtNS4zNSwwLjExIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTU2IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDQ4Mi40MjY4NywxNTQuMTA0NDIgYyAtMC4wOCwtMS40MiAtMC4xNiwtMi44MyAtMC4yNiwtNC4yNiBhIDc1LjQsNzUuNCAwIDAgMCAtMC4xNCwtMi4xMiBjIC0wLjExLC0xLjY3IC0wLjI1LC0zLjM0IC0wLjQxLC01LjAxIC0wLjAzLC0wLjQzIC0wLjA3LC0wLjg2IC0wLjExLC0xLjI5IC0wLjE4LC0xLjg3IC0wLjM4LC0zLjczIC0wLjYsLTUuNTkgLTAuMDIsLTAuMTUgLTAuMDMsLTAuMyAtMC4wNSwtMC40NSBsIC0wLjAzLC0wLjIxIGMgLTAuMjQsLTIuMDEgLTAuNTEsLTQuMDIgLTAuNzksLTYuMDIgbCAtMC4wMywtMC4xOSBhIDI2Ni40NTQsMjY2LjQ1NCAwIDAgMCAtOC4xNiwtMzcuMzMwMDA3IGMgLTAuMDMsLTAuMDkgLTAuMDUsLTAuMTYgLTAuMDgsLTAuMjQgLTAuNTcsLTEuOTEgLTEuMTYsLTMuOCAtMS43NSwtNS42OSAtMC4wOSwtMC4yNSAtMC4xNywtMC41IC0wLjI1LC0wLjc1IC0wLjU2LC0xLjcxIC0xLjEzLC0zLjQxIC0xLjcyLC01LjExIGwgLTAuNDgsLTEuMzggYyAtMC41MiwtMS40NyAtMS4wNiwtMi45NCAtMS42LC00LjQxIC0wLjI3LC0wLjcgLTAuNTMsLTEuNCAtMC44MSwtMi4wOSAtMC40NiwtMS4yMiAtMC45MywtMi40MyAtMS40MiwtMy42MyAtMC4zOCwtMC45NyAtMC43NywtMS45MiAtMS4xNiwtMi44NiAtMC4zOSwtMC45NSAtMC43OSwtMS44OCAtMS4xOCwtMi44MiAtMC41MiwtMS4yIC0xLjA1LC0yLjQgLTEuNTgsLTMuNTkgLTAuMywtMC42NyAtMC42LC0xLjM1IC0wLjkxLC0yLjAzIC0wLjY1LC0xLjQyIC0xLjMyLC0yLjg1IC0xLjk5LC00LjI3IC0wLjIxLC0wLjQyIC0wLjQyLC0wLjg2IC0wLjYzLC0xLjI5IC0wLjc4LC0xLjYyIC0xLjU4LC0zLjI1IC0yLjQsLTQuODUgLTAuMTEsLTAuMjIgLTAuMjMsLTAuNDUgLTAuMzQsLTAuNjcgLTAuOTEsLTEuNzcgLTEuODUsLTMuNTUgLTIuNzksLTUuMyAtMC4wNCwtMC4wNiAtMC4wNywtMC4xMyAtMC4xMSwtMC4xOSBhIDI2Ni45OSwyNjYuOTkgMCAwIDAgLTE1LjExLC0yNC41MiBsIC0xMTYuNTQsMTE2LjU0MDAwNyBjIDIuNjUsNy44MSA0LjM3LDE1Ljg2IDUuMjEsMjMuOTcgaCAxNTguMzIgYyAtMC4wNCwtMC43OSAtMC4wNiwtMS41OCAtMC4xLC0yLjM1IHoiDQogICAgIGZpbGw9IiM0ZDVhMzEiDQogICAgIGlkPSJwYXRoMTAzMTU4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDMyNC44MjY4NywxNjcuMTU0NDIgYyAwLDEuNzkgLTAuMTcsMy41NyAtMC4yNiw1LjM2IC0wLjA5LDEuNzkgLTAuMTIsMy41OCAtMC4zLDUuMzUgLTIuMDQsMjAuNTcgLTkuOTcsNDAuNjUgLTIzLjgxLDU3LjUyIC0xLjEyLDEuMzcgLTIuMzksMi42NSAtMy42LDMuOTggLTEuMiwxLjMyIC0yLjMxLDIuNjkgLTMuNTksMy45NyBsIDExMS42NywxMTEuNjUgYyAxLjI3LC0xLjI3IDIuNDYsLTIuNTggMy43LC0zLjg3IDEuMjQsLTEuMjkgMi41LC0yLjU2IDMuNywtMy44NyA4LjI2LC04Ljk1IDE1LjgyLC0xOC4zMSAyMi42MiwtMjguMDQgMC4yOCwtMC4zOSAwLjUzLC0wLjc3IDAuOCwtMS4xNSAwLjgzLC0xLjE5IDEuNjMsLTIuNCAyLjQ1LC0zLjYgMC43MSwtMS4wOCAxLjQyLC0yLjE1IDIuMTEsLTMuMjQgMC4zNSwtMC41MiAwLjY5LC0xLjA2IDEuMDIsLTEuNTggMjUuNjEsLTQwLjIxIDM5LjMyLC04NS43OSA0MS4xNiwtMTMxLjc3IDAuMDcsLTEuNzggMC4xMSwtMy41NyAwLjE0LC01LjM2IDAuMDQsLTEuNzggMC4wOSwtMy41NiAwLjA5LC01LjM1IHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTYwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDUyOS42NDY4NywtMTQ1LjM3NTU4IGMgLTI4Ljg5LC0yOC44OSAtNzUuNzMsLTI4Ljg5IC0xMDQuNjIsMCAtMjMuMDUsMjMuMDQgLTI3LjY2LDU3LjQ4OTk5NiAtMTMuOTMsODUuMTQ5OTkzIGwgLTE2MS4xNiwxNjEuMTQ5OTk3IGMgLTI3LjY2LC0xMy43MTk5OTcgLTYyLjEyLC05LjExOTk5NyAtODUuMTcsMTMuOTIwMDEgLTI4Ljg5LDI4Ljg5IC0yOC44OCw3NS43MyAwLDEwNC42MiAyOC45LDI4Ljg5IDc1Ljc1LDI4Ljg4IDEwNC42NCwwIDIzLjA1LC0yMy4wNSAyNy42NSwtNTcuNSAxMy45MiwtODUuMTYgbCAxNjEuMTYsLTE2MS4xNDAwMDcgYyAyNy42NywxMy43MiA2Mi4xMSw5LjEyIDg1LjE2LC0xMy45MyAyOC44OSwtMjguODggMjguODksLTc1LjcxOTk5MyAwLC0xMDQuNjA5OTkzIHoiDQogICAgIGZpbGw9IiM0MjQxNDMiDQogICAgIGlkPSJwYXRoMTAzMTYyIiAvPg0KPC9zdmc+DQo="}),N.createElement(L.$s,{style:{display:"inline",...M.style},src:y}),N.createElement(L.Gz,null,"API-First"),N.createElement(L.P7,null,N.createElement(D.p,null,"Leveraging open standards like OpenAPI and AsyncAPI."))),N.createElement(L.L0,null,N.createElement(L.$s,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQyNiA0MjAiIHdpZHRoPSI0MjYuMHB0IiBoZWlnaHQ9IjQyMC4wcHQiPg0KDQo8cGF0aCBkPSJNIDE1Ny42NCA2LjEwIEMgMTYwLjIxIDYuNDIgMTYxLjQwIDguMjEgMTYzLjEyIDkuOTEgQyAxNjkuNjkgMTYuOTkgMTc2LjcyIDIzLjYyIDE4My4zNSAzMC42NCBDIDE5MS4xMyAzOS40OCAyMDAuMDQgNDcuMjAgMjA3LjgwIDU2LjA3IEMgMjAzLjU0IDYxLjA4IDE5OC42NCA2NS4zNSAxOTQuMDkgNzAuMDkgQyAxODEuNTYgODIuOTAgMTY4LjUxIDk1LjE3IDE1Ni4wNiAxMDguMDYgQyAxNTQuMTcgMTEwLjA0IDE1Mi4wOCAxMTEuNzUgMTQ5LjgyIDExMy4yOSBDIDE0OC45OCAxMDUuODQgMTUwLjk0IDk4LjY4IDE1MC40MyA5MS4yMiBDIDE0NS42MCA5Mi40MyAxNDEuMTQgOTQuNDUgMTM2Ljc2IDk2Ljc3IEMgMTEzLjY0IDEwOC40MiA5Mi4xNCAxMjcuMTggODAuNzEgMTUwLjczIEMgNzMuODMgMTY0LjE1IDcwLjI5IDE3OC45NyA2OS41OCAxOTQuMDAgQyA2OS42MCAyMDAuMzMgNjkuMzQgMjA2LjcyIDY5Ljg1IDIxMy4wMyBDIDcwLjk2IDIyMi44MyA3Mi4zNyAyMzIuNTMgNzUuMjMgMjQxLjk5IEMgNzUuODggMjQ0LjY4IDc3LjE4IDI0OC4xMyA3Ni4zNiAyNTAuODUgQyA3NC4zMyAyNTIuNDYgNzEuNTAgMjUzLjIzIDY5LjA5IDI1NC4xNiBDIDU1LjIyIDI1OS4xMyA0MS43MSAyNjUuMTYgMjcuNzcgMjY5LjkxIEMgMjUuMzMgMjYzLjI1IDIzLjkzIDI1Ni4zOSAyMi40NCAyNDkuNDggQyAyMC43MSAyNDAuNzggMTguNjcgMjMxLjgyIDE4LjI5IDIyMy4wMCBDIDE3LjIwIDIxMy42MSAxNy40OCAyMDQuNDQgMTcuNDYgMTk1LjAwIEMgMTcuMzYgMTgyLjg2IDE5LjE3IDE3MC43OSAyMS45MCAxNTguOTggQyAyOS4wNiAxMjguMDUgNDYuMTQgOTkuODkgNjkuNzcgNzguNzYgQyA4MC41NCA2OS4yOSA5Mi4yMSA2MC41NyAxMDQuODUgNTMuNzUgQyAxMjAuOTcgNDQuNjggMTM4LjM2IDM3LjQ1IDE1Ni4zMyAzMy4wMCBDIDE1Ni45OCAyMy44NSAxNTUuOTQgMTQuOTIgMTU3LjY0IDYuMTAgWiIgZmlsbD0iI2EyNDM0MiIgLz4NCjxwYXRoIGQ9Ik0gMTYxLjg2IDE1LjMxIEMgMTY4Ljc4IDIwLjc2IDE3NC4yNyAyOC4yNiAxODAuNjEgMzQuMzkgQyAxODYuODkgNDAuNDYgMTkyLjY0IDQ3LjAzIDE5OS4wNCA1Mi45OCBDIDIwMC4wMiA1NC4xMyAyMDIuMjAgNTUuNjcgMjAxLjMyIDU3LjM5IEMgMTk4Ljg4IDYwLjQ3IDE5NS4yNiA2Mi42NyAxOTIuNDkgNjUuNDkgQyAxODQuMTUgNzMuODIgMTc1Ljg3IDgyLjIwIDE2Ny40OCA5MC40OSBDIDE2My4xOSA5NC42NSAxNTkuMzkgOTkuMTMgMTU0LjY0IDEwMi44MSBDIDE1NC4yNSA5Ni45NyAxNTQuODkgOTEuMjMgMTU1LjMxIDg1LjQxIEMgMTQ4Ljg0IDg2LjA5IDE0My42MyA4OC45OSAxMzcuODIgOTEuNjQgQyAxMzEuMjYgOTQuODggMTI0LjQ5IDk4LjI1IDExOC41NyAxMDIuNTYgQyAxMTMuMDkgMTA2LjU1IDEwNy43MCAxMTAuMDYgMTAyLjkzIDExNC45MiBDIDk3LjA2IDEyMS4wMCA5MC45NSAxMjYuMjIgODYuMjcgMTMzLjM1IEMgNzIuMjQgMTUyLjg5IDY0LjgzIDE3Ni45NiA2NS40MyAyMDEuMDAgQyA2NS4wOCAyMTMuODAgNjcuMDkgMjI2LjI1IDcwLjE5IDIzOC42MyBDIDcxLjA0IDI0MS45MSA3MS41MSAyNDUuMjMgNzEuNzkgMjQ4LjU5IEMgNTkuNjAgMjUzLjQ4IDQ3LjI2IDI1Ny45MiAzNS4xMCAyNjIuODggQyAzMy44MSAyNjMuMzMgMzAuMjIgMjY0LjQ5IDI5Ljc4IDI2Mi40NSBDIDI1Ljc3IDI0OC4xNyAyMy41OCAyMzMuODUgMjIuMTQgMjE5LjEzIEMgMjEuMDcgMjExLjI3IDIxLjU2IDIwMi45OSAyMS40NCAxOTUuMDAgQyAyMS4zMiAxODcuMjUgMjIuNDcgMTc5LjkzIDIzLjUxIDE3Mi4yMSBDIDI2LjEwIDE1NC4yNCAzMi4zMSAxMzYuNzYgNDEuMTAgMTIwLjkwIEMgNDYuOTQgMTExLjA5IDUzLjYwIDEwMS42NSA2MS4xOSA5My4xMSBDIDc1LjQ5IDc3LjI3IDkzLjEzIDY1LjE3IDExMS42MyA1NC43NCBDIDExOC4yMSA1MS4xNyAxMjUuMTcgNDguMjYgMTMyLjA1IDQ1LjMwIEMgMTQxLjIyIDQxLjQ3IDE1MC43NiAzOC45OSAxNjAuMjIgMzYuMDQgQyAxNjEuMDggMjkuMTYgMTYwLjY2IDIyLjEwIDE2MS44NiAxNS4zMSBaIiBmaWxsPSIjZTdiYWI4IiAvPg0KPHBhdGggZD0iTSAyNDQuODAgMjguNTYgQyAyNDcuNDMgMjguMTAgMjUwLjA5IDI4LjY2IDI1Mi42NCAyOS4zMCBDIDI2My4wOCAzMi4xNiAyNzMuNDEgMzUuMzYgMjgzLjQ2IDM5LjM5IEMgMzAzLjQwIDQ3LjAxIDMyMi4yMiA1Ny43NiAzMzguNzkgNzEuMjMgQyAzNDUuNDggNzYuODEgMzUxLjY4IDgzLjAyIDM1Ny41MCA4OS41MCBDIDM3Mi43NCAxMDcuMDQgMzgzLjgzIDEyNy45NiAzODkuODcgMTUwLjM5IEMgMzkyLjQwIDE1OC43OCAzOTMuNzUgMTY3LjM4IDM5NS4wNyAxNzYuMDEgQyAzOTUuOTcgMTgyLjU3IDM5NS4zNyAxODkuMzcgMzk1Ljk3IDE5NS45MCBDIDM5Ni44OCAyMDMuNTYgMzk2LjYxIDIxMS4xMyAzOTUuNjggMjE4Ljc3IEMgMzk1LjQ2IDIyNS40OCAzOTQuNDIgMjMyLjA1IDM5My4zNiAyMzguNjYgQyAzOTIuNTkgMjQ0LjU2IDM5MC42MCAyNTAuMDkgMzkwLjI0IDI1Ni4wNSBDIDM5Ny40MyAyNjAuNDUgNDA0Ljc2IDI2NC41OSA0MTEuOTAgMjY5LjA3IEMgNDExLjc3IDI2OS44MyA0MTEuNjQgMjcwLjU4IDQxMS41MSAyNzEuMzQgQyA0MDYuMTcgMjcyLjY4IDQwMC44NSAyNzQuMDggMzk1LjU1IDI3NS41NyBDIDM4Mi44NCAyNzkuMzUgMzY5Ljk2IDI4Mi41MSAzNTcuMjIgMjg2LjE3IEMgMzUzLjI2IDI4Ny4yMiAzNDkuMjcgMjg4LjY4IDM0NS4yMSAyODkuMjcgQyAzNDMuNzYgMjg4LjU2IDM0My41OCAyODcuNDIgMzQzLjEwIDI4Ni4wMSBDIDMzNy45OSAyNjYuODcgMzMyLjM0IDI0Ny45MCAzMjcuMTUgMjI4Ljc3IEMgMzI1LjU0IDIyMi42MyAzMjIuODEgMjE3LjY0IDMyMy40NSAyMTEuMTEgQyAzMzAuMDEgMjE0LjMyIDMzNS4zNCAyMTkuOTQgMzQyLjIzIDIyMi4wMyBDIDM0Mi43NSAyMTcuMzUgMzQzLjUyIDIxMi43NCAzNDMuNDggMjA4LjAwIEMgMzQzLjU0IDIwMC4xMiAzNDMuODEgMTkxLjkwIDM0Mi41MCAxODQuMTcgQyAzNDEuMDUgMTc1LjA3IDMzOS40MiAxNjUuNTEgMzM2LjE0IDE1Ni44OCBDIDMzMi4zMiAxNDYuMjEgMzI2Ljg3IDEzNi4wMyAzMTkuOTYgMTI3LjA0IEMgMzA2LjQ3IDEwOS41NiAyODguMDggOTcuNTYgMjY3LjY2IDg5LjYwIEMgMjU5LjM0IDg2LjQ2IDI1MS4wMyA4My41OCAyNDIuMTkgODIuMjcgQyAyMzkuODEgODEuODEgMjM4LjA1IDgwLjgyIDIzOC40MSA3OC4wNSBDIDIzOS4wMyA2OC4yMSAyNDEuODYgNTguNzAgMjQxLjU1IDQ4LjcwIEMgMjQxLjg1IDQ4LjkyIDI0Mi4xNSA0OS4xNCAyNDIuNDUgNDkuMzYgQyAyNDIuOTkgNDIuNDAgMjQ0LjAxIDM1LjQ4IDI0NC44MCAyOC41NiBaIiBmaWxsPSIjNWI3MDM2IiAvPg0KPHBhdGggZD0iTSAyNTMuMzEgMzMuODIgQyAyNzMuMzkgMzkuMzcgMjkyLjgzIDQ2Ljg4IDMxMC45OCA1Ny4xNSBDIDMyMS4zNiA2My42NyAzMzIuMTQgNzAuNTQgMzQxLjA3IDc4LjkxIEMgMzQ1LjMwIDgyLjQyIDM0OS4yMiA4Ni4wNiAzNTIuNjEgOTAuNDIgQyAzNjEuNjMgMTAwLjQwIDM2OS4zNSAxMTEuNjkgMzc1LjE3IDEyMy44MyBDIDM4NC4yMCAxNDEuMjMgMzg5LjA5IDE2MS4xMSAzOTEuMzMgMTgwLjUxIEMgMzkzLjA4IDE5MC4wOCAzOTIuMjUgMTk5LjM0IDM5Mi40NiAyMDkuMDAgQyAzOTIuNjQgMjE1Ljc5IDM5MS4yMiAyMjIuMjEgMzkwLjUwIDIyOC45MSBDIDM4OS42MyAyMzcuMDkgMzg3LjkwIDI0NS4xMCAzODUuODQgMjUzLjA1IEMgMzg1LjY1IDI1NC40OSAzODQuNzAgMjU2Ljg0IDM4Ni4wMyAyNTcuOTUgQyAzODkuOTQgMjYxLjcyIDM5NS43NyAyNjQuMTMgNDAwLjQwIDI2Ni44NiBDIDQwMS4zMyAyNjcuMzcgNDAxLjQzIDI2OS4wMCA0MDEuODUgMjY5LjkyIEMgMzg5LjY2IDI3Mi40NSAzNzcuNzggMjc2LjQ1IDM2NS43MSAyNzkuNDkgQyAzNTkuMjIgMjgxLjA0IDM1My41MiAyODMuNjkgMzQ2LjcyIDI4My43NCBDIDM0NC4wNiAyNzMuMTkgMzQwLjkxIDI2Mi43NiAzMzguMDcgMjUyLjI1IEMgMzM1LjE3IDI0MS40OSAzMzEuNjcgMjMxLjA3IDMyOS4yMCAyMjAuMjMgQyAzMzQuNDMgMjIyLjg3IDMzOS4xNiAyMjYuMzIgMzQ0LjM5IDIyOC45NiBDIDM0Ni45MCAyMjMuNDMgMzQ2LjU4IDIxNy44NyAzNDcuMzEgMjEyLjAwIEMgMzQ4LjE4IDIwMy40NiAzNDcuOTQgMTk1LjAxIDM0Ni44NCAxODYuNTEgQyAzNDUuMTYgMTY2LjU5IDMzOC43NCAxNDcuMTggMzI3LjU2IDEzMC41NiBDIDMyMC4xMiAxMTguNzMgMzEwLjAzIDEwOS40NSAyOTguOTQgMTAxLjEwIEMgMjg1LjQ1IDkyLjEzIDI3MC40OCA4NS4yOCAyNTQuODcgODAuOTcgQyAyNTAuNjcgNzkuODcgMjQ2LjUzIDc4LjY1IDI0Mi40MCA3Ny4yOSBDIDI0NC41NCA2My4xOSAyNDYuMjYgNDkuMDYgMjQ4LjMyIDM0Ljk2IEMgMjQ4LjU1IDMyLjE5IDI1MS42MiAzMy42MSAyNTMuMzEgMzMuODIgWiIgZmlsbD0iI2MzZDg5YyIgLz4NCjxwYXRoIGQ9Ik0gNzQuOTUgMjkwLjMzIEMgODAuMTUgMjkxLjI5IDg0Ljk5IDI5My4yMSA5MC4yMCAyOTQuNTUgQyA5OS40NCAyOTYuOTEgMTA4LjQyIDMwMC4xNSAxMTcuNjYgMzAyLjUzIEMgMTI0LjcxIDMwNC44MCAxMzEuOTAgMzA2LjU1IDEzOC45NiAzMDguNzggQyAxNDMuNjMgMzEwLjMxIDE0OC4xNyAzMTAuNzMgMTUyLjE5IDMxMy44NCBDIDE0Ni4yOCAzMTcuMzcgMTM5LjkwIDMxOS44MSAxMzMuODEgMzIzLjA1IEMgMTM2LjA3IDMyNy41MSAxMzkuOTEgMzI5LjQxIDE0My43NyAzMzIuMjMgQyAxNTUuNDAgMzQwLjM4IDE2OC4zNSAzNDYuNzggMTgxLjg4IDM1MS4wNiBDIDE5MC41OCAzNTMuNDMgMTk5Ljk0IDM1NS44MyAyMDkuMDAgMzU1LjU5IEMgMjE1LjY1IDM1NS41MiAyMjIuNDEgMzU1Ljg2IDIyOS4wMiAzNTUuMTAgQyAyNDMuODIgMzUyLjk3IDI1OC4yMSAzNDcuNjMgMjcxLjAwIDMzOS45MiBDIDI4NC41NSAzMzEuOTAgMjk2LjQ3IDMyMS43NyAzMDcuMjkgMzEwLjM4IEMgMzA5LjMzIDMxMS43NyAzMTEuMzUgMzEzLjE2IDMxMy4yNCAzMTQuNzUgQyAzMTkuMTMgMzE5Ljg1IDMyNS4yMSAzMjQuNzMgMzMxLjEwIDMyOS44MyBDIDMzNi44OSAzMzQuODIgMzQzLjIyIDMzOS4zNCAzNDguNTIgMzQ0Ljg0IEMgMzQ0LjE0IDM0OS43MSAzMzkuMjYgMzU0LjAxIDMzNC4zNSAzNTguMzIgQyAzMTYuMTggMzc0LjAwIDI5NS40NiAzODguMjkgMjczLjA0IDM5Ny4xMiBDIDI2Ny43NCAzOTkuMjkgMjYyLjUyIDQwMS41MiAyNTYuOTQgNDAyLjkyIEMgMjQ1LjA3IDQwNi4wMyAyMzIuMzEgNDA5LjA1IDIyMC4wMCA0MDguNzMgQyAyMTAuMDEgNDA4LjY1IDE5OS40OCA0MDkuMzIgMTg5LjcwIDQwNy40MCBDIDE2OS41MiA0MDQuNTQgMTUxLjAwIDM5Ny4zMCAxMzMuMDEgMzg3Ljk0IEMgMTE3LjUyIDM3OS40MyAxMDMuMTUgMzY4Ljc3IDg5Ljk3IDM1Ny4wMiBDIDg2LjM3IDM1My45MiA4My4yNCAzNDkuNTggNzkuMDYgMzQ3LjM0IEMgNzAuNzggMzUwLjI2IDYzLjQyIDM1NS42NyA1NS4wMiAzNTguNDYgQyA1NS43MCAzNTEuMjUgNTguMzkgMzQ1LjI0IDYwLjI3IDMzOC4yNSBDIDYzLjI3IDMyOC41NyA2NS44OSAzMTguNzkgNjguOTggMzA5LjE0IEMgNzAuOTcgMzAyLjc2IDcyLjE2IDI5Ni40NiA3NC45NSAyOTAuMzMgWiIgZmlsbD0iIzNjNjU5NCIgLz4NCjxwYXRoIGQ9Ik0gOTIuODMgMzAwLjA4IEMgMTAyLjY1IDMwMi45MCAxMTIuNDMgMzA1Ljg1IDEyMi4yNSAzMDguNjUgQyAxMjguMzAgMzEwLjQxIDEzNC4zNiAzMTIuMDMgMTQwLjI4IDMxNC4yMiBDIDEzNS4zNyAzMTcuMzggMTI5LjkwIDMxOS4zOCAxMjQuOTEgMzIyLjQyIEMgMTI3LjA0IDMyNC44NiAxMjkuMjYgMzI3LjE5IDEzMS44NiAzMjkuMTQgQyAxNDcuNzggMzQxLjgwIDE2NS41MSAzNTEuNjEgMTg1LjMwIDM1Ni42OSBDIDE5OS45NCAzNjAuODAgMjE1LjY5IDM2MS4yNyAyMzAuNzQgMzU5LjQyIEMgMjU4LjA0IDM1NS4xNCAyODIuMzAgMzQxLjAyIDMwMi4wMiAzMjIuMDIgQyAzMDMuODEgMzIwLjM3IDMwNS43MCAzMTguMTggMzA3Ljk5IDMxNy4yNSBDIDMxMC41MiAzMTguMzEgMzEyLjgwIDMyMC4zNyAzMTQuODcgMzIyLjE0IEMgMzE4Ljk1IDMyNS43NCAzMjMuMjEgMzI5LjEyIDMyNy4zMyAzMzIuNjggQyAzMzIuMDYgMzM2LjgzIDMzNy4xOSAzNDAuMzggMzQxLjU0IDM0NC45NyBDIDMzNy4yOCAzNDkuOTkgMzMyLjE4IDM1My45NiAzMjcuMjEgMzU4LjIzIEMgMzE3Ljc2IDM2Ni4yOCAzMDcuNTggMzczLjQ5IDI5Ni45OSAzNzkuOTcgQyAyNzEuNjQgMzk1LjE1IDI0MS4xMiA0MDUuNjQgMjExLjMzIDQwNC40OSBDIDE5MC4xOCA0MDQuOTcgMTY4LjY1IDM5OS4wNyAxNDkuMzMgMzkwLjc1IEMgMTI0LjI4IDM3OS41NCAxMDEuNDggMzYzLjIzIDgyLjY4IDM0My4yNiBDIDgxLjU4IDM0Mi40NCA4MC45MyAzNDEuMjIgNzkuNDAgMzQxLjc1IEMgNzMuMzQgMzQzLjYzIDY4Ljc4IDM0OC4wMiA2Mi4zMSAzNDkuMDYgQyA2Mi44NiAzNDUuODkgNjMuNjAgMzQyLjc4IDY0LjU4IDMzOS43MSBDIDY5LjE5IDMyNS4zOSA3My4wNSAzMTAuNzYgNzcuNjIgMjk2LjM4IEMgODMuMDYgMjk2LjcxIDg3LjY1IDI5OC42NSA5Mi44MyAzMDAuMDggWiIgZmlsbD0iIzRjODFiZiIgLz4NCjwvc3ZnPg=="}),N.createElement(L.Gz,null,"API-Testing"),N.createElement(L.P7,null,N.createElement(D.p,null,"Testing as first class citizen. Helps you create complete test suites from your Models and APIs."))))),N.createElement(L.BW,null,N.createElement(L.X_,null,N.createElement(L.YZ,null,N.createElement(L.vk,{src:z,alt:"Domain Driven Design is about Business Understanding",className:"only-small"}),N.createElement(L.Mo,{className:"wide-feature-text"},N.createElement("h3",null,"Maintainable Software"),N.createElement(D.ul,null,"\n",N.createElement(D.li,null,"It is ",N.createElement("strong",null,"not a matter of code")," but a matter of ",N.createElement("strong",null,"understanding the business domain")),"\n",N.createElement(D.li,null,"Software well designed ",N.createElement("strong",null,"should be easy to understand by all")),"\n")),N.createElement(L.vk,{src:z,alt:"Domain Driven Design is about Business Understanding",className:"only-wide"})),N.createElement(L.YZ,null,N.createElement(L.vk,{src:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB4PSIwcHgiDQogICB5PSIwcHgiDQogICB2aWV3Qm94PSIwIDAgMzAwIDMwMCINCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiDQogICBpZD0ic3ZnNjc2NDYiDQogICB3aWR0aD0iMzAwIg0KICAgaGVpZ2h0PSIzMDAiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcw0KICAgICBpZD0iZGVmczY3NjUwIiAvPjxwYXRoDQogICAgIGZpbGw9IiNiYWI5YmIiDQogICAgIGQ9Im0gMjAuNjA1MDEyLDE4MC42NjkwMiBjIC0zLjA0OTg4Myw0NC43MzcyOSAzMS44MDgzNyw4My42Nzg2NiA3Ny43MDU1MjQsODYuODA3NjMgMTUuMTcwNDY0LDEuMDM0MjEgMjkuNjMzMjI0LC0yLjAzODkxIDQyLjM2NjYyNCwtOC4xMzkzOCAxMS43ODc2NSw3Ljc3MjAyIDI1LjY5OTUzLDEyLjc3OTY1IDQwLjg2OTk5LDEzLjgxMzg3IDQ1Ljg5NzE1LDMuMTI4OTYgODUuNzE3ODcsLTMwLjcyMTMyIDg4Ljc2Nzc1LC03NS40NTg2IDIuMDYzNjYsLTMwLjI3MDk5IC0xMy4yNjI5MSwtNTcuODQ0ODcgLTM3LjU4NjQ5LC03My41MDg4NyAwLjY5Nzk0LC0zLjQyMDI1IDEuMjU1NjUsLTYuODkxNjcgMS40OTkwMiwtMTAuNDYxNTMgQyAyMzcuMjc3MzEsNjguOTg0ODYxIDIwMi40MTkwNSwzMC4wNDM0NDkgMTU2LjUyMTksMjYuOTE0NDk1IDExMC42MjQ3NSwyMy43ODU1NDEgNzAuODA0MDUyLDU3LjYzNTg1IDY3Ljc1NDE3LDEwMi4zNzMxMiBjIC0wLjI0MzM0NCwzLjU2OTUgLTAuMTYxOTIzLDcuMDg0NTQgMC4wNjUzNSwxMC41NjgxNyAtMjYuMjI0NDk4LDEyLjIxOTg2IC00NS4xNTEzMzksMzcuNDU2NyAtNDcuMjE1MDA5LDY3LjcyNzcgeiBtIDI0MS4zODYyMDgsMTYuNDU2MDYgYyAtMi43NDQ4MSw0MC4yNjI0MyAtMzguNTg0NjcsNzAuNzI4NzUgLTc5Ljg5MDk3LDY3LjkxMjc3IC0xMi4xNTMwMSwtMC44Mjg1IC0yMy40MDQxOSwtNC41MDQ4MSAtMzMuMjI0MTYsLTEwLjIyODc4IDIxLjQ0ODM4LC0xMy40MDQzMiAzNi4zODQzMSwtMzYuMTI2MDUgMzguMjAyMDksLTYyLjc5MDEgMC4yNDMzNSwtMy41Njk0OCAwLjE2MTksLTcuMDg0NTUgLTAuMDY1MywtMTAuNTY4MTggMjAuNTM3MjIsLTkuNTcxMTkgMzYuNTI0MDcsLTI3LjE0Mjk2IDQzLjUwNzUxLC00OC44NjA0NyAyMC41MDE4NiwxNC4zMzAzMSAzMy4yNTk3OSwzOC4yOTAyOCAzMS40NzA1Niw2NC41MzU2OCB6IE0gMTEyLjk2NjM1LDE4MC4yNzc1NiBjIDkuODIyMDIsNC45NTc5NiAyMC43OTE5Nyw4LjEwNTQ4IDMyLjQ5NTAzLDguOTAzMzIgMTEuNzAzMDgsMC43OTc4NCAyMi45OTkxNywtMC44MzE4OCAzMy40MDI3LC00LjQxMDg2IDAuMDU0NywyLjIwODg5IDAuMDQ1LDQuNDMzMzQgLTAuMTA4MjUsNi42ODA2NSAtMS43MjIwNCwyNS4yNTk3NCAtMTYuNDc2MzIsNDYuNjU1NzEgLTM3LjQzMDY2LDU4LjM5OTIxIC0xOS4xNjYzOCwtMTQuNDgyODYgLTMwLjg4MDU4LC0zNy42ODA0NSAtMjkuMTU4NjMsLTYyLjkzODgyIDAuMTUzMTcsLTIuMjQ3NDggMC40NDU0MSwtNC40NTI2OSAwLjc5OTQxLC02LjYzMzUzIHogbSAzNi42MzEsLTUxLjc2NTI1IGMgMTUuMjQ4NzYsMTEuNTIxMyAyNS43NjU4NywyOC41NjU5MyAyOC41NjY2Miw0Ny43NzcxNSAtOS45Mzk1MiwzLjc0NzIzIC0yMC44MjEzNyw1LjU1MjY5IC0zMi4xNDk2NCw0Ljc4MDQxIC0xMS4zMjgyNSwtMC43NzIyOSAtMjEuODY0NCwtNC4wMzc3OCAtMzEuMjAzMDUsLTkuMTA0NDggNS4zODE2NiwtMTguNjQ5NjkgMTguMTE0NzUsLTM0LjEwNzQzIDM0Ljc4NjA0LC00My40NTI2NCB6IG0gLTQyLjA0NzI2LDM4Ljk2NDA3IEMgOTEuMDgzNjAxLDE1NS45NjQ3NCA3OS42MDkwOTksMTM4LjI1ODE4IDc2LjY3MTA4MSwxMTguMTA5MyBjIDkuOTM5NjYsLTMuNzQ5MDQgMjAuODIxNTA2LC01LjU1NDUzIDMyLjE0OTc2OSwtNC43ODIyNSAxMi4xNTMwMiwwLjgyODUxIDIzLjQwNDIsNC41MDQ4IDMzLjIyNDE4LDEwLjIyODc4IC0xNi4xNjY5MSwxMC4xMDUyNiAtMjguNTczMSwyNS41MDg5IC0zNC40OTUwNCw0My45MjE5MyB6IG0gNTAuMjAyMDIsLTQyLjg1MTE2IGMgMTAuNTA1OTUsLTQuMzM4MzMgMjIuMTUyNDIsLTYuNDUzNTcgMzQuMzA0OTksLTUuNjI1MDkgMTEuMzI3NzksMC43NzIyNSAyMS44NjQ0Miw0LjAzNzc4IDMxLjIwMzA3LDkuMTA0NDkgLTUuNjQzNTMsMTkuNTYxNTEgLTE5LjQxMTM1LDM1LjU0NzIyIC0zNy4yOTMyMiw0NC43MTk1NSAtMy4zNjc3OCwtMTkuMDQ5NjIgLTEzLjU2ODg4LC0zNS45OTQ0NyAtMjguMjE0NzQsLTQ4LjIwMDM0IHogTSA3Ni4wNzk4ODcsMTAyLjk0MjU3IGMgMi43NDQ4MTcsLTQwLjI2MjQyNyAzOC41ODQ2NjMsLTcwLjcyODc0IDc5Ljg5MDk0MywtNjcuOTEyNzYgNDEuMzA2MjgsMi44MTU5NzkgNzIuNjc5NzgsMzcuODY0NDM4IDY5LjkzNDk2LDc4LjEyNjg2IC0wLjE1MzE3LDIuMjQ3NDkgLTAuNDQ1NCw0LjQ1MjcgLTAuNzk5NCw2LjYzMzU0IC05LjgyMjAyLC00Ljk1Nzk2IC0yMC43OTE5NywtOC4xMDU0OSAtMzIuNDk1MDMsLTguOTAzMzIgLTE1LjE3MDQ4LC0xLjAzNDIyIC0yOS42MzMyNSwyLjAzODk0IC00Mi4zNjY2Miw4LjEzOTM4IC0xMS43ODc2NywtNy43NzIwMyAtMjUuNjk5NTQsLTEyLjc3OTY2IC00MC44NzAwMiwtMTMuODEzODggLTExLjcwMzA1NSwtMC43OTc4NCAtMjIuOTk5MTU0LDAuODMxODggLTMzLjQwMjY4OCw0LjQxMDg2IC0wLjA1NDczLC0yLjIwODg4IC0wLjA0NDk1LC00LjQzMzM1IDAuMTA4MjUzLC02LjY4MDY2IHogbSAtNy4yMTE2NzcsMTguNjMwNjUgYyAzLjk3MTU2MywyMi40NjI0OCAxNy40MjU0OCw0Mi4wNDUwNyAzNi40NzM4NSw1NC4zMTMwNSAtMC42OTc5NSwzLjQyMDI0IC0xLjI1NTY2LDYuODkxNjggLTEuNDk5MDIsMTAuNDYxNTMgLTEuODE3ODcsMjYuNjY1NDMgOS44OTY4MSw1MS4yMDE3MSAyOS4zMjcwNSw2Ny4zOTM3OCAtMTAuNTA1OTQsNC4zMzgzNyAtMjIuMTUyNDMsNi40NTM1OCAtMzQuMzA0OTg3LDUuNjI1MSBDIDU3LjU1ODgyMiwyNTYuNTUwNyAyNi4xODUzMjQsMjIxLjUwMjI1IDI4LjkzMDE0LDE4MS4yMzk4MyAzMC43MTkyMTUsMTU0Ljk5NjcyIDQ2LjYxMDg4NywxMzIuOTg5NDQgNjguODY4MDM1LDEyMS41NzIyOCBaIg0KICAgICBpZD0icGF0aDY3NjQwIg0KICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjIuNjA3NDQiIC8+PC9zdmc+DQo=",alt:"Gap between Domain Experts - Technical Knwoledge"}),N.createElement(L.Mo,{className:"wide-feature-text"},N.createElement("h3",null,"Common Language (DSL)"),N.createElement(D.p,null,"A common language closes the gap between:"),N.createElement(D.ul,null,"\n",N.createElement(D.li,null,"\n",N.createElement("strong",null,"Domain Experts"),"\n"),"\n",N.createElement(D.li,null,"\n",N.createElement("strong",null,"Technical Experts"),"\n"),"\n",N.createElement(D.li,null,"Working ",N.createElement("strong",null,"Software & Tests")),"\n"))),N.createElement(L.YZ,null,N.createElement(L.vk,{src:C,alt:"",width:"300px",className:"only-small"}),N.createElement(L.Mo,{className:"wide-feature-text"},N.createElement("h3",null,"ZenWave SDK"),N.createElement(D.p,null,"Accelerate your development ",N.createElement("strong",null,"Converting your Models")," into ",N.createElement("strong",null,"Software Artifacts:")),N.createElement(D.ul,null,"\n",N.createElement(D.li,null,"API Definitions: OpenAPI, AsyncAPI..."),"\n",N.createElement(D.li,null,"SpringBoot/SpringCloud Backend..."),"\n",N.createElement(D.li,null,"API Testing: KarateDSL, Spring WebTestClient..."),"\n")),N.createElement(L.vk,{src:C,alt:"",width:"300px",className:"only-wide"})))),N.createElement(L.X_,null,N.createElement("section",null,N.createElement("div",{className:"home-links"},N.createElement("div",null,N.createElement("a",{href:"/docs/domain-modeling/business-domain-modeling"},"Domain Modeling")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL Modeling Language")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/zenwave-sdk"},"ZenWave SDK"))))),N.createElement(L.X_,{className:"home-screenshots"},N.createElement("h2",null,"A Domain Language Designed for Event-Driven Architectures"),N.createElement(L.Ee,{src:T.Z,alt:"Event Storming"}),N.createElement("h2",null,"... And Bounded Context Mapping"),N.createElement(L.Ee,{src:w.Z,alt:"Bounded Context Mapping with ZDL",width:"100%"}),N.createElement("h2",null,"Can be read as documentation"),N.createElement(L.Ee,{src:i.Z}),N.createElement("h2",null,"And easily converted into working software & tests"),N.createElement(L.Ee,{src:E})),N.createElement(L.X_,null,N.createElement("section",null,N.createElement("div",{className:"home-links"},N.createElement("div",null,N.createElement("a",{href:"/docs/domain-modeling/business-domain-modeling"},"Domain Modeling")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/event-driven-design/zenwave-domain-language"},"ZDL Modeling Language")),"\r\n",N.createElement("div",null,N.createElement("a",{href:"/docs/zenwave-sdk"},"ZenWave SDK"))))))}var O=function(M){void 0===M&&(M={});const{wrapper:D}=Object.assign({},(0,j.ah)(),M.components);return D?N.createElement(D,M,N.createElement(e,M)):e(M)};function c(M){let{children:D}=M;return D}function t(M){return N.createElement(c,M,N.createElement(O,M))}},16376:function(M,D,I){I.d(D,{d2:function(){return N.d},zx:function(){return y},L0:function(){return w},$s:function(){return O},VS:function(){return c},gT:function(){return t},P7:function(){return E},Gz:function(){return i},S:function(){return W},VM:function(){return n},sd:function(){return Y},kW:function(){return a},$D:function(){return s},DH:function(){return U},vC:function(){return S},LR:function(){return x},Ee:function(){return m},Bk:function(){return B},Nm:function(){return Z},X_:function(){return C.X},YZ:function(){return p},vk:function(){return h},BW:function(){return b},Mo:function(){return v}});var N=I(63585),j=I(27378),g=I(87573),L=I(30294);const A=M=>{let{background:D,backgroundHover:I,on:N}=M;return()=>(0,L.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],D,N,I,N,I,N)},u=L.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],A({background:"primary-600",backgroundHover:"primary-700",on:"white"}),A({background:"green-600",backgroundHover:"green-700",on:"white"}),A({background:"red-600",backgroundHover:"red-700",on:"white"}),A({background:"gray-300",backgroundHover:"gray-400",on:"black"})),y=j.forwardRef(((M,D)=>{let{variant:I="primary",children:N,...L}=M;return j.createElement(g.z,{ref:D,"data-variant":I},(M=>j.createElement(u,Object.assign({},M,L),N)))}));I(23824),I(31729);var z=I(63681),C=I(84234);const T=L.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),w=j.forwardRef(((M,D)=>j.createElement(T,Object.assign({ref:D,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},M)))),i=L.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],z.th.px(-9),z.th.px(9)),E=L.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),e=L.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),O=j.forwardRef(((M,D)=>j.createElement(e,Object.assign({ref:D,width:48,height:48},M)))),c=j.forwardRef(((M,D)=>j.createElement(C.X,Object.assign({ref:D,row:!0,my:-4,px:3},M)))),t=j.forwardRef(((M,D)=>j.createElement(L.x.section,Object.assign({ref:D,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},M)))),x=L.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,z.up)("md",(0,L.ivY)(["padding-top:4;font-size:48;"])),(0,z.up)("xl",(0,L.ivY)(["font-size:60;"]))),S=L.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,z.up)("md",(0,L.ivY)(["font-size:20;"])),(0,z.up)("xl",(0,L.ivY)(["font-size:24;"]))),Q=(0,L.ZPm)(C.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,z.up)("md",(0,L.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,z.up)("xl",(0,L.ivY)(["margin-top:6;"]))),n=j.forwardRef(((M,D)=>{let{backgroundImageURL:I,...N}=M;return j.createElement(Q,Object.assign({ref:D,backgroundImage:"url("+I+")"},N))})),s=j.forwardRef(((M,D)=>j.createElement(L.x.div,Object.assign({ref:D,w:{md:.5}},M)))),U=L.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),a=j.forwardRef(((M,D)=>j.createElement(L.x.div,Object.assign({ref:D,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},M)))),Y=j.forwardRef(((M,D)=>j.createElement(L.x.div,Object.assign({ref:D,col:"auto",p:2},M))));var k=I(24956);const l=L.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(M=>M.align)),o=L.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),r=(M,D)=>"dark"===D?M.dark||M.src:M.light||M.src,m=j.forwardRef(((M,D)=>j.createElement(l,{align:M.align||"center",className:M.visible},j.createElement(o,Object.assign({ref:D,src:r(M,(0,k.If)()[0])},M)))));I(15239),I(83160);const d=(0,L.ZPm)(L.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),B=j.forwardRef(((M,D)=>j.createElement(L.x.blockquote,Object.assign({ref:D,className:"quote"},M)))),Z=j.forwardRef(((M,D)=>j.createElement(d,Object.assign({ref:D},M)))),b=j.forwardRef(((M,D)=>j.createElement(L.x.section,Object.assign({ref:D,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},M)))),p=L.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,z.up)("md",(0,L.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),v=L.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,z.up)("md",(0,L.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,z.up)("xl",(0,L.ivY)(["font-size:24;"]))),G=L.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),f=L.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),P=(M,D)=>"dark"===D?M.dark||M.src:M.light||M.src,h=j.forwardRef(((M,D)=>j.createElement(G,{className:M.className},j.createElement(f,Object.assign({ref:D,src:P(M,(0,k.If)()[0])},M))))),W=M=>{let{gist:D,file:I}=M;const N=(0,j.useRef)(null);(0,j.useEffect)((()=>{(async()=>{const M=I?"https://gist.githubusercontent.com/"+D+"/raw/"+I:"https://gist.githubusercontent.com/"+D+"/raw";try{const D=await fetch(M);if(D.ok){const M=22*(await D.text()).split("\n").length+40;N.current&&(N.current.style.height=M+"px")}else console.error("Failed to fetch Gist content")}catch(j){console.error("Error fetching Gist content:",j)}})()}),[D,I]);const g=I?"https://gist.github.com/"+D+".pibb?file="+I:"https://gist.github.com/"+D+".pibb",L=I?"https://gist.github.com/"+D+"#file-"+I.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+D;return j.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},I&&j.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},j.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),j.createElement("a",{href:L,target:"_blank",rel:"noopener noreferrer"},I)),j.createElement("iframe",{title:I,ref:N,src:g,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}},28151:function(M,D,I){D.Z=I.p+"static/bounded-context-mapping-e7606a1679b367a38b685ca1bb77ef45.svg"},29934:function(M,D,I){D.Z=I.p+"static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png"},53468:function(M,D,I){D.Z=I.p+"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png"}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js.map b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js.map new file mode 100644 index 0000000..4b5401b --- /dev/null +++ b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js","mappings":"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","sources":["webpack://website/./images/hero-background.png","webpack://website/./static/logos/zenwave-sdk-dark.png","webpack://website/./static/logos/asyncapi-logo.png","webpack://website/./images/home/spiral.svg","webpack://website/./images/home/laptop-gears.svg","webpack://website/./pages/plugin-run-screenshot.png","webpack://website/./pages/index.mdx","webpack://website/./static/logos/conceptual-model.svg","webpack://website/./static/logos/spring-boot.svg","webpack://website/./static/logos/ddd.svg","webpack://website/./images/event-driven-architectures-logo.svg","webpack://website/./static/logos/osi.svg","webpack://website/./static/logos/openapi-logo.svg","webpack://website/./static/logos/tdd.svg","webpack://website/./images/home/common-language.svg","webpack://website/../smooth-doc/src/templates/page.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js","webpack://website/./images/home/bounded-context-mapping.svg","webpack://website/./pages/docs/DDD/images/EventStorming-ZDL-Mapping.png","webpack://website/./pages/plugin-screenshot.png"],"sourcesContent":["export default __webpack_public_path__ + \"static/hero-background-b6fccd4ea5501ab264bb1bdb7fbbf8ba.png\";","export default __webpack_public_path__ + \"static/zenwave-sdk-dark-44c70567cf17d96a54e9284837feac82.png\";","export default __webpack_public_path__ + \"static/asyncapi-logo-fe1db05dd2b15b8170701f43d18710a1.png\";","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgMjYwIDI2MCINCiAgIHdpZHRoPSIyNjAiDQogICBoZWlnaHQ9IjI2MCINCiAgIGlkPSJzdmc1MjkzNiINCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICA8ZGVmcw0KICAgICBpZD0iZGVmczUyOTQwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDE0NC4wNjM1MiwyMzEuMzg5MTYgYyAxOS40NDg4NSwtNC40MzA0NyAzOC4wNzMzMiwtMTMuNjAzNjcgNTMuNjc0MjcsLTI2LjIyMDczIDE3LjA2OTI1LC0xMy43NTM0NCAzMC4yNzQ0NSwtMzEuNDIxMTUgMzguNDI0OTgsLTUwLjYyMDE2IDguMTg1MiwtMTkuMjE5MzQgMTEuMjMxMTgsLTM5Ljg0MTQ1IDguNzA2MzIsLTU5LjM1NjUyMiAtMi40NzIyOCwtMTkuNTkzNjIzIC0xMC43MjkxMSwtMzcuNjk5ODY2IC0yMy4zMzQ4OSwtNTIuNTg1ODY5IC0zLjAwMDc3LDIuMzI4NjgzIC01Ljk5MjU4LDQuNjUwNDI2IC04Ljk4NTY2LDYuOTc5NDg3IDExLjE5NzY0LDEzLjI2NTI1OSAxOC42ODkzNywyOS4yODEyNSAyMS4xMDgyNSw0Ni42ODc2MzMgMi42MDUyNSwxOC4xMzkwMjEgLTAuMTI2NzcsMzcuMzg5NDMxIC03Ljc0NDg5LDU1LjMwODkwMSAtOC4wNjg2NiwxOS4wNDA3MyAtMjEuNjA2NjUsMzYuNDE4NjIgLTM5LjE1NTYyLDQ5LjMyODcyIC0xMy4zOTkxNCw5Ljg5Mzg5IC0yOC45NDQwMSwxNy4wNTIzNyAtNDUuMDc4NzUsMjAuNjAxNyAtMjAuMTM0OTksNC40Njk3MSAtNDAuOTcwMzMsMy4zODM3NCAtNTkuMjI1NjA4LC0zLjAzMzcyIEMgNjUuMzE2OTk1LDIxMi40OTM5MiA1MC42MjA0MzYsMjAxLjgyMDExIDQwLjgzNjM4NywxODcuNjAwMTUgMzMuNDU1NzUyLDE3Ni45MzMwOSAyOC45Mjk3MTksMTY0LjQyNDQyIDI3LjgyODQ3OCwxNTEuMjU0MjQgMjYuMzAzMzQyLDEzMy43ODIxNiAzMC42OTI3NDUsMTE1LjMzODQ5IDQwLjI4MDM2Miw5OS4wOTAxNSA0Ny44MTYzMzksODYuMjgxMDc2IDU4LjU2NTg2NCw3NC45NDc0NTggNzEuNTI5MjI4LDY2LjU4ODg3NiA4My43NzMyNjIsNTguNjQ0MjY2IDk3LjgzMTc0Miw1My40OTk1NzUgMTEyLjA0OTkyLDUxLjgzMTYzOSBjIDI0LjkxNzMxLC0yLjk4OTA0IDQ5LjcxODEzLDQuNTU1MDc2IDY1LjQ0MjU2LDIxLjA1OTM5NCA4Ljk2ODI0LDkuMzgxNjggMTQuNzIxNjgsMjEuNDI4MTM2IDE2LjE0MjI1LDM0LjQ2Njc5NyAxLjY0NjY3LDE0LjU4NTE0IC0yLjAyLDMwLjE0MjYxIC0xMC4zODI1Myw0My42MjYgLTYuNDE1MjIsMTAuMzc4MzYgLTE1LjU4NjgzLDE5LjM5MjgyIC0yNi41NTQ0OSwyNS42ODIxIC0xOS45MzQ2MSwxMS42NjA4MiAtNDQuOTc3MDIsMTIuODc5NjcgLTYzLjYzOTE2OSwzLjEwNTg1IC05LjQwOTAyNiwtNC44NjUwMiAtMTYuOTIzMjA3LC0xMi40MzkxMiAtMjEuMTM2MDY5LC0yMS43NzMyNyAtNC4yNDk5MjEsLTkuMjU0NzkgLTQuOTg3NDc3LC0yMC4wODkyNiAtMi4xNjkwMTQsLTMwLjQ4NjM3IDIuOTI4NTA0LC0xMC45MDA4MiA5LjY5MTA2MiwtMjEuMjEwMDUgMTkuNDMyODY3LC0yOC40NTQwNDMgOS4wNTM2MywtNi43ODQyMDIgMjAuMzg3MjA1LC0xMC41MjM2MTkgMzEuMzM2ODA1LC0xMC4wMzEzMjggMTIuODY3OTYsMC41MDc2NzYgMjQuNjYzODYsNi42MTQ2ODIgMzAuMDkyNDMsMTcuMjM1MTMxIDUuMjE0MywxMC4wMDQ1MiAzLjU0MjE0LDIzLjIyNjkxIC00LjkwNjA1LDMyLjc1NzU0IC01LjE0ODk1LDUuODI5NDcgLTEyLjg3MzI3LDkuNzg3NTMgLTIwLjYyMDI2LDkuNzQ0MzIgLTYuMzQzMTgsMC4wMTI3IC0xMi42MTkwNiwtMi41OTExNCAtMTUuNTMxMjQsLTcuNzI2ODQgLTIuNTMwMDUsLTQuMTc5MTUgLTEuODM0NjMsLTEwLjM1ODM0IDIuMzEwNDgsLTE0LjE2NDQ3IDEuODc0MTUsLTEuNTQ0MDggMy4zNTg3NiwtMS41OTQ3OCA1LjQwNjg2LC0wLjgzNDgxIDAuNDUzMTEsLTEuNDA4OTUgMC44ODY2MiwtMS45Nzc1NSAxLjMxNjE1LC0xLjcwNTAxIDEuODQzNTcsMi42NzU5NiAzLjE5Nyw1LjY1OTI4IDQuOTM1MSw4LjQwMzcxIDIuMTI4NDcsLTEuNzk2OTQgNC4xNDM4MSwtMy4yMDg0MiA0LjgyNzMzLC01LjkxMjA4IDEuMjIxMjMsLTQuODMxNjMgLTIuMjUwMzIsLTguNjY3MDYgLTYuMzUzNDEsLTEwLjYwMDYxIC01Ljk3Mzg3LC0yLjg2MTc0IC0xNC4wNzAwNCwtMC4xNDc1NiAtMTguNzQ5MTIsNC44NTY4NiAtNy4xMjgxODYsNy41MzA1NyAtOC4xNzM0MzUsMTguMzc4NjQgLTMuMzM1NDA3LDI2LjEyMDU2IDYuMTYwODY3LDEwLjIyMTkzIDIwLjE4NjI3NywxNC4wMzUyIDMyLjkxNTU4NywxMC44NTMxNCA4Ljg4Mzk3LC0yLjIwOTU3IDE2Ljk4OTIzLC03LjU2NTQ2IDIyLjYwMTAzLC0xNC42MzM2NCA2LjI1ODYzLC03LjgzMjcxIDkuNDY4OTUsLTE3LjQyMDM0IDkuMjc5MDQsLTI2LjYyNTc2IC0wLjE3MTMsLTEwLjI2NzIgLTQuNzM5ODMsLTE5LjgwMzc0OCAtMTIuMjUzMDIsLTI2LjU2NTk1NSBDIDEzOC41NDg0Miw3Ny42NjA5NzEgMTE1Ljk1OTA1LDc1LjE5NTEyOSA5Ni43MTIwNCw4My4zMTExMiA4Ni4zNjc4MDUsODcuNjA5NTk1IDc3LjE5MTQ1MSw5NC42NTMzMDEgNzAuNDQyMjQ2LDEwMy4yOTUyNyBjIC05LjA1NzM5MywxMS41Mjk1MSAtMTMuNzcxODgxLDI1LjU1MDgxIC0xMy40NjkwMzYsMzkuMDQ5OCAwLjMzNzcxNiwyMC4yOTA1NiAxMi40NzY0MDgsMzguMTE5OTQgMzAuODUwMDgyLDQ3LjExOTA2IDE0LjExNjk2OCw3LjA1MDQ1IDMxLjM0NjYwOCw5LjAzMjQyIDQ4LjA0MDc3OCw1LjY4MDk3IDEzLjg0ODQxLC0yLjc0MTkzIDI3LjEyMzMxLC05LjE4ODA4IDM4LjA5ODIxLC0xOC4yNDQ1OSAxOS4xOTI4MSwtMTUuNzk0MjMgMzAuNDI2NjMsLTM4LjgwMTE3IDMxLjEzMzA2LC02MS4zNDkxOCAwLjUwNTgsLTE0LjQzMjQ5IC0zLjM4NDIsLTI4LjQxNDY5NCAtMTEuMDg2NzUsLTQwLjExNjQ3NSBDIDE4NS45MDE3LDYyLjk5NjgzNCAxNzMuNjk2ODgsNTMuMzYzNjE5IDE1OS4zMDc4OSw0Ny41MzE5OCAxNDMuMTE0NTksNDAuOTMwNTA2IDEyNC4zMjk5NSwzOS4xMzU5NTcgMTA1LjkzOTAxLDQyLjQwOTMyNCA5MC4xOTA0MTYsNDUuMTY2Mjc1IDc0Ljg2OTg4Myw1MS43MDEzMzkgNjEuNjk1NjQ4LDYxLjEwNDY4NiA0Ni41Mjc4MzcsNzEuODgzNzA1IDM0LjQ1OTE3NSw4Ni4zMDIyNzIgMjYuNjgxNjUzLDEwMi4yODc0OCBjIC04LjYyNjgzMSwxNy42NTQ2NyAtMTEuOTYzMjE2LDM3LjA1OTE3IC05LjQ0Nzk2OSw1NS4yNjc0MyAyLjIyMjQ5OCwxNi40NTkxOSA5LjI5NzAzMywzMS43Njc4NCAyMC4xNTI2OCw0NC4xMTU0OCAxMi4wNjE2NzUsMTMuNzgxMDggMjguNjI2NjY5LDIzLjY3MDc0IDQ3LjI5MTcyMSwyOC43OTUxNCAxOC43MDM5MjUsNS4xNzA2NSAzOS4zODM4MzUsNS41MjU1NSA1OS4zODU0MzUsMC45MjM2MyB6Ig0KICAgICBmaWxsPSIjMDAwMDAwIg0KICAgICBpZD0icGF0aDUyOTM0Ig0KICAgICBzdHlsZT0iZmlsbDojYmFiOWJiO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjc1NTkiIC8+DQo8L3N2Zz4NCg==\"","export default __webpack_public_path__ + \"static/laptop-gears-54f3eaa232e7503cd5a1cb0cea35d352.svg\";","export default __webpack_public_path__ + \"static/plugin-run-screenshot-0aea571608647046fa2f9cc31ce61bf0.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\n/**/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Link} from 'gatsby';\nimport {ScreenContainer, Button, HeroSection, Hero, HeroBody, HeroTitle, HeroTeaser, HeroActionList, HeroAction, FeatureSection, FeatureList, Feature, FeatureImage, FeatureTitle, FeatureText, Image, WideFeatureSection, WideFeature, WideFeatureText, WideFeatureImage} from \"smooth-doc/components\";\nimport heroBackgroundImageURL from \"../images/hero-background.png\";\nimport markdownImageURL from '../images/markdown.png';\nimport zdlImageURL from '../static/logos/conceptual-model.svg';\nimport sdkImageURL from '../static/logos/zenwave-sdk-dark.png';\nimport springBootImageURL from '../static/logos/spring-boot.svg';\nimport springImageURL from '../static/logos/spring.svg';\nimport dddImageURL from '../static/logos/ddd.svg';\nimport edaImageURL from '../images/event-driven-architectures-logo.svg';\nimport osiImageURL from '../static/logos/osi.svg';\nimport openApiImageURL from '../static/logos/openapi-logo.svg';\nimport asyncApiImageURL from '../static/logos/asyncapi-logo.png';\nimport tddImageURL from '../static/logos/tdd.svg';\nimport dddLogosImage from \"../images/home/spiral.svg\";\nimport sharedUnderstandingImage from \"../images/home/common-language.svg\";\nimport gearsDarkImage from \"../images/home/laptop-gears.svg\";\nimport eventStormingZDL from '../pages/docs/DDD/images/EventStorming-ZDL-Mapping.png';\nimport boundedContextMapping from '../images/home/bounded-context-mapping.svg';\nimport pluginScreenshot from './plugin-screenshot.png';\nimport pluginRunScreenshot from './plugin-run-screenshot.png';\nimport {marginRight} from '@xstyled/styled-components';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\",\n ul: \"ul\",\n li: \"li\"\n }, _provideComponents(), props.components);\n return React.createElement(ScreenContainer, null, React.createElement(HeroSection, null, React.createElement(Hero, {\n backgroundImageURL: heroBackgroundImageURL\n }, React.createElement(HeroBody, null, React.createElement(HeroTitle, null, \"Create Software\", React.createElement(\"br\"), \" Easy To Understand!\"), \"\\r\\n\", React.createElement(HeroTeaser, null, \"DDD and API-First Modeling Tools for Modern Distributed Applications.\"), React.createElement(HeroActionList, null, React.createElement(HeroAction, null, React.createElement(Button, {\n variant: \"neutral\",\n as: Link,\n to: \"/docs/zenwave360\",\n style: {\n marginRight: '6px'\n }\n }, React.createElement(_components.p, null, \"Browse Docs\")), React.createElement(Button, {\n as: Link,\n to: \"/docs/getting-started/\"\n }, React.createElement(_components.p, null, \"Getting Started\"))))))), React.createElement(FeatureSection, null, React.createElement(FeatureList, null, React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: zdlImageURL\n }), React.createElement(FeatureTitle, null, \"Domain Model Language\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Concise and complete DDD modeling language for Event-Driven Architectures.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: sdkImageURL\n }), React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: springBootImageURL\n }), React.createElement(FeatureTitle, null, \"ZenWave SDK\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"ZenWave SDK helps you create SpringBoot/SpringCloud applications in no time.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: dddImageURL\n }), React.createElement(FeatureTitle, null, \"Domain Driven Design\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Business, Developer and Computer friendly Ubiquitous Language for your Domain Models and Bounded Contexts.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: edaImageURL\n }), React.createElement(FeatureTitle, null, \"Event-Driven Architectures\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Designed for Event-Driven Architectures, mapping Event-Storming discoveries into your models.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: osiImageURL\n }), React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: openApiImageURL\n }), React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n ...props.style\n },\n src: asyncApiImageURL\n }), React.createElement(FeatureTitle, null, \"API-First\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Leveraging open standards like OpenAPI and AsyncAPI.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: tddImageURL\n }), React.createElement(FeatureTitle, null, \"API-Testing\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Testing as first class citizen. Helps you create complete test suites from your Models and APIs.\"))))), React.createElement(WideFeatureSection, null, React.createElement(ScreenContainer, null, React.createElement(WideFeature, null, React.createElement(WideFeatureImage, {\n src: dddLogosImage,\n alt: \"Domain Driven Design is about Business Understanding\",\n className: \"only-small\"\n }), React.createElement(WideFeatureText, {\n className: \"wide-feature-text\"\n }, React.createElement(\"h3\", null, \"Maintainable Software\"), React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"It is \", React.createElement(\"strong\", null, \"not a matter of code\"), \" but a matter of \", React.createElement(\"strong\", null, \"understanding the business domain\")), \"\\n\", React.createElement(_components.li, null, \"Software well designed \", React.createElement(\"strong\", null, \"should be easy to understand by all\")), \"\\n\")), React.createElement(WideFeatureImage, {\n src: dddLogosImage,\n alt: \"Domain Driven Design is about Business Understanding\",\n className: \"only-wide\"\n })), React.createElement(WideFeature, null, React.createElement(WideFeatureImage, {\n src: sharedUnderstandingImage,\n alt: \"Gap between Domain Experts - Technical Knwoledge\"\n }), React.createElement(WideFeatureText, {\n className: \"wide-feature-text\"\n }, React.createElement(\"h3\", null, \"Common Language (DSL)\"), React.createElement(_components.p, null, \"A common language closes the gap between:\"), React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(\"strong\", null, \"Domain Experts\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(\"strong\", null, \"Technical Experts\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"Working \", React.createElement(\"strong\", null, \"Software & Tests\")), \"\\n\"))), React.createElement(WideFeature, null, React.createElement(WideFeatureImage, {\n src: gearsDarkImage,\n alt: \"\",\n width: \"300px\",\n className: \"only-small\"\n }), React.createElement(WideFeatureText, {\n className: \"wide-feature-text\"\n }, React.createElement(\"h3\", null, \"ZenWave SDK\"), React.createElement(_components.p, null, \"Accelerate your development \", React.createElement(\"strong\", null, \"Converting your Models\"), \" into \", React.createElement(\"strong\", null, \"Software Artifacts:\")), React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"API Definitions: OpenAPI, AsyncAPI...\"), \"\\n\", React.createElement(_components.li, null, \"SpringBoot/SpringCloud Backend...\"), \"\\n\", React.createElement(_components.li, null, \"API Testing: KarateDSL, Spring WebTestClient...\"), \"\\n\")), React.createElement(WideFeatureImage, {\n src: gearsDarkImage,\n alt: \"\",\n width: \"300px\",\n className: \"only-wide\"\n })))), React.createElement(ScreenContainer, null, React.createElement(\"section\", null, React.createElement(\"div\", {\n className: \"home-links\"\n }, React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/domain-modeling/business-domain-modeling\"\n }, \"Domain Modeling\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL Modeling Language\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/zenwave-sdk\"\n }, \"ZenWave SDK\"))))), React.createElement(ScreenContainer, {\n className: \"home-screenshots\"\n }, React.createElement(\"h2\", null, \"A Domain Language Designed for Event-Driven Architectures\"), React.createElement(Image, {\n src: eventStormingZDL,\n alt: \"Event Storming\"\n }), React.createElement(\"h2\", null, \"... And Bounded Context Mapping\"), React.createElement(Image, {\n src: boundedContextMapping,\n alt: \"Bounded Context Mapping with ZDL\",\n width: \"100%\"\n }), React.createElement(\"h2\", null, \"Can be read as documentation\"), React.createElement(Image, {\n src: pluginScreenshot\n }), React.createElement(\"h2\", null, \"And easily converted into working software & tests\"), React.createElement(Image, {\n src: pluginRunScreenshot\n })), React.createElement(ScreenContainer, null, React.createElement(\"section\", null, React.createElement(\"div\", {\n className: \"home-links\"\n }, React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/domain-modeling/business-domain-modeling\"\n }, \"Domain Modeling\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL Modeling Language\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/zenwave-sdk\"\n }, \"ZenWave SDK\"))))));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMTIwMHB4IiBoZWlnaHQ9IjEyMDBweCIgc3R5bGU9InNoYXBlLXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247IHRleHQtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjsgaW1hZ2UtcmVuZGVyaW5nOm9wdGltaXplUXVhbGl0eTsgZmlsbC1ydWxlOmV2ZW5vZGQ7IGNsaXAtcnVsZTpldmVub2RkIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk2MiIgZmlsbD0iIzJiOGEzZSIgZD0iTSA0MjcuNSwxMzIuNSBDIDQ5MC41LDEzMi41IDU1My41LDEzMi41IDYxNi41LDEzMi41QyA2MTYuNSwxOTUuNSA2MTYuNSwyNTguNSA2MTYuNSwzMjEuNUMgNTUzLjUsMzIxLjUgNDkwLjUsMzIxLjUgNDI3LjUsMzIxLjVDIDQyNy41LDI1OC41IDQyNy41LDE5NS41IDQyNy41LDEzMi41IFogTSA0NjYuNSwxNzEuNSBDIDUwMy41LDE3MS41IDU0MC41LDE3MS41IDU3Ny41LDE3MS41QyA1NzcuNSwyMDguNSA1NzcuNSwyNDUuNSA1NzcuNSwyODIuNUMgNTQwLjUsMjgyLjUgNTAzLjUsMjgyLjUgNDY2LjUsMjgyLjVDIDQ2Ni41LDI0NS41IDQ2Ni41LDIwOC41IDQ2Ni41LDE3MS41IFoiLz48L2c+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk3NCIgZmlsbD0iIzJiOGEzZSIgZD0iTSA1MDUuNSwzNzQuNSBDIDUxOC4xNjcsMzc0LjUgNTMwLjgzMywzNzQuNSA1NDMuNSwzNzQuNUMgNTQzLjUsMzkzLjgzMyA1NDMuNSw0MTMuMTY3IDU0My41LDQzMi41QyA2OTMuNSw0MzIuNSA4NDMuNSw0MzIuNSA5OTMuNSw0MzIuNUMgOTkzLjUsNTYzLjE2NyA5OTMuNSw2OTMuODMzIDk5My41LDgyNC41QyA5ODAuODMzLDgyNC41IDk2OC4xNjcsODI0LjUgOTU1LjUsODI0LjVDIDk1NS41LDcwNi44MzMgOTU1LjUsNTg5LjE2NyA5NTUuNSw0NzEuNUMgODE4LjE2Nyw0NzEuNSA2ODAuODMzLDQ3MS41IDU0My41LDQ3MS41QyA1NDMuNSw0ODkuMTY3IDU0My41LDUwNi44MzMgNTQzLjUsNTI0LjVDIDUzMC44MzMsNTI0LjUgNTE4LjE2Nyw1MjQuNSA1MDUuNSw1MjQuNUMgNTA1LjUsNTA2LjgzMyA1MDUuNSw0ODkuMTY3IDUwNS41LDQ3MS41QyA0MTguMTY3LDQ3MS41IDMzMC44MzMsNDcxLjUgMjQzLjUsNDcxLjVDIDI0My41LDQ4OS4xNjcgMjQzLjUsNTA2LjgzMyAyNDMuNSw1MjQuNUMgMjMwLjgzMyw1MjQuNSAyMTguMTY3LDUyNC41IDIwNS41LDUyNC41QyAyMDUuNSw0OTMuODMzIDIwNS41LDQ2My4xNjcgMjA1LjUsNDMyLjVDIDMwNS41LDQzMi41IDQwNS41LDQzMi41IDUwNS41LDQzMi41QyA1MDUuNSw0MTMuMTY3IDUwNS41LDM5My44MzMgNTA1LjUsMzc0LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDEzMC41LDU4MC41IEMgMTkzLjE2Nyw1ODAuNSAyNTUuODMzLDU4MC41IDMxOC41LDU4MC41QyAzMTguNSw2NDMuMTY3IDMxOC41LDcwNS44MzMgMzE4LjUsNzY4LjVDIDI1NS44MzMsNzY4LjUgMTkzLjE2Nyw3NjguNSAxMzAuNSw3NjguNUMgMTMwLjUsNzA1LjgzMyAxMzAuNSw2NDMuMTY3IDEzMC41LDU4MC41IFogTSAxNjguNSw2MTguNSBDIDIwNS44MzMsNjE4LjUgMjQzLjE2Nyw2MTguNSAyODAuNSw2MTguNUMgMjgwLjUsNjU1LjgzMyAyODAuNSw2OTMuMTY3IDI4MC41LDczMC41QyAyNDMuMTY3LDczMC41IDIwNS44MzMsNzMwLjUgMTY4LjUsNzMwLjVDIDE2OC41LDY5My4xNjcgMTY4LjUsNjU1LjgzMyAxNjguNSw2MTguNSBaIi8+PC9nPg0KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MC45NzQiIGZpbGw9IiMyYjhhM2UiIGQ9Ik0gNDI3LjUsNTgwLjUgQyA0OTAuNSw1ODAuNSA1NTMuNSw1ODAuNSA2MTYuNSw1ODAuNUMgNjE2LjUsNjQzLjE2NyA2MTYuNSw3MDUuODMzIDYxNi41LDc2OC41QyA1NTMuNSw3NjguNSA0OTAuNSw3NjguNSA0MjcuNSw3NjguNUMgNDI3LjUsNzA1LjgzMyA0MjcuNSw2NDMuMTY3IDQyNy41LDU4MC41IFogTSA0NjYuNSw2MTguNSBDIDUwMy41LDYxOC41IDU0MC41LDYxOC41IDU3Ny41LDYxOC41QyA1NzcuNSw2NTUuODMzIDU3Ny41LDY5My4xNjcgNTc3LjUsNzMwLjVDIDU0MC41LDczMC41IDUwMy41LDczMC41IDQ2Ni41LDczMC41QyA0NjYuNSw2OTMuMTY3IDQ2Ni41LDY1NS44MzMgNDY2LjUsNjE4LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDg4MC41LDg4MC41IEMgOTQzLjE2Nyw4ODAuNSAxMDA1LjgzLDg4MC41IDEwNjguNSw4ODAuNUMgMTA2OC41LDk0My4xNjcgMTA2OC41LDEwMDUuODMgMTA2OC41LDEwNjguNUMgMTAwNS44MywxMDY4LjUgOTQzLjE2NywxMDY4LjUgODgwLjUsMTA2OC41QyA4ODAuNSwxMDA1LjgzIDg4MC41LDk0My4xNjcgODgwLjUsODgwLjUgWiBNIDkxOC41LDkxOC41IEMgOTU1LjgzMyw5MTguNSA5OTMuMTY3LDkxOC41IDEwMzAuNSw5MTguNUMgMTAzMC41LDk1NS44MzMgMTAzMC41LDk5My4xNjcgMTAzMC41LDEwMzAuNUMgOTkzLjE2NywxMDMwLjUgOTU1LjgzMywxMDMwLjUgOTE4LjUsMTAzMC41QyA5MTguNSw5OTMuMTY3IDkxOC41LDk1NS44MzMgOTE4LjUsOTE4LjUgWiIvPjwvZz4NCjwvc3ZnPg0K\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MTAgNDU3LjgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMCA0NTcuODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzZEQjMzRjt9DQo8L3N0eWxlPg0KPHRpdGxlPmljb24tc3ByaW5nLWJvb3Q8L3RpdGxlPg0KPGcgaWQ9IkxheWVyXzJfMV8iPg0KCTxnIGlkPSJMYXllcl8xLTIiPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTAzLjUsMjAxLjRMNDAzLDI3LjVDMzk0LjMsMTIuNCwzNzIuOSwwLDM1NS40LDBIMTU0LjZjLTE3LjQsMC0zOC45LDEyLjQtNDcuNiwyNy41TDYuNiwyMDEuNA0KCQkJYy04LjcsMTUuMS04LjcsMzkuOCwwLDU0LjlsMTAwLjQsMTc0YzguNywxNS4xLDMwLjEsMjcuNSw0Ny42LDI3LjVoMjAwLjljMTcuNCwwLDM4LjgtMTIuNCw0Ny42LTI3LjVsMTAwLjQtMTc0DQoJCQlDNTEyLjIsMjQxLjIsNTEyLjIsMjE2LjUsNTAzLjUsMjAxLjR6IE0yMzMuMyw5Ni4yYzAtMTEuNCw5LjMtMjAuNywyMC43LTIwLjdjMTEuNCwwLDIwLjcsOS4zLDIwLjcsMjAuN3YxMjMuNw0KCQkJYzAsMTEuNC05LjMsMjAuNy0yMC43LDIwLjdjLTExLjQsMC0yMC43LTkuMy0yMC43LTIwLjdsMCwwVjk2LjJ6IE0yNTQsMzYwLjNjLTc3LjQsMC0xNDAuNC02My0xNDAuNC0xNDAuNA0KCQkJYzAuMS00NC40LDIxLjEtODYuMSw1Ni43LTExMi43YzguMi02LjEsMTkuNy00LjQsMjUuOCwzLjhzNC40LDE5LjctMy44LDI1LjhsMCwwYy00NS45LDM0LjEtNTUuNSw5OS0yMS40LDE0NC45DQoJCQlzOTksNTUuNSwxNDQuOSwyMS40YzI2LjMtMTkuNSw0MS44LTUwLjQsNDEuOC04My4yYy0wLjEtMzIuOS0xNS43LTYzLjgtNDIuMi04My40Yy04LjItNi05LjktMTcuNi0zLjktMjUuOHMxNy42LTkuOSwyNS44LTMuOQ0KCQkJYzM1LjksMjYuNSw1Nyw2OC41LDU3LjEsMTEzLjFDMzk0LjQsMjk3LjQsMzMxLjQsMzYwLjMsMjU0LDM2MC4zeiIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI0OSAyMTkiIHdpZHRoPSIyNDkuMHB0IiBoZWlnaHQ9IjIxOS4wcHQiPg0KDQo8cGF0aCBkPSJNIDExNS41MSAxMS44MiBDIDEzMi4zMyA4Ljg4IDE1MC4zOCAxNS41NyAxNjEuNDEgMjguNTYgQyAxNjcuNzMgMzUuNzMgMTcxLjUwIDQ0LjYyIDE3My4xMCA1My45OCBDIDE3NC44OSA2NS42OCAxNzEuOTcgNzcuNzkgMTY1Ljc1IDg3Ljc4IEMgMTU5LjE2IDk4LjA2IDE0OC44MyAxMDUuODMgMTM3LjAxIDEwOS4wNCBDIDExOC4yMiAxMTQuNzcgOTYuODkgMTA3LjQ1IDg0Ljc5IDkyLjE4IEMgNzYuMjggODEuNjIgNzIuMjQgNjcuNDEgNzQuMjUgNTMuOTcgQyA3NS43OSA0NC43MSA3OS41OSAzNS45MSA4NS43NiAyOC43OCBDIDkzLjMzIDE5Ljc3IDEwMy45OCAxMy45NSAxMTUuNTEgMTEuODIgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTAyLjY3IDI4LjU3IEMgMTE0LjU2IDI4Ljg5IDEyOC45MiAyNy4xNiAxMzkuOTIgMzIuMDUgQyAxNDcuMTkgMzUuMDcgMTUyLjAxIDQxLjU1IDE1My42MiA0OS4xNiBDIDE1NS40MCA1Ny43NCAxNTUuMjUgNjcuNTUgMTUxLjY1IDc1LjY0IEMgMTQ4LjYyIDgyLjQwIDE0Mi41MCA4Ni42NyAxMzUuNDkgODguNTkgQyAxMjUuMjQgOTEuNDcgMTEzLjMwIDkwLjIzIDEwMi42NyA5MC41MCBDIDEwMi42NiA2OS44NSAxMDIuNjYgNDkuMjEgMTAyLjY3IDI4LjU3IFoiIGZpbGw9IiMwMDAwMDAiIC8+DQo8cGF0aCBkPSJNIDExMS4wNCAzNS40OCBDIDExOC44MyAzNS42MSAxMjcuNzIgMzQuNjMgMTM0Ljk1IDM3Ljk0IEMgMTM5Ljg0IDQwLjA3IDE0My4yNCA0NC4zOSAxNDQuNjQgNDkuNDggQyAxNDYuMjIgNTUuNDIgMTQ2LjI1IDYxLjk3IDE0NS4wMyA2Ny45OCBDIDE0My45MCA3My40MSAxNDAuODEgNzguMjQgMTM1Ljc1IDgwLjc1IEMgMTI4LjMwIDg0LjUyIDExOS4xNiA4My40NyAxMTEuMDUgODMuNjIgQyAxMTEuMDMgNjcuNTggMTExLjA1IDUxLjUzIDExMS4wNCAzNS40OCBaIiBmaWxsPSIjMmFkNGZmIiAvPg0KPHBhdGggZD0iTSA1Ni41MiAxMDcuNzAgQyA3NC4xMiAxMDMuNTcgOTMuMzUgMTEwLjI3IDEwNS4wMCAxMjMuOTggQyAxMTEuMzUgMTMxLjE5IDExNS4wOCAxNDAuMTAgMTE2LjY2IDE0OS41MiBDIDExOC4zOCAxNjEuMjUgMTE1LjQ2IDE3My4yNiAxMDkuMjAgMTgzLjI1IEMgMTAyLjY5IDE5My4zMiA5Mi42NCAyMDAuOTkgODEuMDUgMjA0LjIzIEMgNzEuMTkgMjA3LjM1IDYwLjQ5IDIwNi45MyA1MC43OSAyMDMuNDIgQyAzMS44OSAxOTcuMDMgMTguNDEgMTc4Ljg5IDE3LjM1IDE1OS4wMyBDIDE2LjYyIDE0Ni4wNCAyMS40NSAxMzIuNzcgMzAuMTUgMTIzLjEzIEMgMzcuMTAgMTE1LjM5IDQ2LjM5IDExMC4wMyA1Ni41MiAxMDcuNzAgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTcxLjUyIDExMC43NSBDIDE4OS4xNiAxMDYuNTIgMjA4Ljk3IDExMy42MCAyMjAuNDAgMTI3LjU3IEMgMjI2LjUzIDEzNC43NiAyMzAuMTMgMTQzLjU1IDIzMS42MyAxNTIuODIgQyAyMzMuMjUgMTY0LjE0IDIzMC40OCAxNzUuODYgMjI0LjU3IDE4NS41OCBDIDIxOC4wNCAxOTYuMTYgMjA3LjUzIDIwNC4xNyAxOTUuNTIgMjA3LjQzIEMgMTc2Ljc1IDIxMy4xNyAxNTUuNDEgMjA1LjkwIDE0My4zMiAxOTAuNjMgQyAxMzQuNjkgMTc5Ljk3IDEzMC42MSAxNjUuNTYgMTMyLjc4IDE1MS45NyBDIDEzNC4zMCAxNDMuMzQgMTM3LjczIDEzNS4xMyAxNDMuMjggMTI4LjMyIEMgMTUwLjM1IDExOS4zNyAxNjAuNDUgMTEzLjI5IDE3MS41MiAxMTAuNzUgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTU5Ljg0IDEyNy4zMSBDIDE2Ny44NyAxMjcuNDMgMTc1Ljk4IDEyNy4wMCAxODMuOTkgMTI3LjY3IEMgMTkyLjEwIDEyOC41MSAyMDAuMjcgMTMwLjgyIDIwNS41OCAxMzcuNDMgQyAyMTEuMzQgMTQ0LjYzIDIxMi4wMCAxNTUuMjAgMjExLjEwIDE2NC4wMSBDIDIxMC4yMCAxNzIuNTIgMjA2LjMzIDE4MC40NCAxOTguNDUgMTg0LjQ1IEMgMTg3LjE3IDE5MC4zNSAxNzIuMjQgMTg4LjQwIDE1OS44MyAxODguNzUgQyAxNTkuODIgMTY4LjI3IDE1OS44MSAxNDcuNzkgMTU5Ljg0IDEyNy4zMSBaIiBmaWxsPSIjMDAyMjJiIiAvPg0KPHBhdGggZD0iTSA0NS42NCAxMjcuODUgQyA1Ni40NyAxMjguMTQgNjkuMzYgMTI2LjY0IDc5LjUwIDEzMC42MyBDIDg1Ljc5IDEzMi45NiA5MC42NyAxMzcuNzcgOTIuNzkgMTQ0LjE3IEMgOTUuMjggMTUxLjc4IDk1LjMxIDE2MC41MSA5My4zMCAxNjguMjQgQyA5MS40NiAxNzUuMDcgODYuNzkgMTgwLjU5IDgwLjE2IDE4My4xOSBDIDY5Ljg4IDE4Ny41MiA1Ni43MCAxODUuOTQgNDUuNjQgMTg2LjI1IEMgNDUuNjMgMTY2Ljc4IDQ1LjYzIDE0Ny4zMSA0NS42NCAxMjcuODUgWiIgZmlsbD0iIzAwMDAwMCIgLz4NCjxwYXRoIGQ9Ik0gNzYuMjMgMTM2Ljc2IEMgODAuODUgMTM4LjgyIDgzLjk3IDE0Mi45NSA4NS4yNiAxNDcuNzcgQyA4Ni42OSAxNTMuMjggODYuNzAgMTU5LjI2IDg1LjYyIDE2NC44NCBDIDg0LjU1IDE2OS45NyA4MS43NSAxNzQuNTcgNzYuOTcgMTc2Ljk4IEMgNjkuOTcgMTgwLjYxIDYxLjIyIDE3OS41OCA1My41NyAxNzkuNzcgQyA1My40OSAxNjQuNjQgNTMuNTggMTQ5LjUwIDUzLjUzIDEzNC4zNyBDIDYwLjg4IDEzNC40NCA2OS40MyAxMzMuNTkgNzYuMjMgMTM2Ljc2IFoiIGZpbGw9IiMyYWQ0ZmYiIC8+DQo8cGF0aCBkPSJNIDE2OC4yNCAxMzQuMjYgQyAxNzUuMzEgMTM0LjExIDE4My4yNCAxMzMuNTkgMTkwLjAyIDEzNS45MCBDIDE5NS4wMiAxMzcuNTcgMTk4Ljk2IDE0MS4yMCAyMDAuODAgMTQ2LjE3IEMgMjAzLjA2IDE1Mi40MCAyMDMuMTQgMTU5LjUyIDIwMS45MiAxNjUuOTggQyAyMDAuODYgMTcxLjQzIDE5Ny45NiAxNzYuMzMgMTkyLjkxIDE3OC45MiBDIDE4NS4zMSAxODIuOTAgMTc2LjQxIDE4MS43MyAxNjguMTMgMTgxLjkwIEMgMTY4LjIyIDE2Ni4wNCAxNjcuOTggMTUwLjExIDE2OC4yNCAxMzQuMjYgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgNTEyIDUxMiINCiAgIHdpZHRoPSI1MTIuMHB0Ig0KICAgaGVpZ2h0PSI1MTIuMHB0Ig0KICAgaWQ9InN2Zzk0ODU5Ig0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogIDxkZWZzDQogICAgIGlkPSJkZWZzOTQ4NjMiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTQzLjk5IDI2Ljg2IEMgMTU5LjY5IDI1Ljc5IDE3NS42MiAzMC40MSAxODguMzIgMzkuNzAgQyAxOTkuNDcgNDcuNzUgMjA4LjA0IDU5LjI2IDIxMi42MSA3Mi4yNCBDIDIxNy4wMyA4NC44MiAyMTcuNzYgOTguNTggMjE0LjQzIDExMS41MSBDIDIxMC42OCAxMjYuNzggMjAxLjQ0IDE0MC40NiAxODguODIgMTQ5LjgyIEMgMTk5LjcwIDE2OC41NyAyMTAuNjQgMTg3LjI5IDIyMS41MyAyMDYuMDQgQyAyMzkuODcgMjAwLjM5IDI2MC4xMiAyMDUuNDYgMjczLjY5IDIxOC45NyBDIDI5Ny44OSAxOTQuNzMgMzIyLjE2IDE3MC41NiAzNDYuMzIgMTQ2LjI5IEMgMzQzLjU1IDE0MC44OCAzNDEuNjcgMTM1LjE0IDM0MS40MiAxMjkuMDIgQyAzNDAuNDYgMTEzLjY5IDM0OS4xMyA5OC43MiAzNjIuODMgOTEuODMgQyAzNzYuMDIgODQuOTMgMzkyLjc1IDg2LjM5IDQwNC41NiA5NS40NCBDIDQxNi4wOCAxMDQuMDUgNDIyLjA3IDExOC44MSA0MTkuNzYgMTMzLjAzIEMgNDE3LjUzIDE0OC4yMyA0MDUuODggMTYxLjE5IDM5MS4wMSAxNjUuMDMgQyAzODAuOTYgMTY3Ljc4IDM3MC41MyAxNjYuMTcgMzYxLjM1IDE2MS40MiBDIDMzNi4xOSAxODYuNzUgMzEwLjg0IDIxMS45MiAyODUuNjQgMjM3LjIyIEMgMjg3LjU0IDI0Mi42OCAyODguNzIgMjQ4LjA3IDI4OS4wMiAyNTMuODYgQyAzMTYuMzMgMjUzLjg5IDM0My42NSAyNTMuODUgMzcwLjk3IDI1My44NyBDIDM3My44NSAyMzUuODcgMzg0LjAxIDIxOS4zOSAzOTguOTMgMjA4Ljg5IEMgNDExLjY2IDE5OS44NCA0MjcuNDQgMTk1LjM3IDQ0My4wMyAxOTYuNDggQyA0NTguNDIgMTk3LjQzIDQ3My4zMiAyMDMuODggNDg0LjYyIDIxNC4zNSBDIDQ5NS44NyAyMjQuNzIgNTAzLjQ5IDIzOC44MyA1MDUuNzggMjUzLjk4IEMgNTA3LjY0IDI2NC45NyA1MDYuNDYgMjc2LjMxIDUwMi44OCAyODYuODIgQyA0OTcuNzQgMzAxLjczIDQ4Ny4zMyAzMTQuNjkgNDczLjgyIDMyMi44MyBDIDQ2My4zOCAzMjkuMjUgNDUxLjIzIDMzMi42MyA0MzguOTkgMzMyLjc5IEMgNDIyLjM0IDMzMi44OCA0MDUuNzcgMzI2Ljc5IDM5My4zMSAzMTUuNzAgQyAzODEuNDIgMzA1LjMyIDM3My40NyAyOTAuNzggMzcwLjk5IDI3NS4yMCBDIDM0Mi40OCAyNzUuMjEgMzEzLjk4IDI3NS4xOSAyODUuNDcgMjc1LjIxIEMgMjgwLjg1IDI4Ni4yMSAyNzMuNTAgMjk0LjkwIDI2My4yOCAzMDEuMDkgQyAyNzIuODUgMzM2LjE4IDI4Mi40NSAzNzEuMjYgMjkyLjA2IDQwNi4zNCBDIDI5Ny40NyA0MDYuNDIgMzAyLjc3IDQwNy4xMyAzMDcuODIgNDA5LjE3IEMgMzIxLjA4IDQxNC4zMSAzMzAuODEgNDI2Ljg0IDMzMi40NiA0NDAuOTggQyAzMzQuNDAgNDU1LjczIDMyNy40MiA0NzAuODIgMzE0LjkyIDQ3OC44OCBDIDMwMi4xNCA0ODcuMzYgMjg0LjgwIDQ4Ny40NCAyNzEuOTcgNDc5LjAxIEMgMjU4Ljc1IDQ3MC42MyAyNTEuNjUgNDU0LjQ1IDI1NC40OSA0MzkuMDMgQyAyNTYuMzEgNDI4LjIzIDI2Mi43MyA0MTguOTUgMjcxLjY4IDQxMi43NyBDIDI2Mi4xMyAzNzcuODIgMjUyLjU4IDM0Mi44NyAyNDMuMDEgMzA3LjkzIEMgMjI5LjU2IDMwOS4zMCAyMTcuMTggMzA2LjA2IDIwNi4xMiAyOTguMzUgQyAxODMuNDAgMzExLjE3IDE2MC43MSAzMjQuMDIgMTM4LjAyIDMzNi44OCBDIDE0My45NCAzNTMuOTEgMTQyLjkzIDM3Mi44OCAxMzUuMDQgMzg5LjEwIEMgMTI3LjUyIDQwNC44MCAxMTMuODIgNDE3LjMyIDk3LjUwIDQyMy4zOSBDIDg1LjQyIDQyNy44NiA3Mi4xNSA0MjguOTYgNTkuNTQgNDI2LjIyIEMgNDUuNzAgNDIzLjMyIDMyLjkxIDQxNi4wNCAyMy4zNyA0MDUuNjEgQyAxMi42NyAzOTQuMDYgNi4yMyAzNzguNzMgNS40OCAzNjMuMDAgQyA0LjYzIDM0Ny41NSA5LjIyIDMzMS45MCAxOC4zOCAzMTkuNDEgQyAyNi4yOCAzMDguNDYgMzcuNTIgMjk5Ljk4IDUwLjIzIDI5NS4zOCBDIDYxLjI5IDI5MS4zMiA3My4zOCAyOTAuMjQgODQuOTkgMjkyLjIxIEMgMTAxLjk3IDI5NC45NCAxMTcuNDMgMzA0LjQ2IDEyNy44NyAzMTguMDggQyAxNDkuMDcgMzA2LjA5IDE3MC4yNiAyOTQuMTEgMTkxLjQ1IDI4Mi4xMCBDIDE4Ny41OSAyNzQuOTkgMTg1LjQxIDI2OC4wNCAxODQuNjYgMjU5Ljk2IEMgMTUyLjc2IDI1MS4xMSAxMjAuNzIgMjQyLjU3IDg4Ljc4IDIzMy44MiBDIDg2LjE4IDIzOC4xMSA4My4wNiAyNDIuMDEgNzkuMTEgMjQ1LjE0IEMgNjguMzEgMjUzLjk3IDUyLjkyIDI1Ni4yOSAzOS45NyAyNTEuMDkgQyAyNS4yNiAyNDUuNDMgMTUuMDYgMjMwLjc4IDE0Ljk3IDIxNC45OSBDIDE0LjU3IDE5OS4xNCAyNC40NiAxODQuMDYgMzkuMTIgMTc4LjA0IEMgNTIuOTkgMTcyLjA5IDY5Ljc1IDE3NC45MyA4MC44NiAxODUuMTQgQyA4OC44MCAxOTIuMjYgOTMuMzkgMjAyLjQ2IDkzLjg4IDIxMy4wOCBDIDEyNS4wOCAyMjEuNTkgMTU2LjI5IDIzMC4xMCAxODcuNTIgMjM4LjU0IEMgMTkwLjcwIDIyOS44NCAxOTUuODAgMjIyLjM3IDIwMi44MiAyMTYuMzIgQyAxOTEuODUgMTk3LjQ2IDE4MC44OCAxNzguNTkgMTY5Ljg4IDE1OS43NCBDIDE1My4yMSAxNjUuMTAgMTM1LjA1IDE2NC4yMCAxMTkuMjEgMTU2LjY0IEMgMTA1LjA0IDE1MC4wMSA5My4zNCAxMzguMzcgODYuNjQgMTI0LjIyIEMgODAuNTUgMTExLjQ5IDc4LjYzIDk2Ljg4IDgxLjEwIDgyLjk5IEMgODMuNjUgNjguMjIgOTEuMzEgNTQuNDUgMTAyLjQ0IDQ0LjQxIEMgMTEzLjc5IDM0LjA1IDEyOC42NSAyNy43OCAxNDMuOTkgMjYuODYgWiINCiAgICAgZmlsbD0iIzAxMDEwMSINCiAgICAgaWQ9InBhdGg5NDg0MyINCiAgICAgc3R5bGU9ImZpbGw6IzJiOGEzZTtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSAxMzkuNDkgNDguODYgQyAxNTEuMTggNDYuNjIgMTYzLjU4IDQ4Ljk1IDE3My41OCA1NS40MyBDIDE4OS4wMCA2NS4yMSAxOTcuNTcgODMuOTYgMTk0LjYzIDEwMi4wMyBDIDE5Mi4xNSAxMTkuMTMgMTc5LjY2IDEzNC4wMCAxNjMuMjQgMTM5LjM4IEMgMTUwLjc4IDE0My42NCAxMzYuNjkgMTQyLjMzIDEyNS4yNiAxMzUuNzggQyAxMTUuNzUgMTMwLjQ3IDEwOC4yMSAxMjEuNzAgMTA0LjM4IDExMS41MSBDIDEwMC43MyAxMDEuOTAgMTAwLjQxIDkxLjA2IDEwMy4zOSA4MS4yMyBDIDEwOC4zNCA2NC43OCAxMjIuNTggNTEuOTYgMTM5LjQ5IDQ4Ljg2IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDUiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMzc1LjQ3IDEwOS42MCBDIDM4MS42OCAxMDcuNzEgMzg4LjU0IDEwOS4yNyAzOTMuMjQgMTEzLjc1IEMgMzk4LjU5IDExOC43MSA0MDAuMzcgMTI2Ljc3IDM5Ny42NyAxMzMuNTQgQyAzOTQuNzcgMTQxLjA0IDM4Ni45OSAxNDUuODMgMzc4Ljk4IDE0NC45NiBDIDM3MC42MyAxNDQuMjAgMzYzLjY4IDEzNy4zNiAzNjIuODAgMTI5LjAyIEMgMzYxLjcwIDEyMC40NiAzNjcuMjQgMTEyLjA3IDM3NS40NyAxMDkuNjAgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg0NyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA1MC40OSAxOTYuNjkgQyA1Ni43OSAxOTUuMjkgNjMuNDggMTk3LjQyIDY3LjgwIDIwMi4yMCBDIDczLjAwIDIwNy44MiA3NC4wMiAyMTYuNTcgNzAuMjIgMjIzLjIyIEMgNjYuMzUgMjMwLjI5IDU3Ljg0IDIzNC4wMiA1MC4wMSAyMzEuOTcgQyA0MS44OSAyMzAuMDQgMzYuMDAgMjIyLjMyIDM2LjI4IDIxMy45NyBDIDM2LjM4IDIwNS43NSA0Mi40NiAxOTguNDAgNTAuNDkgMTk2LjY5IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDkiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gNDI4LjQ5IDIxOC42NyBDIDQ0My4yMSAyMTUuNDggNDU5LjAwIDIxOS42OCA0NzAuMDYgMjI5LjkzIEMgNDgxLjYyIDI0MC4zOSA0ODcuMzEgMjU2LjY1IDQ4NC43MCAyNzIuMDMgQyA0ODIuODAgMjg0LjAzIDQ3Ni4wNCAyOTUuMDcgNDY2LjI1IDMwMi4yNiBDIDQ1Ni4zMCAzMDkuNzAgNDQzLjIyIDMxMi45MCA0MzAuOTcgMzEwLjgzIEMgNDE2LjcyIDMwOC42MiA0MDMuOTcgMjk5LjU0IDM5Ny4xNCAyODYuODYgQyAzOTAuNzcgMjc1LjIyIDM4OS43NSAyNjAuOTMgMzk0LjMxIDI0OC40OCBDIDM5OS43MCAyMzMuNDkgNDEyLjkyIDIyMS45OSA0MjguNDkgMjE4LjY3IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTEiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMjMwLjQ5IDIyNS43MiBDIDIzOS4yMiAyMjMuOTMgMjQ4LjUwIDIyNS45NyAyNTUuNTYgMjMxLjQzIEMgMjY2LjA0IDIzOS4zMSAyNzAuMzcgMjUzLjU2IDI2Ni4wNiAyNjUuOTcgQyAyNjEuNjMgMjc5LjMxIDI0OC4wMCAyODguMjIgMjMzLjk4IDI4Ni43NyBDIDIxOC42OSAyODUuNTggMjA2LjIwIDI3Mi4zMiAyMDUuOTEgMjU2Ljk5IEMgMjA1LjI2IDI0Mi4xOCAyMTUuOTkgMjI4LjYzIDIzMC40OSAyMjUuNzIgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg1MyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA2My40OSAzMTMuNjYgQyA3NS4zNSAzMTEuMDcgODguMTAgMzEzLjEzIDk4LjM4IDMxOS42MyBDIDEwNy45NiAzMjUuNTYgMTE1LjIwIDMzNS4wMCAxMTguNDYgMzQ1Ljc4IEMgMTIzLjUxIDM2MS45MiAxMTkuMDYgMzgwLjE3IDEwNy4xOCAzOTIuMTggQyA5NC43NyA0MDUuMTQgNzUuMTEgNDA5LjgyIDU4LjIwIDQwMy43NSBDIDQ1LjUzIDM5OS40MSAzNS4wNiAzODkuNDMgMzAuMDkgMzc2Ljk5IEMgMjYuMjEgMzY3LjQ0IDI1LjY4IDM1Ni42NyAyOC40MyAzNDYuNzQgQyAzMi45OCAzMzAuMjcgNDYuODAgMzE3LjI2IDYzLjQ5IDMxMy42NiBaIg0KICAgICBmaWxsPSIjZmZmZmZmIg0KICAgICBpZD0icGF0aDk0ODU1Ig0KICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIiAvPg0KICA8cGF0aA0KICAgICBkPSJNIDI4Ny41MCA0MjguNzAgQyAyOTMuOTMgNDI2LjUxIDMwMS4yMyA0MjguMTQgMzA2LjA1IDQzMi45NSBDIDMxMS42OSA0MzguNDEgMzEzLjA3IDQ0Ny4zMCAzMDkuNDAgNDU0LjI0IEMgMzA1LjgxIDQ2MS4yNSAyOTcuNzcgNDY1LjE2IDI5MC4wMyA0NjMuNjkgQyAyODIuMDEgNDYyLjI3IDI3NS42NyA0NTUuMjAgMjc1LjI1IDQ0Ny4wNCBDIDI3NC42NSA0MzguOTcgMjc5LjgzIDQzMS4yNCAyODcuNTAgNDI4LjcwIFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTciDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4NCg==\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY2NSA2NjEiIHdpZHRoPSI2NjUuMHB0IiBoZWlnaHQ9IjY2MS4wcHQiPg0KDQo8cGF0aCBkPSJNIDM5MS4yNCA1Ljg2IEMgNDUzLjUyIDE2LjkwIDUxMi4zMiA0Ni4yOCA1NTguNjIgODkuMzggQyA1ODkuODAgMTE4LjIxIDYxNS40MCAxNTMuMTIgNjMzLjQxIDE5MS41OCBDIDY1MS4zNyAyMjkuNjMgNjYxLjY0IDI3MS4xMCA2NjMuOTcgMzEzLjEwIEMgNjY3LjA1IDM3MC4xNiA2NTUuMzcgNDI3LjkxIDYzMC4yMyA0NzkuMjMgQyA2MDkuNzQgNTIxLjI3IDU4MC4yNSA1NTkuMzYgNTQzLjk0IDU4OC45MiBDIDUxNi4yNSA2MTEuNDMgNDg0LjYyIDYyOC45OCA0NTAuMDIgNjM4LjIxIEMgNDQ2LjIwIDYzOS4xNyA0NDIuMzYgNjM5LjQyIDQzOC45OSA2MzcuMDEgQyA0MzUuMjYgNjM0LjMyIDQzNC4yOCA2MjkuNTMgNDMyLjU5IDYyNS40OSBDIDQwOS42MiA1NjYuNDEgMzg2LjYyIDUwNy4zMyAzNjMuNjMgNDQ4LjI1IEMgMzYyLjA2IDQ0My45MyAzNTkuNDggNDM5Ljc5IDM2MC40NCA0MzUuMDQgQyAzNjEuMjggNDMwLjczIDM2NC41MSA0MjguMDIgMzY4LjUxIDQyNi42MyBDIDM4NS42OCA0MjAuMDggNDAxLjM2IDQxMC40MSA0MTIuMzcgMzk1LjM5IEMgNDIzLjA0IDM4MC44OCA0MjcuNzAgMzYzLjc2IDQyOS4zOSAzNDYuMDMgQyA0MzAuMDcgMzM3LjAwIDQzMC40MiAzMjguMDQgNDI5LjIzIDMxOS4wMyBDIDQyNC43NiAyODUuOTMgNDAyLjAzIDI1Ni43MiAzNzEuNDggMjQzLjUwIEMgMzQwLjg1IDIzMC4wMiAzMDMuNjcgMjM0LjI0IDI3Ni4zMyAyNTMuMzEgQyAyNTguNDYgMjY1LjczIDI0NC44OSAyODQuMDIgMjM4Ljk0IDMwNS4wMiBDIDIzNC4yNiAzMjAuOTIgMjM0Ljk0IDMzNi44MSAyMzcuMzIgMzUzLjAyIEMgMjQwLjA5IDM2OS42NSAyNDUuNzYgMzg1LjQ0IDI1NS45OSAzOTguOTggQyAyNjYuMjcgNDEyLjY0IDI4MC43OSA0MjIuNjQgMjk3LjAwIDQyNy45NSBDIDMwMC45NSA0MjkuMTcgMzA0LjM2IDQzMS4xMCAzMDUuODQgNDM1LjE5IEMgMzA3LjgyIDQ0MC4yOCAzMDUuMDMgNDQ0LjYzIDMwMy4yNSA0NDkuMjYgQyAyNzguNjggNTA5LjY4IDI1NC4xMCA1NzAuMTAgMjI5LjU1IDYzMC41MyBDIDIyOC40NyA2MzMuMDUgMjI3LjE5IDYzNS4zMiAyMjQuODAgNjM2LjgyIEMgMjIxLjg4IDYzOC43MSAyMTguNTAgNjM4LjgyIDIxNS4yMiA2MzcuOTIgQyAyMDMuODYgNjM0LjkxIDE5Mi43NSA2MzAuODUgMTgyLjAzIDYyNi4wNSBDIDE0Ny4zNSA2MTAuNDQgMTE2LjE3IDU4Ni40MCA5MC40NSA1NTguNTMgQyA1MS43NyA1MTYuNTcgMjQuMDEgNDY0LjcxIDEwLjQ3IDQwOS4yOCBDIC01LjE2IDM0NS4zNSAtMS4yMSAyNzYuNjMgMjEuODcgMjE0Ljk4IEMgMzkuMjMgMTY4LjMwIDY3LjM3IDEyNS43NSAxMDMuNDYgOTEuNDUgQyAxMzUuMTQgNjEuMjEgMTcyLjkwIDM3LjQ0IDIxMy44NiAyMS45NSBDIDI3MC4xMyAwLjYyIDMzMi4wNCAtNC44MSAzOTEuMjQgNS44NiBaIiBmaWxsPSIjMWI1MjFiIiAvPg0KPHBhdGggZD0iTSA0MTIuOTcgMzMuMDcgQyA0NDcuNzQgNDIuNDUgNDgxLjAxIDU3LjgxIDUxMC40NyA3OC41NCBDIDU0Ni4zMCAxMDMuNjEgNTc2Ljg4IDEzNi4yMiA1OTkuMjQgMTczLjgzIEMgNjIyLjk1IDIxMy4yMiA2MzcuNDIgMjU4LjIwIDY0MS4zNiAzMDMuOTkgQyA2NDYuOTUgMzY2LjgzIDYzMy4wNCA0MzEuMTAgNjAyLjAwIDQ4Ni4wMSBDIDU3Ni44NyA1MzAuNjggNTQwLjIyIDU2OS45OCA0OTUuNzEgNTk1LjczIEMgNDgxLjg2IDYwMy41OCA0NjcuMTYgNjEwLjI3IDQ1MS44OSA2MTQuODQgQyA0MjkuNzAgNTU3LjczIDQwNy41MiA1MDAuNjEgMzg1LjI0IDQ0My41NCBDIDM5MS4yMCA0NDAuNDQgMzk3LjE5IDQzNy41MyA0MDIuODEgNDMzLjgyIEMgNDE1LjExIDQyNS43MiA0MjUuOTYgNDE1LjM0IDQzMy43OSA0MDIuODIgQyA0NDQuOTEgMzg1LjUyIDQ1MC4yMyAzNjQuMTcgNDUxLjQ2IDM0My44MCBDIDQ1Mi4xMiAzMzEuNjEgNDUyLjA0IDMxOS41NyA0NDkuMzggMzA3LjYwIEMgNDQyLjU0IDI3NC44OSA0MjAuNzEgMjQ1Ljc2IDM5MS43NCAyMjkuMjggQyAzNzYuMjUgMjIwLjM4IDM1OC44MiAyMTUuMTQgMzQwLjk5IDIxMy45NSBDIDMyMC4wMyAyMTIuNzMgMjk4Ljg2IDIxNi44MSAyNzkuOTYgMjI1Ljk3IEMgMjU2LjYxIDIzNy4xOCAyMzcuMDggMjU2LjM1IDIyNS41MCAyNzkuNTIgQyAyMTcuMjEgMjk2LjA1IDIxMy4xMiAzMTQuNTIgMjEzLjY1IDMzMy4wMCBDIDIxNC4xMSAzNTQuNjQgMjE4LjQ1IDM3Ny4wNiAyMjguNjIgMzk2LjMyIEMgMjM2LjA5IDQxMS4wOCAyNDcuMDMgNDIzLjg5IDI2MC40NCA0MzMuNTggQyAyNjYuODUgNDM4LjQyIDI3My45MyA0NDEuOTEgMjgxLjA4IDQ0NS40OSBDIDI3MS45NiA0NjguNDcgMjYyLjUyIDQ5MS4zMiAyNTMuMjEgNTE0LjIzIEMgMjM5LjY3IDU0Ny41MyAyMjYuMTUgNTgwLjg0IDIxMi42MCA2MTQuMTQgQyAyMDQuNjcgNjEyLjIyIDE5Ny4wMyA2MDguNzEgMTg5LjU1IDYwNS40OSBDIDE2My44MyA1OTMuNTcgMTQwLjIyIDU3Ni43OCAxMTkuNzggNTU3LjIwIEMgMTE1LjUxIDU1My4zOSAxMTEuNjAgNTQ5LjQyIDEwNy44MiA1NDUuMTMgQyA1NS43NSA0ODkuMzYgMjQuNTkgNDE0LjM4IDIyLjk5IDMzOC4wMCBDIDIxLjUxIDI3Ni43NCAzOC41MiAyMTUuMjggNzEuODMgMTYzLjgxIEMgMTA2LjM1IDEwOS44MCAxNTguMTUgNjcuMjMgMjE3Ljg1IDQzLjg4IEMgMjc5LjQ1IDE5LjUwIDM0OS4wNSAxNS44NiA0MTIuOTcgMzMuMDcgWiIgZmlsbD0iIzNlYTUzOCIgLz4NCg0KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICBoZWlnaHQ9IjE3MDUuMDYwNyINCiAgIHZpZXdCb3g9Ii00OC41ODMxMzIgLTEzNi4yMjg1MyA1OTkuODk3NDkgNTM4LjIwODM5Ig0KICAgd2lkdGg9IjE3MDUuMjMxMiINCiAgIHZlcnNpb249IjEuMSINCiAgIGlkPSJzdmcxMDMxNjQiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMNCiAgICAgaWQ9ImRlZnMxMDMxNjgiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTA5Ljk0Njg3LDE3Ny44NjQ0MiBIIC00OC4zNDMxMzIgYyAwLjAzLDAuNzggMC4wNSwxLjU1IDAuMDksMi4zMiAwLjA2LDEuNDkgMC4xNywyLjk3IDAuMjYsNC40NiAwLjA0LDAuNjQgMC4wNywxLjI4IDAuMTIsMS45MSAwLjEyLDEuNzIgMC4yNywzLjQ0IDAuNDMsNS4xNSAwLjA0LDAuMzkgMC4wNywwLjc4IDAuMTEsMS4xNSAwLjE4LDEuOTEgMC4zOSwzLjgyIDAuNjEsNS43MSAwLjAxLDAuMTggMC4wMywwLjM3IDAuMDYsMC41NSAwLjI1LDIuMDQgMC41MSw0LjA5IDAuODEsNi4xMiAwLDAuMDMgMCwwLjA2IDAuMDEsMC4wOCBhIDI2Ni4wNSwyNjYuMDUgMCAwIDAgOC4xOCwzNy40IGMgMC4wMiwwLjA1IDAuMDQsMC4xIDAuMDUsMC4xNSAwLjU3LDEuOTQgMS4xNywzLjg2IDEuNzgsNS43NyAwLjA0LDAuMTEgMC4wOCwwLjIzIDAuMTEsMC4zNCAwLjAzLDAuMTEgMC4wNywwLjIyIDAuMTEsMC4zNCAwLjU2LDEuNzMgMS4xNSwzLjQ1IDEuNzQsNS4xOCAwLjE1LDAuNDMgMC4zLDAuODcgMC40NiwxLjMxIDAuNTMsMS40OSAxLjA3LDIuOTggMS42Myw0LjQ4IDAuMjYsMC42NyAwLjUxLDEuMzQgMC43NiwyLjAyIDAuNDksMS4yNCAwLjk2LDIuNDcgMS40NSwzLjcgMC4zNywwLjkzIDAuNzUsMS44NiAxLjE0LDIuNzggMC40LDAuOTcgMC44LDEuOTIgMS4yMSwyLjg5IDAuNSwxLjE4IDEuMDMsMi4zNSAxLjU1LDMuNTMgMC4zMSwwLjcgMC42MywxLjM5IDAuOTQsMi4wOSAwLjY0LDEuNDEgMS4zLDIuODIgMS45Nyw0LjIyIDAuMjIsMC40NSAwLjQzLDAuOSAwLjY1LDEuMzQgMC43OCwxLjYyIDEuNTcsMy4yMSAyLjM3LDQuOCAwLjE0LDAuMjQgMC4yNSwwLjQ5IDAuMzgsMC43MyAwLjksMS43NiAxLjgyLDMuNTEgMi43Nyw1LjI1IDAuMDQsMC4wOCAwLjA5LDAuMTUgMC4xMiwwLjI0IDAuMiwwLjM2IDAuNDIsMC43MSAwLjYyLDEuMDcgbCAxMzUuMTkwMDAyLC04MS40MyAwLjUsLTAuMyBjIC01LjMzLC0xMS4yNCAtOC42NSwtMjMuMiAtOS44OSwtMzUuMzUgeiINCiAgICAgZmlsbD0iIzkzZDUwMCINCiAgICAgaWQ9InBhdGgxMDMxNDQiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTQ4Ljg1Njg3LDI1MC41MzQ0MiAtMC4zOCwwLjM4IC0xMTEuNTAwMDAyLDExMS40OSBjIDAuNTcsMC41MyAxLjE0LDEuMDggMS43MywxLjU5IDEuMDQsMC45NSAyLjEsMS44OCAzLjE1LDIuODEgMC41NSwwLjQ4IDEuMDgsMC45NiAxLjYzLDEuNDQgMS4yNiwxLjA5IDIuNTQsMi4xNSAzLjgxLDMuMjIgMC4zNSwwLjI5IDAuNjgsMC41NyAxLjAzLDAuODYgYSAyNTUuNTc2LDI1NS41NzYgMCAwIDAgNC45MSwzLjk0IGMgMS41OCwxLjI1IDMuMTcsMi40NiA0Ljc5LDMuNjggMC4wNywwLjA0IDAuMTIsMC4wOCAwLjE4LDAuMTMgYSAyNjYuNDgsMjY2LjQ4IDAgMCAwIDIwLjg2LDE0LjEgYyAwLjI0LDAuMTYgMC40OSwwLjMgMC43NCwwLjQ2IDEuMzcsMC44MSAyLjczLDEuNjIgNC4xMSwyLjQyIGwgMi41MiwxLjQ0IGMgMC44LDAuNDYgMS41OSwwLjkgMi4zOSwxLjM0IDEuNDUsMC43OSAyLjksMS41OCA0LjM2LDIuMzUgMC4yLDAuMTEgMC40LDAuMjIgMC42MSwwLjMyIDQuMDUsMi4xMiA4LjE3MDAwMiw0LjA5IDEyLjMzMDAwMiw1Ljk5IGwgMy45NiwtOS42MSA1Ni4wOCwtMTM2LjE3IDAuMiwtMC41IGMgLTYuMTIsLTMuMjggLTExLjk5LC03LjE2IC0xNy41MSwtMTEuNjggeiINCiAgICAgZmlsbD0iIzRkNWEzMSINCiAgICAgaWQ9InBhdGgxMDMxNDYiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTM3LjI0Njg3LDIzOS40MjQ0MiBhIDk1LjQ5Miw5NS40OTIgMCAwIDEgLTMuNDgsLTQuMSBjIC0xLC0xLjIzIC0xLjk2LC0yLjQ3IC0yLjg5LC0zLjczIC0xLjA3LC0xLjQ0IC0yLjExLC0yLjkgLTMuMSwtNC4zOCAtMC45OSwtMS40OSAtMS45NywtMi45OSAtMi44OSwtNC41MSBsIC0xMzUuMzYwMDAyLDgxLjUzIGMgMi4wODAwMDAzLDMuNDYgNC4yNDAwMDAzLDYuODIgNi40NjAwMDAzLDEwLjE0IDAuMDcsMC4xMiAwLjE0LDAuMjQgMC4yMiwwLjM1IDAuMDIsMC4wNSAwLjA1LDAuMDggMC4wOCwwLjEzIDAuMDcsMC4xIDAuMTQsMC4yMiAwLjIxLDAuMzMgMC4wMSwwLjAxIDAuMDIsMC4wMiAwLjAyLDAuMDQgMC4xOCwwLjI2IDAuMzYsMC41MiAwLjU0LDAuNzkgMC4wMSwwLjAxIDAuMDIsMC4wMyAwLjA0LDAuMDUgMC4wMiwwLjAyIDAuMDEsMC4wMSAwLjAxLDAuMDIgMi4zNDk5OTk5NiwzLjQ3IDQuNzcsNi44OSA3LjI2LDEwLjIzIDAuMDUsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDAuMDYsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDEuMDksMS40MyAyLjE3LDIuODYgMy4yOSw0LjI4IDAuMTUsMC4xOSAwLjI5LDAuMzcgMC40NSwwLjU1IDEuMTQsMS40NyAyLjMwOTk5OTcsMi45MiAzLjQ5OTk5OTcsNC4zNSAwLjI4LDAuMzQgMC41NywwLjY4IDAuODUsMS4wMyAxLjA3LDEuMjggMi4xNCwyLjU1IDMuMjMsMy44MSAwLjQ3LDAuNTQgMC45NSwxLjA5IDEuNDMsMS42MiAwLjkzLDEuMDYgMS44NSwyLjEyIDIuOCwzLjE2IDAuNTIsMC41NyAxLjA2LDEuMTUgMS41OSwxLjcyIDAuMjQsMC4yNyAwLjQ4LDAuNTIgMC43MywwLjc5IDAuNjksMC43NSAxLjM4LDEuNSAyLjA4LDIuMjQgMC4yOCwwLjI5IDAuNTgsMC41OCAwLjg2LDAuODggMS4yMywxLjI4IDIuNDgsMi41NyAzLjc0LDMuODMgbCAxMTEuNjcwMDAyLC0xMTEuNjUgYyAtMS4yOCwtMS4yOCAtMi40OCwtMi42IC0zLjY2LC0zLjkyIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTQ4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI4NS4yNTY4NywyNTAuNDc0NDIgYyAtMS4yMywwLjk5IC0yLjQ3LDEuOTYgLTMuNzMsMi44OSBsIDAuMjcsMC40NyA4MS40MiwxMzUuMTMgYyAzLjc3LC0yLjQ2IDcuNSwtNSAxMS4xNCwtNy42NyA3Ljg4LC01LjgxIDE1LjUsLTEyLjExIDIyLjg1LC0xOC44OSBsIC0xMTEuNTEsLTExMS40OSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1MCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAzNTEuMzg2ODcsMzkwLjA3NDQyIC0yLjc2LC00LjU5IC03NiwtMTI2LjEzIGMgLTEuNTQsMC45MiAtMy4xMSwxLjc2IC00LjY4LDIuNiAtMS41OSwwLjg2IC0zLjE4LDEuNjUgLTQuOCwyLjQyIC0xNC42LDYuOTIgLTMwLjQsMTAuNDYgLTQ2LjIzLDEwLjQ2IC0xMC4zNywwIC0yMC43MywtMS41IC0zMC43NSwtNC40OSAtMS43MSwtMC41MSAtMy4zOCwtMS4xOCAtNS4wNiwtMS43OCAtMS42OSwtMC41OSAtMy40LC0xLjExIC01LjA2LC0xLjc5IGwgLTU2LjA0LDEzNi4wOCAtMi4xOSw1LjMzIC0xLjg4LDQuNTcgLTAuMDEsMC4wMiBjIDAuMTQsMC4wNiAwLjI5LDAuMTEgMC40MywwLjE3IDAuMTYsMC4wNiAwLjMxLDAuMTEgMC40NiwwLjE4IGggMC4wMiBjIDAuMDQsMC4wMiAwLjA4LDAuMDMgMC4xMSwwLjA0IDEuMzIsMC41NSAyLjY1LDEuMDEgMy45OCwxLjUzIDEuNjcsMC42NSAzLjMzLDEuMzEgNSwxLjkyIDAuODYsMC4zMSAxLjcsMC42NyAyLjU1LDAuOTcgaCAwLjAxIGEgMjY3LjQyLDI2Ny40MiAwIDAgMCA1NC4xOSwxMi45NyBjIDAuNzMsMC4wOSAxLjQ0LDAuMTkgMi4xNywwLjI5IDAuNzUsMC4wOSAxLjUxLDAuMTYgMi4yNywwLjI1IDEuNDIsMC4xNiAyLjg0LDAuMzIgNC4yNywwLjQ2IGwgMS4wNiwwLjA5IGMgMS43NSwwLjE3IDMuNSwwLjMyIDUuMjQsMC40NCAwLjYsMC4wNSAxLjIsMC4wNyAxLjc5LDAuMTIgMS41MywwLjEgMy4wNiwwLjE5IDQuNTksMC4yNiAwLjk0LDAuMDYgMS44OCwwLjA4IDIuODIsMC4xMiAxLjIyLDAuMDQgMi40MywwLjA5IDMuNjUsMC4xMyAxLjc1LDAuMDQgMy41MiwwLjA1IDUuMjgsMC4wNiAwLjQyLDAgMC44MywwLjAxIDEuMjUsMC4wMiAxNC43NSwwIDI5LjUsLTEuMjMgNDQuMDksLTMuNjggMC4yNCwtMC4wNCAwLjQ5LC0wLjA4IDAuNzQsLTAuMTEgMS41NCwtMC4yNyAzLjA4LC0wLjU2IDQuNjIsLTAuODQgMC44OCwtMC4xNyAxLjc3LC0wLjM0IDIuNjMsLTAuNTEgMC45LC0wLjE5IDEuODEsLTAuMzcgMi43MSwtMC41NyAxLjUsLTAuMzEgMywtMC42NCA0LjUxLC0wLjk5IDAuMjcsLTAuMDYgMC41NCwtMC4xMSAwLjgxLC0wLjE5IDIyLjE4LC01LjE2IDQzLjYsLTEzLjE2IDYzLjcyLC0yMy43NSB2IC0wLjAxIGMgMS4zMiwtMC42OSAyLjYxLC0xLjQ4IDMuOTIsLTIuMiAxLjU2LC0wLjg1IDMuMTEsLTEuNzQgNC42NywtMi42MyAxLjA3LC0wLjYxIDIuMTYsLTEuMTggMy4yMywtMS44MiAwLjAxLC0wLjAxIDAuMDIsLTAuMDIgMC4wMywtMC4wMiBoIDAuMDEgYyAwLjAyLC0wLjAxIDAuMDMsLTAuMDIgMC4wNSwtMC4wMyBsIDAuMDIsLTAuMDIgLTAuMiwtMC4zMyAwLjIsMC4zMyBjIDAuMDEsMCAwLjAyLC0wLjAxIDAuMDMsLTAuMDEgMC4wMiwtMC4wMSAwLjAzLC0wLjAyIDAuMDUsLTAuMDMgMC4wNiwtMC4wNCAwLjEyLC0wLjA3IDAuMTgsLTAuMTEgMC4zNCwtMC4yMSAwLjY5LC0wLjQxIDEuMDQsLTAuNjIgeiBtIC0yMDIuNDcsLTMwNi4yMjAwMDcgYyAxLjIzLC0xIDIuNDgsLTEuOTYgMy43MywtMi45IGwgLTAuMjcsLTAuNDYgLTgxLjQyMDAwMiwtMTM1LjE0IGMgLTMuNzgsMi40NyAtNy41MSw1LjAyIC0xMS4xNiw3LjY5IC03Ljg3LDUuOCAtMTUuNSwxMi4wOSAtMjIuODMsMTguODYgbCAxMTEuNTEwMDAyLDExMS41IHoiDQogICAgIGZpbGw9IiM5M2Q1MDAiDQogICAgIGlkPSJwYXRoMTAzMTUyIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI5LjIzNjg2OCwtMjAuNjY1NTg3IGMgLTEuMjcsMS4yNyAtMi40NywyLjU4IC0zLjcxLDMuODYgLTEuMjMsMS4yOSAtMi40OSwyLjU3IC0zLjcsMy44NyBhIDI2Ni4xNTYsMjY2LjE1NiAwIDAgMCAtMjIuNTU5OTk5NzQsMjcuOTYgYyAtMC4zMjk5OTk5NiwwLjQ1IC0wLjY0OTk5OTk2LDAuOTMgLTAuOTc5OTk5OTYsMS4zOSAtMC43NiwxLjEyIC0xLjUyLDIuMjMgLTIuMjYsMy4zNSAtMC43OCwxLjE2IC0xLjU1LDIuMzQgLTIuMywzLjUxIC0wLjI4LDAuNDMgLTAuNTYsMC44NyAtMC44MywxLjMgLTI1LjY1MDAwMDMsNDAuMjMgLTM5LjM5MDAwMDMsODUuODU5OTk3IC00MS4yNDAwMDAzLDEzMS44NzAwMDcgLTAuMDcsMS43OSAtMC4xMSwzLjU4IC0wLjE1LDUuMzYgLTAuMDMsMS43OCAtMC4wOSwzLjU3IC0wLjA5LDUuMzUgSCAxMDkuMzQ2ODcgYyAwLC0xLjc4IDAuMTYsLTMuNTYgMC4yNiwtNS4zNSAwLjA5LC0xLjc5IDAuMTEsLTMuNTggMC4yOSwtNS4zNiAyLjA0LC0yMC41NiA5Ljk4LC00MC42NCAyMy44MiwtNTcuNTAwMDA3IDEuMTIsLTEuMzcgMi4zOSwtMi42NiAzLjYsLTMuOTggMS4xOSwtMS4zMyAyLjMxLC0yLjcgMy41OSwtMy45OCB6IG0gMzI1Ljg1MDAwMiwtMzkuMiBjIC0wLjIxLC0wLjEzIC0wLjQ0LC0wLjI2IC0wLjY1LC0wLjM5IC0xLjM5LC0wLjg1IC0yLjc5LC0xLjY3IC00LjIsLTIuNDkgLTAuODEsLTAuNDcgLTEuNjMsLTAuOTMgLTIuNDQsLTEuMzkgLTAuODMsLTAuNDYgLTEuNjQsLTAuOTIgLTIuNDcsLTEuMzcgYSA5MDEuNCw5MDEuNCAwIDAgMCAtNC4yOSwtMi4zMiBjIC0wLjIzLC0wLjExIC0wLjQ1LC0wLjIzIC0wLjY4LC0wLjM1IC05LjI2LC00Ljg0IC0xOC43NywtOS4xIC0yOC40OCwtMTIuOCAtMC4yNSwtMC4xIC0wLjUsLTAuMiAtMC43NSwtMC4yOSAtMi4xMiwtMC43OSAtNC4yNCwtMS41OCAtNi4zOCwtMi4zMiBhIDI2Ny4wODQsMjY3LjA4NCAwIDAgMCAtNTMuMjEsLTEyLjYyOTk5NyBsIC0yLjIyLC0wLjMgYyAtMC43NSwtMC4wOSAtMS40OSwtMC4xNiAtMi4yMywtMC4yNCAtMS40MywtMC4xNyAtMi44NSwtMC4zMyAtNC4yOSwtMC40NyAtMC4zOSwtMC4wNCAtMC43OSwtMC4wNiAtMS4yLC0wLjExIC0xLjY5LC0wLjE1IC0zLjQsLTAuMyAtNS4xLC0wLjQzIGwgLTEuOTksLTAuMTIgYyAtMS40NSwtMC4wOSAtMi45MywtMC4yIC00LjM4LC0wLjI2IC0wLjc4LC0wLjA0IC0xLjU2LC0wLjA3IC0yLjMzLC0wLjA5IFYgNjAuMDU0NDEzIGMgOC4xMiwwLjg0IDE2LjE3LDIuNTcgMjMuOTgsNS4yMiBsIDExNi41MSwtMTE2LjQ5IGMgLTQuMzMsLTMgLTguNywtNS45MiAtMTMuMiwtOC42NSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1NCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAyMTEuNzM2ODcsLTk4LjM2NTU4NCBjIC0xLjc5LDAuMDQgLTMuNTgsMC4wNCAtNS4zNiwwLjExIC0xMS4xNywwLjQ1IC0yMi4zMiwxLjU5IC0zMy4zOCwzLjQ1IC0wLjI0LDAuMDQgLTAuNDgsMC4wOCAtMC43MywwLjEyIC0xLjU1LDAuMjcgLTMuMDksMC41NSAtNC42MywwLjg0IC0wLjg3LDAuMTcgLTEuNzUsMC4zMyAtMi42MywwLjUgLTAuOTEsMC4xOCAtMS44MSwwLjM3IC0yLjcyLDAuNTcgLTEuNSwwLjMxIC0zLDAuNjQgLTQuNDksMC45OSAtMC4yOCwwLjA1IC0wLjU1LDAuMTIgLTAuODIsMC4xOCBhIDI2Ny40NjUsMjY3LjQ2NSAwIDAgMCAtNjMuNzMwMDAyLDIzLjc1OTk5NyBjIC0xLjMxLDAuNyAtMi41OSwxLjQ5IC0zLjksMi4yIC0xLjU2LDAuODYgLTMuMTIsMS43NCAtNC42NywyLjYzIC0xLjE1LDAuNjcgLTIuMzIsMS4yOCAtMy40NywxLjk2IC0wLjAxLDAuMDEgLTAuMDMsMC4wMiAtMC4wNCwwLjAyIC0wLjA4LDAuMDUgLTAuMTYsMC4xIC0wLjI0LDAuMTQgLTAuMywwLjE5IC0wLjYxLDAuMzQgLTAuOTEsMC41MiBsIDAuMDEsMC4wMiAyLjc3LDQuNTkgNzguNzUwMDAyLDEzMC43MyBjIDEuNTQsLTAuOTIgMy4xMSwtMS43NyA0LjY4LC0yLjYxIDEuNTgsLTAuODUgMy4xOCwtMS42NSA0Ljc5LC0yLjQxIGEgMTA3LjI1LDEwNy4yNSAwIDAgMSAzNS4zNiwtOS45MSBjIDEuNzgsLTAuMTggMy41NiwtMC4zMyA1LjM1LC0wLjQyIDEuNzgsLTAuMDkgMy41NywtMC4xOCA1LjM2LC0wLjE4IFYgLTk4LjQ3NTU4NCBjIC0xLjc5LDAgLTMuNTcsMC4wOCAtNS4zNSwwLjExIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTU2IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDQ4Mi40MjY4NywxNTQuMTA0NDIgYyAtMC4wOCwtMS40MiAtMC4xNiwtMi44MyAtMC4yNiwtNC4yNiBhIDc1LjQsNzUuNCAwIDAgMCAtMC4xNCwtMi4xMiBjIC0wLjExLC0xLjY3IC0wLjI1LC0zLjM0IC0wLjQxLC01LjAxIC0wLjAzLC0wLjQzIC0wLjA3LC0wLjg2IC0wLjExLC0xLjI5IC0wLjE4LC0xLjg3IC0wLjM4LC0zLjczIC0wLjYsLTUuNTkgLTAuMDIsLTAuMTUgLTAuMDMsLTAuMyAtMC4wNSwtMC40NSBsIC0wLjAzLC0wLjIxIGMgLTAuMjQsLTIuMDEgLTAuNTEsLTQuMDIgLTAuNzksLTYuMDIgbCAtMC4wMywtMC4xOSBhIDI2Ni40NTQsMjY2LjQ1NCAwIDAgMCAtOC4xNiwtMzcuMzMwMDA3IGMgLTAuMDMsLTAuMDkgLTAuMDUsLTAuMTYgLTAuMDgsLTAuMjQgLTAuNTcsLTEuOTEgLTEuMTYsLTMuOCAtMS43NSwtNS42OSAtMC4wOSwtMC4yNSAtMC4xNywtMC41IC0wLjI1LC0wLjc1IC0wLjU2LC0xLjcxIC0xLjEzLC0zLjQxIC0xLjcyLC01LjExIGwgLTAuNDgsLTEuMzggYyAtMC41MiwtMS40NyAtMS4wNiwtMi45NCAtMS42LC00LjQxIC0wLjI3LC0wLjcgLTAuNTMsLTEuNCAtMC44MSwtMi4wOSAtMC40NiwtMS4yMiAtMC45MywtMi40MyAtMS40MiwtMy42MyAtMC4zOCwtMC45NyAtMC43NywtMS45MiAtMS4xNiwtMi44NiAtMC4zOSwtMC45NSAtMC43OSwtMS44OCAtMS4xOCwtMi44MiAtMC41MiwtMS4yIC0xLjA1LC0yLjQgLTEuNTgsLTMuNTkgLTAuMywtMC42NyAtMC42LC0xLjM1IC0wLjkxLC0yLjAzIC0wLjY1LC0xLjQyIC0xLjMyLC0yLjg1IC0xLjk5LC00LjI3IC0wLjIxLC0wLjQyIC0wLjQyLC0wLjg2IC0wLjYzLC0xLjI5IC0wLjc4LC0xLjYyIC0xLjU4LC0zLjI1IC0yLjQsLTQuODUgLTAuMTEsLTAuMjIgLTAuMjMsLTAuNDUgLTAuMzQsLTAuNjcgLTAuOTEsLTEuNzcgLTEuODUsLTMuNTUgLTIuNzksLTUuMyAtMC4wNCwtMC4wNiAtMC4wNywtMC4xMyAtMC4xMSwtMC4xOSBhIDI2Ni45OSwyNjYuOTkgMCAwIDAgLTE1LjExLC0yNC41MiBsIC0xMTYuNTQsMTE2LjU0MDAwNyBjIDIuNjUsNy44MSA0LjM3LDE1Ljg2IDUuMjEsMjMuOTcgaCAxNTguMzIgYyAtMC4wNCwtMC43OSAtMC4wNiwtMS41OCAtMC4xLC0yLjM1IHoiDQogICAgIGZpbGw9IiM0ZDVhMzEiDQogICAgIGlkPSJwYXRoMTAzMTU4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDMyNC44MjY4NywxNjcuMTU0NDIgYyAwLDEuNzkgLTAuMTcsMy41NyAtMC4yNiw1LjM2IC0wLjA5LDEuNzkgLTAuMTIsMy41OCAtMC4zLDUuMzUgLTIuMDQsMjAuNTcgLTkuOTcsNDAuNjUgLTIzLjgxLDU3LjUyIC0xLjEyLDEuMzcgLTIuMzksMi42NSAtMy42LDMuOTggLTEuMiwxLjMyIC0yLjMxLDIuNjkgLTMuNTksMy45NyBsIDExMS42NywxMTEuNjUgYyAxLjI3LC0xLjI3IDIuNDYsLTIuNTggMy43LC0zLjg3IDEuMjQsLTEuMjkgMi41LC0yLjU2IDMuNywtMy44NyA4LjI2LC04Ljk1IDE1LjgyLC0xOC4zMSAyMi42MiwtMjguMDQgMC4yOCwtMC4zOSAwLjUzLC0wLjc3IDAuOCwtMS4xNSAwLjgzLC0xLjE5IDEuNjMsLTIuNCAyLjQ1LC0zLjYgMC43MSwtMS4wOCAxLjQyLC0yLjE1IDIuMTEsLTMuMjQgMC4zNSwtMC41MiAwLjY5LC0xLjA2IDEuMDIsLTEuNTggMjUuNjEsLTQwLjIxIDM5LjMyLC04NS43OSA0MS4xNiwtMTMxLjc3IDAuMDcsLTEuNzggMC4xMSwtMy41NyAwLjE0LC01LjM2IDAuMDQsLTEuNzggMC4wOSwtMy41NiAwLjA5LC01LjM1IHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTYwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDUyOS42NDY4NywtMTQ1LjM3NTU4IGMgLTI4Ljg5LC0yOC44OSAtNzUuNzMsLTI4Ljg5IC0xMDQuNjIsMCAtMjMuMDUsMjMuMDQgLTI3LjY2LDU3LjQ4OTk5NiAtMTMuOTMsODUuMTQ5OTkzIGwgLTE2MS4xNiwxNjEuMTQ5OTk3IGMgLTI3LjY2LC0xMy43MTk5OTcgLTYyLjEyLC05LjExOTk5NyAtODUuMTcsMTMuOTIwMDEgLTI4Ljg5LDI4Ljg5IC0yOC44OCw3NS43MyAwLDEwNC42MiAyOC45LDI4Ljg5IDc1Ljc1LDI4Ljg4IDEwNC42NCwwIDIzLjA1LC0yMy4wNSAyNy42NSwtNTcuNSAxMy45MiwtODUuMTYgbCAxNjEuMTYsLTE2MS4xNDAwMDcgYyAyNy42NywxMy43MiA2Mi4xMSw5LjEyIDg1LjE2LC0xMy45MyAyOC44OSwtMjguODggMjguODksLTc1LjcxOTk5MyAwLC0xMDQuNjA5OTkzIHoiDQogICAgIGZpbGw9IiM0MjQxNDMiDQogICAgIGlkPSJwYXRoMTAzMTYyIiAvPg0KPC9zdmc+DQo=\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQyNiA0MjAiIHdpZHRoPSI0MjYuMHB0IiBoZWlnaHQ9IjQyMC4wcHQiPg0KDQo8cGF0aCBkPSJNIDE1Ny42NCA2LjEwIEMgMTYwLjIxIDYuNDIgMTYxLjQwIDguMjEgMTYzLjEyIDkuOTEgQyAxNjkuNjkgMTYuOTkgMTc2LjcyIDIzLjYyIDE4My4zNSAzMC42NCBDIDE5MS4xMyAzOS40OCAyMDAuMDQgNDcuMjAgMjA3LjgwIDU2LjA3IEMgMjAzLjU0IDYxLjA4IDE5OC42NCA2NS4zNSAxOTQuMDkgNzAuMDkgQyAxODEuNTYgODIuOTAgMTY4LjUxIDk1LjE3IDE1Ni4wNiAxMDguMDYgQyAxNTQuMTcgMTEwLjA0IDE1Mi4wOCAxMTEuNzUgMTQ5LjgyIDExMy4yOSBDIDE0OC45OCAxMDUuODQgMTUwLjk0IDk4LjY4IDE1MC40MyA5MS4yMiBDIDE0NS42MCA5Mi40MyAxNDEuMTQgOTQuNDUgMTM2Ljc2IDk2Ljc3IEMgMTEzLjY0IDEwOC40MiA5Mi4xNCAxMjcuMTggODAuNzEgMTUwLjczIEMgNzMuODMgMTY0LjE1IDcwLjI5IDE3OC45NyA2OS41OCAxOTQuMDAgQyA2OS42MCAyMDAuMzMgNjkuMzQgMjA2LjcyIDY5Ljg1IDIxMy4wMyBDIDcwLjk2IDIyMi44MyA3Mi4zNyAyMzIuNTMgNzUuMjMgMjQxLjk5IEMgNzUuODggMjQ0LjY4IDc3LjE4IDI0OC4xMyA3Ni4zNiAyNTAuODUgQyA3NC4zMyAyNTIuNDYgNzEuNTAgMjUzLjIzIDY5LjA5IDI1NC4xNiBDIDU1LjIyIDI1OS4xMyA0MS43MSAyNjUuMTYgMjcuNzcgMjY5LjkxIEMgMjUuMzMgMjYzLjI1IDIzLjkzIDI1Ni4zOSAyMi40NCAyNDkuNDggQyAyMC43MSAyNDAuNzggMTguNjcgMjMxLjgyIDE4LjI5IDIyMy4wMCBDIDE3LjIwIDIxMy42MSAxNy40OCAyMDQuNDQgMTcuNDYgMTk1LjAwIEMgMTcuMzYgMTgyLjg2IDE5LjE3IDE3MC43OSAyMS45MCAxNTguOTggQyAyOS4wNiAxMjguMDUgNDYuMTQgOTkuODkgNjkuNzcgNzguNzYgQyA4MC41NCA2OS4yOSA5Mi4yMSA2MC41NyAxMDQuODUgNTMuNzUgQyAxMjAuOTcgNDQuNjggMTM4LjM2IDM3LjQ1IDE1Ni4zMyAzMy4wMCBDIDE1Ni45OCAyMy44NSAxNTUuOTQgMTQuOTIgMTU3LjY0IDYuMTAgWiIgZmlsbD0iI2EyNDM0MiIgLz4NCjxwYXRoIGQ9Ik0gMTYxLjg2IDE1LjMxIEMgMTY4Ljc4IDIwLjc2IDE3NC4yNyAyOC4yNiAxODAuNjEgMzQuMzkgQyAxODYuODkgNDAuNDYgMTkyLjY0IDQ3LjAzIDE5OS4wNCA1Mi45OCBDIDIwMC4wMiA1NC4xMyAyMDIuMjAgNTUuNjcgMjAxLjMyIDU3LjM5IEMgMTk4Ljg4IDYwLjQ3IDE5NS4yNiA2Mi42NyAxOTIuNDkgNjUuNDkgQyAxODQuMTUgNzMuODIgMTc1Ljg3IDgyLjIwIDE2Ny40OCA5MC40OSBDIDE2My4xOSA5NC42NSAxNTkuMzkgOTkuMTMgMTU0LjY0IDEwMi44MSBDIDE1NC4yNSA5Ni45NyAxNTQuODkgOTEuMjMgMTU1LjMxIDg1LjQxIEMgMTQ4Ljg0IDg2LjA5IDE0My42MyA4OC45OSAxMzcuODIgOTEuNjQgQyAxMzEuMjYgOTQuODggMTI0LjQ5IDk4LjI1IDExOC41NyAxMDIuNTYgQyAxMTMuMDkgMTA2LjU1IDEwNy43MCAxMTAuMDYgMTAyLjkzIDExNC45MiBDIDk3LjA2IDEyMS4wMCA5MC45NSAxMjYuMjIgODYuMjcgMTMzLjM1IEMgNzIuMjQgMTUyLjg5IDY0LjgzIDE3Ni45NiA2NS40MyAyMDEuMDAgQyA2NS4wOCAyMTMuODAgNjcuMDkgMjI2LjI1IDcwLjE5IDIzOC42MyBDIDcxLjA0IDI0MS45MSA3MS41MSAyNDUuMjMgNzEuNzkgMjQ4LjU5IEMgNTkuNjAgMjUzLjQ4IDQ3LjI2IDI1Ny45MiAzNS4xMCAyNjIuODggQyAzMy44MSAyNjMuMzMgMzAuMjIgMjY0LjQ5IDI5Ljc4IDI2Mi40NSBDIDI1Ljc3IDI0OC4xNyAyMy41OCAyMzMuODUgMjIuMTQgMjE5LjEzIEMgMjEuMDcgMjExLjI3IDIxLjU2IDIwMi45OSAyMS40NCAxOTUuMDAgQyAyMS4zMiAxODcuMjUgMjIuNDcgMTc5LjkzIDIzLjUxIDE3Mi4yMSBDIDI2LjEwIDE1NC4yNCAzMi4zMSAxMzYuNzYgNDEuMTAgMTIwLjkwIEMgNDYuOTQgMTExLjA5IDUzLjYwIDEwMS42NSA2MS4xOSA5My4xMSBDIDc1LjQ5IDc3LjI3IDkzLjEzIDY1LjE3IDExMS42MyA1NC43NCBDIDExOC4yMSA1MS4xNyAxMjUuMTcgNDguMjYgMTMyLjA1IDQ1LjMwIEMgMTQxLjIyIDQxLjQ3IDE1MC43NiAzOC45OSAxNjAuMjIgMzYuMDQgQyAxNjEuMDggMjkuMTYgMTYwLjY2IDIyLjEwIDE2MS44NiAxNS4zMSBaIiBmaWxsPSIjZTdiYWI4IiAvPg0KPHBhdGggZD0iTSAyNDQuODAgMjguNTYgQyAyNDcuNDMgMjguMTAgMjUwLjA5IDI4LjY2IDI1Mi42NCAyOS4zMCBDIDI2My4wOCAzMi4xNiAyNzMuNDEgMzUuMzYgMjgzLjQ2IDM5LjM5IEMgMzAzLjQwIDQ3LjAxIDMyMi4yMiA1Ny43NiAzMzguNzkgNzEuMjMgQyAzNDUuNDggNzYuODEgMzUxLjY4IDgzLjAyIDM1Ny41MCA4OS41MCBDIDM3Mi43NCAxMDcuMDQgMzgzLjgzIDEyNy45NiAzODkuODcgMTUwLjM5IEMgMzkyLjQwIDE1OC43OCAzOTMuNzUgMTY3LjM4IDM5NS4wNyAxNzYuMDEgQyAzOTUuOTcgMTgyLjU3IDM5NS4zNyAxODkuMzcgMzk1Ljk3IDE5NS45MCBDIDM5Ni44OCAyMDMuNTYgMzk2LjYxIDIxMS4xMyAzOTUuNjggMjE4Ljc3IEMgMzk1LjQ2IDIyNS40OCAzOTQuNDIgMjMyLjA1IDM5My4zNiAyMzguNjYgQyAzOTIuNTkgMjQ0LjU2IDM5MC42MCAyNTAuMDkgMzkwLjI0IDI1Ni4wNSBDIDM5Ny40MyAyNjAuNDUgNDA0Ljc2IDI2NC41OSA0MTEuOTAgMjY5LjA3IEMgNDExLjc3IDI2OS44MyA0MTEuNjQgMjcwLjU4IDQxMS41MSAyNzEuMzQgQyA0MDYuMTcgMjcyLjY4IDQwMC44NSAyNzQuMDggMzk1LjU1IDI3NS41NyBDIDM4Mi44NCAyNzkuMzUgMzY5Ljk2IDI4Mi41MSAzNTcuMjIgMjg2LjE3IEMgMzUzLjI2IDI4Ny4yMiAzNDkuMjcgMjg4LjY4IDM0NS4yMSAyODkuMjcgQyAzNDMuNzYgMjg4LjU2IDM0My41OCAyODcuNDIgMzQzLjEwIDI4Ni4wMSBDIDMzNy45OSAyNjYuODcgMzMyLjM0IDI0Ny45MCAzMjcuMTUgMjI4Ljc3IEMgMzI1LjU0IDIyMi42MyAzMjIuODEgMjE3LjY0IDMyMy40NSAyMTEuMTEgQyAzMzAuMDEgMjE0LjMyIDMzNS4zNCAyMTkuOTQgMzQyLjIzIDIyMi4wMyBDIDM0Mi43NSAyMTcuMzUgMzQzLjUyIDIxMi43NCAzNDMuNDggMjA4LjAwIEMgMzQzLjU0IDIwMC4xMiAzNDMuODEgMTkxLjkwIDM0Mi41MCAxODQuMTcgQyAzNDEuMDUgMTc1LjA3IDMzOS40MiAxNjUuNTEgMzM2LjE0IDE1Ni44OCBDIDMzMi4zMiAxNDYuMjEgMzI2Ljg3IDEzNi4wMyAzMTkuOTYgMTI3LjA0IEMgMzA2LjQ3IDEwOS41NiAyODguMDggOTcuNTYgMjY3LjY2IDg5LjYwIEMgMjU5LjM0IDg2LjQ2IDI1MS4wMyA4My41OCAyNDIuMTkgODIuMjcgQyAyMzkuODEgODEuODEgMjM4LjA1IDgwLjgyIDIzOC40MSA3OC4wNSBDIDIzOS4wMyA2OC4yMSAyNDEuODYgNTguNzAgMjQxLjU1IDQ4LjcwIEMgMjQxLjg1IDQ4LjkyIDI0Mi4xNSA0OS4xNCAyNDIuNDUgNDkuMzYgQyAyNDIuOTkgNDIuNDAgMjQ0LjAxIDM1LjQ4IDI0NC44MCAyOC41NiBaIiBmaWxsPSIjNWI3MDM2IiAvPg0KPHBhdGggZD0iTSAyNTMuMzEgMzMuODIgQyAyNzMuMzkgMzkuMzcgMjkyLjgzIDQ2Ljg4IDMxMC45OCA1Ny4xNSBDIDMyMS4zNiA2My42NyAzMzIuMTQgNzAuNTQgMzQxLjA3IDc4LjkxIEMgMzQ1LjMwIDgyLjQyIDM0OS4yMiA4Ni4wNiAzNTIuNjEgOTAuNDIgQyAzNjEuNjMgMTAwLjQwIDM2OS4zNSAxMTEuNjkgMzc1LjE3IDEyMy44MyBDIDM4NC4yMCAxNDEuMjMgMzg5LjA5IDE2MS4xMSAzOTEuMzMgMTgwLjUxIEMgMzkzLjA4IDE5MC4wOCAzOTIuMjUgMTk5LjM0IDM5Mi40NiAyMDkuMDAgQyAzOTIuNjQgMjE1Ljc5IDM5MS4yMiAyMjIuMjEgMzkwLjUwIDIyOC45MSBDIDM4OS42MyAyMzcuMDkgMzg3LjkwIDI0NS4xMCAzODUuODQgMjUzLjA1IEMgMzg1LjY1IDI1NC40OSAzODQuNzAgMjU2Ljg0IDM4Ni4wMyAyNTcuOTUgQyAzODkuOTQgMjYxLjcyIDM5NS43NyAyNjQuMTMgNDAwLjQwIDI2Ni44NiBDIDQwMS4zMyAyNjcuMzcgNDAxLjQzIDI2OS4wMCA0MDEuODUgMjY5LjkyIEMgMzg5LjY2IDI3Mi40NSAzNzcuNzggMjc2LjQ1IDM2NS43MSAyNzkuNDkgQyAzNTkuMjIgMjgxLjA0IDM1My41MiAyODMuNjkgMzQ2LjcyIDI4My43NCBDIDM0NC4wNiAyNzMuMTkgMzQwLjkxIDI2Mi43NiAzMzguMDcgMjUyLjI1IEMgMzM1LjE3IDI0MS40OSAzMzEuNjcgMjMxLjA3IDMyOS4yMCAyMjAuMjMgQyAzMzQuNDMgMjIyLjg3IDMzOS4xNiAyMjYuMzIgMzQ0LjM5IDIyOC45NiBDIDM0Ni45MCAyMjMuNDMgMzQ2LjU4IDIxNy44NyAzNDcuMzEgMjEyLjAwIEMgMzQ4LjE4IDIwMy40NiAzNDcuOTQgMTk1LjAxIDM0Ni44NCAxODYuNTEgQyAzNDUuMTYgMTY2LjU5IDMzOC43NCAxNDcuMTggMzI3LjU2IDEzMC41NiBDIDMyMC4xMiAxMTguNzMgMzEwLjAzIDEwOS40NSAyOTguOTQgMTAxLjEwIEMgMjg1LjQ1IDkyLjEzIDI3MC40OCA4NS4yOCAyNTQuODcgODAuOTcgQyAyNTAuNjcgNzkuODcgMjQ2LjUzIDc4LjY1IDI0Mi40MCA3Ny4yOSBDIDI0NC41NCA2My4xOSAyNDYuMjYgNDkuMDYgMjQ4LjMyIDM0Ljk2IEMgMjQ4LjU1IDMyLjE5IDI1MS42MiAzMy42MSAyNTMuMzEgMzMuODIgWiIgZmlsbD0iI2MzZDg5YyIgLz4NCjxwYXRoIGQ9Ik0gNzQuOTUgMjkwLjMzIEMgODAuMTUgMjkxLjI5IDg0Ljk5IDI5My4yMSA5MC4yMCAyOTQuNTUgQyA5OS40NCAyOTYuOTEgMTA4LjQyIDMwMC4xNSAxMTcuNjYgMzAyLjUzIEMgMTI0LjcxIDMwNC44MCAxMzEuOTAgMzA2LjU1IDEzOC45NiAzMDguNzggQyAxNDMuNjMgMzEwLjMxIDE0OC4xNyAzMTAuNzMgMTUyLjE5IDMxMy44NCBDIDE0Ni4yOCAzMTcuMzcgMTM5LjkwIDMxOS44MSAxMzMuODEgMzIzLjA1IEMgMTM2LjA3IDMyNy41MSAxMzkuOTEgMzI5LjQxIDE0My43NyAzMzIuMjMgQyAxNTUuNDAgMzQwLjM4IDE2OC4zNSAzNDYuNzggMTgxLjg4IDM1MS4wNiBDIDE5MC41OCAzNTMuNDMgMTk5Ljk0IDM1NS44MyAyMDkuMDAgMzU1LjU5IEMgMjE1LjY1IDM1NS41MiAyMjIuNDEgMzU1Ljg2IDIyOS4wMiAzNTUuMTAgQyAyNDMuODIgMzUyLjk3IDI1OC4yMSAzNDcuNjMgMjcxLjAwIDMzOS45MiBDIDI4NC41NSAzMzEuOTAgMjk2LjQ3IDMyMS43NyAzMDcuMjkgMzEwLjM4IEMgMzA5LjMzIDMxMS43NyAzMTEuMzUgMzEzLjE2IDMxMy4yNCAzMTQuNzUgQyAzMTkuMTMgMzE5Ljg1IDMyNS4yMSAzMjQuNzMgMzMxLjEwIDMyOS44MyBDIDMzNi44OSAzMzQuODIgMzQzLjIyIDMzOS4zNCAzNDguNTIgMzQ0Ljg0IEMgMzQ0LjE0IDM0OS43MSAzMzkuMjYgMzU0LjAxIDMzNC4zNSAzNTguMzIgQyAzMTYuMTggMzc0LjAwIDI5NS40NiAzODguMjkgMjczLjA0IDM5Ny4xMiBDIDI2Ny43NCAzOTkuMjkgMjYyLjUyIDQwMS41MiAyNTYuOTQgNDAyLjkyIEMgMjQ1LjA3IDQwNi4wMyAyMzIuMzEgNDA5LjA1IDIyMC4wMCA0MDguNzMgQyAyMTAuMDEgNDA4LjY1IDE5OS40OCA0MDkuMzIgMTg5LjcwIDQwNy40MCBDIDE2OS41MiA0MDQuNTQgMTUxLjAwIDM5Ny4zMCAxMzMuMDEgMzg3Ljk0IEMgMTE3LjUyIDM3OS40MyAxMDMuMTUgMzY4Ljc3IDg5Ljk3IDM1Ny4wMiBDIDg2LjM3IDM1My45MiA4My4yNCAzNDkuNTggNzkuMDYgMzQ3LjM0IEMgNzAuNzggMzUwLjI2IDYzLjQyIDM1NS42NyA1NS4wMiAzNTguNDYgQyA1NS43MCAzNTEuMjUgNTguMzkgMzQ1LjI0IDYwLjI3IDMzOC4yNSBDIDYzLjI3IDMyOC41NyA2NS44OSAzMTguNzkgNjguOTggMzA5LjE0IEMgNzAuOTcgMzAyLjc2IDcyLjE2IDI5Ni40NiA3NC45NSAyOTAuMzMgWiIgZmlsbD0iIzNjNjU5NCIgLz4NCjxwYXRoIGQ9Ik0gOTIuODMgMzAwLjA4IEMgMTAyLjY1IDMwMi45MCAxMTIuNDMgMzA1Ljg1IDEyMi4yNSAzMDguNjUgQyAxMjguMzAgMzEwLjQxIDEzNC4zNiAzMTIuMDMgMTQwLjI4IDMxNC4yMiBDIDEzNS4zNyAzMTcuMzggMTI5LjkwIDMxOS4zOCAxMjQuOTEgMzIyLjQyIEMgMTI3LjA0IDMyNC44NiAxMjkuMjYgMzI3LjE5IDEzMS44NiAzMjkuMTQgQyAxNDcuNzggMzQxLjgwIDE2NS41MSAzNTEuNjEgMTg1LjMwIDM1Ni42OSBDIDE5OS45NCAzNjAuODAgMjE1LjY5IDM2MS4yNyAyMzAuNzQgMzU5LjQyIEMgMjU4LjA0IDM1NS4xNCAyODIuMzAgMzQxLjAyIDMwMi4wMiAzMjIuMDIgQyAzMDMuODEgMzIwLjM3IDMwNS43MCAzMTguMTggMzA3Ljk5IDMxNy4yNSBDIDMxMC41MiAzMTguMzEgMzEyLjgwIDMyMC4zNyAzMTQuODcgMzIyLjE0IEMgMzE4Ljk1IDMyNS43NCAzMjMuMjEgMzI5LjEyIDMyNy4zMyAzMzIuNjggQyAzMzIuMDYgMzM2LjgzIDMzNy4xOSAzNDAuMzggMzQxLjU0IDM0NC45NyBDIDMzNy4yOCAzNDkuOTkgMzMyLjE4IDM1My45NiAzMjcuMjEgMzU4LjIzIEMgMzE3Ljc2IDM2Ni4yOCAzMDcuNTggMzczLjQ5IDI5Ni45OSAzNzkuOTcgQyAyNzEuNjQgMzk1LjE1IDI0MS4xMiA0MDUuNjQgMjExLjMzIDQwNC40OSBDIDE5MC4xOCA0MDQuOTcgMTY4LjY1IDM5OS4wNyAxNDkuMzMgMzkwLjc1IEMgMTI0LjI4IDM3OS41NCAxMDEuNDggMzYzLjIzIDgyLjY4IDM0My4yNiBDIDgxLjU4IDM0Mi40NCA4MC45MyAzNDEuMjIgNzkuNDAgMzQxLjc1IEMgNzMuMzQgMzQzLjYzIDY4Ljc4IDM0OC4wMiA2Mi4zMSAzNDkuMDYgQyA2Mi44NiAzNDUuODkgNjMuNjAgMzQyLjc4IDY0LjU4IDMzOS43MSBDIDY5LjE5IDMyNS4zOSA3My4wNSAzMTAuNzYgNzcuNjIgMjk2LjM4IEMgODMuMDYgMjk2LjcxIDg3LjY1IDI5OC42NSA5Mi44MyAzMDAuMDggWiIgZmlsbD0iIzRjODFiZiIgLz4NCjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB4PSIwcHgiDQogICB5PSIwcHgiDQogICB2aWV3Qm94PSIwIDAgMzAwIDMwMCINCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiDQogICBpZD0ic3ZnNjc2NDYiDQogICB3aWR0aD0iMzAwIg0KICAgaGVpZ2h0PSIzMDAiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcw0KICAgICBpZD0iZGVmczY3NjUwIiAvPjxwYXRoDQogICAgIGZpbGw9IiNiYWI5YmIiDQogICAgIGQ9Im0gMjAuNjA1MDEyLDE4MC42NjkwMiBjIC0zLjA0OTg4Myw0NC43MzcyOSAzMS44MDgzNyw4My42Nzg2NiA3Ny43MDU1MjQsODYuODA3NjMgMTUuMTcwNDY0LDEuMDM0MjEgMjkuNjMzMjI0LC0yLjAzODkxIDQyLjM2NjYyNCwtOC4xMzkzOCAxMS43ODc2NSw3Ljc3MjAyIDI1LjY5OTUzLDEyLjc3OTY1IDQwLjg2OTk5LDEzLjgxMzg3IDQ1Ljg5NzE1LDMuMTI4OTYgODUuNzE3ODcsLTMwLjcyMTMyIDg4Ljc2Nzc1LC03NS40NTg2IDIuMDYzNjYsLTMwLjI3MDk5IC0xMy4yNjI5MSwtNTcuODQ0ODcgLTM3LjU4NjQ5LC03My41MDg4NyAwLjY5Nzk0LC0zLjQyMDI1IDEuMjU1NjUsLTYuODkxNjcgMS40OTkwMiwtMTAuNDYxNTMgQyAyMzcuMjc3MzEsNjguOTg0ODYxIDIwMi40MTkwNSwzMC4wNDM0NDkgMTU2LjUyMTksMjYuOTE0NDk1IDExMC42MjQ3NSwyMy43ODU1NDEgNzAuODA0MDUyLDU3LjYzNTg1IDY3Ljc1NDE3LDEwMi4zNzMxMiBjIC0wLjI0MzM0NCwzLjU2OTUgLTAuMTYxOTIzLDcuMDg0NTQgMC4wNjUzNSwxMC41NjgxNyAtMjYuMjI0NDk4LDEyLjIxOTg2IC00NS4xNTEzMzksMzcuNDU2NyAtNDcuMjE1MDA5LDY3LjcyNzcgeiBtIDI0MS4zODYyMDgsMTYuNDU2MDYgYyAtMi43NDQ4MSw0MC4yNjI0MyAtMzguNTg0NjcsNzAuNzI4NzUgLTc5Ljg5MDk3LDY3LjkxMjc3IC0xMi4xNTMwMSwtMC44Mjg1IC0yMy40MDQxOSwtNC41MDQ4MSAtMzMuMjI0MTYsLTEwLjIyODc4IDIxLjQ0ODM4LC0xMy40MDQzMiAzNi4zODQzMSwtMzYuMTI2MDUgMzguMjAyMDksLTYyLjc5MDEgMC4yNDMzNSwtMy41Njk0OCAwLjE2MTksLTcuMDg0NTUgLTAuMDY1MywtMTAuNTY4MTggMjAuNTM3MjIsLTkuNTcxMTkgMzYuNTI0MDcsLTI3LjE0Mjk2IDQzLjUwNzUxLC00OC44NjA0NyAyMC41MDE4NiwxNC4zMzAzMSAzMy4yNTk3OSwzOC4yOTAyOCAzMS40NzA1Niw2NC41MzU2OCB6IE0gMTEyLjk2NjM1LDE4MC4yNzc1NiBjIDkuODIyMDIsNC45NTc5NiAyMC43OTE5Nyw4LjEwNTQ4IDMyLjQ5NTAzLDguOTAzMzIgMTEuNzAzMDgsMC43OTc4NCAyMi45OTkxNywtMC44MzE4OCAzMy40MDI3LC00LjQxMDg2IDAuMDU0NywyLjIwODg5IDAuMDQ1LDQuNDMzMzQgLTAuMTA4MjUsNi42ODA2NSAtMS43MjIwNCwyNS4yNTk3NCAtMTYuNDc2MzIsNDYuNjU1NzEgLTM3LjQzMDY2LDU4LjM5OTIxIC0xOS4xNjYzOCwtMTQuNDgyODYgLTMwLjg4MDU4LC0zNy42ODA0NSAtMjkuMTU4NjMsLTYyLjkzODgyIDAuMTUzMTcsLTIuMjQ3NDggMC40NDU0MSwtNC40NTI2OSAwLjc5OTQxLC02LjYzMzUzIHogbSAzNi42MzEsLTUxLjc2NTI1IGMgMTUuMjQ4NzYsMTEuNTIxMyAyNS43NjU4NywyOC41NjU5MyAyOC41NjY2Miw0Ny43NzcxNSAtOS45Mzk1MiwzLjc0NzIzIC0yMC44MjEzNyw1LjU1MjY5IC0zMi4xNDk2NCw0Ljc4MDQxIC0xMS4zMjgyNSwtMC43NzIyOSAtMjEuODY0NCwtNC4wMzc3OCAtMzEuMjAzMDUsLTkuMTA0NDggNS4zODE2NiwtMTguNjQ5NjkgMTguMTE0NzUsLTM0LjEwNzQzIDM0Ljc4NjA0LC00My40NTI2NCB6IG0gLTQyLjA0NzI2LDM4Ljk2NDA3IEMgOTEuMDgzNjAxLDE1NS45NjQ3NCA3OS42MDkwOTksMTM4LjI1ODE4IDc2LjY3MTA4MSwxMTguMTA5MyBjIDkuOTM5NjYsLTMuNzQ5MDQgMjAuODIxNTA2LC01LjU1NDUzIDMyLjE0OTc2OSwtNC43ODIyNSAxMi4xNTMwMiwwLjgyODUxIDIzLjQwNDIsNC41MDQ4IDMzLjIyNDE4LDEwLjIyODc4IC0xNi4xNjY5MSwxMC4xMDUyNiAtMjguNTczMSwyNS41MDg5IC0zNC40OTUwNCw0My45MjE5MyB6IG0gNTAuMjAyMDIsLTQyLjg1MTE2IGMgMTAuNTA1OTUsLTQuMzM4MzMgMjIuMTUyNDIsLTYuNDUzNTcgMzQuMzA0OTksLTUuNjI1MDkgMTEuMzI3NzksMC43NzIyNSAyMS44NjQ0Miw0LjAzNzc4IDMxLjIwMzA3LDkuMTA0NDkgLTUuNjQzNTMsMTkuNTYxNTEgLTE5LjQxMTM1LDM1LjU0NzIyIC0zNy4yOTMyMiw0NC43MTk1NSAtMy4zNjc3OCwtMTkuMDQ5NjIgLTEzLjU2ODg4LC0zNS45OTQ0NyAtMjguMjE0NzQsLTQ4LjIwMDM0IHogTSA3Ni4wNzk4ODcsMTAyLjk0MjU3IGMgMi43NDQ4MTcsLTQwLjI2MjQyNyAzOC41ODQ2NjMsLTcwLjcyODc0IDc5Ljg5MDk0MywtNjcuOTEyNzYgNDEuMzA2MjgsMi44MTU5NzkgNzIuNjc5NzgsMzcuODY0NDM4IDY5LjkzNDk2LDc4LjEyNjg2IC0wLjE1MzE3LDIuMjQ3NDkgLTAuNDQ1NCw0LjQ1MjcgLTAuNzk5NCw2LjYzMzU0IC05LjgyMjAyLC00Ljk1Nzk2IC0yMC43OTE5NywtOC4xMDU0OSAtMzIuNDk1MDMsLTguOTAzMzIgLTE1LjE3MDQ4LC0xLjAzNDIyIC0yOS42MzMyNSwyLjAzODk0IC00Mi4zNjY2Miw4LjEzOTM4IC0xMS43ODc2NywtNy43NzIwMyAtMjUuNjk5NTQsLTEyLjc3OTY2IC00MC44NzAwMiwtMTMuODEzODggLTExLjcwMzA1NSwtMC43OTc4NCAtMjIuOTk5MTU0LDAuODMxODggLTMzLjQwMjY4OCw0LjQxMDg2IC0wLjA1NDczLC0yLjIwODg4IC0wLjA0NDk1LC00LjQzMzM1IDAuMTA4MjUzLC02LjY4MDY2IHogbSAtNy4yMTE2NzcsMTguNjMwNjUgYyAzLjk3MTU2MywyMi40NjI0OCAxNy40MjU0OCw0Mi4wNDUwNyAzNi40NzM4NSw1NC4zMTMwNSAtMC42OTc5NSwzLjQyMDI0IC0xLjI1NTY2LDYuODkxNjggLTEuNDk5MDIsMTAuNDYxNTMgLTEuODE3ODcsMjYuNjY1NDMgOS44OTY4MSw1MS4yMDE3MSAyOS4zMjcwNSw2Ny4zOTM3OCAtMTAuNTA1OTQsNC4zMzgzNyAtMjIuMTUyNDMsNi40NTM1OCAtMzQuMzA0OTg3LDUuNjI1MSBDIDU3LjU1ODgyMiwyNTYuNTUwNyAyNi4xODUzMjQsMjIxLjUwMjI1IDI4LjkzMDE0LDE4MS4yMzk4MyAzMC43MTkyMTUsMTU0Ljk5NjcyIDQ2LjYxMDg4NywxMzIuOTg5NDQgNjguODY4MDM1LDEyMS41NzIyOCBaIg0KICAgICBpZD0icGF0aDY3NjQwIg0KICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjIuNjA3NDQiIC8+PC9zdmc+DQo=\"","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/index.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query PageTemplate($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PageTemplate({children}) {\n return children;\n}\nPageTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PageTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n","export default __webpack_public_path__ + \"static/bounded-context-mapping-e7606a1679b367a38b685ca1bb77ef45.svg\";","export default __webpack_public_path__ + \"static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png\";","export default __webpack_public_path__ + \"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png\";"],"names":["_createMdxContent","props","_components","Object","assign","p","ul","li","_provideComponents","components","React","ScreenContainer","HeroSection","Hero","backgroundImageURL","heroBackgroundImageURL","HeroBody","HeroTitle","HeroTeaser","HeroActionList","HeroAction","Button","variant","as","Link","to","style","marginRight","FeatureSection","FeatureList","Feature","FeatureImage","src","FeatureTitle","FeatureText","display","sdkImageURL","asyncApiImageURL","WideFeatureSection","WideFeature","WideFeatureImage","dddLogosImage","alt","className","WideFeatureText","gearsDarkImage","width","href","Image","eventStormingZDL","boundedContextMapping","pluginScreenshot","pluginRunScreenshot","wrapper","MDXLayout","PageTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","background","backgroundHover","on","css","InnerButton","styled","ref","_ref2","AriakitButton","buttonProps","InnerFeature","col","xs","md","px","pt","pb","th","InnerFeatureImage","height","row","my","x","py","borderTop","borderBottom","borderColor","up","InnerHero","withConfig","backgroundImage","w","m","justifyContent","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureImageContainer","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js.map b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js.map deleted file mode 100644 index ae13223..0000000 --- a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js","mappings":"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","sources":["webpack://website/./images/hero-background.png","webpack://website/./static/logos/zenwave-sdk-dark.png","webpack://website/./static/logos/asyncapi-logo.png","webpack://website/./images/home/spiral.svg","webpack://website/./images/home/laptop-gears.svg","webpack://website/./pages/plugin-run-screenshot.png","webpack://website/./pages/index.mdx","webpack://website/./static/logos/conceptual-model.svg","webpack://website/./static/logos/spring-boot.svg","webpack://website/./static/logos/ddd.svg","webpack://website/./images/event-driven-architectures-logo.svg","webpack://website/./static/logos/osi.svg","webpack://website/./static/logos/openapi-logo.svg","webpack://website/./static/logos/tdd.svg","webpack://website/./images/home/common-language.svg","webpack://website/../smooth-doc/src/templates/page.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/./images/home/bounded-context-mapping.svg","webpack://website/./pages/docs/DDD/images/EventStorming-ZDL-Mapping.png","webpack://website/./pages/plugin-screenshot.png"],"sourcesContent":["export default __webpack_public_path__ + \"static/hero-background-b6fccd4ea5501ab264bb1bdb7fbbf8ba.png\";","export default __webpack_public_path__ + \"static/zenwave-sdk-dark-44c70567cf17d96a54e9284837feac82.png\";","export default __webpack_public_path__ + \"static/asyncapi-logo-fe1db05dd2b15b8170701f43d18710a1.png\";","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgMjYwIDI2MCINCiAgIHdpZHRoPSIyNjAiDQogICBoZWlnaHQ9IjI2MCINCiAgIGlkPSJzdmc1MjkzNiINCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICA8ZGVmcw0KICAgICBpZD0iZGVmczUyOTQwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDE0NC4wNjM1MiwyMzEuMzg5MTYgYyAxOS40NDg4NSwtNC40MzA0NyAzOC4wNzMzMiwtMTMuNjAzNjcgNTMuNjc0MjcsLTI2LjIyMDczIDE3LjA2OTI1LC0xMy43NTM0NCAzMC4yNzQ0NSwtMzEuNDIxMTUgMzguNDI0OTgsLTUwLjYyMDE2IDguMTg1MiwtMTkuMjE5MzQgMTEuMjMxMTgsLTM5Ljg0MTQ1IDguNzA2MzIsLTU5LjM1NjUyMiAtMi40NzIyOCwtMTkuNTkzNjIzIC0xMC43MjkxMSwtMzcuNjk5ODY2IC0yMy4zMzQ4OSwtNTIuNTg1ODY5IC0zLjAwMDc3LDIuMzI4NjgzIC01Ljk5MjU4LDQuNjUwNDI2IC04Ljk4NTY2LDYuOTc5NDg3IDExLjE5NzY0LDEzLjI2NTI1OSAxOC42ODkzNywyOS4yODEyNSAyMS4xMDgyNSw0Ni42ODc2MzMgMi42MDUyNSwxOC4xMzkwMjEgLTAuMTI2NzcsMzcuMzg5NDMxIC03Ljc0NDg5LDU1LjMwODkwMSAtOC4wNjg2NiwxOS4wNDA3MyAtMjEuNjA2NjUsMzYuNDE4NjIgLTM5LjE1NTYyLDQ5LjMyODcyIC0xMy4zOTkxNCw5Ljg5Mzg5IC0yOC45NDQwMSwxNy4wNTIzNyAtNDUuMDc4NzUsMjAuNjAxNyAtMjAuMTM0OTksNC40Njk3MSAtNDAuOTcwMzMsMy4zODM3NCAtNTkuMjI1NjA4LC0zLjAzMzcyIEMgNjUuMzE2OTk1LDIxMi40OTM5MiA1MC42MjA0MzYsMjAxLjgyMDExIDQwLjgzNjM4NywxODcuNjAwMTUgMzMuNDU1NzUyLDE3Ni45MzMwOSAyOC45Mjk3MTksMTY0LjQyNDQyIDI3LjgyODQ3OCwxNTEuMjU0MjQgMjYuMzAzMzQyLDEzMy43ODIxNiAzMC42OTI3NDUsMTE1LjMzODQ5IDQwLjI4MDM2Miw5OS4wOTAxNSA0Ny44MTYzMzksODYuMjgxMDc2IDU4LjU2NTg2NCw3NC45NDc0NTggNzEuNTI5MjI4LDY2LjU4ODg3NiA4My43NzMyNjIsNTguNjQ0MjY2IDk3LjgzMTc0Miw1My40OTk1NzUgMTEyLjA0OTkyLDUxLjgzMTYzOSBjIDI0LjkxNzMxLC0yLjk4OTA0IDQ5LjcxODEzLDQuNTU1MDc2IDY1LjQ0MjU2LDIxLjA1OTM5NCA4Ljk2ODI0LDkuMzgxNjggMTQuNzIxNjgsMjEuNDI4MTM2IDE2LjE0MjI1LDM0LjQ2Njc5NyAxLjY0NjY3LDE0LjU4NTE0IC0yLjAyLDMwLjE0MjYxIC0xMC4zODI1Myw0My42MjYgLTYuNDE1MjIsMTAuMzc4MzYgLTE1LjU4NjgzLDE5LjM5MjgyIC0yNi41NTQ0OSwyNS42ODIxIC0xOS45MzQ2MSwxMS42NjA4MiAtNDQuOTc3MDIsMTIuODc5NjcgLTYzLjYzOTE2OSwzLjEwNTg1IC05LjQwOTAyNiwtNC44NjUwMiAtMTYuOTIzMjA3LC0xMi40MzkxMiAtMjEuMTM2MDY5LC0yMS43NzMyNyAtNC4yNDk5MjEsLTkuMjU0NzkgLTQuOTg3NDc3LC0yMC4wODkyNiAtMi4xNjkwMTQsLTMwLjQ4NjM3IDIuOTI4NTA0LC0xMC45MDA4MiA5LjY5MTA2MiwtMjEuMjEwMDUgMTkuNDMyODY3LC0yOC40NTQwNDMgOS4wNTM2MywtNi43ODQyMDIgMjAuMzg3MjA1LC0xMC41MjM2MTkgMzEuMzM2ODA1LC0xMC4wMzEzMjggMTIuODY3OTYsMC41MDc2NzYgMjQuNjYzODYsNi42MTQ2ODIgMzAuMDkyNDMsMTcuMjM1MTMxIDUuMjE0MywxMC4wMDQ1MiAzLjU0MjE0LDIzLjIyNjkxIC00LjkwNjA1LDMyLjc1NzU0IC01LjE0ODk1LDUuODI5NDcgLTEyLjg3MzI3LDkuNzg3NTMgLTIwLjYyMDI2LDkuNzQ0MzIgLTYuMzQzMTgsMC4wMTI3IC0xMi42MTkwNiwtMi41OTExNCAtMTUuNTMxMjQsLTcuNzI2ODQgLTIuNTMwMDUsLTQuMTc5MTUgLTEuODM0NjMsLTEwLjM1ODM0IDIuMzEwNDgsLTE0LjE2NDQ3IDEuODc0MTUsLTEuNTQ0MDggMy4zNTg3NiwtMS41OTQ3OCA1LjQwNjg2LC0wLjgzNDgxIDAuNDUzMTEsLTEuNDA4OTUgMC44ODY2MiwtMS45Nzc1NSAxLjMxNjE1LC0xLjcwNTAxIDEuODQzNTcsMi42NzU5NiAzLjE5Nyw1LjY1OTI4IDQuOTM1MSw4LjQwMzcxIDIuMTI4NDcsLTEuNzk2OTQgNC4xNDM4MSwtMy4yMDg0MiA0LjgyNzMzLC01LjkxMjA4IDEuMjIxMjMsLTQuODMxNjMgLTIuMjUwMzIsLTguNjY3MDYgLTYuMzUzNDEsLTEwLjYwMDYxIC01Ljk3Mzg3LC0yLjg2MTc0IC0xNC4wNzAwNCwtMC4xNDc1NiAtMTguNzQ5MTIsNC44NTY4NiAtNy4xMjgxODYsNy41MzA1NyAtOC4xNzM0MzUsMTguMzc4NjQgLTMuMzM1NDA3LDI2LjEyMDU2IDYuMTYwODY3LDEwLjIyMTkzIDIwLjE4NjI3NywxNC4wMzUyIDMyLjkxNTU4NywxMC44NTMxNCA4Ljg4Mzk3LC0yLjIwOTU3IDE2Ljk4OTIzLC03LjU2NTQ2IDIyLjYwMTAzLC0xNC42MzM2NCA2LjI1ODYzLC03LjgzMjcxIDkuNDY4OTUsLTE3LjQyMDM0IDkuMjc5MDQsLTI2LjYyNTc2IC0wLjE3MTMsLTEwLjI2NzIgLTQuNzM5ODMsLTE5LjgwMzc0OCAtMTIuMjUzMDIsLTI2LjU2NTk1NSBDIDEzOC41NDg0Miw3Ny42NjA5NzEgMTE1Ljk1OTA1LDc1LjE5NTEyOSA5Ni43MTIwNCw4My4zMTExMiA4Ni4zNjc4MDUsODcuNjA5NTk1IDc3LjE5MTQ1MSw5NC42NTMzMDEgNzAuNDQyMjQ2LDEwMy4yOTUyNyBjIC05LjA1NzM5MywxMS41Mjk1MSAtMTMuNzcxODgxLDI1LjU1MDgxIC0xMy40NjkwMzYsMzkuMDQ5OCAwLjMzNzcxNiwyMC4yOTA1NiAxMi40NzY0MDgsMzguMTE5OTQgMzAuODUwMDgyLDQ3LjExOTA2IDE0LjExNjk2OCw3LjA1MDQ1IDMxLjM0NjYwOCw5LjAzMjQyIDQ4LjA0MDc3OCw1LjY4MDk3IDEzLjg0ODQxLC0yLjc0MTkzIDI3LjEyMzMxLC05LjE4ODA4IDM4LjA5ODIxLC0xOC4yNDQ1OSAxOS4xOTI4MSwtMTUuNzk0MjMgMzAuNDI2NjMsLTM4LjgwMTE3IDMxLjEzMzA2LC02MS4zNDkxOCAwLjUwNTgsLTE0LjQzMjQ5IC0zLjM4NDIsLTI4LjQxNDY5NCAtMTEuMDg2NzUsLTQwLjExNjQ3NSBDIDE4NS45MDE3LDYyLjk5NjgzNCAxNzMuNjk2ODgsNTMuMzYzNjE5IDE1OS4zMDc4OSw0Ny41MzE5OCAxNDMuMTE0NTksNDAuOTMwNTA2IDEyNC4zMjk5NSwzOS4xMzU5NTcgMTA1LjkzOTAxLDQyLjQwOTMyNCA5MC4xOTA0MTYsNDUuMTY2Mjc1IDc0Ljg2OTg4Myw1MS43MDEzMzkgNjEuNjk1NjQ4LDYxLjEwNDY4NiA0Ni41Mjc4MzcsNzEuODgzNzA1IDM0LjQ1OTE3NSw4Ni4zMDIyNzIgMjYuNjgxNjUzLDEwMi4yODc0OCBjIC04LjYyNjgzMSwxNy42NTQ2NyAtMTEuOTYzMjE2LDM3LjA1OTE3IC05LjQ0Nzk2OSw1NS4yNjc0MyAyLjIyMjQ5OCwxNi40NTkxOSA5LjI5NzAzMywzMS43Njc4NCAyMC4xNTI2OCw0NC4xMTU0OCAxMi4wNjE2NzUsMTMuNzgxMDggMjguNjI2NjY5LDIzLjY3MDc0IDQ3LjI5MTcyMSwyOC43OTUxNCAxOC43MDM5MjUsNS4xNzA2NSAzOS4zODM4MzUsNS41MjU1NSA1OS4zODU0MzUsMC45MjM2MyB6Ig0KICAgICBmaWxsPSIjMDAwMDAwIg0KICAgICBpZD0icGF0aDUyOTM0Ig0KICAgICBzdHlsZT0iZmlsbDojYmFiOWJiO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjc1NTkiIC8+DQo8L3N2Zz4NCg==\"","export default __webpack_public_path__ + \"static/laptop-gears-54f3eaa232e7503cd5a1cb0cea35d352.svg\";","export default __webpack_public_path__ + \"static/plugin-run-screenshot-0aea571608647046fa2f9cc31ce61bf0.png\";","/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\n/**/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Link} from 'gatsby';\nimport {ScreenContainer, Button, HeroSection, Hero, HeroBody, HeroTitle, HeroTeaser, HeroActionList, HeroAction, FeatureSection, FeatureList, Feature, FeatureImage, FeatureTitle, FeatureText, Image, WideFeatureSection, WideFeature, WideFeatureText, WideFeatureImage} from \"smooth-doc/components\";\nimport heroBackgroundImageURL from \"../images/hero-background.png\";\nimport markdownImageURL from '../images/markdown.png';\nimport zdlImageURL from '../static/logos/conceptual-model.svg';\nimport sdkImageURL from '../static/logos/zenwave-sdk-dark.png';\nimport springBootImageURL from '../static/logos/spring-boot.svg';\nimport springImageURL from '../static/logos/spring.svg';\nimport dddImageURL from '../static/logos/ddd.svg';\nimport edaImageURL from '../images/event-driven-architectures-logo.svg';\nimport osiImageURL from '../static/logos/osi.svg';\nimport openApiImageURL from '../static/logos/openapi-logo.svg';\nimport asyncApiImageURL from '../static/logos/asyncapi-logo.png';\nimport tddImageURL from '../static/logos/tdd.svg';\nimport dddLogosImage from \"../images/home/spiral.svg\";\nimport sharedUnderstandingImage from \"../images/home/common-language.svg\";\nimport gearsDarkImage from \"../images/home/laptop-gears.svg\";\nimport eventStormingZDL from '../pages/docs/DDD/images/EventStorming-ZDL-Mapping.png';\nimport boundedContextMapping from '../images/home/bounded-context-mapping.svg';\nimport pluginScreenshot from './plugin-screenshot.png';\nimport pluginRunScreenshot from './plugin-run-screenshot.png';\nimport {marginRight} from '@xstyled/styled-components';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\",\n ul: \"ul\",\n li: \"li\"\n }, _provideComponents(), props.components);\n return React.createElement(ScreenContainer, null, React.createElement(HeroSection, null, React.createElement(Hero, {\n backgroundImageURL: heroBackgroundImageURL\n }, React.createElement(HeroBody, null, React.createElement(HeroTitle, null, \"Create Software\", React.createElement(\"br\"), \" Easy To Understand!\"), \"\\r\\n\", React.createElement(HeroTeaser, null, \"DDD and API-First Modeling Tools for Modern Distributed Applications.\"), React.createElement(HeroActionList, null, React.createElement(HeroAction, null, React.createElement(Button, {\n variant: \"neutral\",\n as: Link,\n to: \"/docs/zenwave360\",\n style: {\n marginRight: '6px'\n }\n }, React.createElement(_components.p, null, \"Browse Docs\")), React.createElement(Button, {\n as: Link,\n to: \"/docs/getting-started/\"\n }, React.createElement(_components.p, null, \"Getting Started\"))))))), React.createElement(FeatureSection, null, React.createElement(FeatureList, null, React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: zdlImageURL\n }), React.createElement(FeatureTitle, null, \"Domain Model Language\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Concise and complete DDD modeling language for Event-Driven Architectures.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: sdkImageURL\n }), React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: springBootImageURL\n }), React.createElement(FeatureTitle, null, \"ZenWave SDK\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"ZenWave SDK helps you create SpringBoot/SpringCloud applications in no time.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: dddImageURL\n }), React.createElement(FeatureTitle, null, \"Domain Driven Design\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Business, Developer and Computer friendly Ubiquitous Language for your Domain Models and Bounded Contexts.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: edaImageURL\n }), React.createElement(FeatureTitle, null, \"Event-Driven Architectures\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Designed for Event-Driven Architectures, mapping Event-Storming discoveries into your models.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: osiImageURL\n }), React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n 'margin-right': '5px',\n ...props.style\n },\n src: openApiImageURL\n }), React.createElement(FeatureImage, {\n style: {\n display: 'inline',\n ...props.style\n },\n src: asyncApiImageURL\n }), React.createElement(FeatureTitle, null, \"API-First\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Leveraging open standards like OpenAPI and AsyncAPI.\"))), React.createElement(Feature, null, React.createElement(FeatureImage, {\n src: tddImageURL\n }), React.createElement(FeatureTitle, null, \"API-Testing\"), React.createElement(FeatureText, null, React.createElement(_components.p, null, \"Testing as first class citizen. Helps you create complete test suites from your Models and APIs.\"))))), React.createElement(WideFeatureSection, null, React.createElement(ScreenContainer, null, React.createElement(WideFeature, null, React.createElement(WideFeatureImage, {\n src: dddLogosImage,\n alt: \"Domain Driven Design is about Business Understanding\",\n className: \"only-small\"\n }), React.createElement(WideFeatureText, {\n className: \"wide-feature-text\"\n }, React.createElement(\"h3\", null, \"Maintainable Software\"), React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"It is \", React.createElement(\"strong\", null, \"not a matter of code\"), \" but a matter of \", React.createElement(\"strong\", null, \"understanding the business domain\")), \"\\n\", React.createElement(_components.li, null, \"Software well designed \", React.createElement(\"strong\", null, \"should be easy to understand by all\")), \"\\n\")), React.createElement(WideFeatureImage, {\n src: dddLogosImage,\n alt: \"Domain Driven Design is about Business Understanding\",\n className: \"only-wide\"\n })), React.createElement(WideFeature, null, React.createElement(WideFeatureImage, {\n src: sharedUnderstandingImage,\n alt: \"Gap between Domain Experts - Technical Knwoledge\"\n }), React.createElement(WideFeatureText, {\n className: \"wide-feature-text\"\n }, React.createElement(\"h3\", null, \"Common Language (DSL)\"), React.createElement(_components.p, null, \"A common language closes the gap between:\"), React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(\"strong\", null, \"Domain Experts\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(\"strong\", null, \"Technical Experts\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"Working \", React.createElement(\"strong\", null, \"Software & Tests\")), \"\\n\"))), React.createElement(WideFeature, null, React.createElement(WideFeatureImage, {\n src: gearsDarkImage,\n alt: \"\",\n width: \"300px\",\n className: \"only-small\"\n }), React.createElement(WideFeatureText, {\n className: \"wide-feature-text\"\n }, React.createElement(\"h3\", null, \"ZenWave SDK\"), React.createElement(_components.p, null, \"Accelerate your development \", React.createElement(\"strong\", null, \"Converting your Models\"), \" into \", React.createElement(\"strong\", null, \"Software Artifacts:\")), React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"API Definitions: OpenAPI, AsyncAPI...\"), \"\\n\", React.createElement(_components.li, null, \"SpringBoot/SpringCloud Backend...\"), \"\\n\", React.createElement(_components.li, null, \"API Testing: KarateDSL, Spring WebTestClient...\"), \"\\n\")), React.createElement(WideFeatureImage, {\n src: gearsDarkImage,\n alt: \"\",\n width: \"300px\",\n className: \"only-wide\"\n })))), React.createElement(ScreenContainer, null, React.createElement(\"section\", null, React.createElement(\"div\", {\n className: \"home-links\"\n }, React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/domain-modeling/business-domain-modeling\"\n }, \"Domain Modeling\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL Modeling Language\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/zenwave-sdk\"\n }, \"ZenWave SDK\"))))), React.createElement(ScreenContainer, {\n className: \"home-screenshots\"\n }, React.createElement(\"h2\", null, \"A Domain Language Designed for Event-Driven Architectures\"), React.createElement(Image, {\n src: eventStormingZDL,\n alt: \"Event Storming\"\n }), React.createElement(\"h2\", null, \"... And Bounded Context Mapping\"), React.createElement(Image, {\n src: boundedContextMapping,\n alt: \"Bounded Context Mapping with ZDL\",\n width: \"100%\"\n }), React.createElement(\"h2\", null, \"Can be read as documentation\"), React.createElement(Image, {\n src: pluginScreenshot\n }), React.createElement(\"h2\", null, \"And easily converted into working software & tests\"), React.createElement(Image, {\n src: pluginRunScreenshot\n })), React.createElement(ScreenContainer, null, React.createElement(\"section\", null, React.createElement(\"div\", {\n className: \"home-links\"\n }, React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/domain-modeling/business-domain-modeling\"\n }, \"Domain Modeling\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZDL Modeling Language\")), \"\\r\\n\", React.createElement(\"div\", null, React.createElement(\"a\", {\n href: \"/docs/zenwave-sdk\"\n }, \"ZenWave SDK\"))))));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMTIwMHB4IiBoZWlnaHQ9IjEyMDBweCIgc3R5bGU9InNoYXBlLXJlbmRlcmluZzpnZW9tZXRyaWNQcmVjaXNpb247IHRleHQtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbjsgaW1hZ2UtcmVuZGVyaW5nOm9wdGltaXplUXVhbGl0eTsgZmlsbC1ydWxlOmV2ZW5vZGQ7IGNsaXAtcnVsZTpldmVub2RkIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk2MiIgZmlsbD0iIzJiOGEzZSIgZD0iTSA0MjcuNSwxMzIuNSBDIDQ5MC41LDEzMi41IDU1My41LDEzMi41IDYxNi41LDEzMi41QyA2MTYuNSwxOTUuNSA2MTYuNSwyNTguNSA2MTYuNSwzMjEuNUMgNTUzLjUsMzIxLjUgNDkwLjUsMzIxLjUgNDI3LjUsMzIxLjVDIDQyNy41LDI1OC41IDQyNy41LDE5NS41IDQyNy41LDEzMi41IFogTSA0NjYuNSwxNzEuNSBDIDUwMy41LDE3MS41IDU0MC41LDE3MS41IDU3Ny41LDE3MS41QyA1NzcuNSwyMDguNSA1NzcuNSwyNDUuNSA1NzcuNSwyODIuNUMgNTQwLjUsMjgyLjUgNTAzLjUsMjgyLjUgNDY2LjUsMjgyLjVDIDQ2Ni41LDI0NS41IDQ2Ni41LDIwOC41IDQ2Ni41LDE3MS41IFoiLz48L2c+DQo8Zz48cGF0aCBzdHlsZT0ib3BhY2l0eTowLjk3NCIgZmlsbD0iIzJiOGEzZSIgZD0iTSA1MDUuNSwzNzQuNSBDIDUxOC4xNjcsMzc0LjUgNTMwLjgzMywzNzQuNSA1NDMuNSwzNzQuNUMgNTQzLjUsMzkzLjgzMyA1NDMuNSw0MTMuMTY3IDU0My41LDQzMi41QyA2OTMuNSw0MzIuNSA4NDMuNSw0MzIuNSA5OTMuNSw0MzIuNUMgOTkzLjUsNTYzLjE2NyA5OTMuNSw2OTMuODMzIDk5My41LDgyNC41QyA5ODAuODMzLDgyNC41IDk2OC4xNjcsODI0LjUgOTU1LjUsODI0LjVDIDk1NS41LDcwNi44MzMgOTU1LjUsNTg5LjE2NyA5NTUuNSw0NzEuNUMgODE4LjE2Nyw0NzEuNSA2ODAuODMzLDQ3MS41IDU0My41LDQ3MS41QyA1NDMuNSw0ODkuMTY3IDU0My41LDUwNi44MzMgNTQzLjUsNTI0LjVDIDUzMC44MzMsNTI0LjUgNTE4LjE2Nyw1MjQuNSA1MDUuNSw1MjQuNUMgNTA1LjUsNTA2LjgzMyA1MDUuNSw0ODkuMTY3IDUwNS41LDQ3MS41QyA0MTguMTY3LDQ3MS41IDMzMC44MzMsNDcxLjUgMjQzLjUsNDcxLjVDIDI0My41LDQ4OS4xNjcgMjQzLjUsNTA2LjgzMyAyNDMuNSw1MjQuNUMgMjMwLjgzMyw1MjQuNSAyMTguMTY3LDUyNC41IDIwNS41LDUyNC41QyAyMDUuNSw0OTMuODMzIDIwNS41LDQ2My4xNjcgMjA1LjUsNDMyLjVDIDMwNS41LDQzMi41IDQwNS41LDQzMi41IDUwNS41LDQzMi41QyA1MDUuNSw0MTMuMTY3IDUwNS41LDM5My44MzMgNTA1LjUsMzc0LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDEzMC41LDU4MC41IEMgMTkzLjE2Nyw1ODAuNSAyNTUuODMzLDU4MC41IDMxOC41LDU4MC41QyAzMTguNSw2NDMuMTY3IDMxOC41LDcwNS44MzMgMzE4LjUsNzY4LjVDIDI1NS44MzMsNzY4LjUgMTkzLjE2Nyw3NjguNSAxMzAuNSw3NjguNUMgMTMwLjUsNzA1LjgzMyAxMzAuNSw2NDMuMTY3IDEzMC41LDU4MC41IFogTSAxNjguNSw2MTguNSBDIDIwNS44MzMsNjE4LjUgMjQzLjE2Nyw2MTguNSAyODAuNSw2MTguNUMgMjgwLjUsNjU1LjgzMyAyODAuNSw2OTMuMTY3IDI4MC41LDczMC41QyAyNDMuMTY3LDczMC41IDIwNS44MzMsNzMwLjUgMTY4LjUsNzMwLjVDIDE2OC41LDY5My4xNjcgMTY4LjUsNjU1LjgzMyAxNjguNSw2MTguNSBaIi8+PC9nPg0KPGc+PHBhdGggc3R5bGU9Im9wYWNpdHk6MC45NzQiIGZpbGw9IiMyYjhhM2UiIGQ9Ik0gNDI3LjUsNTgwLjUgQyA0OTAuNSw1ODAuNSA1NTMuNSw1ODAuNSA2MTYuNSw1ODAuNUMgNjE2LjUsNjQzLjE2NyA2MTYuNSw3MDUuODMzIDYxNi41LDc2OC41QyA1NTMuNSw3NjguNSA0OTAuNSw3NjguNSA0MjcuNSw3NjguNUMgNDI3LjUsNzA1LjgzMyA0MjcuNSw2NDMuMTY3IDQyNy41LDU4MC41IFogTSA0NjYuNSw2MTguNSBDIDUwMy41LDYxOC41IDU0MC41LDYxOC41IDU3Ny41LDYxOC41QyA1NzcuNSw2NTUuODMzIDU3Ny41LDY5My4xNjcgNTc3LjUsNzMwLjVDIDU0MC41LDczMC41IDUwMy41LDczMC41IDQ2Ni41LDczMC41QyA0NjYuNSw2OTMuMTY3IDQ2Ni41LDY1NS44MzMgNDY2LjUsNjE4LjUgWiIvPjwvZz4NCjxnPjxwYXRoIHN0eWxlPSJvcGFjaXR5OjAuOTg3IiBmaWxsPSIjMmI4YTNlIiBkPSJNIDg4MC41LDg4MC41IEMgOTQzLjE2Nyw4ODAuNSAxMDA1LjgzLDg4MC41IDEwNjguNSw4ODAuNUMgMTA2OC41LDk0My4xNjcgMTA2OC41LDEwMDUuODMgMTA2OC41LDEwNjguNUMgMTAwNS44MywxMDY4LjUgOTQzLjE2NywxMDY4LjUgODgwLjUsMTA2OC41QyA4ODAuNSwxMDA1LjgzIDg4MC41LDk0My4xNjcgODgwLjUsODgwLjUgWiBNIDkxOC41LDkxOC41IEMgOTU1LjgzMyw5MTguNSA5OTMuMTY3LDkxOC41IDEwMzAuNSw5MTguNUMgMTAzMC41LDk1NS44MzMgMTAzMC41LDk5My4xNjcgMTAzMC41LDEwMzAuNUMgOTkzLjE2NywxMDMwLjUgOTU1LjgzMywxMDMwLjUgOTE4LjUsMTAzMC41QyA5MTguNSw5OTMuMTY3IDkxOC41LDk1NS44MzMgOTE4LjUsOTE4LjUgWiIvPjwvZz4NCjwvc3ZnPg0K\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNC4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MTAgNDU3LjgiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMCA0NTcuODsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzZEQjMzRjt9DQo8L3N0eWxlPg0KPHRpdGxlPmljb24tc3ByaW5nLWJvb3Q8L3RpdGxlPg0KPGcgaWQ9IkxheWVyXzJfMV8iPg0KCTxnIGlkPSJMYXllcl8xLTIiPg0KCQk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNTAzLjUsMjAxLjRMNDAzLDI3LjVDMzk0LjMsMTIuNCwzNzIuOSwwLDM1NS40LDBIMTU0LjZjLTE3LjQsMC0zOC45LDEyLjQtNDcuNiwyNy41TDYuNiwyMDEuNA0KCQkJYy04LjcsMTUuMS04LjcsMzkuOCwwLDU0LjlsMTAwLjQsMTc0YzguNywxNS4xLDMwLjEsMjcuNSw0Ny42LDI3LjVoMjAwLjljMTcuNCwwLDM4LjgtMTIuNCw0Ny42LTI3LjVsMTAwLjQtMTc0DQoJCQlDNTEyLjIsMjQxLjIsNTEyLjIsMjE2LjUsNTAzLjUsMjAxLjR6IE0yMzMuMyw5Ni4yYzAtMTEuNCw5LjMtMjAuNywyMC43LTIwLjdjMTEuNCwwLDIwLjcsOS4zLDIwLjcsMjAuN3YxMjMuNw0KCQkJYzAsMTEuNC05LjMsMjAuNy0yMC43LDIwLjdjLTExLjQsMC0yMC43LTkuMy0yMC43LTIwLjdsMCwwVjk2LjJ6IE0yNTQsMzYwLjNjLTc3LjQsMC0xNDAuNC02My0xNDAuNC0xNDAuNA0KCQkJYzAuMS00NC40LDIxLjEtODYuMSw1Ni43LTExMi43YzguMi02LjEsMTkuNy00LjQsMjUuOCwzLjhzNC40LDE5LjctMy44LDI1LjhsMCwwYy00NS45LDM0LjEtNTUuNSw5OS0yMS40LDE0NC45DQoJCQlzOTksNTUuNSwxNDQuOSwyMS40YzI2LjMtMTkuNSw0MS44LTUwLjQsNDEuOC04My4yYy0wLjEtMzIuOS0xNS43LTYzLjgtNDIuMi04My40Yy04LjItNi05LjktMTcuNi0zLjktMjUuOHMxNy42LTkuOSwyNS44LTMuOQ0KCQkJYzM1LjksMjYuNSw1Nyw2OC41LDU3LjEsMTEzLjFDMzk0LjQsMjk3LjQsMzMxLjQsMzYwLjMsMjU0LDM2MC4zeiIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDI0OSAyMTkiIHdpZHRoPSIyNDkuMHB0IiBoZWlnaHQ9IjIxOS4wcHQiPg0KDQo8cGF0aCBkPSJNIDExNS41MSAxMS44MiBDIDEzMi4zMyA4Ljg4IDE1MC4zOCAxNS41NyAxNjEuNDEgMjguNTYgQyAxNjcuNzMgMzUuNzMgMTcxLjUwIDQ0LjYyIDE3My4xMCA1My45OCBDIDE3NC44OSA2NS42OCAxNzEuOTcgNzcuNzkgMTY1Ljc1IDg3Ljc4IEMgMTU5LjE2IDk4LjA2IDE0OC44MyAxMDUuODMgMTM3LjAxIDEwOS4wNCBDIDExOC4yMiAxMTQuNzcgOTYuODkgMTA3LjQ1IDg0Ljc5IDkyLjE4IEMgNzYuMjggODEuNjIgNzIuMjQgNjcuNDEgNzQuMjUgNTMuOTcgQyA3NS43OSA0NC43MSA3OS41OSAzNS45MSA4NS43NiAyOC43OCBDIDkzLjMzIDE5Ljc3IDEwMy45OCAxMy45NSAxMTUuNTEgMTEuODIgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTAyLjY3IDI4LjU3IEMgMTE0LjU2IDI4Ljg5IDEyOC45MiAyNy4xNiAxMzkuOTIgMzIuMDUgQyAxNDcuMTkgMzUuMDcgMTUyLjAxIDQxLjU1IDE1My42MiA0OS4xNiBDIDE1NS40MCA1Ny43NCAxNTUuMjUgNjcuNTUgMTUxLjY1IDc1LjY0IEMgMTQ4LjYyIDgyLjQwIDE0Mi41MCA4Ni42NyAxMzUuNDkgODguNTkgQyAxMjUuMjQgOTEuNDcgMTEzLjMwIDkwLjIzIDEwMi42NyA5MC41MCBDIDEwMi42NiA2OS44NSAxMDIuNjYgNDkuMjEgMTAyLjY3IDI4LjU3IFoiIGZpbGw9IiMwMDAwMDAiIC8+DQo8cGF0aCBkPSJNIDExMS4wNCAzNS40OCBDIDExOC44MyAzNS42MSAxMjcuNzIgMzQuNjMgMTM0Ljk1IDM3Ljk0IEMgMTM5Ljg0IDQwLjA3IDE0My4yNCA0NC4zOSAxNDQuNjQgNDkuNDggQyAxNDYuMjIgNTUuNDIgMTQ2LjI1IDYxLjk3IDE0NS4wMyA2Ny45OCBDIDE0My45MCA3My40MSAxNDAuODEgNzguMjQgMTM1Ljc1IDgwLjc1IEMgMTI4LjMwIDg0LjUyIDExOS4xNiA4My40NyAxMTEuMDUgODMuNjIgQyAxMTEuMDMgNjcuNTggMTExLjA1IDUxLjUzIDExMS4wNCAzNS40OCBaIiBmaWxsPSIjMmFkNGZmIiAvPg0KPHBhdGggZD0iTSA1Ni41MiAxMDcuNzAgQyA3NC4xMiAxMDMuNTcgOTMuMzUgMTEwLjI3IDEwNS4wMCAxMjMuOTggQyAxMTEuMzUgMTMxLjE5IDExNS4wOCAxNDAuMTAgMTE2LjY2IDE0OS41MiBDIDExOC4zOCAxNjEuMjUgMTE1LjQ2IDE3My4yNiAxMDkuMjAgMTgzLjI1IEMgMTAyLjY5IDE5My4zMiA5Mi42NCAyMDAuOTkgODEuMDUgMjA0LjIzIEMgNzEuMTkgMjA3LjM1IDYwLjQ5IDIwNi45MyA1MC43OSAyMDMuNDIgQyAzMS44OSAxOTcuMDMgMTguNDEgMTc4Ljg5IDE3LjM1IDE1OS4wMyBDIDE2LjYyIDE0Ni4wNCAyMS40NSAxMzIuNzcgMzAuMTUgMTIzLjEzIEMgMzcuMTAgMTE1LjM5IDQ2LjM5IDExMC4wMyA1Ni41MiAxMDcuNzAgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTcxLjUyIDExMC43NSBDIDE4OS4xNiAxMDYuNTIgMjA4Ljk3IDExMy42MCAyMjAuNDAgMTI3LjU3IEMgMjI2LjUzIDEzNC43NiAyMzAuMTMgMTQzLjU1IDIzMS42MyAxNTIuODIgQyAyMzMuMjUgMTY0LjE0IDIzMC40OCAxNzUuODYgMjI0LjU3IDE4NS41OCBDIDIxOC4wNCAxOTYuMTYgMjA3LjUzIDIwNC4xNyAxOTUuNTIgMjA3LjQzIEMgMTc2Ljc1IDIxMy4xNyAxNTUuNDEgMjA1LjkwIDE0My4zMiAxOTAuNjMgQyAxMzQuNjkgMTc5Ljk3IDEzMC42MSAxNjUuNTYgMTMyLjc4IDE1MS45NyBDIDEzNC4zMCAxNDMuMzQgMTM3LjczIDEzNS4xMyAxNDMuMjggMTI4LjMyIEMgMTUwLjM1IDExOS4zNyAxNjAuNDUgMTEzLjI5IDE3MS41MiAxMTAuNzUgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjxwYXRoIGQ9Ik0gMTU5Ljg0IDEyNy4zMSBDIDE2Ny44NyAxMjcuNDMgMTc1Ljk4IDEyNy4wMCAxODMuOTkgMTI3LjY3IEMgMTkyLjEwIDEyOC41MSAyMDAuMjcgMTMwLjgyIDIwNS41OCAxMzcuNDMgQyAyMTEuMzQgMTQ0LjYzIDIxMi4wMCAxNTUuMjAgMjExLjEwIDE2NC4wMSBDIDIxMC4yMCAxNzIuNTIgMjA2LjMzIDE4MC40NCAxOTguNDUgMTg0LjQ1IEMgMTg3LjE3IDE5MC4zNSAxNzIuMjQgMTg4LjQwIDE1OS44MyAxODguNzUgQyAxNTkuODIgMTY4LjI3IDE1OS44MSAxNDcuNzkgMTU5Ljg0IDEyNy4zMSBaIiBmaWxsPSIjMDAyMjJiIiAvPg0KPHBhdGggZD0iTSA0NS42NCAxMjcuODUgQyA1Ni40NyAxMjguMTQgNjkuMzYgMTI2LjY0IDc5LjUwIDEzMC42MyBDIDg1Ljc5IDEzMi45NiA5MC42NyAxMzcuNzcgOTIuNzkgMTQ0LjE3IEMgOTUuMjggMTUxLjc4IDk1LjMxIDE2MC41MSA5My4zMCAxNjguMjQgQyA5MS40NiAxNzUuMDcgODYuNzkgMTgwLjU5IDgwLjE2IDE4My4xOSBDIDY5Ljg4IDE4Ny41MiA1Ni43MCAxODUuOTQgNDUuNjQgMTg2LjI1IEMgNDUuNjMgMTY2Ljc4IDQ1LjYzIDE0Ny4zMSA0NS42NCAxMjcuODUgWiIgZmlsbD0iIzAwMDAwMCIgLz4NCjxwYXRoIGQ9Ik0gNzYuMjMgMTM2Ljc2IEMgODAuODUgMTM4LjgyIDgzLjk3IDE0Mi45NSA4NS4yNiAxNDcuNzcgQyA4Ni42OSAxNTMuMjggODYuNzAgMTU5LjI2IDg1LjYyIDE2NC44NCBDIDg0LjU1IDE2OS45NyA4MS43NSAxNzQuNTcgNzYuOTcgMTc2Ljk4IEMgNjkuOTcgMTgwLjYxIDYxLjIyIDE3OS41OCA1My41NyAxNzkuNzcgQyA1My40OSAxNjQuNjQgNTMuNTggMTQ5LjUwIDUzLjUzIDEzNC4zNyBDIDYwLjg4IDEzNC40NCA2OS40MyAxMzMuNTkgNzYuMjMgMTM2Ljc2IFoiIGZpbGw9IiMyYWQ0ZmYiIC8+DQo8cGF0aCBkPSJNIDE2OC4yNCAxMzQuMjYgQyAxNzUuMzEgMTM0LjExIDE4My4yNCAxMzMuNTkgMTkwLjAyIDEzNS45MCBDIDE5NS4wMiAxMzcuNTcgMTk4Ljk2IDE0MS4yMCAyMDAuODAgMTQ2LjE3IEMgMjAzLjA2IDE1Mi40MCAyMDMuMTQgMTU5LjUyIDIwMS45MiAxNjUuOTggQyAyMDAuODYgMTcxLjQzIDE5Ny45NiAxNzYuMzMgMTkyLjkxIDE3OC45MiBDIDE4NS4zMSAxODIuOTAgMTc2LjQxIDE4MS43MyAxNjguMTMgMTgxLjkwIEMgMTY4LjIyIDE2Ni4wNCAxNjcuOTggMTUwLjExIDE2OC4yNCAxMzQuMjYgWiIgZmlsbD0iIzJhZDRmZiIgLz4NCjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB2aWV3Qm94PSIwIDAgNTEyIDUxMiINCiAgIHdpZHRoPSI1MTIuMHB0Ig0KICAgaGVpZ2h0PSI1MTIuMHB0Ig0KICAgaWQ9InN2Zzk0ODU5Ig0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogIDxkZWZzDQogICAgIGlkPSJkZWZzOTQ4NjMiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTQzLjk5IDI2Ljg2IEMgMTU5LjY5IDI1Ljc5IDE3NS42MiAzMC40MSAxODguMzIgMzkuNzAgQyAxOTkuNDcgNDcuNzUgMjA4LjA0IDU5LjI2IDIxMi42MSA3Mi4yNCBDIDIxNy4wMyA4NC44MiAyMTcuNzYgOTguNTggMjE0LjQzIDExMS41MSBDIDIxMC42OCAxMjYuNzggMjAxLjQ0IDE0MC40NiAxODguODIgMTQ5LjgyIEMgMTk5LjcwIDE2OC41NyAyMTAuNjQgMTg3LjI5IDIyMS41MyAyMDYuMDQgQyAyMzkuODcgMjAwLjM5IDI2MC4xMiAyMDUuNDYgMjczLjY5IDIxOC45NyBDIDI5Ny44OSAxOTQuNzMgMzIyLjE2IDE3MC41NiAzNDYuMzIgMTQ2LjI5IEMgMzQzLjU1IDE0MC44OCAzNDEuNjcgMTM1LjE0IDM0MS40MiAxMjkuMDIgQyAzNDAuNDYgMTEzLjY5IDM0OS4xMyA5OC43MiAzNjIuODMgOTEuODMgQyAzNzYuMDIgODQuOTMgMzkyLjc1IDg2LjM5IDQwNC41NiA5NS40NCBDIDQxNi4wOCAxMDQuMDUgNDIyLjA3IDExOC44MSA0MTkuNzYgMTMzLjAzIEMgNDE3LjUzIDE0OC4yMyA0MDUuODggMTYxLjE5IDM5MS4wMSAxNjUuMDMgQyAzODAuOTYgMTY3Ljc4IDM3MC41MyAxNjYuMTcgMzYxLjM1IDE2MS40MiBDIDMzNi4xOSAxODYuNzUgMzEwLjg0IDIxMS45MiAyODUuNjQgMjM3LjIyIEMgMjg3LjU0IDI0Mi42OCAyODguNzIgMjQ4LjA3IDI4OS4wMiAyNTMuODYgQyAzMTYuMzMgMjUzLjg5IDM0My42NSAyNTMuODUgMzcwLjk3IDI1My44NyBDIDM3My44NSAyMzUuODcgMzg0LjAxIDIxOS4zOSAzOTguOTMgMjA4Ljg5IEMgNDExLjY2IDE5OS44NCA0MjcuNDQgMTk1LjM3IDQ0My4wMyAxOTYuNDggQyA0NTguNDIgMTk3LjQzIDQ3My4zMiAyMDMuODggNDg0LjYyIDIxNC4zNSBDIDQ5NS44NyAyMjQuNzIgNTAzLjQ5IDIzOC44MyA1MDUuNzggMjUzLjk4IEMgNTA3LjY0IDI2NC45NyA1MDYuNDYgMjc2LjMxIDUwMi44OCAyODYuODIgQyA0OTcuNzQgMzAxLjczIDQ4Ny4zMyAzMTQuNjkgNDczLjgyIDMyMi44MyBDIDQ2My4zOCAzMjkuMjUgNDUxLjIzIDMzMi42MyA0MzguOTkgMzMyLjc5IEMgNDIyLjM0IDMzMi44OCA0MDUuNzcgMzI2Ljc5IDM5My4zMSAzMTUuNzAgQyAzODEuNDIgMzA1LjMyIDM3My40NyAyOTAuNzggMzcwLjk5IDI3NS4yMCBDIDM0Mi40OCAyNzUuMjEgMzEzLjk4IDI3NS4xOSAyODUuNDcgMjc1LjIxIEMgMjgwLjg1IDI4Ni4yMSAyNzMuNTAgMjk0LjkwIDI2My4yOCAzMDEuMDkgQyAyNzIuODUgMzM2LjE4IDI4Mi40NSAzNzEuMjYgMjkyLjA2IDQwNi4zNCBDIDI5Ny40NyA0MDYuNDIgMzAyLjc3IDQwNy4xMyAzMDcuODIgNDA5LjE3IEMgMzIxLjA4IDQxNC4zMSAzMzAuODEgNDI2Ljg0IDMzMi40NiA0NDAuOTggQyAzMzQuNDAgNDU1LjczIDMyNy40MiA0NzAuODIgMzE0LjkyIDQ3OC44OCBDIDMwMi4xNCA0ODcuMzYgMjg0LjgwIDQ4Ny40NCAyNzEuOTcgNDc5LjAxIEMgMjU4Ljc1IDQ3MC42MyAyNTEuNjUgNDU0LjQ1IDI1NC40OSA0MzkuMDMgQyAyNTYuMzEgNDI4LjIzIDI2Mi43MyA0MTguOTUgMjcxLjY4IDQxMi43NyBDIDI2Mi4xMyAzNzcuODIgMjUyLjU4IDM0Mi44NyAyNDMuMDEgMzA3LjkzIEMgMjI5LjU2IDMwOS4zMCAyMTcuMTggMzA2LjA2IDIwNi4xMiAyOTguMzUgQyAxODMuNDAgMzExLjE3IDE2MC43MSAzMjQuMDIgMTM4LjAyIDMzNi44OCBDIDE0My45NCAzNTMuOTEgMTQyLjkzIDM3Mi44OCAxMzUuMDQgMzg5LjEwIEMgMTI3LjUyIDQwNC44MCAxMTMuODIgNDE3LjMyIDk3LjUwIDQyMy4zOSBDIDg1LjQyIDQyNy44NiA3Mi4xNSA0MjguOTYgNTkuNTQgNDI2LjIyIEMgNDUuNzAgNDIzLjMyIDMyLjkxIDQxNi4wNCAyMy4zNyA0MDUuNjEgQyAxMi42NyAzOTQuMDYgNi4yMyAzNzguNzMgNS40OCAzNjMuMDAgQyA0LjYzIDM0Ny41NSA5LjIyIDMzMS45MCAxOC4zOCAzMTkuNDEgQyAyNi4yOCAzMDguNDYgMzcuNTIgMjk5Ljk4IDUwLjIzIDI5NS4zOCBDIDYxLjI5IDI5MS4zMiA3My4zOCAyOTAuMjQgODQuOTkgMjkyLjIxIEMgMTAxLjk3IDI5NC45NCAxMTcuNDMgMzA0LjQ2IDEyNy44NyAzMTguMDggQyAxNDkuMDcgMzA2LjA5IDE3MC4yNiAyOTQuMTEgMTkxLjQ1IDI4Mi4xMCBDIDE4Ny41OSAyNzQuOTkgMTg1LjQxIDI2OC4wNCAxODQuNjYgMjU5Ljk2IEMgMTUyLjc2IDI1MS4xMSAxMjAuNzIgMjQyLjU3IDg4Ljc4IDIzMy44MiBDIDg2LjE4IDIzOC4xMSA4My4wNiAyNDIuMDEgNzkuMTEgMjQ1LjE0IEMgNjguMzEgMjUzLjk3IDUyLjkyIDI1Ni4yOSAzOS45NyAyNTEuMDkgQyAyNS4yNiAyNDUuNDMgMTUuMDYgMjMwLjc4IDE0Ljk3IDIxNC45OSBDIDE0LjU3IDE5OS4xNCAyNC40NiAxODQuMDYgMzkuMTIgMTc4LjA0IEMgNTIuOTkgMTcyLjA5IDY5Ljc1IDE3NC45MyA4MC44NiAxODUuMTQgQyA4OC44MCAxOTIuMjYgOTMuMzkgMjAyLjQ2IDkzLjg4IDIxMy4wOCBDIDEyNS4wOCAyMjEuNTkgMTU2LjI5IDIzMC4xMCAxODcuNTIgMjM4LjU0IEMgMTkwLjcwIDIyOS44NCAxOTUuODAgMjIyLjM3IDIwMi44MiAyMTYuMzIgQyAxOTEuODUgMTk3LjQ2IDE4MC44OCAxNzguNTkgMTY5Ljg4IDE1OS43NCBDIDE1My4yMSAxNjUuMTAgMTM1LjA1IDE2NC4yMCAxMTkuMjEgMTU2LjY0IEMgMTA1LjA0IDE1MC4wMSA5My4zNCAxMzguMzcgODYuNjQgMTI0LjIyIEMgODAuNTUgMTExLjQ5IDc4LjYzIDk2Ljg4IDgxLjEwIDgyLjk5IEMgODMuNjUgNjguMjIgOTEuMzEgNTQuNDUgMTAyLjQ0IDQ0LjQxIEMgMTEzLjc5IDM0LjA1IDEyOC42NSAyNy43OCAxNDMuOTkgMjYuODYgWiINCiAgICAgZmlsbD0iIzAxMDEwMSINCiAgICAgaWQ9InBhdGg5NDg0MyINCiAgICAgc3R5bGU9ImZpbGw6IzJiOGEzZTtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSAxMzkuNDkgNDguODYgQyAxNTEuMTggNDYuNjIgMTYzLjU4IDQ4Ljk1IDE3My41OCA1NS40MyBDIDE4OS4wMCA2NS4yMSAxOTcuNTcgODMuOTYgMTk0LjYzIDEwMi4wMyBDIDE5Mi4xNSAxMTkuMTMgMTc5LjY2IDEzNC4wMCAxNjMuMjQgMTM5LjM4IEMgMTUwLjc4IDE0My42NCAxMzYuNjkgMTQyLjMzIDEyNS4yNiAxMzUuNzggQyAxMTUuNzUgMTMwLjQ3IDEwOC4yMSAxMjEuNzAgMTA0LjM4IDExMS41MSBDIDEwMC43MyAxMDEuOTAgMTAwLjQxIDkxLjA2IDEwMy4zOSA4MS4yMyBDIDEwOC4zNCA2NC43OCAxMjIuNTggNTEuOTYgMTM5LjQ5IDQ4Ljg2IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDUiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMzc1LjQ3IDEwOS42MCBDIDM4MS42OCAxMDcuNzEgMzg4LjU0IDEwOS4yNyAzOTMuMjQgMTEzLjc1IEMgMzk4LjU5IDExOC43MSA0MDAuMzcgMTI2Ljc3IDM5Ny42NyAxMzMuNTQgQyAzOTQuNzcgMTQxLjA0IDM4Ni45OSAxNDUuODMgMzc4Ljk4IDE0NC45NiBDIDM3MC42MyAxNDQuMjAgMzYzLjY4IDEzNy4zNiAzNjIuODAgMTI5LjAyIEMgMzYxLjcwIDEyMC40NiAzNjcuMjQgMTEyLjA3IDM3NS40NyAxMDkuNjAgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg0NyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA1MC40OSAxOTYuNjkgQyA1Ni43OSAxOTUuMjkgNjMuNDggMTk3LjQyIDY3LjgwIDIwMi4yMCBDIDczLjAwIDIwNy44MiA3NC4wMiAyMTYuNTcgNzAuMjIgMjIzLjIyIEMgNjYuMzUgMjMwLjI5IDU3Ljg0IDIzNC4wMiA1MC4wMSAyMzEuOTcgQyA0MS44OSAyMzAuMDQgMzYuMDAgMjIyLjMyIDM2LjI4IDIxMy45NyBDIDM2LjM4IDIwNS43NSA0Mi40NiAxOTguNDAgNTAuNDkgMTk2LjY5IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NDkiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gNDI4LjQ5IDIxOC42NyBDIDQ0My4yMSAyMTUuNDggNDU5LjAwIDIxOS42OCA0NzAuMDYgMjI5LjkzIEMgNDgxLjYyIDI0MC4zOSA0ODcuMzEgMjU2LjY1IDQ4NC43MCAyNzIuMDMgQyA0ODIuODAgMjg0LjAzIDQ3Ni4wNCAyOTUuMDcgNDY2LjI1IDMwMi4yNiBDIDQ1Ni4zMCAzMDkuNzAgNDQzLjIyIDMxMi45MCA0MzAuOTcgMzEwLjgzIEMgNDE2LjcyIDMwOC42MiA0MDMuOTcgMjk5LjU0IDM5Ny4xNCAyODYuODYgQyAzOTAuNzcgMjc1LjIyIDM4OS43NSAyNjAuOTMgMzk0LjMxIDI0OC40OCBDIDM5OS43MCAyMzMuNDkgNDEyLjkyIDIyMS45OSA0MjguNDkgMjE4LjY3IFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTEiDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMjMwLjQ5IDIyNS43MiBDIDIzOS4yMiAyMjMuOTMgMjQ4LjUwIDIyNS45NyAyNTUuNTYgMjMxLjQzIEMgMjY2LjA0IDIzOS4zMSAyNzAuMzcgMjUzLjU2IDI2Ni4wNiAyNjUuOTcgQyAyNjEuNjMgMjc5LjMxIDI0OC4wMCAyODguMjIgMjMzLjk4IDI4Ni43NyBDIDIxOC42OSAyODUuNTggMjA2LjIwIDI3Mi4zMiAyMDUuOTEgMjU2Ljk5IEMgMjA1LjI2IDI0Mi4xOCAyMTUuOTkgMjI4LjYzIDIzMC40OSAyMjUuNzIgWiINCiAgICAgZmlsbD0iI2ZmZmZmZiINCiAgICAgaWQ9InBhdGg5NDg1MyINCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIgLz4NCiAgPHBhdGgNCiAgICAgZD0iTSA2My40OSAzMTMuNjYgQyA3NS4zNSAzMTEuMDcgODguMTAgMzEzLjEzIDk4LjM4IDMxOS42MyBDIDEwNy45NiAzMjUuNTYgMTE1LjIwIDMzNS4wMCAxMTguNDYgMzQ1Ljc4IEMgMTIzLjUxIDM2MS45MiAxMTkuMDYgMzgwLjE3IDEwNy4xOCAzOTIuMTggQyA5NC43NyA0MDUuMTQgNzUuMTEgNDA5LjgyIDU4LjIwIDQwMy43NSBDIDQ1LjUzIDM5OS40MSAzNS4wNiAzODkuNDMgMzAuMDkgMzc2Ljk5IEMgMjYuMjEgMzY3LjQ0IDI1LjY4IDM1Ni42NyAyOC40MyAzNDYuNzQgQyAzMi45OCAzMzAuMjcgNDYuODAgMzE3LjI2IDYzLjQ5IDMxMy42NiBaIg0KICAgICBmaWxsPSIjZmZmZmZmIg0KICAgICBpZD0icGF0aDk0ODU1Ig0KICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIiAvPg0KICA8cGF0aA0KICAgICBkPSJNIDI4Ny41MCA0MjguNzAgQyAyOTMuOTMgNDI2LjUxIDMwMS4yMyA0MjguMTQgMzA2LjA1IDQzMi45NSBDIDMxMS42OSA0MzguNDEgMzEzLjA3IDQ0Ny4zMCAzMDkuNDAgNDU0LjI0IEMgMzA1LjgxIDQ2MS4yNSAyOTcuNzcgNDY1LjE2IDI5MC4wMyA0NjMuNjkgQyAyODIuMDEgNDYyLjI3IDI3NS42NyA0NTUuMjAgMjc1LjI1IDQ0Ny4wNCBDIDI3NC42NSA0MzguOTcgMjc5LjgzIDQzMS4yNCAyODcuNTAgNDI4LjcwIFoiDQogICAgIGZpbGw9IiNmZmZmZmYiDQogICAgIGlkPSJwYXRoOTQ4NTciDQogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiIC8+DQo8L3N2Zz4NCg==\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY2NSA2NjEiIHdpZHRoPSI2NjUuMHB0IiBoZWlnaHQ9IjY2MS4wcHQiPg0KDQo8cGF0aCBkPSJNIDM5MS4yNCA1Ljg2IEMgNDUzLjUyIDE2LjkwIDUxMi4zMiA0Ni4yOCA1NTguNjIgODkuMzggQyA1ODkuODAgMTE4LjIxIDYxNS40MCAxNTMuMTIgNjMzLjQxIDE5MS41OCBDIDY1MS4zNyAyMjkuNjMgNjYxLjY0IDI3MS4xMCA2NjMuOTcgMzEzLjEwIEMgNjY3LjA1IDM3MC4xNiA2NTUuMzcgNDI3LjkxIDYzMC4yMyA0NzkuMjMgQyA2MDkuNzQgNTIxLjI3IDU4MC4yNSA1NTkuMzYgNTQzLjk0IDU4OC45MiBDIDUxNi4yNSA2MTEuNDMgNDg0LjYyIDYyOC45OCA0NTAuMDIgNjM4LjIxIEMgNDQ2LjIwIDYzOS4xNyA0NDIuMzYgNjM5LjQyIDQzOC45OSA2MzcuMDEgQyA0MzUuMjYgNjM0LjMyIDQzNC4yOCA2MjkuNTMgNDMyLjU5IDYyNS40OSBDIDQwOS42MiA1NjYuNDEgMzg2LjYyIDUwNy4zMyAzNjMuNjMgNDQ4LjI1IEMgMzYyLjA2IDQ0My45MyAzNTkuNDggNDM5Ljc5IDM2MC40NCA0MzUuMDQgQyAzNjEuMjggNDMwLjczIDM2NC41MSA0MjguMDIgMzY4LjUxIDQyNi42MyBDIDM4NS42OCA0MjAuMDggNDAxLjM2IDQxMC40MSA0MTIuMzcgMzk1LjM5IEMgNDIzLjA0IDM4MC44OCA0MjcuNzAgMzYzLjc2IDQyOS4zOSAzNDYuMDMgQyA0MzAuMDcgMzM3LjAwIDQzMC40MiAzMjguMDQgNDI5LjIzIDMxOS4wMyBDIDQyNC43NiAyODUuOTMgNDAyLjAzIDI1Ni43MiAzNzEuNDggMjQzLjUwIEMgMzQwLjg1IDIzMC4wMiAzMDMuNjcgMjM0LjI0IDI3Ni4zMyAyNTMuMzEgQyAyNTguNDYgMjY1LjczIDI0NC44OSAyODQuMDIgMjM4Ljk0IDMwNS4wMiBDIDIzNC4yNiAzMjAuOTIgMjM0Ljk0IDMzNi44MSAyMzcuMzIgMzUzLjAyIEMgMjQwLjA5IDM2OS42NSAyNDUuNzYgMzg1LjQ0IDI1NS45OSAzOTguOTggQyAyNjYuMjcgNDEyLjY0IDI4MC43OSA0MjIuNjQgMjk3LjAwIDQyNy45NSBDIDMwMC45NSA0MjkuMTcgMzA0LjM2IDQzMS4xMCAzMDUuODQgNDM1LjE5IEMgMzA3LjgyIDQ0MC4yOCAzMDUuMDMgNDQ0LjYzIDMwMy4yNSA0NDkuMjYgQyAyNzguNjggNTA5LjY4IDI1NC4xMCA1NzAuMTAgMjI5LjU1IDYzMC41MyBDIDIyOC40NyA2MzMuMDUgMjI3LjE5IDYzNS4zMiAyMjQuODAgNjM2LjgyIEMgMjIxLjg4IDYzOC43MSAyMTguNTAgNjM4LjgyIDIxNS4yMiA2MzcuOTIgQyAyMDMuODYgNjM0LjkxIDE5Mi43NSA2MzAuODUgMTgyLjAzIDYyNi4wNSBDIDE0Ny4zNSA2MTAuNDQgMTE2LjE3IDU4Ni40MCA5MC40NSA1NTguNTMgQyA1MS43NyA1MTYuNTcgMjQuMDEgNDY0LjcxIDEwLjQ3IDQwOS4yOCBDIC01LjE2IDM0NS4zNSAtMS4yMSAyNzYuNjMgMjEuODcgMjE0Ljk4IEMgMzkuMjMgMTY4LjMwIDY3LjM3IDEyNS43NSAxMDMuNDYgOTEuNDUgQyAxMzUuMTQgNjEuMjEgMTcyLjkwIDM3LjQ0IDIxMy44NiAyMS45NSBDIDI3MC4xMyAwLjYyIDMzMi4wNCAtNC44MSAzOTEuMjQgNS44NiBaIiBmaWxsPSIjMWI1MjFiIiAvPg0KPHBhdGggZD0iTSA0MTIuOTcgMzMuMDcgQyA0NDcuNzQgNDIuNDUgNDgxLjAxIDU3LjgxIDUxMC40NyA3OC41NCBDIDU0Ni4zMCAxMDMuNjEgNTc2Ljg4IDEzNi4yMiA1OTkuMjQgMTczLjgzIEMgNjIyLjk1IDIxMy4yMiA2MzcuNDIgMjU4LjIwIDY0MS4zNiAzMDMuOTkgQyA2NDYuOTUgMzY2LjgzIDYzMy4wNCA0MzEuMTAgNjAyLjAwIDQ4Ni4wMSBDIDU3Ni44NyA1MzAuNjggNTQwLjIyIDU2OS45OCA0OTUuNzEgNTk1LjczIEMgNDgxLjg2IDYwMy41OCA0NjcuMTYgNjEwLjI3IDQ1MS44OSA2MTQuODQgQyA0MjkuNzAgNTU3LjczIDQwNy41MiA1MDAuNjEgMzg1LjI0IDQ0My41NCBDIDM5MS4yMCA0NDAuNDQgMzk3LjE5IDQzNy41MyA0MDIuODEgNDMzLjgyIEMgNDE1LjExIDQyNS43MiA0MjUuOTYgNDE1LjM0IDQzMy43OSA0MDIuODIgQyA0NDQuOTEgMzg1LjUyIDQ1MC4yMyAzNjQuMTcgNDUxLjQ2IDM0My44MCBDIDQ1Mi4xMiAzMzEuNjEgNDUyLjA0IDMxOS41NyA0NDkuMzggMzA3LjYwIEMgNDQyLjU0IDI3NC44OSA0MjAuNzEgMjQ1Ljc2IDM5MS43NCAyMjkuMjggQyAzNzYuMjUgMjIwLjM4IDM1OC44MiAyMTUuMTQgMzQwLjk5IDIxMy45NSBDIDMyMC4wMyAyMTIuNzMgMjk4Ljg2IDIxNi44MSAyNzkuOTYgMjI1Ljk3IEMgMjU2LjYxIDIzNy4xOCAyMzcuMDggMjU2LjM1IDIyNS41MCAyNzkuNTIgQyAyMTcuMjEgMjk2LjA1IDIxMy4xMiAzMTQuNTIgMjEzLjY1IDMzMy4wMCBDIDIxNC4xMSAzNTQuNjQgMjE4LjQ1IDM3Ny4wNiAyMjguNjIgMzk2LjMyIEMgMjM2LjA5IDQxMS4wOCAyNDcuMDMgNDIzLjg5IDI2MC40NCA0MzMuNTggQyAyNjYuODUgNDM4LjQyIDI3My45MyA0NDEuOTEgMjgxLjA4IDQ0NS40OSBDIDI3MS45NiA0NjguNDcgMjYyLjUyIDQ5MS4zMiAyNTMuMjEgNTE0LjIzIEMgMjM5LjY3IDU0Ny41MyAyMjYuMTUgNTgwLjg0IDIxMi42MCA2MTQuMTQgQyAyMDQuNjcgNjEyLjIyIDE5Ny4wMyA2MDguNzEgMTg5LjU1IDYwNS40OSBDIDE2My44MyA1OTMuNTcgMTQwLjIyIDU3Ni43OCAxMTkuNzggNTU3LjIwIEMgMTE1LjUxIDU1My4zOSAxMTEuNjAgNTQ5LjQyIDEwNy44MiA1NDUuMTMgQyA1NS43NSA0ODkuMzYgMjQuNTkgNDE0LjM4IDIyLjk5IDMzOC4wMCBDIDIxLjUxIDI3Ni43NCAzOC41MiAyMTUuMjggNzEuODMgMTYzLjgxIEMgMTA2LjM1IDEwOS44MCAxNTguMTUgNjcuMjMgMjE3Ljg1IDQzLjg4IEMgMjc5LjQ1IDE5LjUwIDM0OS4wNSAxNS44NiA0MTIuOTcgMzMuMDcgWiIgZmlsbD0iIzNlYTUzOCIgLz4NCg0KPC9zdmc+\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICBoZWlnaHQ9IjE3MDUuMDYwNyINCiAgIHZpZXdCb3g9Ii00OC41ODMxMzIgLTEzNi4yMjg1MyA1OTkuODk3NDkgNTM4LjIwODM5Ig0KICAgd2lkdGg9IjE3MDUuMjMxMiINCiAgIHZlcnNpb249IjEuMSINCiAgIGlkPSJzdmcxMDMxNjQiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGRlZnMNCiAgICAgaWQ9ImRlZnMxMDMxNjgiIC8+DQogIDxwYXRoDQogICAgIGQ9Ik0gMTA5Ljk0Njg3LDE3Ny44NjQ0MiBIIC00OC4zNDMxMzIgYyAwLjAzLDAuNzggMC4wNSwxLjU1IDAuMDksMi4zMiAwLjA2LDEuNDkgMC4xNywyLjk3IDAuMjYsNC40NiAwLjA0LDAuNjQgMC4wNywxLjI4IDAuMTIsMS45MSAwLjEyLDEuNzIgMC4yNywzLjQ0IDAuNDMsNS4xNSAwLjA0LDAuMzkgMC4wNywwLjc4IDAuMTEsMS4xNSAwLjE4LDEuOTEgMC4zOSwzLjgyIDAuNjEsNS43MSAwLjAxLDAuMTggMC4wMywwLjM3IDAuMDYsMC41NSAwLjI1LDIuMDQgMC41MSw0LjA5IDAuODEsNi4xMiAwLDAuMDMgMCwwLjA2IDAuMDEsMC4wOCBhIDI2Ni4wNSwyNjYuMDUgMCAwIDAgOC4xOCwzNy40IGMgMC4wMiwwLjA1IDAuMDQsMC4xIDAuMDUsMC4xNSAwLjU3LDEuOTQgMS4xNywzLjg2IDEuNzgsNS43NyAwLjA0LDAuMTEgMC4wOCwwLjIzIDAuMTEsMC4zNCAwLjAzLDAuMTEgMC4wNywwLjIyIDAuMTEsMC4zNCAwLjU2LDEuNzMgMS4xNSwzLjQ1IDEuNzQsNS4xOCAwLjE1LDAuNDMgMC4zLDAuODcgMC40NiwxLjMxIDAuNTMsMS40OSAxLjA3LDIuOTggMS42Myw0LjQ4IDAuMjYsMC42NyAwLjUxLDEuMzQgMC43NiwyLjAyIDAuNDksMS4yNCAwLjk2LDIuNDcgMS40NSwzLjcgMC4zNywwLjkzIDAuNzUsMS44NiAxLjE0LDIuNzggMC40LDAuOTcgMC44LDEuOTIgMS4yMSwyLjg5IDAuNSwxLjE4IDEuMDMsMi4zNSAxLjU1LDMuNTMgMC4zMSwwLjcgMC42MywxLjM5IDAuOTQsMi4wOSAwLjY0LDEuNDEgMS4zLDIuODIgMS45Nyw0LjIyIDAuMjIsMC40NSAwLjQzLDAuOSAwLjY1LDEuMzQgMC43OCwxLjYyIDEuNTcsMy4yMSAyLjM3LDQuOCAwLjE0LDAuMjQgMC4yNSwwLjQ5IDAuMzgsMC43MyAwLjksMS43NiAxLjgyLDMuNTEgMi43Nyw1LjI1IDAuMDQsMC4wOCAwLjA5LDAuMTUgMC4xMiwwLjI0IDAuMiwwLjM2IDAuNDIsMC43MSAwLjYyLDEuMDcgbCAxMzUuMTkwMDAyLC04MS40MyAwLjUsLTAuMyBjIC01LjMzLC0xMS4yNCAtOC42NSwtMjMuMiAtOS44OSwtMzUuMzUgeiINCiAgICAgZmlsbD0iIzkzZDUwMCINCiAgICAgaWQ9InBhdGgxMDMxNDQiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTQ4Ljg1Njg3LDI1MC41MzQ0MiAtMC4zOCwwLjM4IC0xMTEuNTAwMDAyLDExMS40OSBjIDAuNTcsMC41MyAxLjE0LDEuMDggMS43MywxLjU5IDEuMDQsMC45NSAyLjEsMS44OCAzLjE1LDIuODEgMC41NSwwLjQ4IDEuMDgsMC45NiAxLjYzLDEuNDQgMS4yNiwxLjA5IDIuNTQsMi4xNSAzLjgxLDMuMjIgMC4zNSwwLjI5IDAuNjgsMC41NyAxLjAzLDAuODYgYSAyNTUuNTc2LDI1NS41NzYgMCAwIDAgNC45MSwzLjk0IGMgMS41OCwxLjI1IDMuMTcsMi40NiA0Ljc5LDMuNjggMC4wNywwLjA0IDAuMTIsMC4wOCAwLjE4LDAuMTMgYSAyNjYuNDgsMjY2LjQ4IDAgMCAwIDIwLjg2LDE0LjEgYyAwLjI0LDAuMTYgMC40OSwwLjMgMC43NCwwLjQ2IDEuMzcsMC44MSAyLjczLDEuNjIgNC4xMSwyLjQyIGwgMi41MiwxLjQ0IGMgMC44LDAuNDYgMS41OSwwLjkgMi4zOSwxLjM0IDEuNDUsMC43OSAyLjksMS41OCA0LjM2LDIuMzUgMC4yLDAuMTEgMC40LDAuMjIgMC42MSwwLjMyIDQuMDUsMi4xMiA4LjE3MDAwMiw0LjA5IDEyLjMzMDAwMiw1Ljk5IGwgMy45NiwtOS42MSA1Ni4wOCwtMTM2LjE3IDAuMiwtMC41IGMgLTYuMTIsLTMuMjggLTExLjk5LC03LjE2IC0xNy41MSwtMTEuNjggeiINCiAgICAgZmlsbD0iIzRkNWEzMSINCiAgICAgaWQ9InBhdGgxMDMxNDYiIC8+DQogIDxwYXRoDQogICAgIGQ9Im0gMTM3LjI0Njg3LDIzOS40MjQ0MiBhIDk1LjQ5Miw5NS40OTIgMCAwIDEgLTMuNDgsLTQuMSBjIC0xLC0xLjIzIC0xLjk2LC0yLjQ3IC0yLjg5LC0zLjczIC0xLjA3LC0xLjQ0IC0yLjExLC0yLjkgLTMuMSwtNC4zOCAtMC45OSwtMS40OSAtMS45NywtMi45OSAtMi44OSwtNC41MSBsIC0xMzUuMzYwMDAyLDgxLjUzIGMgMi4wODAwMDAzLDMuNDYgNC4yNDAwMDAzLDYuODIgNi40NjAwMDAzLDEwLjE0IDAuMDcsMC4xMiAwLjE0LDAuMjQgMC4yMiwwLjM1IDAuMDIsMC4wNSAwLjA1LDAuMDggMC4wOCwwLjEzIDAuMDcsMC4xIDAuMTQsMC4yMiAwLjIxLDAuMzMgMC4wMSwwLjAxIDAuMDIsMC4wMiAwLjAyLDAuMDQgMC4xOCwwLjI2IDAuMzYsMC41MiAwLjU0LDAuNzkgMC4wMSwwLjAxIDAuMDIsMC4wMyAwLjA0LDAuMDUgMC4wMiwwLjAyIDAuMDEsMC4wMSAwLjAxLDAuMDIgMi4zNDk5OTk5NiwzLjQ3IDQuNzcsNi44OSA3LjI2LDEwLjIzIDAuMDUsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDAuMDYsMC4wNyAwLjExLDAuMTQgMC4xNiwwLjIxIDEuMDksMS40MyAyLjE3LDIuODYgMy4yOSw0LjI4IDAuMTUsMC4xOSAwLjI5LDAuMzcgMC40NSwwLjU1IDEuMTQsMS40NyAyLjMwOTk5OTcsMi45MiAzLjQ5OTk5OTcsNC4zNSAwLjI4LDAuMzQgMC41NywwLjY4IDAuODUsMS4wMyAxLjA3LDEuMjggMi4xNCwyLjU1IDMuMjMsMy44MSAwLjQ3LDAuNTQgMC45NSwxLjA5IDEuNDMsMS42MiAwLjkzLDEuMDYgMS44NSwyLjEyIDIuOCwzLjE2IDAuNTIsMC41NyAxLjA2LDEuMTUgMS41OSwxLjcyIDAuMjQsMC4yNyAwLjQ4LDAuNTIgMC43MywwLjc5IDAuNjksMC43NSAxLjM4LDEuNSAyLjA4LDIuMjQgMC4yOCwwLjI5IDAuNTgsMC41OCAwLjg2LDAuODggMS4yMywxLjI4IDIuNDgsMi41NyAzLjc0LDMuODMgbCAxMTEuNjcwMDAyLC0xMTEuNjUgYyAtMS4yOCwtMS4yOCAtMi40OCwtMi42IC0zLjY2LC0zLjkyIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTQ4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI4NS4yNTY4NywyNTAuNDc0NDIgYyAtMS4yMywwLjk5IC0yLjQ3LDEuOTYgLTMuNzMsMi44OSBsIDAuMjcsMC40NyA4MS40MiwxMzUuMTMgYyAzLjc3LC0yLjQ2IDcuNSwtNSAxMS4xNCwtNy42NyA3Ljg4LC01LjgxIDE1LjUsLTEyLjExIDIyLjg1LC0xOC44OSBsIC0xMTEuNTEsLTExMS40OSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1MCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAzNTEuMzg2ODcsMzkwLjA3NDQyIC0yLjc2LC00LjU5IC03NiwtMTI2LjEzIGMgLTEuNTQsMC45MiAtMy4xMSwxLjc2IC00LjY4LDIuNiAtMS41OSwwLjg2IC0zLjE4LDEuNjUgLTQuOCwyLjQyIC0xNC42LDYuOTIgLTMwLjQsMTAuNDYgLTQ2LjIzLDEwLjQ2IC0xMC4zNywwIC0yMC43MywtMS41IC0zMC43NSwtNC40OSAtMS43MSwtMC41MSAtMy4zOCwtMS4xOCAtNS4wNiwtMS43OCAtMS42OSwtMC41OSAtMy40LC0xLjExIC01LjA2LC0xLjc5IGwgLTU2LjA0LDEzNi4wOCAtMi4xOSw1LjMzIC0xLjg4LDQuNTcgLTAuMDEsMC4wMiBjIDAuMTQsMC4wNiAwLjI5LDAuMTEgMC40MywwLjE3IDAuMTYsMC4wNiAwLjMxLDAuMTEgMC40NiwwLjE4IGggMC4wMiBjIDAuMDQsMC4wMiAwLjA4LDAuMDMgMC4xMSwwLjA0IDEuMzIsMC41NSAyLjY1LDEuMDEgMy45OCwxLjUzIDEuNjcsMC42NSAzLjMzLDEuMzEgNSwxLjkyIDAuODYsMC4zMSAxLjcsMC42NyAyLjU1LDAuOTcgaCAwLjAxIGEgMjY3LjQyLDI2Ny40MiAwIDAgMCA1NC4xOSwxMi45NyBjIDAuNzMsMC4wOSAxLjQ0LDAuMTkgMi4xNywwLjI5IDAuNzUsMC4wOSAxLjUxLDAuMTYgMi4yNywwLjI1IDEuNDIsMC4xNiAyLjg0LDAuMzIgNC4yNywwLjQ2IGwgMS4wNiwwLjA5IGMgMS43NSwwLjE3IDMuNSwwLjMyIDUuMjQsMC40NCAwLjYsMC4wNSAxLjIsMC4wNyAxLjc5LDAuMTIgMS41MywwLjEgMy4wNiwwLjE5IDQuNTksMC4yNiAwLjk0LDAuMDYgMS44OCwwLjA4IDIuODIsMC4xMiAxLjIyLDAuMDQgMi40MywwLjA5IDMuNjUsMC4xMyAxLjc1LDAuMDQgMy41MiwwLjA1IDUuMjgsMC4wNiAwLjQyLDAgMC44MywwLjAxIDEuMjUsMC4wMiAxNC43NSwwIDI5LjUsLTEuMjMgNDQuMDksLTMuNjggMC4yNCwtMC4wNCAwLjQ5LC0wLjA4IDAuNzQsLTAuMTEgMS41NCwtMC4yNyAzLjA4LC0wLjU2IDQuNjIsLTAuODQgMC44OCwtMC4xNyAxLjc3LC0wLjM0IDIuNjMsLTAuNTEgMC45LC0wLjE5IDEuODEsLTAuMzcgMi43MSwtMC41NyAxLjUsLTAuMzEgMywtMC42NCA0LjUxLC0wLjk5IDAuMjcsLTAuMDYgMC41NCwtMC4xMSAwLjgxLC0wLjE5IDIyLjE4LC01LjE2IDQzLjYsLTEzLjE2IDYzLjcyLC0yMy43NSB2IC0wLjAxIGMgMS4zMiwtMC42OSAyLjYxLC0xLjQ4IDMuOTIsLTIuMiAxLjU2LC0wLjg1IDMuMTEsLTEuNzQgNC42NywtMi42MyAxLjA3LC0wLjYxIDIuMTYsLTEuMTggMy4yMywtMS44MiAwLjAxLC0wLjAxIDAuMDIsLTAuMDIgMC4wMywtMC4wMiBoIDAuMDEgYyAwLjAyLC0wLjAxIDAuMDMsLTAuMDIgMC4wNSwtMC4wMyBsIDAuMDIsLTAuMDIgLTAuMiwtMC4zMyAwLjIsMC4zMyBjIDAuMDEsMCAwLjAyLC0wLjAxIDAuMDMsLTAuMDEgMC4wMiwtMC4wMSAwLjAzLC0wLjAyIDAuMDUsLTAuMDMgMC4wNiwtMC4wNCAwLjEyLC0wLjA3IDAuMTgsLTAuMTEgMC4zNCwtMC4yMSAwLjY5LC0wLjQxIDEuMDQsLTAuNjIgeiBtIC0yMDIuNDcsLTMwNi4yMjAwMDcgYyAxLjIzLC0xIDIuNDgsLTEuOTYgMy43MywtMi45IGwgLTAuMjcsLTAuNDYgLTgxLjQyMDAwMiwtMTM1LjE0IGMgLTMuNzgsMi40NyAtNy41MSw1LjAyIC0xMS4xNiw3LjY5IC03Ljg3LDUuOCAtMTUuNSwxMi4wOSAtMjIuODMsMTguODYgbCAxMTEuNTEwMDAyLDExMS41IHoiDQogICAgIGZpbGw9IiM5M2Q1MDAiDQogICAgIGlkPSJwYXRoMTAzMTUyIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDI5LjIzNjg2OCwtMjAuNjY1NTg3IGMgLTEuMjcsMS4yNyAtMi40NywyLjU4IC0zLjcxLDMuODYgLTEuMjMsMS4yOSAtMi40OSwyLjU3IC0zLjcsMy44NyBhIDI2Ni4xNTYsMjY2LjE1NiAwIDAgMCAtMjIuNTU5OTk5NzQsMjcuOTYgYyAtMC4zMjk5OTk5NiwwLjQ1IC0wLjY0OTk5OTk2LDAuOTMgLTAuOTc5OTk5OTYsMS4zOSAtMC43NiwxLjEyIC0xLjUyLDIuMjMgLTIuMjYsMy4zNSAtMC43OCwxLjE2IC0xLjU1LDIuMzQgLTIuMywzLjUxIC0wLjI4LDAuNDMgLTAuNTYsMC44NyAtMC44MywxLjMgLTI1LjY1MDAwMDMsNDAuMjMgLTM5LjM5MDAwMDMsODUuODU5OTk3IC00MS4yNDAwMDAzLDEzMS44NzAwMDcgLTAuMDcsMS43OSAtMC4xMSwzLjU4IC0wLjE1LDUuMzYgLTAuMDMsMS43OCAtMC4wOSwzLjU3IC0wLjA5LDUuMzUgSCAxMDkuMzQ2ODcgYyAwLC0xLjc4IDAuMTYsLTMuNTYgMC4yNiwtNS4zNSAwLjA5LC0xLjc5IDAuMTEsLTMuNTggMC4yOSwtNS4zNiAyLjA0LC0yMC41NiA5Ljk4LC00MC42NCAyMy44MiwtNTcuNTAwMDA3IDEuMTIsLTEuMzcgMi4zOSwtMi42NiAzLjYsLTMuOTggMS4xOSwtMS4zMyAyLjMxLC0yLjcgMy41OSwtMy45OCB6IG0gMzI1Ljg1MDAwMiwtMzkuMiBjIC0wLjIxLC0wLjEzIC0wLjQ0LC0wLjI2IC0wLjY1LC0wLjM5IC0xLjM5LC0wLjg1IC0yLjc5LC0xLjY3IC00LjIsLTIuNDkgLTAuODEsLTAuNDcgLTEuNjMsLTAuOTMgLTIuNDQsLTEuMzkgLTAuODMsLTAuNDYgLTEuNjQsLTAuOTIgLTIuNDcsLTEuMzcgYSA5MDEuNCw5MDEuNCAwIDAgMCAtNC4yOSwtMi4zMiBjIC0wLjIzLC0wLjExIC0wLjQ1LC0wLjIzIC0wLjY4LC0wLjM1IC05LjI2LC00Ljg0IC0xOC43NywtOS4xIC0yOC40OCwtMTIuOCAtMC4yNSwtMC4xIC0wLjUsLTAuMiAtMC43NSwtMC4yOSAtMi4xMiwtMC43OSAtNC4yNCwtMS41OCAtNi4zOCwtMi4zMiBhIDI2Ny4wODQsMjY3LjA4NCAwIDAgMCAtNTMuMjEsLTEyLjYyOTk5NyBsIC0yLjIyLC0wLjMgYyAtMC43NSwtMC4wOSAtMS40OSwtMC4xNiAtMi4yMywtMC4yNCAtMS40MywtMC4xNyAtMi44NSwtMC4zMyAtNC4yOSwtMC40NyAtMC4zOSwtMC4wNCAtMC43OSwtMC4wNiAtMS4yLC0wLjExIC0xLjY5LC0wLjE1IC0zLjQsLTAuMyAtNS4xLC0wLjQzIGwgLTEuOTksLTAuMTIgYyAtMS40NSwtMC4wOSAtMi45MywtMC4yIC00LjM4LC0wLjI2IC0wLjc4LC0wLjA0IC0xLjU2LC0wLjA3IC0yLjMzLC0wLjA5IFYgNjAuMDU0NDEzIGMgOC4xMiwwLjg0IDE2LjE3LDIuNTcgMjMuOTgsNS4yMiBsIDExNi41MSwtMTE2LjQ5IGMgLTQuMzMsLTMgLTguNywtNS45MiAtMTMuMiwtOC42NSB6Ig0KICAgICBmaWxsPSIjNGQ1YTMxIg0KICAgICBpZD0icGF0aDEwMzE1NCIgLz4NCiAgPHBhdGgNCiAgICAgZD0ibSAyMTEuNzM2ODcsLTk4LjM2NTU4NCBjIC0xLjc5LDAuMDQgLTMuNTgsMC4wNCAtNS4zNiwwLjExIC0xMS4xNywwLjQ1IC0yMi4zMiwxLjU5IC0zMy4zOCwzLjQ1IC0wLjI0LDAuMDQgLTAuNDgsMC4wOCAtMC43MywwLjEyIC0xLjU1LDAuMjcgLTMuMDksMC41NSAtNC42MywwLjg0IC0wLjg3LDAuMTcgLTEuNzUsMC4zMyAtMi42MywwLjUgLTAuOTEsMC4xOCAtMS44MSwwLjM3IC0yLjcyLDAuNTcgLTEuNSwwLjMxIC0zLDAuNjQgLTQuNDksMC45OSAtMC4yOCwwLjA1IC0wLjU1LDAuMTIgLTAuODIsMC4xOCBhIDI2Ny40NjUsMjY3LjQ2NSAwIDAgMCAtNjMuNzMwMDAyLDIzLjc1OTk5NyBjIC0xLjMxLDAuNyAtMi41OSwxLjQ5IC0zLjksMi4yIC0xLjU2LDAuODYgLTMuMTIsMS43NCAtNC42NywyLjYzIC0xLjE1LDAuNjcgLTIuMzIsMS4yOCAtMy40NywxLjk2IC0wLjAxLDAuMDEgLTAuMDMsMC4wMiAtMC4wNCwwLjAyIC0wLjA4LDAuMDUgLTAuMTYsMC4xIC0wLjI0LDAuMTQgLTAuMywwLjE5IC0wLjYxLDAuMzQgLTAuOTEsMC41MiBsIDAuMDEsMC4wMiAyLjc3LDQuNTkgNzguNzUwMDAyLDEzMC43MyBjIDEuNTQsLTAuOTIgMy4xMSwtMS43NyA0LjY4LC0yLjYxIDEuNTgsLTAuODUgMy4xOCwtMS42NSA0Ljc5LC0yLjQxIGEgMTA3LjI1LDEwNy4yNSAwIDAgMSAzNS4zNiwtOS45MSBjIDEuNzgsLTAuMTggMy41NiwtMC4zMyA1LjM1LC0wLjQyIDEuNzgsLTAuMDkgMy41NywtMC4xOCA1LjM2LC0wLjE4IFYgLTk4LjQ3NTU4NCBjIC0xLjc5LDAgLTMuNTcsMC4wOCAtNS4zNSwwLjExIHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTU2IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDQ4Mi40MjY4NywxNTQuMTA0NDIgYyAtMC4wOCwtMS40MiAtMC4xNiwtMi44MyAtMC4yNiwtNC4yNiBhIDc1LjQsNzUuNCAwIDAgMCAtMC4xNCwtMi4xMiBjIC0wLjExLC0xLjY3IC0wLjI1LC0zLjM0IC0wLjQxLC01LjAxIC0wLjAzLC0wLjQzIC0wLjA3LC0wLjg2IC0wLjExLC0xLjI5IC0wLjE4LC0xLjg3IC0wLjM4LC0zLjczIC0wLjYsLTUuNTkgLTAuMDIsLTAuMTUgLTAuMDMsLTAuMyAtMC4wNSwtMC40NSBsIC0wLjAzLC0wLjIxIGMgLTAuMjQsLTIuMDEgLTAuNTEsLTQuMDIgLTAuNzksLTYuMDIgbCAtMC4wMywtMC4xOSBhIDI2Ni40NTQsMjY2LjQ1NCAwIDAgMCAtOC4xNiwtMzcuMzMwMDA3IGMgLTAuMDMsLTAuMDkgLTAuMDUsLTAuMTYgLTAuMDgsLTAuMjQgLTAuNTcsLTEuOTEgLTEuMTYsLTMuOCAtMS43NSwtNS42OSAtMC4wOSwtMC4yNSAtMC4xNywtMC41IC0wLjI1LC0wLjc1IC0wLjU2LC0xLjcxIC0xLjEzLC0zLjQxIC0xLjcyLC01LjExIGwgLTAuNDgsLTEuMzggYyAtMC41MiwtMS40NyAtMS4wNiwtMi45NCAtMS42LC00LjQxIC0wLjI3LC0wLjcgLTAuNTMsLTEuNCAtMC44MSwtMi4wOSAtMC40NiwtMS4yMiAtMC45MywtMi40MyAtMS40MiwtMy42MyAtMC4zOCwtMC45NyAtMC43NywtMS45MiAtMS4xNiwtMi44NiAtMC4zOSwtMC45NSAtMC43OSwtMS44OCAtMS4xOCwtMi44MiAtMC41MiwtMS4yIC0xLjA1LC0yLjQgLTEuNTgsLTMuNTkgLTAuMywtMC42NyAtMC42LC0xLjM1IC0wLjkxLC0yLjAzIC0wLjY1LC0xLjQyIC0xLjMyLC0yLjg1IC0xLjk5LC00LjI3IC0wLjIxLC0wLjQyIC0wLjQyLC0wLjg2IC0wLjYzLC0xLjI5IC0wLjc4LC0xLjYyIC0xLjU4LC0zLjI1IC0yLjQsLTQuODUgLTAuMTEsLTAuMjIgLTAuMjMsLTAuNDUgLTAuMzQsLTAuNjcgLTAuOTEsLTEuNzcgLTEuODUsLTMuNTUgLTIuNzksLTUuMyAtMC4wNCwtMC4wNiAtMC4wNywtMC4xMyAtMC4xMSwtMC4xOSBhIDI2Ni45OSwyNjYuOTkgMCAwIDAgLTE1LjExLC0yNC41MiBsIC0xMTYuNTQsMTE2LjU0MDAwNyBjIDIuNjUsNy44MSA0LjM3LDE1Ljg2IDUuMjEsMjMuOTcgaCAxNTguMzIgYyAtMC4wNCwtMC43OSAtMC4wNiwtMS41OCAtMC4xLC0yLjM1IHoiDQogICAgIGZpbGw9IiM0ZDVhMzEiDQogICAgIGlkPSJwYXRoMTAzMTU4IiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDMyNC44MjY4NywxNjcuMTU0NDIgYyAwLDEuNzkgLTAuMTcsMy41NyAtMC4yNiw1LjM2IC0wLjA5LDEuNzkgLTAuMTIsMy41OCAtMC4zLDUuMzUgLTIuMDQsMjAuNTcgLTkuOTcsNDAuNjUgLTIzLjgxLDU3LjUyIC0xLjEyLDEuMzcgLTIuMzksMi42NSAtMy42LDMuOTggLTEuMiwxLjMyIC0yLjMxLDIuNjkgLTMuNTksMy45NyBsIDExMS42NywxMTEuNjUgYyAxLjI3LC0xLjI3IDIuNDYsLTIuNTggMy43LC0zLjg3IDEuMjQsLTEuMjkgMi41LC0yLjU2IDMuNywtMy44NyA4LjI2LC04Ljk1IDE1LjgyLC0xOC4zMSAyMi42MiwtMjguMDQgMC4yOCwtMC4zOSAwLjUzLC0wLjc3IDAuOCwtMS4xNSAwLjgzLC0xLjE5IDEuNjMsLTIuNCAyLjQ1LC0zLjYgMC43MSwtMS4wOCAxLjQyLC0yLjE1IDIuMTEsLTMuMjQgMC4zNSwtMC41MiAwLjY5LC0xLjA2IDEuMDIsLTEuNTggMjUuNjEsLTQwLjIxIDM5LjMyLC04NS43OSA0MS4xNiwtMTMxLjc3IDAuMDcsLTEuNzggMC4xMSwtMy41NyAwLjE0LC01LjM2IDAuMDQsLTEuNzggMC4wOSwtMy41NiAwLjA5LC01LjM1IHoiDQogICAgIGZpbGw9IiM2YmE0M2EiDQogICAgIGlkPSJwYXRoMTAzMTYwIiAvPg0KICA8cGF0aA0KICAgICBkPSJtIDUyOS42NDY4NywtMTQ1LjM3NTU4IGMgLTI4Ljg5LC0yOC44OSAtNzUuNzMsLTI4Ljg5IC0xMDQuNjIsMCAtMjMuMDUsMjMuMDQgLTI3LjY2LDU3LjQ4OTk5NiAtMTMuOTMsODUuMTQ5OTkzIGwgLTE2MS4xNiwxNjEuMTQ5OTk3IGMgLTI3LjY2LC0xMy43MTk5OTcgLTYyLjEyLC05LjExOTk5NyAtODUuMTcsMTMuOTIwMDEgLTI4Ljg5LDI4Ljg5IC0yOC44OCw3NS43MyAwLDEwNC42MiAyOC45LDI4Ljg5IDc1Ljc1LDI4Ljg4IDEwNC42NCwwIDIzLjA1LC0yMy4wNSAyNy42NSwtNTcuNSAxMy45MiwtODUuMTYgbCAxNjEuMTYsLTE2MS4xNDAwMDcgYyAyNy42NywxMy43MiA2Mi4xMSw5LjEyIDg1LjE2LC0xMy45MyAyOC44OSwtMjguODggMjguODksLTc1LjcxOTk5MyAwLC0xMDQuNjA5OTkzIHoiDQogICAgIGZpbGw9IiM0MjQxNDMiDQogICAgIGlkPSJwYXRoMTAzMTYyIiAvPg0KPC9zdmc+DQo=\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQyNiA0MjAiIHdpZHRoPSI0MjYuMHB0IiBoZWlnaHQ9IjQyMC4wcHQiPg0KDQo8cGF0aCBkPSJNIDE1Ny42NCA2LjEwIEMgMTYwLjIxIDYuNDIgMTYxLjQwIDguMjEgMTYzLjEyIDkuOTEgQyAxNjkuNjkgMTYuOTkgMTc2LjcyIDIzLjYyIDE4My4zNSAzMC42NCBDIDE5MS4xMyAzOS40OCAyMDAuMDQgNDcuMjAgMjA3LjgwIDU2LjA3IEMgMjAzLjU0IDYxLjA4IDE5OC42NCA2NS4zNSAxOTQuMDkgNzAuMDkgQyAxODEuNTYgODIuOTAgMTY4LjUxIDk1LjE3IDE1Ni4wNiAxMDguMDYgQyAxNTQuMTcgMTEwLjA0IDE1Mi4wOCAxMTEuNzUgMTQ5LjgyIDExMy4yOSBDIDE0OC45OCAxMDUuODQgMTUwLjk0IDk4LjY4IDE1MC40MyA5MS4yMiBDIDE0NS42MCA5Mi40MyAxNDEuMTQgOTQuNDUgMTM2Ljc2IDk2Ljc3IEMgMTEzLjY0IDEwOC40MiA5Mi4xNCAxMjcuMTggODAuNzEgMTUwLjczIEMgNzMuODMgMTY0LjE1IDcwLjI5IDE3OC45NyA2OS41OCAxOTQuMDAgQyA2OS42MCAyMDAuMzMgNjkuMzQgMjA2LjcyIDY5Ljg1IDIxMy4wMyBDIDcwLjk2IDIyMi44MyA3Mi4zNyAyMzIuNTMgNzUuMjMgMjQxLjk5IEMgNzUuODggMjQ0LjY4IDc3LjE4IDI0OC4xMyA3Ni4zNiAyNTAuODUgQyA3NC4zMyAyNTIuNDYgNzEuNTAgMjUzLjIzIDY5LjA5IDI1NC4xNiBDIDU1LjIyIDI1OS4xMyA0MS43MSAyNjUuMTYgMjcuNzcgMjY5LjkxIEMgMjUuMzMgMjYzLjI1IDIzLjkzIDI1Ni4zOSAyMi40NCAyNDkuNDggQyAyMC43MSAyNDAuNzggMTguNjcgMjMxLjgyIDE4LjI5IDIyMy4wMCBDIDE3LjIwIDIxMy42MSAxNy40OCAyMDQuNDQgMTcuNDYgMTk1LjAwIEMgMTcuMzYgMTgyLjg2IDE5LjE3IDE3MC43OSAyMS45MCAxNTguOTggQyAyOS4wNiAxMjguMDUgNDYuMTQgOTkuODkgNjkuNzcgNzguNzYgQyA4MC41NCA2OS4yOSA5Mi4yMSA2MC41NyAxMDQuODUgNTMuNzUgQyAxMjAuOTcgNDQuNjggMTM4LjM2IDM3LjQ1IDE1Ni4zMyAzMy4wMCBDIDE1Ni45OCAyMy44NSAxNTUuOTQgMTQuOTIgMTU3LjY0IDYuMTAgWiIgZmlsbD0iI2EyNDM0MiIgLz4NCjxwYXRoIGQ9Ik0gMTYxLjg2IDE1LjMxIEMgMTY4Ljc4IDIwLjc2IDE3NC4yNyAyOC4yNiAxODAuNjEgMzQuMzkgQyAxODYuODkgNDAuNDYgMTkyLjY0IDQ3LjAzIDE5OS4wNCA1Mi45OCBDIDIwMC4wMiA1NC4xMyAyMDIuMjAgNTUuNjcgMjAxLjMyIDU3LjM5IEMgMTk4Ljg4IDYwLjQ3IDE5NS4yNiA2Mi42NyAxOTIuNDkgNjUuNDkgQyAxODQuMTUgNzMuODIgMTc1Ljg3IDgyLjIwIDE2Ny40OCA5MC40OSBDIDE2My4xOSA5NC42NSAxNTkuMzkgOTkuMTMgMTU0LjY0IDEwMi44MSBDIDE1NC4yNSA5Ni45NyAxNTQuODkgOTEuMjMgMTU1LjMxIDg1LjQxIEMgMTQ4Ljg0IDg2LjA5IDE0My42MyA4OC45OSAxMzcuODIgOTEuNjQgQyAxMzEuMjYgOTQuODggMTI0LjQ5IDk4LjI1IDExOC41NyAxMDIuNTYgQyAxMTMuMDkgMTA2LjU1IDEwNy43MCAxMTAuMDYgMTAyLjkzIDExNC45MiBDIDk3LjA2IDEyMS4wMCA5MC45NSAxMjYuMjIgODYuMjcgMTMzLjM1IEMgNzIuMjQgMTUyLjg5IDY0LjgzIDE3Ni45NiA2NS40MyAyMDEuMDAgQyA2NS4wOCAyMTMuODAgNjcuMDkgMjI2LjI1IDcwLjE5IDIzOC42MyBDIDcxLjA0IDI0MS45MSA3MS41MSAyNDUuMjMgNzEuNzkgMjQ4LjU5IEMgNTkuNjAgMjUzLjQ4IDQ3LjI2IDI1Ny45MiAzNS4xMCAyNjIuODggQyAzMy44MSAyNjMuMzMgMzAuMjIgMjY0LjQ5IDI5Ljc4IDI2Mi40NSBDIDI1Ljc3IDI0OC4xNyAyMy41OCAyMzMuODUgMjIuMTQgMjE5LjEzIEMgMjEuMDcgMjExLjI3IDIxLjU2IDIwMi45OSAyMS40NCAxOTUuMDAgQyAyMS4zMiAxODcuMjUgMjIuNDcgMTc5LjkzIDIzLjUxIDE3Mi4yMSBDIDI2LjEwIDE1NC4yNCAzMi4zMSAxMzYuNzYgNDEuMTAgMTIwLjkwIEMgNDYuOTQgMTExLjA5IDUzLjYwIDEwMS42NSA2MS4xOSA5My4xMSBDIDc1LjQ5IDc3LjI3IDkzLjEzIDY1LjE3IDExMS42MyA1NC43NCBDIDExOC4yMSA1MS4xNyAxMjUuMTcgNDguMjYgMTMyLjA1IDQ1LjMwIEMgMTQxLjIyIDQxLjQ3IDE1MC43NiAzOC45OSAxNjAuMjIgMzYuMDQgQyAxNjEuMDggMjkuMTYgMTYwLjY2IDIyLjEwIDE2MS44NiAxNS4zMSBaIiBmaWxsPSIjZTdiYWI4IiAvPg0KPHBhdGggZD0iTSAyNDQuODAgMjguNTYgQyAyNDcuNDMgMjguMTAgMjUwLjA5IDI4LjY2IDI1Mi42NCAyOS4zMCBDIDI2My4wOCAzMi4xNiAyNzMuNDEgMzUuMzYgMjgzLjQ2IDM5LjM5IEMgMzAzLjQwIDQ3LjAxIDMyMi4yMiA1Ny43NiAzMzguNzkgNzEuMjMgQyAzNDUuNDggNzYuODEgMzUxLjY4IDgzLjAyIDM1Ny41MCA4OS41MCBDIDM3Mi43NCAxMDcuMDQgMzgzLjgzIDEyNy45NiAzODkuODcgMTUwLjM5IEMgMzkyLjQwIDE1OC43OCAzOTMuNzUgMTY3LjM4IDM5NS4wNyAxNzYuMDEgQyAzOTUuOTcgMTgyLjU3IDM5NS4zNyAxODkuMzcgMzk1Ljk3IDE5NS45MCBDIDM5Ni44OCAyMDMuNTYgMzk2LjYxIDIxMS4xMyAzOTUuNjggMjE4Ljc3IEMgMzk1LjQ2IDIyNS40OCAzOTQuNDIgMjMyLjA1IDM5My4zNiAyMzguNjYgQyAzOTIuNTkgMjQ0LjU2IDM5MC42MCAyNTAuMDkgMzkwLjI0IDI1Ni4wNSBDIDM5Ny40MyAyNjAuNDUgNDA0Ljc2IDI2NC41OSA0MTEuOTAgMjY5LjA3IEMgNDExLjc3IDI2OS44MyA0MTEuNjQgMjcwLjU4IDQxMS41MSAyNzEuMzQgQyA0MDYuMTcgMjcyLjY4IDQwMC44NSAyNzQuMDggMzk1LjU1IDI3NS41NyBDIDM4Mi44NCAyNzkuMzUgMzY5Ljk2IDI4Mi41MSAzNTcuMjIgMjg2LjE3IEMgMzUzLjI2IDI4Ny4yMiAzNDkuMjcgMjg4LjY4IDM0NS4yMSAyODkuMjcgQyAzNDMuNzYgMjg4LjU2IDM0My41OCAyODcuNDIgMzQzLjEwIDI4Ni4wMSBDIDMzNy45OSAyNjYuODcgMzMyLjM0IDI0Ny45MCAzMjcuMTUgMjI4Ljc3IEMgMzI1LjU0IDIyMi42MyAzMjIuODEgMjE3LjY0IDMyMy40NSAyMTEuMTEgQyAzMzAuMDEgMjE0LjMyIDMzNS4zNCAyMTkuOTQgMzQyLjIzIDIyMi4wMyBDIDM0Mi43NSAyMTcuMzUgMzQzLjUyIDIxMi43NCAzNDMuNDggMjA4LjAwIEMgMzQzLjU0IDIwMC4xMiAzNDMuODEgMTkxLjkwIDM0Mi41MCAxODQuMTcgQyAzNDEuMDUgMTc1LjA3IDMzOS40MiAxNjUuNTEgMzM2LjE0IDE1Ni44OCBDIDMzMi4zMiAxNDYuMjEgMzI2Ljg3IDEzNi4wMyAzMTkuOTYgMTI3LjA0IEMgMzA2LjQ3IDEwOS41NiAyODguMDggOTcuNTYgMjY3LjY2IDg5LjYwIEMgMjU5LjM0IDg2LjQ2IDI1MS4wMyA4My41OCAyNDIuMTkgODIuMjcgQyAyMzkuODEgODEuODEgMjM4LjA1IDgwLjgyIDIzOC40MSA3OC4wNSBDIDIzOS4wMyA2OC4yMSAyNDEuODYgNTguNzAgMjQxLjU1IDQ4LjcwIEMgMjQxLjg1IDQ4LjkyIDI0Mi4xNSA0OS4xNCAyNDIuNDUgNDkuMzYgQyAyNDIuOTkgNDIuNDAgMjQ0LjAxIDM1LjQ4IDI0NC44MCAyOC41NiBaIiBmaWxsPSIjNWI3MDM2IiAvPg0KPHBhdGggZD0iTSAyNTMuMzEgMzMuODIgQyAyNzMuMzkgMzkuMzcgMjkyLjgzIDQ2Ljg4IDMxMC45OCA1Ny4xNSBDIDMyMS4zNiA2My42NyAzMzIuMTQgNzAuNTQgMzQxLjA3IDc4LjkxIEMgMzQ1LjMwIDgyLjQyIDM0OS4yMiA4Ni4wNiAzNTIuNjEgOTAuNDIgQyAzNjEuNjMgMTAwLjQwIDM2OS4zNSAxMTEuNjkgMzc1LjE3IDEyMy44MyBDIDM4NC4yMCAxNDEuMjMgMzg5LjA5IDE2MS4xMSAzOTEuMzMgMTgwLjUxIEMgMzkzLjA4IDE5MC4wOCAzOTIuMjUgMTk5LjM0IDM5Mi40NiAyMDkuMDAgQyAzOTIuNjQgMjE1Ljc5IDM5MS4yMiAyMjIuMjEgMzkwLjUwIDIyOC45MSBDIDM4OS42MyAyMzcuMDkgMzg3LjkwIDI0NS4xMCAzODUuODQgMjUzLjA1IEMgMzg1LjY1IDI1NC40OSAzODQuNzAgMjU2Ljg0IDM4Ni4wMyAyNTcuOTUgQyAzODkuOTQgMjYxLjcyIDM5NS43NyAyNjQuMTMgNDAwLjQwIDI2Ni44NiBDIDQwMS4zMyAyNjcuMzcgNDAxLjQzIDI2OS4wMCA0MDEuODUgMjY5LjkyIEMgMzg5LjY2IDI3Mi40NSAzNzcuNzggMjc2LjQ1IDM2NS43MSAyNzkuNDkgQyAzNTkuMjIgMjgxLjA0IDM1My41MiAyODMuNjkgMzQ2LjcyIDI4My43NCBDIDM0NC4wNiAyNzMuMTkgMzQwLjkxIDI2Mi43NiAzMzguMDcgMjUyLjI1IEMgMzM1LjE3IDI0MS40OSAzMzEuNjcgMjMxLjA3IDMyOS4yMCAyMjAuMjMgQyAzMzQuNDMgMjIyLjg3IDMzOS4xNiAyMjYuMzIgMzQ0LjM5IDIyOC45NiBDIDM0Ni45MCAyMjMuNDMgMzQ2LjU4IDIxNy44NyAzNDcuMzEgMjEyLjAwIEMgMzQ4LjE4IDIwMy40NiAzNDcuOTQgMTk1LjAxIDM0Ni44NCAxODYuNTEgQyAzNDUuMTYgMTY2LjU5IDMzOC43NCAxNDcuMTggMzI3LjU2IDEzMC41NiBDIDMyMC4xMiAxMTguNzMgMzEwLjAzIDEwOS40NSAyOTguOTQgMTAxLjEwIEMgMjg1LjQ1IDkyLjEzIDI3MC40OCA4NS4yOCAyNTQuODcgODAuOTcgQyAyNTAuNjcgNzkuODcgMjQ2LjUzIDc4LjY1IDI0Mi40MCA3Ny4yOSBDIDI0NC41NCA2My4xOSAyNDYuMjYgNDkuMDYgMjQ4LjMyIDM0Ljk2IEMgMjQ4LjU1IDMyLjE5IDI1MS42MiAzMy42MSAyNTMuMzEgMzMuODIgWiIgZmlsbD0iI2MzZDg5YyIgLz4NCjxwYXRoIGQ9Ik0gNzQuOTUgMjkwLjMzIEMgODAuMTUgMjkxLjI5IDg0Ljk5IDI5My4yMSA5MC4yMCAyOTQuNTUgQyA5OS40NCAyOTYuOTEgMTA4LjQyIDMwMC4xNSAxMTcuNjYgMzAyLjUzIEMgMTI0LjcxIDMwNC44MCAxMzEuOTAgMzA2LjU1IDEzOC45NiAzMDguNzggQyAxNDMuNjMgMzEwLjMxIDE0OC4xNyAzMTAuNzMgMTUyLjE5IDMxMy44NCBDIDE0Ni4yOCAzMTcuMzcgMTM5LjkwIDMxOS44MSAxMzMuODEgMzIzLjA1IEMgMTM2LjA3IDMyNy41MSAxMzkuOTEgMzI5LjQxIDE0My43NyAzMzIuMjMgQyAxNTUuNDAgMzQwLjM4IDE2OC4zNSAzNDYuNzggMTgxLjg4IDM1MS4wNiBDIDE5MC41OCAzNTMuNDMgMTk5Ljk0IDM1NS44MyAyMDkuMDAgMzU1LjU5IEMgMjE1LjY1IDM1NS41MiAyMjIuNDEgMzU1Ljg2IDIyOS4wMiAzNTUuMTAgQyAyNDMuODIgMzUyLjk3IDI1OC4yMSAzNDcuNjMgMjcxLjAwIDMzOS45MiBDIDI4NC41NSAzMzEuOTAgMjk2LjQ3IDMyMS43NyAzMDcuMjkgMzEwLjM4IEMgMzA5LjMzIDMxMS43NyAzMTEuMzUgMzEzLjE2IDMxMy4yNCAzMTQuNzUgQyAzMTkuMTMgMzE5Ljg1IDMyNS4yMSAzMjQuNzMgMzMxLjEwIDMyOS44MyBDIDMzNi44OSAzMzQuODIgMzQzLjIyIDMzOS4zNCAzNDguNTIgMzQ0Ljg0IEMgMzQ0LjE0IDM0OS43MSAzMzkuMjYgMzU0LjAxIDMzNC4zNSAzNTguMzIgQyAzMTYuMTggMzc0LjAwIDI5NS40NiAzODguMjkgMjczLjA0IDM5Ny4xMiBDIDI2Ny43NCAzOTkuMjkgMjYyLjUyIDQwMS41MiAyNTYuOTQgNDAyLjkyIEMgMjQ1LjA3IDQwNi4wMyAyMzIuMzEgNDA5LjA1IDIyMC4wMCA0MDguNzMgQyAyMTAuMDEgNDA4LjY1IDE5OS40OCA0MDkuMzIgMTg5LjcwIDQwNy40MCBDIDE2OS41MiA0MDQuNTQgMTUxLjAwIDM5Ny4zMCAxMzMuMDEgMzg3Ljk0IEMgMTE3LjUyIDM3OS40MyAxMDMuMTUgMzY4Ljc3IDg5Ljk3IDM1Ny4wMiBDIDg2LjM3IDM1My45MiA4My4yNCAzNDkuNTggNzkuMDYgMzQ3LjM0IEMgNzAuNzggMzUwLjI2IDYzLjQyIDM1NS42NyA1NS4wMiAzNTguNDYgQyA1NS43MCAzNTEuMjUgNTguMzkgMzQ1LjI0IDYwLjI3IDMzOC4yNSBDIDYzLjI3IDMyOC41NyA2NS44OSAzMTguNzkgNjguOTggMzA5LjE0IEMgNzAuOTcgMzAyLjc2IDcyLjE2IDI5Ni40NiA3NC45NSAyOTAuMzMgWiIgZmlsbD0iIzNjNjU5NCIgLz4NCjxwYXRoIGQ9Ik0gOTIuODMgMzAwLjA4IEMgMTAyLjY1IDMwMi45MCAxMTIuNDMgMzA1Ljg1IDEyMi4yNSAzMDguNjUgQyAxMjguMzAgMzEwLjQxIDEzNC4zNiAzMTIuMDMgMTQwLjI4IDMxNC4yMiBDIDEzNS4zNyAzMTcuMzggMTI5LjkwIDMxOS4zOCAxMjQuOTEgMzIyLjQyIEMgMTI3LjA0IDMyNC44NiAxMjkuMjYgMzI3LjE5IDEzMS44NiAzMjkuMTQgQyAxNDcuNzggMzQxLjgwIDE2NS41MSAzNTEuNjEgMTg1LjMwIDM1Ni42OSBDIDE5OS45NCAzNjAuODAgMjE1LjY5IDM2MS4yNyAyMzAuNzQgMzU5LjQyIEMgMjU4LjA0IDM1NS4xNCAyODIuMzAgMzQxLjAyIDMwMi4wMiAzMjIuMDIgQyAzMDMuODEgMzIwLjM3IDMwNS43MCAzMTguMTggMzA3Ljk5IDMxNy4yNSBDIDMxMC41MiAzMTguMzEgMzEyLjgwIDMyMC4zNyAzMTQuODcgMzIyLjE0IEMgMzE4Ljk1IDMyNS43NCAzMjMuMjEgMzI5LjEyIDMyNy4zMyAzMzIuNjggQyAzMzIuMDYgMzM2LjgzIDMzNy4xOSAzNDAuMzggMzQxLjU0IDM0NC45NyBDIDMzNy4yOCAzNDkuOTkgMzMyLjE4IDM1My45NiAzMjcuMjEgMzU4LjIzIEMgMzE3Ljc2IDM2Ni4yOCAzMDcuNTggMzczLjQ5IDI5Ni45OSAzNzkuOTcgQyAyNzEuNjQgMzk1LjE1IDI0MS4xMiA0MDUuNjQgMjExLjMzIDQwNC40OSBDIDE5MC4xOCA0MDQuOTcgMTY4LjY1IDM5OS4wNyAxNDkuMzMgMzkwLjc1IEMgMTI0LjI4IDM3OS41NCAxMDEuNDggMzYzLjIzIDgyLjY4IDM0My4yNiBDIDgxLjU4IDM0Mi40NCA4MC45MyAzNDEuMjIgNzkuNDAgMzQxLjc1IEMgNzMuMzQgMzQzLjYzIDY4Ljc4IDM0OC4wMiA2Mi4zMSAzNDkuMDYgQyA2Mi44NiAzNDUuODkgNjMuNjAgMzQyLjc4IDY0LjU4IDMzOS43MSBDIDY5LjE5IDMyNS4zOSA3My4wNSAzMTAuNzYgNzcuNjIgMjk2LjM4IEMgODMuMDYgMjk2LjcxIDg3LjY1IDI5OC42NSA5Mi44MyAzMDAuMDggWiIgZmlsbD0iIzRjODFiZiIgLz4NCjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnDQogICB2ZXJzaW9uPSIxLjEiDQogICB4PSIwcHgiDQogICB5PSIwcHgiDQogICB2aWV3Qm94PSIwIDAgMzAwIDMwMCINCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiDQogICBpZD0ic3ZnNjc2NDYiDQogICB3aWR0aD0iMzAwIg0KICAgaGVpZ2h0PSIzMDAiDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcw0KICAgICBpZD0iZGVmczY3NjUwIiAvPjxwYXRoDQogICAgIGZpbGw9IiNiYWI5YmIiDQogICAgIGQ9Im0gMjAuNjA1MDEyLDE4MC42NjkwMiBjIC0zLjA0OTg4Myw0NC43MzcyOSAzMS44MDgzNyw4My42Nzg2NiA3Ny43MDU1MjQsODYuODA3NjMgMTUuMTcwNDY0LDEuMDM0MjEgMjkuNjMzMjI0LC0yLjAzODkxIDQyLjM2NjYyNCwtOC4xMzkzOCAxMS43ODc2NSw3Ljc3MjAyIDI1LjY5OTUzLDEyLjc3OTY1IDQwLjg2OTk5LDEzLjgxMzg3IDQ1Ljg5NzE1LDMuMTI4OTYgODUuNzE3ODcsLTMwLjcyMTMyIDg4Ljc2Nzc1LC03NS40NTg2IDIuMDYzNjYsLTMwLjI3MDk5IC0xMy4yNjI5MSwtNTcuODQ0ODcgLTM3LjU4NjQ5LC03My41MDg4NyAwLjY5Nzk0LC0zLjQyMDI1IDEuMjU1NjUsLTYuODkxNjcgMS40OTkwMiwtMTAuNDYxNTMgQyAyMzcuMjc3MzEsNjguOTg0ODYxIDIwMi40MTkwNSwzMC4wNDM0NDkgMTU2LjUyMTksMjYuOTE0NDk1IDExMC42MjQ3NSwyMy43ODU1NDEgNzAuODA0MDUyLDU3LjYzNTg1IDY3Ljc1NDE3LDEwMi4zNzMxMiBjIC0wLjI0MzM0NCwzLjU2OTUgLTAuMTYxOTIzLDcuMDg0NTQgMC4wNjUzNSwxMC41NjgxNyAtMjYuMjI0NDk4LDEyLjIxOTg2IC00NS4xNTEzMzksMzcuNDU2NyAtNDcuMjE1MDA5LDY3LjcyNzcgeiBtIDI0MS4zODYyMDgsMTYuNDU2MDYgYyAtMi43NDQ4MSw0MC4yNjI0MyAtMzguNTg0NjcsNzAuNzI4NzUgLTc5Ljg5MDk3LDY3LjkxMjc3IC0xMi4xNTMwMSwtMC44Mjg1IC0yMy40MDQxOSwtNC41MDQ4MSAtMzMuMjI0MTYsLTEwLjIyODc4IDIxLjQ0ODM4LC0xMy40MDQzMiAzNi4zODQzMSwtMzYuMTI2MDUgMzguMjAyMDksLTYyLjc5MDEgMC4yNDMzNSwtMy41Njk0OCAwLjE2MTksLTcuMDg0NTUgLTAuMDY1MywtMTAuNTY4MTggMjAuNTM3MjIsLTkuNTcxMTkgMzYuNTI0MDcsLTI3LjE0Mjk2IDQzLjUwNzUxLC00OC44NjA0NyAyMC41MDE4NiwxNC4zMzAzMSAzMy4yNTk3OSwzOC4yOTAyOCAzMS40NzA1Niw2NC41MzU2OCB6IE0gMTEyLjk2NjM1LDE4MC4yNzc1NiBjIDkuODIyMDIsNC45NTc5NiAyMC43OTE5Nyw4LjEwNTQ4IDMyLjQ5NTAzLDguOTAzMzIgMTEuNzAzMDgsMC43OTc4NCAyMi45OTkxNywtMC44MzE4OCAzMy40MDI3LC00LjQxMDg2IDAuMDU0NywyLjIwODg5IDAuMDQ1LDQuNDMzMzQgLTAuMTA4MjUsNi42ODA2NSAtMS43MjIwNCwyNS4yNTk3NCAtMTYuNDc2MzIsNDYuNjU1NzEgLTM3LjQzMDY2LDU4LjM5OTIxIC0xOS4xNjYzOCwtMTQuNDgyODYgLTMwLjg4MDU4LC0zNy42ODA0NSAtMjkuMTU4NjMsLTYyLjkzODgyIDAuMTUzMTcsLTIuMjQ3NDggMC40NDU0MSwtNC40NTI2OSAwLjc5OTQxLC02LjYzMzUzIHogbSAzNi42MzEsLTUxLjc2NTI1IGMgMTUuMjQ4NzYsMTEuNTIxMyAyNS43NjU4NywyOC41NjU5MyAyOC41NjY2Miw0Ny43NzcxNSAtOS45Mzk1MiwzLjc0NzIzIC0yMC44MjEzNyw1LjU1MjY5IC0zMi4xNDk2NCw0Ljc4MDQxIC0xMS4zMjgyNSwtMC43NzIyOSAtMjEuODY0NCwtNC4wMzc3OCAtMzEuMjAzMDUsLTkuMTA0NDggNS4zODE2NiwtMTguNjQ5NjkgMTguMTE0NzUsLTM0LjEwNzQzIDM0Ljc4NjA0LC00My40NTI2NCB6IG0gLTQyLjA0NzI2LDM4Ljk2NDA3IEMgOTEuMDgzNjAxLDE1NS45NjQ3NCA3OS42MDkwOTksMTM4LjI1ODE4IDc2LjY3MTA4MSwxMTguMTA5MyBjIDkuOTM5NjYsLTMuNzQ5MDQgMjAuODIxNTA2LC01LjU1NDUzIDMyLjE0OTc2OSwtNC43ODIyNSAxMi4xNTMwMiwwLjgyODUxIDIzLjQwNDIsNC41MDQ4IDMzLjIyNDE4LDEwLjIyODc4IC0xNi4xNjY5MSwxMC4xMDUyNiAtMjguNTczMSwyNS41MDg5IC0zNC40OTUwNCw0My45MjE5MyB6IG0gNTAuMjAyMDIsLTQyLjg1MTE2IGMgMTAuNTA1OTUsLTQuMzM4MzMgMjIuMTUyNDIsLTYuNDUzNTcgMzQuMzA0OTksLTUuNjI1MDkgMTEuMzI3NzksMC43NzIyNSAyMS44NjQ0Miw0LjAzNzc4IDMxLjIwMzA3LDkuMTA0NDkgLTUuNjQzNTMsMTkuNTYxNTEgLTE5LjQxMTM1LDM1LjU0NzIyIC0zNy4yOTMyMiw0NC43MTk1NSAtMy4zNjc3OCwtMTkuMDQ5NjIgLTEzLjU2ODg4LC0zNS45OTQ0NyAtMjguMjE0NzQsLTQ4LjIwMDM0IHogTSA3Ni4wNzk4ODcsMTAyLjk0MjU3IGMgMi43NDQ4MTcsLTQwLjI2MjQyNyAzOC41ODQ2NjMsLTcwLjcyODc0IDc5Ljg5MDk0MywtNjcuOTEyNzYgNDEuMzA2MjgsMi44MTU5NzkgNzIuNjc5NzgsMzcuODY0NDM4IDY5LjkzNDk2LDc4LjEyNjg2IC0wLjE1MzE3LDIuMjQ3NDkgLTAuNDQ1NCw0LjQ1MjcgLTAuNzk5NCw2LjYzMzU0IC05LjgyMjAyLC00Ljk1Nzk2IC0yMC43OTE5NywtOC4xMDU0OSAtMzIuNDk1MDMsLTguOTAzMzIgLTE1LjE3MDQ4LC0xLjAzNDIyIC0yOS42MzMyNSwyLjAzODk0IC00Mi4zNjY2Miw4LjEzOTM4IC0xMS43ODc2NywtNy43NzIwMyAtMjUuNjk5NTQsLTEyLjc3OTY2IC00MC44NzAwMiwtMTMuODEzODggLTExLjcwMzA1NSwtMC43OTc4NCAtMjIuOTk5MTU0LDAuODMxODggLTMzLjQwMjY4OCw0LjQxMDg2IC0wLjA1NDczLC0yLjIwODg4IC0wLjA0NDk1LC00LjQzMzM1IDAuMTA4MjUzLC02LjY4MDY2IHogbSAtNy4yMTE2NzcsMTguNjMwNjUgYyAzLjk3MTU2MywyMi40NjI0OCAxNy40MjU0OCw0Mi4wNDUwNyAzNi40NzM4NSw1NC4zMTMwNSAtMC42OTc5NSwzLjQyMDI0IC0xLjI1NTY2LDYuODkxNjggLTEuNDk5MDIsMTAuNDYxNTMgLTEuODE3ODcsMjYuNjY1NDMgOS44OTY4MSw1MS4yMDE3MSAyOS4zMjcwNSw2Ny4zOTM3OCAtMTAuNTA1OTQsNC4zMzgzNyAtMjIuMTUyNDMsNi40NTM1OCAtMzQuMzA0OTg3LDUuNjI1MSBDIDU3LjU1ODgyMiwyNTYuNTUwNyAyNi4xODUzMjQsMjIxLjUwMjI1IDI4LjkzMDE0LDE4MS4yMzk4MyAzMC43MTkyMTUsMTU0Ljk5NjcyIDQ2LjYxMDg4NywxMzIuOTg5NDQgNjguODY4MDM1LDEyMS41NzIyOCBaIg0KICAgICBpZD0icGF0aDY3NjQwIg0KICAgICBzdHlsZT0ic3Ryb2tlLXdpZHRoOjIuNjA3NDQiIC8+PC9zdmc+DQo=\"","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/index.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query PageTemplate($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PageTemplate({children}) {\n return children;\n}\nPageTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PageTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","export default __webpack_public_path__ + \"static/bounded-context-mapping-e7606a1679b367a38b685ca1bb77ef45.svg\";","export default __webpack_public_path__ + \"static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png\";","export default __webpack_public_path__ + \"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png\";"],"names":["_createMdxContent","props","_components","Object","assign","p","ul","li","_provideComponents","components","React","ScreenContainer","HeroSection","Hero","backgroundImageURL","heroBackgroundImageURL","HeroBody","HeroTitle","HeroTeaser","HeroActionList","HeroAction","Button","variant","as","Link","to","style","marginRight","FeatureSection","FeatureList","Feature","FeatureImage","src","FeatureTitle","FeatureText","display","sdkImageURL","asyncApiImageURL","WideFeatureSection","WideFeature","WideFeatureImage","dddLogosImage","alt","className","WideFeatureText","gearsDarkImage","width","href","Image","eventStormingZDL","boundedContextMapping","pluginScreenshot","pluginRunScreenshot","wrapper","MDXLayout","PageTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","background","backgroundHover","on","css","InnerButton","styled","ref","_ref2","AriakitButton","buttonProps","InnerFeature","col","xs","md","px","pt","pb","th","InnerFeatureImage","height","row","my","x","py","borderTop","borderBottom","borderColor","up","InnerHero","withConfig","backgroundImage","w","m","justifyContent","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureImageContainer"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js deleted file mode 100644 index f274d15..0000000 --- a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[137],{88657:function(e,n,t){t.r(n),t.d(n,{default:function(){return s}});var r=t(27378),i=t(20951),a=t(97702),o=t(53468);function l(e){const n=Object.assign({h1:"h1",a:"a",div:"div",p:"p",ul:"ul",li:"li",em:"em",code:"code"},(0,i.ah)(),e.components);return r.createElement(r.Fragment,null,r.createElement(n.h1,{id:"zenwave-editor---intellij-plugin",style:{position:"relative"}},r.createElement(n.a,{href:"#zenwave-editor---intellij-plugin","aria-label":"zenwave editor intellij plugin permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave Editor - IntelliJ Plugin"),"\n",r.createElement(n.p,null,"ZenWave Editor: Seamless ZDL Editing & SDK Plugin Integration inside IntelliJ Platform. ",r.createElement("span",{id:"plugin-install"}," ")),"\n",r.createElement("script",{src:"https://plugins.jetbrains.com/assets/scripts/mp-widget.js"}),"\n",r.createElement("script",null,"MarketplaceWidget.setupMarketplaceWidget('install', 0, \"#plugin-install\");"),"\n",r.createElement(a.Ee,{src:o.Z,alt:"ZenWave Editor IntelliJ Plugin"}),"\n",r.createElement("iframe",{width:"384px",height:"319px",src:"https://plugins.jetbrains.com/embeddable/card/22858"}),"\n",r.createElement(n.p,null,"Editing support for the ZDL Domain Model Language:"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"Running ZenWave SDK plugins right from the editor (requires ",r.createElement(n.em,null,"cli")," installed)"),"\n",r.createElement(n.li,null,"Markdown preview with PlantUML diagrams (requires PlantUML plugin installed)"),"\n",r.createElement(n.li,null,"Syntax highlighting"),"\n",r.createElement(n.li,null,"Linting and errors"),"\n"),"\n",r.createElement(n.p,null,"Work in progress:"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"Code Completion and Formatting for ZDL syntax"),"\n",r.createElement(n.li,null,"Code Completion for available SDK plugins and options, including your custom plugins"),"\n",r.createElement(n.li,null,"Code Navigation (Ctrl+Click) from ZDL model to source code and API definitions"),"\n"),"\n",r.createElement(n.h1,{id:"zenwave-editor-for-vscode",style:{position:"relative"}},r.createElement(n.a,{href:"#zenwave-editor-for-vscode","aria-label":"zenwave editor for vscode permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave Editor for VSCode"),"\n",r.createElement(n.p,null,"ZenWave Editor provides Syntax Highlighting for ZDL on VSCode."),"\n",r.createElement(n.p,null,"It is available on the ",r.createElement(n.a,{href:"https://marketplace.visualstudio.com/items?itemName=ZenWave360.zdl-vscode"},"VSCode Marketplace"),"."),"\n",r.createElement(n.p,null,"It also works 'on the web', for example on the ",r.createElement(n.code,null,"github.dev")," user interface reached by pressing ",r.createElement(n.code,null,".")," (the period key) when browsing a repository or Pull Request in GitHub."))}var c=function(e){void 0===e&&(e={});const{wrapper:n}=Object.assign({},(0,i.ah)(),e.components);return n?r.createElement(n,e,r.createElement(l,e)):l(e)};function d(e){let{children:n}=e;return n}function s(e){return r.createElement(d,e,r.createElement(c,e))}},97702:function(e,n,t){t.d(n,{d2:function(){return r.d},zx:function(){return d},L0:function(){return g},$s:function(){return b},VS:function(){return v},gT:function(){return w},P7:function(){return f},Gz:function(){return p},VM:function(){return x},sd:function(){return Z},kW:function(){return _},$D:function(){return I},DH:function(){return C},vC:function(){return y},LR:function(){return E},Ee:function(){return H},Bk:function(){return R},Nm:function(){return W},X_:function(){return u.X},YZ:function(){return F},vk:function(){return Y},BW:function(){return B},Mo:function(){return O}});var r=t(63585),i=t(27378),a=t(87573),o=t(30294);const l=e=>{let{background:n,backgroundHover:t,on:r}=e;return()=>(0,o.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],n,r,t,r,t,r)},c=o.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),d=i.forwardRef(((e,n)=>{let{variant:t="primary",children:r,...o}=e;return i.createElement(a.z,{ref:n,"data-variant":t},(e=>i.createElement(c,Object.assign({},e,o),r)))}));t(23824),t(31729);var s=t(63681),u=t(84234);const m=o.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),g=i.forwardRef(((e,n)=>i.createElement(m,Object.assign({ref:n,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),p=o.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],s.th.px(-9),s.th.px(9)),f=o.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),h=o.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),b=i.forwardRef(((e,n)=>i.createElement(h,Object.assign({ref:n,width:48,height:48},e)))),v=i.forwardRef(((e,n)=>i.createElement(u.X,Object.assign({ref:n,row:!0,my:-4,px:3},e)))),w=i.forwardRef(((e,n)=>i.createElement(o.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),E=o.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,s.up)("md",(0,o.ivY)(["padding-top:4;font-size:48;"])),(0,s.up)("xl",(0,o.ivY)(["font-size:60;"]))),y=o.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,s.up)("md",(0,o.ivY)(["font-size:20;"])),(0,s.up)("xl",(0,o.ivY)(["font-size:24;"]))),k=(0,o.ZPm)(u.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,s.up)("md",(0,o.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,s.up)("xl",(0,o.ivY)(["margin-top:6;"]))),x=i.forwardRef(((e,n)=>{let{backgroundImageURL:t,...r}=e;return i.createElement(k,Object.assign({ref:n,backgroundImage:"url("+t+")"},r))})),I=i.forwardRef(((e,n)=>i.createElement(o.x.div,Object.assign({ref:n,w:{md:.5}},e)))),C=o.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),_=i.forwardRef(((e,n)=>i.createElement(o.x.div,Object.assign({ref:n,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),Z=i.forwardRef(((e,n)=>i.createElement(o.x.div,Object.assign({ref:n,col:"auto",p:2},e))));var z=t(24956);const j=o.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),N=o.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),P=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,H=i.forwardRef(((e,n)=>i.createElement(j,{align:e.align||"center",className:e.visible},i.createElement(N,Object.assign({ref:n,src:P(e,(0,z.If)()[0])},e)))));t(15239),t(83160);const S=(0,o.ZPm)(o.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),R=i.forwardRef(((e,n)=>i.createElement(o.x.blockquote,Object.assign({ref:n,className:"quote"},e)))),W=i.forwardRef(((e,n)=>i.createElement(S,Object.assign({ref:n},e)))),B=i.forwardRef(((e,n)=>i.createElement(o.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),F=o.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,s.up)("md",(0,o.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),O=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,s.up)("md",(0,o.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,s.up)("xl",(0,o.ivY)(["font-size:24;"]))),L=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),M=o.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),D=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,Y=i.forwardRef(((e,n)=>i.createElement(L,{className:e.className},i.createElement(M,Object.assign({ref:n,src:D(e,(0,z.If)()[0])},e)))))},53468:function(e,n,t){n.Z=t.p+"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png"}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js.map b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js.map deleted file mode 100644 index 1b6216f..0000000 --- a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js","mappings":"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","sources":["webpack://website/./pages/Plugin.mdx","webpack://website/../smooth-doc/src/templates/page.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/./pages/plugin-screenshot.png"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport pluginScreenShot from './plugin-screenshot.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n ul: \"ul\",\n li: \"li\",\n em: \"em\",\n code: \"code\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"zenwave-editor---intellij-plugin\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-editor---intellij-plugin\",\n \"aria-label\": \"zenwave editor intellij plugin permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave Editor - IntelliJ Plugin\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave Editor: Seamless ZDL Editing & SDK Plugin Integration inside IntelliJ Platform. \", React.createElement(\"span\", {\n id: \"plugin-install\"\n }, \" \")), \"\\n\", React.createElement(\"script\", {\n src: \"https://plugins.jetbrains.com/assets/scripts/mp-widget.js\"\n }), \"\\n\", React.createElement(\"script\", null, \"MarketplaceWidget.setupMarketplaceWidget('install', 0, \\\"#plugin-install\\\");\"), \"\\n\", React.createElement(Image, {\n src: pluginScreenShot,\n alt: \"ZenWave Editor IntelliJ Plugin\"\n }), \"\\n\", React.createElement(\"iframe\", {\n width: \"384px\",\n height: \"319px\",\n src: \"https://plugins.jetbrains.com/embeddable/card/22858\"\n }), \"\\n\", React.createElement(_components.p, null, \"Editing support for the ZDL Domain Model Language:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Running ZenWave SDK plugins right from the editor (requires \", React.createElement(_components.em, null, \"cli\"), \" installed)\"), \"\\n\", React.createElement(_components.li, null, \"Markdown preview with PlantUML diagrams (requires PlantUML plugin installed)\"), \"\\n\", React.createElement(_components.li, null, \"Syntax highlighting\"), \"\\n\", React.createElement(_components.li, null, \"Linting and errors\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Work in progress:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Code Completion and Formatting for ZDL syntax\"), \"\\n\", React.createElement(_components.li, null, \"Code Completion for available SDK plugins and options, including your custom plugins\"), \"\\n\", React.createElement(_components.li, null, \"Code Navigation (Ctrl+Click) from ZDL model to source code and API definitions\"), \"\\n\"), \"\\n\", React.createElement(_components.h1, {\n id: \"zenwave-editor-for-vscode\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-editor-for-vscode\",\n \"aria-label\": \"zenwave editor for vscode permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave Editor for VSCode\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave Editor provides Syntax Highlighting for ZDL on VSCode.\"), \"\\n\", React.createElement(_components.p, null, \"It is available on the \", React.createElement(_components.a, {\n href: \"https://marketplace.visualstudio.com/items?itemName=ZenWave360.zdl-vscode\"\n }, \"VSCode Marketplace\"), \".\"), \"\\n\", React.createElement(_components.p, null, \"It also works 'on the web', for example on the \", React.createElement(_components.code, null, \"github.dev\"), \" user interface reached by pressing \", React.createElement(_components.code, null, \".\"), \" (the period key) when browsing a repository or Pull Request in GitHub.\"));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/Plugin.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query PageTemplate($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PageTemplate({children}) {\n return children;\n}\nPageTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PageTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","export default __webpack_public_path__ + \"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png\";"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","ul","li","em","code","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","src","Image","pluginScreenShot","alt","width","height","wrapper","MDXLayout","PageTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js new file mode 100644 index 0000000..6a25cf4 --- /dev/null +++ b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[137],{88657:function(e,t,n){n.r(t),n.d(t,{default:function(){return s}});var r=n(27378),i=n(20951),a=n(16376),o=n(53468);function l(e){const t=Object.assign({h1:"h1",a:"a",div:"div",p:"p",ul:"ul",li:"li",em:"em",code:"code"},(0,i.ah)(),e.components);return r.createElement(r.Fragment,null,r.createElement(t.h1,{id:"zenwave-editor---intellij-plugin",style:{position:"relative"}},r.createElement(t.a,{href:"#zenwave-editor---intellij-plugin","aria-label":"zenwave editor intellij plugin permalink",className:"anchor before"},r.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave Editor - IntelliJ Plugin"),"\n",r.createElement(t.p,null,"ZenWave Editor: Seamless ZDL Editing & SDK Plugin Integration inside IntelliJ Platform. ",r.createElement("span",{id:"plugin-install"}," ")),"\n",r.createElement("script",{src:"https://plugins.jetbrains.com/assets/scripts/mp-widget.js"}),"\n",r.createElement("script",null,"MarketplaceWidget.setupMarketplaceWidget('install', 0, \"#plugin-install\");"),"\n",r.createElement(a.Ee,{src:o.Z,alt:"ZenWave Editor IntelliJ Plugin"}),"\n",r.createElement("iframe",{width:"384px",height:"319px",src:"https://plugins.jetbrains.com/embeddable/card/22858"}),"\n",r.createElement(t.p,null,"Editing support for the ZDL Domain Model Language:"),"\n",r.createElement(t.ul,null,"\n",r.createElement(t.li,null,"Running ZenWave SDK plugins right from the editor (requires ",r.createElement(t.em,null,"cli")," installed)"),"\n",r.createElement(t.li,null,"Markdown preview with PlantUML diagrams (requires PlantUML plugin installed)"),"\n",r.createElement(t.li,null,"Syntax highlighting"),"\n",r.createElement(t.li,null,"Linting and errors"),"\n"),"\n",r.createElement(t.p,null,"Work in progress:"),"\n",r.createElement(t.ul,null,"\n",r.createElement(t.li,null,"Code Completion and Formatting for ZDL syntax"),"\n",r.createElement(t.li,null,"Code Completion for available SDK plugins and options, including your custom plugins"),"\n",r.createElement(t.li,null,"Code Navigation (Ctrl+Click) from ZDL model to source code and API definitions"),"\n"),"\n",r.createElement(t.h1,{id:"zenwave-editor-for-vscode",style:{position:"relative"}},r.createElement(t.a,{href:"#zenwave-editor-for-vscode","aria-label":"zenwave editor for vscode permalink",className:"anchor before"},r.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave Editor for VSCode"),"\n",r.createElement(t.p,null,"ZenWave Editor provides Syntax Highlighting for ZDL on VSCode."),"\n",r.createElement(t.p,null,"It is available on the ",r.createElement(t.a,{href:"https://marketplace.visualstudio.com/items?itemName=ZenWave360.zdl-vscode"},"VSCode Marketplace"),"."),"\n",r.createElement(t.p,null,"It also works 'on the web', for example on the ",r.createElement(t.code,null,"github.dev")," user interface reached by pressing ",r.createElement(t.code,null,".")," (the period key) when browsing a repository or Pull Request in GitHub."))}var c=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,i.ah)(),e.components);return t?r.createElement(t,e,r.createElement(l,e)):l(e)};function d(e){let{children:t}=e;return t}function s(e){return r.createElement(d,e,r.createElement(c,e))}},16376:function(e,t,n){n.d(t,{d2:function(){return r.d},zx:function(){return d},L0:function(){return g},$s:function(){return b},VS:function(){return v},gT:function(){return w},P7:function(){return f},Gz:function(){return p},S:function(){return T},VM:function(){return k},sd:function(){return Z},kW:function(){return _},$D:function(){return I},DH:function(){return C},vC:function(){return y},LR:function(){return E},Ee:function(){return H},Bk:function(){return R},Nm:function(){return W},X_:function(){return u.X},YZ:function(){return F},vk:function(){return Y},BW:function(){return B},Mo:function(){return L}});var r=n(63585),i=n(27378),a=n(87573),o=n(30294);const l=e=>{let{background:t,backgroundHover:n,on:r}=e;return()=>(0,o.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,r,n,r,n,r)},c=o.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),d=i.forwardRef(((e,t)=>{let{variant:n="primary",children:r,...o}=e;return i.createElement(a.z,{ref:t,"data-variant":n},(e=>i.createElement(c,Object.assign({},e,o),r)))}));n(23824),n(31729);var s=n(63681),u=n(84234);const m=o.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),g=i.forwardRef(((e,t)=>i.createElement(m,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),p=o.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],s.th.px(-9),s.th.px(9)),f=o.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),h=o.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),b=i.forwardRef(((e,t)=>i.createElement(h,Object.assign({ref:t,width:48,height:48},e)))),v=i.forwardRef(((e,t)=>i.createElement(u.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),w=i.forwardRef(((e,t)=>i.createElement(o.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),E=o.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,s.up)("md",(0,o.ivY)(["padding-top:4;font-size:48;"])),(0,s.up)("xl",(0,o.ivY)(["font-size:60;"]))),y=o.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,s.up)("md",(0,o.ivY)(["font-size:20;"])),(0,s.up)("xl",(0,o.ivY)(["font-size:24;"]))),x=(0,o.ZPm)(u.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,s.up)("md",(0,o.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,s.up)("xl",(0,o.ivY)(["margin-top:6;"]))),k=i.forwardRef(((e,t)=>{let{backgroundImageURL:n,...r}=e;return i.createElement(x,Object.assign({ref:t,backgroundImage:"url("+n+")"},r))})),I=i.forwardRef(((e,t)=>i.createElement(o.x.div,Object.assign({ref:t,w:{md:.5}},e)))),C=o.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),_=i.forwardRef(((e,t)=>i.createElement(o.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),Z=i.forwardRef(((e,t)=>i.createElement(o.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var z=n(24956);const j=o.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),N=o.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),P=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,H=i.forwardRef(((e,t)=>i.createElement(j,{align:e.align||"center",className:e.visible},i.createElement(N,Object.assign({ref:t,src:P(e,(0,z.If)()[0])},e)))));n(15239),n(83160);const S=(0,o.ZPm)(o.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),R=i.forwardRef(((e,t)=>i.createElement(o.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),W=i.forwardRef(((e,t)=>i.createElement(S,Object.assign({ref:t},e)))),B=i.forwardRef(((e,t)=>i.createElement(o.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),F=o.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,s.up)("md",(0,o.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),L=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,s.up)("md",(0,o.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,s.up)("xl",(0,o.ivY)(["font-size:24;"]))),O=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),M=o.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),D=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,Y=i.forwardRef(((e,t)=>i.createElement(O,{className:e.className},i.createElement(M,Object.assign({ref:t,src:D(e,(0,z.If)()[0])},e))))),T=e=>{let{gist:t,file:n}=e;const r=(0,i.useRef)(null);(0,i.useEffect)((()=>{(async()=>{const e=n?"https://gist.githubusercontent.com/"+t+"/raw/"+n:"https://gist.githubusercontent.com/"+t+"/raw";try{const t=await fetch(e);if(t.ok){const e=22*(await t.text()).split("\n").length+40;r.current&&(r.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(i){console.error("Error fetching Gist content:",i)}})()}),[t,n]);const a=n?"https://gist.github.com/"+t+".pibb?file="+n:"https://gist.github.com/"+t+".pibb",o=n?"https://gist.github.com/"+t+"#file-"+n.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+t;return i.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},n&&i.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},i.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),i.createElement("a",{href:o,target:"_blank",rel:"noopener noreferrer"},n)),i.createElement("iframe",{title:n,ref:r,src:a,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}},53468:function(e,t,n){t.Z=n.p+"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png"}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js.map b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js.map new file mode 100644 index 0000000..bdd5a46 --- /dev/null +++ b/component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js","mappings":"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","sources":["webpack://website/./pages/Plugin.mdx","webpack://website/../smooth-doc/src/templates/page.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js","webpack://website/./pages/plugin-screenshot.png"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {x} from '@xstyled/styled-components';\nimport {Image, Quote, QuoteAuthor} from \"smooth-doc/components\";\nimport pluginScreenShot from './plugin-screenshot.png';\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n h1: \"h1\",\n a: \"a\",\n div: \"div\",\n p: \"p\",\n ul: \"ul\",\n li: \"li\",\n em: \"em\",\n code: \"code\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.h1, {\n id: \"zenwave-editor---intellij-plugin\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-editor---intellij-plugin\",\n \"aria-label\": \"zenwave editor intellij plugin permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave Editor - IntelliJ Plugin\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave Editor: Seamless ZDL Editing & SDK Plugin Integration inside IntelliJ Platform. \", React.createElement(\"span\", {\n id: \"plugin-install\"\n }, \" \")), \"\\n\", React.createElement(\"script\", {\n src: \"https://plugins.jetbrains.com/assets/scripts/mp-widget.js\"\n }), \"\\n\", React.createElement(\"script\", null, \"MarketplaceWidget.setupMarketplaceWidget('install', 0, \\\"#plugin-install\\\");\"), \"\\n\", React.createElement(Image, {\n src: pluginScreenShot,\n alt: \"ZenWave Editor IntelliJ Plugin\"\n }), \"\\n\", React.createElement(\"iframe\", {\n width: \"384px\",\n height: \"319px\",\n src: \"https://plugins.jetbrains.com/embeddable/card/22858\"\n }), \"\\n\", React.createElement(_components.p, null, \"Editing support for the ZDL Domain Model Language:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Running ZenWave SDK plugins right from the editor (requires \", React.createElement(_components.em, null, \"cli\"), \" installed)\"), \"\\n\", React.createElement(_components.li, null, \"Markdown preview with PlantUML diagrams (requires PlantUML plugin installed)\"), \"\\n\", React.createElement(_components.li, null, \"Syntax highlighting\"), \"\\n\", React.createElement(_components.li, null, \"Linting and errors\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"Work in progress:\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"Code Completion and Formatting for ZDL syntax\"), \"\\n\", React.createElement(_components.li, null, \"Code Completion for available SDK plugins and options, including your custom plugins\"), \"\\n\", React.createElement(_components.li, null, \"Code Navigation (Ctrl+Click) from ZDL model to source code and API definitions\"), \"\\n\"), \"\\n\", React.createElement(_components.h1, {\n id: \"zenwave-editor-for-vscode\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-editor-for-vscode\",\n \"aria-label\": \"zenwave editor for vscode permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave Editor for VSCode\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave Editor provides Syntax Highlighting for ZDL on VSCode.\"), \"\\n\", React.createElement(_components.p, null, \"It is available on the \", React.createElement(_components.a, {\n href: \"https://marketplace.visualstudio.com/items?itemName=ZenWave360.zdl-vscode\"\n }, \"VSCode Marketplace\"), \".\"), \"\\n\", React.createElement(_components.p, null, \"It also works 'on the web', for example on the \", React.createElement(_components.code, null, \"github.dev\"), \" user interface reached by pressing \", React.createElement(_components.code, null, \".\"), \" (the period key) when browsing a repository or Pull Request in GitHub.\"));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/Plugin.mdx\";\nimport {graphql} from 'gatsby';\nexport const pageQuery = graphql`\n query PageTemplate($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PageTemplate({children}) {\n return children;\n}\nPageTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PageTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n","export default __webpack_public_path__ + \"static/plugin-screenshot-a27ba0713f3d33cf5b761c45e4c3debc.png\";"],"names":["_createMdxContent","props","_components","Object","assign","h1","a","div","p","ul","li","em","code","_provideComponents","components","React","id","style","position","href","className","dangerouslySetInnerHTML","__html","src","Image","pluginScreenShot","alt","width","height","wrapper","MDXLayout","PageTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js new file mode 100644 index 0000000..8671a73 --- /dev/null +++ b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[94],{93309:function(e,t,n){n.r(t),n.d(t,{default:function(){return c}});var a=n(27378),r=n(20951),o=n(16376);function i(e){const t=Object.assign({blockquote:"blockquote",p:"p",a:"a",h1:"h1",div:"div",h2:"h2",pre:"pre",code:"code"},(0,r.ah)(),e.components);return a.createElement(a.Fragment,null,a.createElement(t.blockquote,null,"\n",a.createElement(t.p,null,"This article was first published @medium: ",a.createElement(t.a,{href:"https://medium.com/@ivangsa/from-openapi-to-karatedsl-tests-with-zenwave-sdk-d7f885d15f99"},"From OpenAPI to KarateDSL Tests with ZenWave SDK"),"."),"\n"),"\n",a.createElement(o.Ee,{src:"OpenAPI2Karate.excalidraw.svg",alt:"From OpenAPI to KarateDSL Tests with ZenWave SDK"}),"\n",a.createElement(t.h1,{id:"from-openapi-to-karatedsl-tests-with-zenwave-sdk",style:{position:"relative"}},a.createElement(t.a,{href:"#from-openapi-to-karatedsl-tests-with-zenwave-sdk","aria-label":"from openapi to karatedsl tests with zenwave sdk permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"From OpenAPI to KarateDSL Tests with ZenWave SDK"),"\n",a.createElement(t.p,null,"How to save time and typing by generating KarateDSL tests from OpenAPI definitions..."),"\n",a.createElement(t.p,null,"Writing tests manually can be time-consuming, especially when you’re dealing with large API payloads and multiple endpoints."),"\n",a.createElement(t.p,null,"What if you could streamline this process and generate tests from your existing OpenAPI definitions? That’s where ZenWave SDK comes into play, helping you automate KarateDSL tests based on your OpenAPI spec."),"\n",a.createElement(t.p,null,"In this article, we’ll explore how ZenWave SDK can help you generate comprehensive ",a.createElement(t.a,{href:"https://karatelabs.github.io/karate/"},"KarateDSL")," tests, including business flow tests that connects multiple endpoints on a single test/process, saving you both time and effort."),"\n",a.createElement(t.h2,{id:"karatedsl",style:{position:"relative"}},a.createElement(t.a,{href:"#karatedsl","aria-label":"karatedsl permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"KarateDSL"),"\n",a.createElement(t.p,null,"KarateDSL is a popular framework designed for API testing and more, known for its simplicity. It allows testers to write API tests in a scripting language that includes built-in support for making HTTP calls, verifying responses, and handling complex JSON and XML assertions with minimal coding."),"\n",a.createElement(t.p,null,"In KarateDSL JSON is kind-of native, and it's quite easy to write complex payloads and assertions in a compact way, without much boilerplate code."),"\n",a.createElement(t.p,null,"Still it takes time and effort to bootstrap a new test from a blank page, especially when you have a large API with many endpoints and complex payloads."),"\n",a.createElement(t.p,null,"Thanks to ZenWave SDK you can leverage the information about your API you already have in your OpenAPI definition files to generate KarateDSL tests, saving you time and typing."),"\n",a.createElement(t.h2,{id:"installing-zenwave-sdk",style:{position:"relative"}},a.createElement(t.a,{href:"#installing-zenwave-sdk","aria-label":"installing zenwave sdk permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Installing ZenWave SDK"),"\n",a.createElement(t.p,null,"ZenWave SDK is composed of a set of tools to help you convert models and APIs (including OpenAPI and AsyncAPI) into different software artifacts. It features a CLI tool and an Model Editor for IntelliJ."),"\n",a.createElement(t.p,null,"You can install an evergreen self updating ZenWave SDK CLI using JBang:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-shell"},"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\n")),"\n",a.createElement(t.p,null,"Following these instructions for complete details about JBang and IntelliJ Editor: ",a.createElement(t.a,{href:"https://www.zenwave360.io/docs/getting-started/"},"https://www.zenwave360.io/docs/getting-started/")),"\n",a.createElement(t.p,null,"Now you can use ",a.createElement(t.code,null,"jbang zw")," to generate a complete OpenAPI definition file from your ZDL model."),"\n",a.createElement(t.h2,{id:"customers-openapi",style:{position:"relative"}},a.createElement(t.a,{href:"#customers-openapi","aria-label":"customers openapi permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Customers OpenAPI"),"\n",a.createElement(t.p,null,"We'll use the following OpenAPI definition file as an example. It contains a simple API for managing customers, including endpoints for creating, reading, updating, and deleting customers."),"\n",a.createElement(t.p,null,a.createElement(t.a,{href:"https://github.com/EDALearn/EDA-Playground-Online-Food-Delivery/blob/main/modules/customers/src/main/resources/apis/openapi.yml"},"https://github.com/EDALearn/EDA-Playground-Online-Food-Delivery/blob/main/modules/customers/src/main/resources/apis/openapi.yml")),"\n",a.createElement(o.Ee,{alt:"Customers OpenAPI",src:"CustomerOpenAPI-UI.png"}),"\n",a.createElement(t.p,null,"With this API and ZenWave SDK we can generate KarateDSL tests that cover all the endpoints and operations defined in the OpenAPI definition file, as well as business flow tests that span multiple API calls."),"\n",a.createElement(t.h2,{id:"openapi-to-karatedsl-generator-plugin",style:{position:"relative"}},a.createElement(t.a,{href:"#openapi-to-karatedsl-generator-plugin","aria-label":"openapi to karatedsl generator plugin permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"OpenAPI to KarateDSL Generator Plugin"),"\n",a.createElement(t.p,null,"ZenWave SDK is composed of several plugins. One of them is the ",a.createElement(t.a,{href:"https://www.zenwave360.io/zenwave-sdk/plugins/openapi-karate/"},"OpenAPIKaratePlugin"),", which generates KarateDSL tests from OpenAPI definitions."),"\n",a.createElement(t.p,null,"Use the following command to generate a KarateDSL test for each operation defined in the OpenAPI definition file, grouping them by service:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-shell"},"jbang zw -p io.zenwave360.sdk.plugins.OpenAPIKaratePlugin \\\r\n specFile=src/main/resources/public/apis/openapi.yml \\\r\n targetFolder=src/test/resources \\\r\n testsPackage=io.zenwave360.example.adapters.web.tests \\\r\n groupBy=service\n")),"\n",a.createElement(t.p,null,"This is how the generated KarateDSL test looks like:"),"\n",a.createElement(o.S,{gist:"ivangsa/f115feff649567802c62c4e3def9bf0e",file:"CustomerApi.feature"}),"\n",a.createElement(t.h2,{id:"generating-business-flow-tests-that-spans-multiple-api-calls",style:{position:"relative"}},a.createElement(t.a,{href:"#generating-business-flow-tests-that-spans-multiple-api-calls","aria-label":"generating business flow tests that spans multiple api calls permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Generating Business Flow Tests that spans multiple API calls"),"\n",a.createElement(t.p,null,"Now we are going to use ZenWave SDK to generate a KarateDSL script skeleton that tests the complete CRUD operations for a customer, as an easy to understand example of a business flow test."),"\n",a.createElement(t.p,null,"Notice how we are using the ",a.createElement(t.code,null,"groupBy=businessFlow")," and ",a.createElement(t.code,null,"operationIds")," parameters to generate a KarateDSL test that covers the complete CRUD operations for a customer."),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-shell"},"jbang zw -p io.zenwave360.sdk.plugins.OpenAPIKaratePlugin \\\r\n specFile=src/main/resources/model/openapi.yml \\\r\n targetFolder=src/test/resources \\\r\n testsPackage=io.zenwave360.example.adapters.web.tests \\\r\n groupBy=businessFlow \\\r\n businessFlowTestName=CustomerCRUDTest \\\r\n operationIds=createCustomer,getCustomer,updateCustomer,deleteCustomer\n")),"\n",a.createElement(t.p,null,"This is how the generated KarateDSL test looks like. Now it's your time as a tester/developer to fill in the blanks and connect the data from one operation to the next one."),"\n",a.createElement(o.S,{gist:"ivangsa/f115feff649567802c62c4e3def9bf0e",file:"CreateUpdateDeleteCustomerKarateTest.feature"}),"\n",a.createElement(t.h2,{id:"run-and-debug-karatedsl-on-vscode-open-source",style:{position:"relative"}},a.createElement(t.a,{href:"#run-and-debug-karatedsl-on-vscode-open-source","aria-label":"run and debug karatedsl on vscode open source permalink",className:"anchor before"},a.createElement(t.div,{dangerouslySetInnerHTML:{__html:''}})),"Run and Debug KarateDSL on VSCode (Open Source)"),"\n",a.createElement(t.p,null,"Now that you have your KarateDSL tests generated, you can run them using the KarateDSL CLI or the KarateIDE plugin for Visual Studio Code. ",a.createElement(t.a,{href:"https://marketplace.visualstudio.com/items?itemName=KarateIDE.karate-ide"},"ZenWave Karate IDE")," is, besides KarateLabs PRO subscription, the only free and open-source alternative to Debug KarateDSL scripts in Visual Studio Code."),"\n",a.createElement(o.Ee,{alt:"KarateIDE",src:"KarateIDE-MarketPlace.png",href:"https://marketplace.visualstudio.com/items?itemName=KarateIDE.karate-ide"}),"\n",a.createElement(t.p,null,"Read ",a.createElement(t.a,{href:"https://medium.com/@ivangsa/debugging-karatedsl-scripts-in-vscode-open-source-d7b8938f9eb4"},"https://medium.com/@ivangsa/debugging-karatedsl-scripts-in-vscode-open-source-d7b8938f9eb4")," for more details about debuging KarateDSL scripts in Visual Studio Code."))}var s=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,r.ah)(),e.components);return t?a.createElement(t,e,a.createElement(i,e)):i(e)};function l(e){let{children:t}=e;return t}function c(e){return a.createElement(l,e,a.createElement(s,e))}},16376:function(e,t,n){n.d(t,{d2:function(){return a.d},zx:function(){return c},L0:function(){return p},$s:function(){return b},VS:function(){return v},gT:function(){return w},P7:function(){return h},Gz:function(){return g},S:function(){return R},VM:function(){return I},sd:function(){return P},kW:function(){return C},$D:function(){return S},DH:function(){return x},vC:function(){return E},LR:function(){return y},Ee:function(){return H},Bk:function(){return L},Nm:function(){return N},X_:function(){return u.X},YZ:function(){return Z},vk:function(){return W},BW:function(){return A},Mo:function(){return F}});var a=n(63585),r=n(27378),o=n(87573),i=n(30294);const s=e=>{let{background:t,backgroundHover:n,on:a}=e;return()=>(0,i.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],t,a,n,a,n,a)},l=i.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],s({background:"primary-600",backgroundHover:"primary-700",on:"white"}),s({background:"green-600",backgroundHover:"green-700",on:"white"}),s({background:"red-600",backgroundHover:"red-700",on:"white"}),s({background:"gray-300",backgroundHover:"gray-400",on:"black"})),c=r.forwardRef(((e,t)=>{let{variant:n="primary",children:a,...i}=e;return r.createElement(o.z,{ref:t,"data-variant":n},(e=>r.createElement(l,Object.assign({},e,i),a)))}));n(23824),n(31729);var d=n(63681),u=n(84234);const m=i.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=r.forwardRef(((e,t)=>r.createElement(m,Object.assign({ref:t,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=i.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],d.th.px(-9),d.th.px(9)),h=i.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),f=i.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),b=r.forwardRef(((e,t)=>r.createElement(f,Object.assign({ref:t,width:48,height:48},e)))),v=r.forwardRef(((e,t)=>r.createElement(u.X,Object.assign({ref:t,row:!0,my:-4,px:3},e)))),w=r.forwardRef(((e,t)=>r.createElement(i.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),y=i.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:4;font-size:48;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:60;"]))),E=i.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),k=(0,i.ZPm)(u.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,d.up)("md",(0,i.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,d.up)("xl",(0,i.ivY)(["margin-top:6;"]))),I=r.forwardRef(((e,t)=>{let{backgroundImageURL:n,...a}=e;return r.createElement(k,Object.assign({ref:t,backgroundImage:"url("+n+")"},a))})),S=r.forwardRef(((e,t)=>r.createElement(i.x.div,Object.assign({ref:t,w:{md:.5}},e)))),x=i.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),C=r.forwardRef(((e,t)=>r.createElement(i.x.div,Object.assign({ref:t,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),P=r.forwardRef(((e,t)=>r.createElement(i.x.div,Object.assign({ref:t,col:"auto",p:2},e))));var D=n(24956);const z=i.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),K=i.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),_=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,H=r.forwardRef(((e,t)=>r.createElement(z,{align:e.align||"center",className:e.visible},r.createElement(K,Object.assign({ref:t,src:_(e,(0,D.If)()[0])},e)))));n(15239),n(83160);const O=(0,i.ZPm)(i.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),L=r.forwardRef(((e,t)=>r.createElement(i.x.blockquote,Object.assign({ref:t,className:"quote"},e)))),N=r.forwardRef(((e,t)=>r.createElement(O,Object.assign({ref:t},e)))),A=r.forwardRef(((e,t)=>r.createElement(i.x.section,Object.assign({ref:t,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),Z=i.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,d.up)("md",(0,i.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),F=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,d.up)("md",(0,i.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,d.up)("xl",(0,i.ivY)(["font-size:24;"]))),T=i.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),B=i.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),j=(e,t)=>"dark"===t?e.dark||e.src:e.light||e.src,W=r.forwardRef(((e,t)=>r.createElement(T,{className:e.className},r.createElement(B,Object.assign({ref:t,src:j(e,(0,D.If)()[0])},e))))),R=e=>{let{gist:t,file:n}=e;const a=(0,r.useRef)(null);(0,r.useEffect)((()=>{(async()=>{const e=n?"https://gist.githubusercontent.com/"+t+"/raw/"+n:"https://gist.githubusercontent.com/"+t+"/raw";try{const t=await fetch(e);if(t.ok){const e=22*(await t.text()).split("\n").length+40;a.current&&(a.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(r){console.error("Error fetching Gist content:",r)}})()}),[t,n]);const o=n?"https://gist.github.com/"+t+".pibb?file="+n:"https://gist.github.com/"+t+".pibb",i=n?"https://gist.github.com/"+t+"#file-"+n.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+t;return r.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},n&&r.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},r.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),r.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer"},n)),r.createElement("iframe",{title:n,ref:a,src:o,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js.map b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js.map new file mode 100644 index 0000000..caa127e --- /dev/null +++ b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js","mappings":"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","sources":["webpack://website/./pages/posts/From-OpenAPI-to-KarateDSL-Tests.mdx","webpack://website/../smooth-doc/src/templates/post.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Gist, Image} from \"smooth-doc/components\";\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n blockquote: \"blockquote\",\n p: \"p\",\n a: \"a\",\n h1: \"h1\",\n div: \"div\",\n h2: \"h2\",\n pre: \"pre\",\n code: \"code\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"This article was first published @medium: \", React.createElement(_components.a, {\n href: \"https://medium.com/@ivangsa/from-openapi-to-karatedsl-tests-with-zenwave-sdk-d7f885d15f99\"\n }, \"From OpenAPI to KarateDSL Tests with ZenWave SDK\"), \".\"), \"\\n\"), \"\\n\", React.createElement(Image, {\n src: \"OpenAPI2Karate.excalidraw.svg\",\n alt: \"From OpenAPI to KarateDSL Tests with ZenWave SDK\"\n }), \"\\n\", React.createElement(_components.h1, {\n id: \"from-openapi-to-karatedsl-tests-with-zenwave-sdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#from-openapi-to-karatedsl-tests-with-zenwave-sdk\",\n \"aria-label\": \"from openapi to karatedsl tests with zenwave sdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"From OpenAPI to KarateDSL Tests with ZenWave SDK\"), \"\\n\", React.createElement(_components.p, null, \"How to save time and typing by generating KarateDSL tests from OpenAPI definitions...\"), \"\\n\", React.createElement(_components.p, null, \"Writing tests manually can be time-consuming, especially when you’re dealing with large API payloads and multiple endpoints.\"), \"\\n\", React.createElement(_components.p, null, \"What if you could streamline this process and generate tests from your existing OpenAPI definitions? That’s where ZenWave SDK comes into play, helping you automate KarateDSL tests based on your OpenAPI spec.\"), \"\\n\", React.createElement(_components.p, null, \"In this article, we’ll explore how ZenWave SDK can help you generate comprehensive \", React.createElement(_components.a, {\n href: \"https://karatelabs.github.io/karate/\"\n }, \"KarateDSL\"), \" tests, including business flow tests that connects multiple endpoints on a single test/process, saving you both time and effort.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"karatedsl\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#karatedsl\",\n \"aria-label\": \"karatedsl permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"KarateDSL\"), \"\\n\", React.createElement(_components.p, null, \"KarateDSL is a popular framework designed for API testing and more, known for its simplicity. It allows testers to write API tests in a scripting language that includes built-in support for making HTTP calls, verifying responses, and handling complex JSON and XML assertions with minimal coding.\"), \"\\n\", React.createElement(_components.p, null, \"In KarateDSL JSON is kind-of native, and it's quite easy to write complex payloads and assertions in a compact way, without much boilerplate code.\"), \"\\n\", React.createElement(_components.p, null, \"Still it takes time and effort to bootstrap a new test from a blank page, especially when you have a large API with many endpoints and complex payloads.\"), \"\\n\", React.createElement(_components.p, null, \"Thanks to ZenWave SDK you can leverage the information about your API you already have in your OpenAPI definition files to generate KarateDSL tests, saving you time and typing.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"installing-zenwave-sdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#installing-zenwave-sdk\",\n \"aria-label\": \"installing zenwave sdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Installing ZenWave SDK\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK is composed of a set of tools to help you convert models and APIs (including OpenAPI and AsyncAPI) into different software artifacts. It features a CLI tool and an Model Editor for IntelliJ.\"), \"\\n\", React.createElement(_components.p, null, \"You can install an evergreen self updating ZenWave SDK CLI using JBang:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\\n\")), \"\\n\", React.createElement(_components.p, null, \"Following these instructions for complete details about JBang and IntelliJ Editor: \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/docs/getting-started/\"\n }, \"https://www.zenwave360.io/docs/getting-started/\")), \"\\n\", React.createElement(_components.p, null, \"Now you can use \", React.createElement(_components.code, null, \"jbang zw\"), \" to generate a complete OpenAPI definition file from your ZDL model.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"customers-openapi\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#customers-openapi\",\n \"aria-label\": \"customers openapi permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Customers OpenAPI\"), \"\\n\", React.createElement(_components.p, null, \"We'll use the following OpenAPI definition file as an example. It contains a simple API for managing customers, including endpoints for creating, reading, updating, and deleting customers.\"), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.a, {\n href: \"https://github.com/EDALearn/EDA-Playground-Online-Food-Delivery/blob/main/modules/customers/src/main/resources/apis/openapi.yml\"\n }, \"https://github.com/EDALearn/EDA-Playground-Online-Food-Delivery/blob/main/modules/customers/src/main/resources/apis/openapi.yml\")), \"\\n\", React.createElement(Image, {\n alt: \"Customers OpenAPI\",\n src: \"CustomerOpenAPI-UI.png\"\n }), \"\\n\", React.createElement(_components.p, null, \"With this API and ZenWave SDK we can generate KarateDSL tests that cover all the endpoints and operations defined in the OpenAPI definition file, as well as business flow tests that span multiple API calls.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"openapi-to-karatedsl-generator-plugin\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#openapi-to-karatedsl-generator-plugin\",\n \"aria-label\": \"openapi to karatedsl generator plugin permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"OpenAPI to KarateDSL Generator Plugin\"), \"\\n\", React.createElement(_components.p, null, \"ZenWave SDK is composed of several plugins. One of them is the \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/zenwave-sdk/plugins/openapi-karate/\"\n }, \"OpenAPIKaratePlugin\"), \", which generates KarateDSL tests from OpenAPI definitions.\"), \"\\n\", React.createElement(_components.p, null, \"Use the following command to generate a KarateDSL test for each operation defined in the OpenAPI definition file, grouping them by service:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p io.zenwave360.sdk.plugins.OpenAPIKaratePlugin \\\\\\r\\n specFile=src/main/resources/public/apis/openapi.yml \\\\\\r\\n targetFolder=src/test/resources \\\\\\r\\n testsPackage=io.zenwave360.example.adapters.web.tests \\\\\\r\\n groupBy=service\\n\")), \"\\n\", React.createElement(_components.p, null, \"This is how the generated KarateDSL test looks like:\"), \"\\n\", React.createElement(Gist, {\n gist: \"ivangsa/f115feff649567802c62c4e3def9bf0e\",\n file: \"CustomerApi.feature\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"generating-business-flow-tests-that-spans-multiple-api-calls\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#generating-business-flow-tests-that-spans-multiple-api-calls\",\n \"aria-label\": \"generating business flow tests that spans multiple api calls permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Generating Business Flow Tests that spans multiple API calls\"), \"\\n\", React.createElement(_components.p, null, \"Now we are going to use ZenWave SDK to generate a KarateDSL script skeleton that tests the complete CRUD operations for a customer, as an easy to understand example of a business flow test.\"), \"\\n\", React.createElement(_components.p, null, \"Notice how we are using the \", React.createElement(_components.code, null, \"groupBy=businessFlow\"), \" and \", React.createElement(_components.code, null, \"operationIds\"), \" parameters to generate a KarateDSL test that covers the complete CRUD operations for a customer.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p io.zenwave360.sdk.plugins.OpenAPIKaratePlugin \\\\\\r\\n specFile=src/main/resources/model/openapi.yml \\\\\\r\\n targetFolder=src/test/resources \\\\\\r\\n testsPackage=io.zenwave360.example.adapters.web.tests \\\\\\r\\n groupBy=businessFlow \\\\\\r\\n businessFlowTestName=CustomerCRUDTest \\\\\\r\\n operationIds=createCustomer,getCustomer,updateCustomer,deleteCustomer\\n\")), \"\\n\", React.createElement(_components.p, null, \"This is how the generated KarateDSL test looks like. Now it's your time as a tester/developer to fill in the blanks and connect the data from one operation to the next one.\"), \"\\n\", React.createElement(Gist, {\n gist: \"ivangsa/f115feff649567802c62c4e3def9bf0e\",\n file: \"CreateUpdateDeleteCustomerKarateTest.feature\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"run-and-debug-karatedsl-on-vscode-open-source\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#run-and-debug-karatedsl-on-vscode-open-source\",\n \"aria-label\": \"run and debug karatedsl on vscode open source permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Run and Debug KarateDSL on VSCode (Open Source)\"), \"\\n\", React.createElement(_components.p, null, \"Now that you have your KarateDSL tests generated, you can run them using the KarateDSL CLI or the KarateIDE plugin for Visual Studio Code. \", React.createElement(_components.a, {\n href: \"https://marketplace.visualstudio.com/items?itemName=KarateIDE.karate-ide\"\n }, \"ZenWave Karate IDE\"), \" is, besides KarateLabs PRO subscription, the only free and open-source alternative to Debug KarateDSL scripts in Visual Studio Code.\"), \"\\n\", React.createElement(Image, {\n alt: \"KarateIDE\",\n src: \"KarateIDE-MarketPlace.png\",\n href: \"https://marketplace.visualstudio.com/items?itemName=KarateIDE.karate-ide\"\n }), \"\\n\", React.createElement(_components.p, null, \"Read \", React.createElement(_components.a, {\n href: \"https://medium.com/@ivangsa/debugging-karatedsl-scripts-in-vscode-open-source-d7b8938f9eb4\"\n }, \"https://medium.com/@ivangsa/debugging-karatedsl-scripts-in-vscode-open-source-d7b8938f9eb4\"), \" for more details about debuging KarateDSL scripts in Visual Studio Code.\"));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/posts/From-OpenAPI-to-KarateDSL-Tests.mdx\";\nimport {graphql} from \"gatsby\";\nexport const postQuery = graphql`\n query PostPage($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PostTemplate({children}) {\n return children;\n}\nPostTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PostTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n"],"names":["_createMdxContent","props","_components","Object","assign","blockquote","p","a","h1","div","h2","pre","code","_provideComponents","components","React","href","Image","src","alt","id","style","position","className","dangerouslySetInnerHTML","__html","Gist","gist","file","wrapper","MDXLayout","PostTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","dark","light","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js similarity index 67% rename from component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js rename to component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js index e20f68c..ce62a88 100644 --- a/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js +++ b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[869],{91461:function(e,n,t){t.r(n),t.d(n,{default:function(){return s}});var r=t(27378),a=t(20951),i=t(97702);function o(e){const n=Object.assign({blockquote:"blockquote",p:"p",a:"a",h1:"h1",div:"div",code:"code",h2:"h2",ul:"ul",li:"li",pre:"pre",img:"img"},(0,a.ah)(),e.components);return r.createElement(r.Fragment,null,r.createElement(n.blockquote,null,"\n",r.createElement(n.p,null,"This article was first published @medium: ",r.createElement(n.a,{href:"https://medium.com/@ivangsa/stop-writing-yaml-for-openapi-use-a-compact-dsl-and-save-time-and-typing-574a138faddc"},"Stop writing YAML for OpenAPI, use a compact DSL and save time and typing"),"."),"\n"),"\n",r.createElement(n.h1,{id:"generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk",style:{position:"relative"}},r.createElement(n.a,{href:"#generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk","aria-label":"generating openapi definition files from zenwave domain language models with zenwavesdk permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),'Generating OpenAPI definition files from "ZenWave Domain Language" models with ZenWaveSDK'),"\n",r.createElement(n.p,null,"Because writing YAML by hand is now fun..."),"\n",r.createElement(n.p,null,"You can use ",r.createElement(n.code,null,"ZenWave Domain Language")," models as IDL to generate OpenAPI v3 with ZenWave SDK."),"\n",r.createElement(n.p,null,"Imagine being able to quickly define an API in a more concise and readable way, without losing the rigor of an OpenAPI specification. This article explores how you can leverage ",r.createElement(n.a,{href:"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language"},"ZenWave Domain Language (ZDL)"),", a compact developer-friendly DSL, to generate OpenAPI definitions, simplifying the process of creating API documentation, reducing errors, and improving developer productivity. Whether you're managing an extensive API or just getting started, a DSL might be the key to making your API workflow more efficient."),"\n",r.createElement(n.p,null,"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment):"),"\n",r.createElement(i.Ee,{alt:"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment)",dark:"./ZDL-To-OpenAPI-IDL-fragment-dark.png",light:"./ZDL-To-OpenAPI-IDL-fragment-light.png"}),"\n",r.createElement(n.h2,{id:"zenwave-domain-language-zdl",style:{position:"relative"}},r.createElement(n.a,{href:"#zenwave-domain-language-zdl","aria-label":"zenwave domain language zdl permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave Domain Language (ZDL)"),"\n",r.createElement(n.p,null,"Inspired by JHipster JDL, ZDL is a language for describing DDD Bounded Contexts, including domain entities and their relationships, services, commands, events and business policies... for Event-Driven Architectures."),"\n",r.createElement(n.p,null,"It's designed to be compact, readable and expressive. Developer friendly, and machine friendly. It works well as an Ubiquitous Language format."),"\n",r.createElement(n.p,null,"It can also be used as an IDL for authoring OpenAPI (and AsyncAPI) definition files."),"\n",r.createElement("img",{src:"https://www.zenwave360.io/static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png"}),"\n",r.createElement(n.h2,{id:"creating-a-zdl-for-authoring-an-openapi-definition",style:{position:"relative"}},r.createElement(n.a,{href:"#creating-a-zdl-for-authoring-an-openapi-definition","aria-label":"creating a zdl for authoring an openapi definition permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Creating a ZDL for authoring an OpenAPI definition"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"As a minimum requirement, you need a ",r.createElement(n.code,null,"service")," and an ",r.createElement(n.code,null,"aggregate entity")," for this service."),"\n",r.createElement(n.li,null,"You can use this ",r.createElement(n.code,null,"entity")," as request and response objects or you can define separate DTOs for this purpose using ",r.createElement(n.code,null,"input"),"and ",r.createElement(n.code,null,"output")," entities."),"\n",r.createElement(n.li,null,"You can also define and reference ",r.createElement(n.code,null,"enums")," and ",r.createElement(n.code,null,"relationships")," between entities. Nested entities and arrays also work."),"\n",r.createElement(n.li,null,"Lastly you need to define the service methods and their parameters and annotate them using ",r.createElement(n.code,null,"@rest"),", ",r.createElement(n.code,null,"@post"),", ",r.createElement(n.code,null,"@get"),", ",r.createElement(n.code,null,"@put"),", ",r.createElement(n.code,null,"@delete"),", ",r.createElement(n.code,null,"@paginated"),", ",r.createElement(n.code,null,"@inline")," annotations."),"\n"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'@aggregate\r\nentity PaymentMethod {\r\n type PaymentMethodType required\r\n cardNumber String required minlength(16) maxlength(16)\r\n}\r\n\r\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\r\n\r\n@rest("/payment-methods")\r\nservice PaymentsService for (PaymentMethod) {\r\n @post\r\n doSomethingWithANewPayment(PaymentMethod) PaymentMethod\r\n\r\n @put("/{id}")\r\n doSomethingWithAnExistingPayment(id, PaymentMethod) PaymentMethod?\r\n}\n')),"\n",r.createElement(n.p,null,"NOTE: service method only accept two kind of parameters: ",r.createElement(n.code,null,"id")," and command payload (that will map to the request body), but you can use ",r.createElement(n.code,null,"@inline")," to expand fields as request path parameters (see below)."),"\n",r.createElement(n.p,null,"Checkout the ",r.createElement(n.a,{href:"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language#services-and-commands"},"ZDL documentation")," for more details about command methods."),"\n",r.createElement(n.h2,{id:"install-zenwave-sdk-using-jbang",style:{position:"relative"}},r.createElement(n.a,{href:"#install-zenwave-sdk-using-jbang","aria-label":"install zenwave sdk using jbang permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Install ZenWave SDK Using JBang"),"\n",r.createElement(n.p,null,"Install an evergreen self updating ZenWave SDK CLI using JBang:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-shell"},"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\n")),"\n",r.createElement(n.p,null,"Following these instructions for complete details about JBang and IntelliJ Editor: ",r.createElement(n.a,{href:"https://www.zenwave360.io/docs/getting-started/"},"https://www.zenwave360.io/docs/getting-started/")),"\n",r.createElement(n.p,null,"Now you can use jbang zw to generate a complete OpenAPI definition file from your ZDL model."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-shell"},"jbang zw -p ZDLToOpenAPIPlugin \\\r\nspecFile=model.zdl \\\r\nidType=integer \\\r\nidTypeFormat=int64 \\\r\ntargetFolder=. \\\r\ntargetFile=payments-openapi.yml\n")),"\n",r.createElement(n.p,null,"Or use ZenWave ZDL Editor for IntelliJ configuring the generator plugin on top of your zdl file:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'config {\r\n plugins {\r\n /** Use ZenWave Editor for IntelliJ IDEA to run this */\r\n ZDLToOpenAPIPlugin {\r\n idType integer\r\n idTypeFormat int64\r\n targetFolder "."\r\n targetFile "openapi.yml"\r\n }\r\n }\r\n}\n')),"\n",r.createElement(n.p,null,r.createElement(n.img,{src:"./RunWith-ZenWave-Editor-for-IntelliJ.png",alt:"Run With ZenWave Editor for IntelliJ"})),"\n",r.createElement(n.p,null,"Then, check the generated OpenAPI definition file payments-openapi.yml, and see for yourself how much typing you saved!"),"\n",r.createElement(n.h2,{id:"expanding-fields-as-request-path-parameters",style:{position:"relative"}},r.createElement(n.a,{href:"#expanding-fields-as-request-path-parameters","aria-label":"expanding fields as request path parameters permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Expanding fields as request path parameters"),"\n",r.createElement(n.p,null,"You can use ",r.createElement(n.code,null,"@inline")," ",r.createElement(n.code,null,"ìnputs")," to expand fields as request path parameters (and service method parameters)."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'@inline // expand fields as request parameters\r\ninput PaymentMethodInput {\r\n cardNumber String\r\n paymentMethod PaymentMethod\r\n}\r\n\r\n@rest("/customers")\r\nservice PaymentsService for (PaymentMethod) {\r\n\r\n @put("/{paymentMethodId}/cardNumber/{cardNumber}") // see example below to specify param types\r\n updatePaymentMethodByCardNumber(PaymentMethodInput) PaymentMethod?\r\n}\n')),"\n",r.createElement(n.p,null,"It will pick the first parameter from the entity id and the remaining parameters will be configured as ",r.createElement(n.code,null,"string")),"\n",r.createElement(n.p,null,r.createElement(n.img,{src:"./InlinePathParameters-OpenAPI-Generated.png",alt:"Inline Path Parameters OpenAPI Generated"})),"\n",r.createElement(n.p,null,"But you can override the path params with configuration, see complete example below."),"\n",r.createElement(n.h2,{id:"complete-zdl-example",style:{position:"relative"}},r.createElement(n.a,{href:"#complete-zdl-example","aria-label":"complete zdl example permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Complete ZDL Example"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'@aggregate\r\nentity Customer {\r\n name String required maxlength(254) /** Customer name */\r\n email String required maxlength(254) pattern(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/)\r\n /** Customer Addresses can be stored in a JSON column in the database. */\r\n @json addresses Address[] minlength(1) maxlength(5) {\r\n street String required maxlength(254)\r\n city String required maxlength(254)\r\n }\r\n}\r\n\r\nentity PaymentMethod {\r\n type PaymentMethodType required\r\n cardNumber String required\r\n}\r\n\r\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\r\n\r\nrelationship OneToMany {\r\n Customer{paymentMethods required maxlength(3)} to PaymentMethod{customer required}\r\n}\r\n\r\n// you can create \'inputs\' as dtos for your service methods, or use entities directly\r\ninput CustomerSearchCriteria {\r\n name String\r\n email String\r\n city String\r\n state String\r\n}\r\n\r\n@inline // expand fields as request parameters (and service method parameters)\r\ninput AddressInput {\r\n addressId String\r\n address Address\r\n}\r\n\r\n@rest("/customers")\r\nservice CustomerService for (Customer) {\r\n @post\r\n createCustomer(Customer) Customer\r\n @get("/{id}")\r\n getCustomer(id) Customer?\r\n @put("/{id}")\r\n updateCustomer(id, Customer) Customer?\r\n @put({ path: "/{customerId}/address/{addressId}", params: {addressId: Long} }) // specify param types\r\n updateCustomerAddress(id, AddressInput) Customer?\r\n @delete("/{id}")\r\n deleteCustomer(id)\r\n @post("/search")\r\n @paginated\r\n searchCustomers(CustomerSearchCriteria) Customer[]\r\n}\n')),"\n",r.createElement(n.p,null,"Run:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-shell"},"jbang zw -p io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin \\\r\n specFile=customers-model.zdl \\\r\n idType=integer \\\r\n idTypeFormat=int64 \\\r\n targetFolder=. \\\r\n targetFile=openapi.yml\n")),"\n",r.createElement(n.p,null,"And get surprised by the amount of YAML typing you saved!"),"\n",r.createElement(n.p,null,"Happy coding! 🚀"))}var l=function(e){void 0===e&&(e={});const{wrapper:n}=Object.assign({},(0,a.ah)(),e.components);return n?r.createElement(n,e,r.createElement(o,e)):o(e)};function d(e){let{children:n}=e;return n}function s(e){return r.createElement(d,e,r.createElement(l,e))}},97702:function(e,n,t){t.d(n,{d2:function(){return r.d},zx:function(){return s},L0:function(){return p},$s:function(){return v},VS:function(){return y},gT:function(){return b},P7:function(){return h},Gz:function(){return g},VM:function(){return x},sd:function(){return C},kW:function(){return P},$D:function(){return z},DH:function(){return k},vC:function(){return E},LR:function(){return w},Ee:function(){return D},Bk:function(){return _},Nm:function(){return M},X_:function(){return m.X},YZ:function(){return O},vk:function(){return F},BW:function(){return H},Mo:function(){return T}});var r=t(63585),a=t(27378),i=t(87573),o=t(30294);const l=e=>{let{background:n,backgroundHover:t,on:r}=e;return()=>(0,o.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],n,r,t,r,t,r)},d=o.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),s=a.forwardRef(((e,n)=>{let{variant:t="primary",children:r,...o}=e;return a.createElement(i.z,{ref:n,"data-variant":t},(e=>a.createElement(d,Object.assign({},e,o),r)))}));t(23824),t(31729);var c=t(63681),m=t(84234);const u=o.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=a.forwardRef(((e,n)=>a.createElement(u,Object.assign({ref:n,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=o.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],c.th.px(-9),c.th.px(9)),h=o.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),f=o.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),v=a.forwardRef(((e,n)=>a.createElement(f,Object.assign({ref:n,width:48,height:48},e)))),y=a.forwardRef(((e,n)=>a.createElement(m.X,Object.assign({ref:n,row:!0,my:-4,px:3},e)))),b=a.forwardRef(((e,n)=>a.createElement(o.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),w=o.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,c.up)("md",(0,o.ivY)(["padding-top:4;font-size:48;"])),(0,c.up)("xl",(0,o.ivY)(["font-size:60;"]))),E=o.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,c.up)("md",(0,o.ivY)(["font-size:20;"])),(0,c.up)("xl",(0,o.ivY)(["font-size:24;"]))),I=(0,o.ZPm)(m.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,c.up)("md",(0,o.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,c.up)("xl",(0,o.ivY)(["margin-top:6;"]))),x=a.forwardRef(((e,n)=>{let{backgroundImageURL:t,...r}=e;return a.createElement(I,Object.assign({ref:n,backgroundImage:"url("+t+")"},r))})),z=a.forwardRef(((e,n)=>a.createElement(o.x.div,Object.assign({ref:n,w:{md:.5}},e)))),k=o.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),P=a.forwardRef(((e,n)=>a.createElement(o.x.div,Object.assign({ref:n,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),C=a.forwardRef(((e,n)=>a.createElement(o.x.div,Object.assign({ref:n,col:"auto",p:2},e))));var S=t(24956);const Z=o.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),A=o.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),L=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,D=a.forwardRef(((e,n)=>a.createElement(Z,{align:e.align||"center",className:e.visible},a.createElement(A,Object.assign({ref:n,src:L(e,(0,S.If)()[0])},e)))));t(15239),t(83160);const N=(0,o.ZPm)(o.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),_=a.forwardRef(((e,n)=>a.createElement(o.x.blockquote,Object.assign({ref:n,className:"quote"},e)))),M=a.forwardRef(((e,n)=>a.createElement(N,Object.assign({ref:n},e)))),H=a.forwardRef(((e,n)=>a.createElement(o.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),O=o.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,c.up)("md",(0,o.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),T=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,c.up)("md",(0,o.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,c.up)("xl",(0,o.ivY)(["font-size:24;"]))),j=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),q=o.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),B=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,F=a.forwardRef(((e,n)=>a.createElement(j,{className:e.className},a.createElement(q,Object.assign({ref:n,src:B(e,(0,S.If)()[0])},e)))))}}]); -//# sourceMappingURL=component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js.map \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[869],{91461:function(e,n,t){t.r(n),t.d(n,{default:function(){return d}});var r=t(27378),a=t(20951),i=t(16376);function o(e){const n=Object.assign({blockquote:"blockquote",p:"p",a:"a",h1:"h1",div:"div",code:"code",h2:"h2",ul:"ul",li:"li",pre:"pre",img:"img"},(0,a.ah)(),e.components);return r.createElement(r.Fragment,null,r.createElement(n.blockquote,null,"\n",r.createElement(n.p,null,"This article was first published @medium: ",r.createElement(n.a,{href:"https://medium.com/@ivangsa/stop-writing-yaml-for-openapi-use-a-compact-dsl-and-save-time-and-typing-574a138faddc"},"Stop writing YAML for OpenAPI, use a compact DSL and save time and typing"),"."),"\n"),"\n",r.createElement(n.h1,{id:"generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk",style:{position:"relative"}},r.createElement(n.a,{href:"#generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk","aria-label":"generating openapi definition files from zenwave domain language models with zenwavesdk permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),'Generating OpenAPI definition files from "ZenWave Domain Language" models with ZenWaveSDK'),"\n",r.createElement(n.p,null,"Because writing YAML by hand is now fun..."),"\n",r.createElement(n.p,null,"You can use ",r.createElement(n.code,null,"ZenWave Domain Language")," models as IDL to generate OpenAPI v3 with ZenWave SDK."),"\n",r.createElement(n.p,null,"Imagine being able to quickly define an API in a more concise and readable way, without losing the rigor of an OpenAPI specification. This article explores how you can leverage ",r.createElement(n.a,{href:"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language"},"ZenWave Domain Language (ZDL)"),", a compact developer-friendly DSL, to generate OpenAPI definitions, simplifying the process of creating API documentation, reducing errors, and improving developer productivity. Whether you're managing an extensive API or just getting started, a DSL might be the key to making your API workflow more efficient."),"\n",r.createElement(n.p,null,"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment):"),"\n",r.createElement(i.Ee,{alt:"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment)",dark:"./ZDL-To-OpenAPI-IDL-fragment-dark.png",light:"./ZDL-To-OpenAPI-IDL-fragment-light.png"}),"\n",r.createElement(n.h2,{id:"zenwave-domain-language-zdl",style:{position:"relative"}},r.createElement(n.a,{href:"#zenwave-domain-language-zdl","aria-label":"zenwave domain language zdl permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"ZenWave Domain Language (ZDL)"),"\n",r.createElement(n.p,null,"Inspired by JHipster JDL, ZDL is a language for describing DDD Bounded Contexts, including domain entities and their relationships, services, commands, events and business policies... for Event-Driven Architectures."),"\n",r.createElement(n.p,null,"It's designed to be compact, readable and expressive. Developer friendly, and machine friendly. It works well as an Ubiquitous Language format."),"\n",r.createElement(n.p,null,"It can also be used as an IDL for authoring OpenAPI (and AsyncAPI) definition files."),"\n",r.createElement("img",{src:"https://www.zenwave360.io/static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png"}),"\n",r.createElement(n.h2,{id:"creating-a-zdl-for-authoring-an-openapi-definition",style:{position:"relative"}},r.createElement(n.a,{href:"#creating-a-zdl-for-authoring-an-openapi-definition","aria-label":"creating a zdl for authoring an openapi definition permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Creating a ZDL for authoring an OpenAPI definition"),"\n",r.createElement(n.ul,null,"\n",r.createElement(n.li,null,"As a minimum requirement, you need a ",r.createElement(n.code,null,"service")," and an ",r.createElement(n.code,null,"aggregate entity")," for this service."),"\n",r.createElement(n.li,null,"You can use this ",r.createElement(n.code,null,"entity")," as request and response objects or you can define separate DTOs for this purpose using ",r.createElement(n.code,null,"input"),"and ",r.createElement(n.code,null,"output")," entities."),"\n",r.createElement(n.li,null,"You can also define and reference ",r.createElement(n.code,null,"enums")," and ",r.createElement(n.code,null,"relationships")," between entities. Nested entities and arrays also work."),"\n",r.createElement(n.li,null,"Lastly you need to define the service methods and their parameters and annotate them using ",r.createElement(n.code,null,"@rest"),", ",r.createElement(n.code,null,"@post"),", ",r.createElement(n.code,null,"@get"),", ",r.createElement(n.code,null,"@put"),", ",r.createElement(n.code,null,"@delete"),", ",r.createElement(n.code,null,"@paginated"),", ",r.createElement(n.code,null,"@inline")," annotations."),"\n"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'@aggregate\r\nentity PaymentMethod {\r\n type PaymentMethodType required\r\n cardNumber String required minlength(16) maxlength(16)\r\n}\r\n\r\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\r\n\r\n@rest("/payment-methods")\r\nservice PaymentsService for (PaymentMethod) {\r\n @post\r\n doSomethingWithANewPayment(PaymentMethod) PaymentMethod\r\n\r\n @put("/{id}")\r\n doSomethingWithAnExistingPayment(id, PaymentMethod) PaymentMethod?\r\n}\n')),"\n",r.createElement(n.p,null,"NOTE: service method only accept two kind of parameters: ",r.createElement(n.code,null,"id")," and command payload (that will map to the request body), but you can use ",r.createElement(n.code,null,"@inline")," to expand fields as request path parameters (see below)."),"\n",r.createElement(n.p,null,"Checkout the ",r.createElement(n.a,{href:"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language#services-and-commands"},"ZDL documentation")," for more details about command methods."),"\n",r.createElement(n.h2,{id:"install-zenwave-sdk-using-jbang",style:{position:"relative"}},r.createElement(n.a,{href:"#install-zenwave-sdk-using-jbang","aria-label":"install zenwave sdk using jbang permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Install ZenWave SDK Using JBang"),"\n",r.createElement(n.p,null,"Install an evergreen self updating ZenWave SDK CLI using JBang:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-shell"},"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\n")),"\n",r.createElement(n.p,null,"Following these instructions for complete details about JBang and IntelliJ Editor: ",r.createElement(n.a,{href:"https://www.zenwave360.io/docs/getting-started/"},"https://www.zenwave360.io/docs/getting-started/")),"\n",r.createElement(n.p,null,"Now you can use jbang zw to generate a complete OpenAPI definition file from your ZDL model."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-shell"},"jbang zw -p ZDLToOpenAPIPlugin \\\r\nspecFile=model.zdl \\\r\nidType=integer \\\r\nidTypeFormat=int64 \\\r\ntargetFolder=. \\\r\ntargetFile=payments-openapi.yml\n")),"\n",r.createElement(n.p,null,"Or use ZenWave ZDL Editor for IntelliJ configuring the generator plugin on top of your zdl file:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'config {\r\n plugins {\r\n /** Use ZenWave Editor for IntelliJ IDEA to run this */\r\n ZDLToOpenAPIPlugin {\r\n idType integer\r\n idTypeFormat int64\r\n targetFolder "."\r\n targetFile "openapi.yml"\r\n }\r\n }\r\n}\n')),"\n",r.createElement(n.p,null,r.createElement(n.img,{src:"./RunWith-ZenWave-Editor-for-IntelliJ.png",alt:"Run With ZenWave Editor for IntelliJ"})),"\n",r.createElement(n.p,null,"Then, check the generated OpenAPI definition file payments-openapi.yml, and see for yourself how much typing you saved!"),"\n",r.createElement(n.h2,{id:"expanding-fields-as-request-path-parameters",style:{position:"relative"}},r.createElement(n.a,{href:"#expanding-fields-as-request-path-parameters","aria-label":"expanding fields as request path parameters permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Expanding fields as request path parameters"),"\n",r.createElement(n.p,null,"You can use ",r.createElement(n.code,null,"@inline")," ",r.createElement(n.code,null,"ìnputs")," to expand fields as request path parameters (and service method parameters)."),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'@inline // expand fields as request parameters\r\ninput PaymentMethodInput {\r\n cardNumber String\r\n paymentMethod PaymentMethod\r\n}\r\n\r\n@rest("/customers")\r\nservice PaymentsService for (PaymentMethod) {\r\n\r\n @put("/{paymentMethodId}/cardNumber/{cardNumber}") // see example below to specify param types\r\n updatePaymentMethodByCardNumber(PaymentMethodInput) PaymentMethod?\r\n}\n')),"\n",r.createElement(n.p,null,"It will pick the first parameter from the entity id and the remaining parameters will be configured as ",r.createElement(n.code,null,"string")),"\n",r.createElement(n.p,null,r.createElement(n.img,{src:"./InlinePathParameters-OpenAPI-Generated.png",alt:"Inline Path Parameters OpenAPI Generated"})),"\n",r.createElement(n.p,null,"But you can override the path params with configuration, see complete example below."),"\n",r.createElement(n.h2,{id:"complete-zdl-example",style:{position:"relative"}},r.createElement(n.a,{href:"#complete-zdl-example","aria-label":"complete zdl example permalink",className:"anchor before"},r.createElement(n.div,{dangerouslySetInnerHTML:{__html:''}})),"Complete ZDL Example"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-zdl"},'@aggregate\r\nentity Customer {\r\n name String required maxlength(254) /** Customer name */\r\n email String required maxlength(254) pattern(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/)\r\n /** Customer Addresses can be stored in a JSON column in the database. */\r\n @json addresses Address[] minlength(1) maxlength(5) {\r\n street String required maxlength(254)\r\n city String required maxlength(254)\r\n }\r\n}\r\n\r\nentity PaymentMethod {\r\n type PaymentMethodType required\r\n cardNumber String required\r\n}\r\n\r\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\r\n\r\nrelationship OneToMany {\r\n Customer{paymentMethods required maxlength(3)} to PaymentMethod{customer required}\r\n}\r\n\r\n// you can create \'inputs\' as dtos for your service methods, or use entities directly\r\ninput CustomerSearchCriteria {\r\n name String\r\n email String\r\n city String\r\n state String\r\n}\r\n\r\n@inline // expand fields as request parameters (and service method parameters)\r\ninput AddressInput {\r\n addressId String\r\n address Address\r\n}\r\n\r\n@rest("/customers")\r\nservice CustomerService for (Customer) {\r\n @post\r\n createCustomer(Customer) Customer\r\n @get("/{id}")\r\n getCustomer(id) Customer?\r\n @put("/{id}")\r\n updateCustomer(id, Customer) Customer?\r\n @put({ path: "/{customerId}/address/{addressId}", params: {addressId: Long} }) // specify param types\r\n updateCustomerAddress(id, AddressInput) Customer?\r\n @delete("/{id}")\r\n deleteCustomer(id)\r\n @post("/search")\r\n @paginated\r\n searchCustomers(CustomerSearchCriteria) Customer[]\r\n}\n')),"\n",r.createElement(n.p,null,"Run:"),"\n",r.createElement(n.pre,null,r.createElement(n.code,{className:"language-shell"},"jbang zw -p io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin \\\r\n specFile=customers-model.zdl \\\r\n idType=integer \\\r\n idTypeFormat=int64 \\\r\n targetFolder=. \\\r\n targetFile=openapi.yml\n")),"\n",r.createElement(n.p,null,"And get surprised by the amount of YAML typing you saved!"),"\n",r.createElement(n.p,null,"Happy coding! 🚀"))}var l=function(e){void 0===e&&(e={});const{wrapper:n}=Object.assign({},(0,a.ah)(),e.components);return n?r.createElement(n,e,r.createElement(o,e)):o(e)};function s(e){let{children:n}=e;return n}function d(e){return r.createElement(s,e,r.createElement(l,e))}},16376:function(e,n,t){t.d(n,{d2:function(){return r.d},zx:function(){return d},L0:function(){return p},$s:function(){return v},VS:function(){return y},gT:function(){return b},P7:function(){return h},Gz:function(){return g},S:function(){return W},VM:function(){return x},sd:function(){return P},kW:function(){return C},$D:function(){return k},DH:function(){return z},vC:function(){return E},LR:function(){return w},Ee:function(){return D},Bk:function(){return _},Nm:function(){return M},X_:function(){return m.X},YZ:function(){return O},vk:function(){return F},BW:function(){return H},Mo:function(){return T}});var r=t(63585),a=t(27378),i=t(87573),o=t(30294);const l=e=>{let{background:n,backgroundHover:t,on:r}=e;return()=>(0,o.ivY)(["background-color:",";color:",";&:hover:not(:disabled){background-color:",";color:",";}&:active:not(:disabled){background-color:",";color:",";}"],n,r,t,r,t,r)},s=o.ZPm.buttonBox.withConfig({displayName:"Button__InnerButton",componentId:"sc-1qxez5q-0"})(["appearance:none;border-radius:base;transition:base;font-weight:500;border:0;display:inline-flex;align-items:center;cursor:pointer;font-size:16;padding:2 3;text-decoration:none !important;&:disabled{opacity:0.5;cursor:default;}&[data-variant='primary']{","}&[data-variant='success']{","}&[data-variant='danger']{","}&[data-variant='neutral']{","}"],l({background:"primary-600",backgroundHover:"primary-700",on:"white"}),l({background:"green-600",backgroundHover:"green-700",on:"white"}),l({background:"red-600",backgroundHover:"red-700",on:"white"}),l({background:"gray-300",backgroundHover:"gray-400",on:"black"})),d=a.forwardRef(((e,n)=>{let{variant:t="primary",children:r,...o}=e;return a.createElement(i.z,{ref:n,"data-variant":t},(e=>a.createElement(s,Object.assign({},e,o),r)))}));t(23824),t(31729);var c=t(63681),m=t(84234);const u=o.ZPm.box.withConfig({displayName:"Feature__InnerFeature",componentId:"sc-17n9iec-0"})(["border-left:1;border-left-style:dashed;border-left-color:layout-border;padding-left:4 !important;padding-right:5 !important;"]),p=a.forwardRef(((e,n)=>a.createElement(u,Object.assign({ref:n,col:{xs:1,md:1/3},px:2,pt:4,pb:{xs:2,md:5}},e)))),g=o.ZPm.h2.withConfig({displayName:"Feature__FeatureTitle",componentId:"sc-17n9iec-1"})(["margin:3 0;font-size:16;font-weight:500;border-left:1;border-color:primary-400;margin-left:",";padding-left:",";"],c.th.px(-9),c.th.px(9)),h=o.ZPm.p.withConfig({displayName:"Feature__FeatureText",componentId:"sc-17n9iec-2"})(["color:on-background-light;font-size:15;text-align:justify;margin:4 0;"]),f=o.ZPm.img.withConfig({displayName:"Feature__InnerFeatureImage",componentId:"sc-17n9iec-3"})(["margin-top:3;"]),v=a.forwardRef(((e,n)=>a.createElement(f,Object.assign({ref:n,width:48,height:48},e)))),y=a.forwardRef(((e,n)=>a.createElement(m.X,Object.assign({ref:n,row:!0,my:-4,px:3},e)))),b=a.forwardRef(((e,n)=>a.createElement(o.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),w=o.ZPm.h1Box.withConfig({displayName:"Hero__HeroTitle",componentId:"sc-18tbum5-0"})(["font-size:38;font-weight:600;line-height:1.2;letter-spacing:-1.12px;margin:0 0 2;"," ",""],(0,c.up)("md",(0,o.ivY)(["padding-top:4;font-size:48;"])),(0,c.up)("xl",(0,o.ivY)(["font-size:60;"]))),E=o.ZPm.pBox.withConfig({displayName:"Hero__HeroTeaser",componentId:"sc-18tbum5-1"})(["font-size:18;margin:3 0;"," ",""],(0,c.up)("md",(0,o.ivY)(["font-size:20;"])),(0,c.up)("xl",(0,o.ivY)(["font-size:24;"]))),I=(0,o.ZPm)(m.X).withConfig({displayName:"Hero__InnerHero",componentId:"sc-18tbum5-2"})(["background-repeat:no-repeat;background-position:top -5% center;background-size:100% auto;padding-top:65%;text-align:center;"," ",""],(0,c.up)("md",(0,o.ivY)(["padding-top:0;margin-top:5;background-position:center right;background-size:58% auto;min-height:400;text-align:left;"])),(0,c.up)("xl",(0,o.ivY)(["margin-top:6;"]))),x=a.forwardRef(((e,n)=>{let{backgroundImageURL:t,...r}=e;return a.createElement(I,Object.assign({ref:n,backgroundImage:"url("+t+")"},r))})),k=a.forwardRef(((e,n)=>a.createElement(o.x.div,Object.assign({ref:n,w:{md:.5}},e)))),z=o.ZPm.sectionBox.withConfig({displayName:"Hero__HeroSection",componentId:"sc-18tbum5-3"})(["overflow:hidden;padding-top:2;padding-bottom:5;"]),C=a.forwardRef(((e,n)=>a.createElement(o.x.div,Object.assign({ref:n,row:!0,m:-2,justifyContent:{xs:"center",md:"initial"}},e)))),P=a.forwardRef(((e,n)=>a.createElement(o.x.div,Object.assign({ref:n,col:"auto",p:2},e))));var S=t(24956);const Z=o.ZPm.div.withConfig({displayName:"Image__ImageContainer",componentId:"sc-1b0134e-0"})(["text-align:",";"],(e=>e.align)),A=o.ZPm.img.withConfig({displayName:"Image__InnerImage",componentId:"sc-1b0134e-1"})(["display:inline-block;"]),L=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,D=a.forwardRef(((e,n)=>a.createElement(Z,{align:e.align||"center",className:e.visible},a.createElement(A,Object.assign({ref:n,src:L(e,(0,S.If)()[0])},e)))));t(15239),t(83160);const N=(0,o.ZPm)(o.x.cite).withConfig({displayName:"Quote__Cite",componentId:"sc-12i53kz-0"})(["display:block;text-align:right;margin-top:1rem;"]),_=a.forwardRef(((e,n)=>a.createElement(o.x.blockquote,Object.assign({ref:n,className:"quote"},e)))),M=a.forwardRef(((e,n)=>a.createElement(N,Object.assign({ref:n},e)))),H=a.forwardRef(((e,n)=>a.createElement(o.x.section,Object.assign({ref:n,py:4,borderTop:1,borderBottom:1,borderColor:"layout-border"},e)))),O=o.ZPm.divBox.withConfig({displayName:"WideFeature",componentId:"sc-1ak5yjf-0"})(["display:block;",")"],(0,c.up)("md",(0,o.ivY)(["margin:0 20px;border-top:1px dashed;border-bottom:1px dotted;border-color:var(--xstyled-colors-layout-border,#d4d4d8);display:grid;grid-template-columns:1fr 1fr 1fr;"]))),T=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureText",componentId:"sc-1ak5yjf-1"})(["padding:1rem;grid-column-start:span 2;font-size:18;"," ",""],(0,c.up)("md",(0,o.ivY)(["font-size:20;padding:3rem;padding-top:2rem;"])),(0,c.up)("xl",(0,o.ivY)(["font-size:24;"]))),j=o.ZPm.divBox.withConfig({displayName:"WideFeature__WideFeatureImageContainer",componentId:"sc-1ak5yjf-2"})(["padding:1rem;text-align:center;"]),q=o.ZPm.imgBox.withConfig({displayName:"WideFeature__InnerImage",componentId:"sc-1ak5yjf-3"})(["display:inline-block;"]),B=(e,n)=>"dark"===n?e.dark||e.src:e.light||e.src,F=a.forwardRef(((e,n)=>a.createElement(j,{className:e.className},a.createElement(q,Object.assign({ref:n,src:B(e,(0,S.If)()[0])},e))))),W=e=>{let{gist:n,file:t}=e;const r=(0,a.useRef)(null);(0,a.useEffect)((()=>{(async()=>{const e=t?"https://gist.githubusercontent.com/"+n+"/raw/"+t:"https://gist.githubusercontent.com/"+n+"/raw";try{const n=await fetch(e);if(n.ok){const e=22*(await n.text()).split("\n").length+40;r.current&&(r.current.style.height=e+"px")}else console.error("Failed to fetch Gist content")}catch(a){console.error("Error fetching Gist content:",a)}})()}),[n,t]);const i=t?"https://gist.github.com/"+n+".pibb?file="+t:"https://gist.github.com/"+n+".pibb",o=t?"https://gist.github.com/"+n+"#file-"+t.replace(/\./g,"-").toLowerCase():"https://gist.github.com/"+n;return a.createElement("div",{style:{border:"1px solid #ccc",padding:"10px 0 0 0",borderRadius:"5px"}},t&&a.createElement("header",{style:{marginLeft:"10px",fontStyle:"oblique"}},a.createElement("span",{role:"img","aria-label":"source code"},"🗒️"),a.createElement("a",{href:o,target:"_blank",rel:"noopener noreferrer"},t)),a.createElement("iframe",{title:t,ref:r,src:i,width:"100%",frameBorder:"0",style:{margin:"0",padding:"0"}}))}}}]); +//# sourceMappingURL=component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js.map \ No newline at end of file diff --git a/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js.map b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js.map new file mode 100644 index 0000000..1ac3b02 --- /dev/null +++ b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js.map @@ -0,0 +1 @@ +{"version":3,"file":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js","mappings":"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","sources":["webpack://website/./pages/posts/ZenWave_ZDL_As_IDL_for_OpenAPI.mdx","webpack://website/../smooth-doc/src/templates/post.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js","webpack://website/../smooth-doc/src/components/Gist.js"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Image} from \"smooth-doc/components\";\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n blockquote: \"blockquote\",\n p: \"p\",\n a: \"a\",\n h1: \"h1\",\n div: \"div\",\n code: \"code\",\n h2: \"h2\",\n ul: \"ul\",\n li: \"li\",\n pre: \"pre\",\n img: \"img\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"This article was first published @medium: \", React.createElement(_components.a, {\n href: \"https://medium.com/@ivangsa/stop-writing-yaml-for-openapi-use-a-compact-dsl-and-save-time-and-typing-574a138faddc\"\n }, \"Stop writing YAML for OpenAPI, use a compact DSL and save time and typing\"), \".\"), \"\\n\"), \"\\n\", React.createElement(_components.h1, {\n id: \"generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk\",\n \"aria-label\": \"generating openapi definition files from zenwave domain language models with zenwavesdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Generating OpenAPI definition files from \\\"ZenWave Domain Language\\\" models with ZenWaveSDK\"), \"\\n\", React.createElement(_components.p, null, \"Because writing YAML by hand is now fun...\"), \"\\n\", React.createElement(_components.p, null, \"You can use \", React.createElement(_components.code, null, \"ZenWave Domain Language\"), \" models as IDL to generate OpenAPI v3 with ZenWave SDK.\"), \"\\n\", React.createElement(_components.p, null, \"Imagine being able to quickly define an API in a more concise and readable way, without losing the rigor of an OpenAPI specification. This article explores how you can leverage \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZenWave Domain Language (ZDL)\"), \", a compact developer-friendly DSL, to generate OpenAPI definitions, simplifying the process of creating API documentation, reducing errors, and improving developer productivity. Whether you're managing an extensive API or just getting started, a DSL might be the key to making your API workflow more efficient.\"), \"\\n\", React.createElement(_components.p, null, \"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment):\"), \"\\n\", React.createElement(Image, {\n alt: \"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment)\",\n dark: \"./ZDL-To-OpenAPI-IDL-fragment-dark.png\",\n light: \"./ZDL-To-OpenAPI-IDL-fragment-light.png\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-domain-language-zdl\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-domain-language-zdl\",\n \"aria-label\": \"zenwave domain language zdl permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave Domain Language (ZDL)\"), \"\\n\", React.createElement(_components.p, null, \"Inspired by JHipster JDL, ZDL is a language for describing DDD Bounded Contexts, including domain entities and their relationships, services, commands, events and business policies... for Event-Driven Architectures.\"), \"\\n\", React.createElement(_components.p, null, \"It's designed to be compact, readable and expressive. Developer friendly, and machine friendly. It works well as an Ubiquitous Language format.\"), \"\\n\", React.createElement(_components.p, null, \"It can also be used as an IDL for authoring OpenAPI (and AsyncAPI) definition files.\"), \"\\n\", React.createElement(\"img\", {\n src: \"https://www.zenwave360.io/static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"creating-a-zdl-for-authoring-an-openapi-definition\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#creating-a-zdl-for-authoring-an-openapi-definition\",\n \"aria-label\": \"creating a zdl for authoring an openapi definition permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Creating a ZDL for authoring an OpenAPI definition\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"As a minimum requirement, you need a \", React.createElement(_components.code, null, \"service\"), \" and an \", React.createElement(_components.code, null, \"aggregate entity\"), \" for this service.\"), \"\\n\", React.createElement(_components.li, null, \"You can use this \", React.createElement(_components.code, null, \"entity\"), \" as request and response objects or you can define separate DTOs for this purpose using \", React.createElement(_components.code, null, \"input\"), \"and \", React.createElement(_components.code, null, \"output\"), \" entities.\"), \"\\n\", React.createElement(_components.li, null, \"You can also define and reference \", React.createElement(_components.code, null, \"enums\"), \" and \", React.createElement(_components.code, null, \"relationships\"), \" between entities. Nested entities and arrays also work.\"), \"\\n\", React.createElement(_components.li, null, \"Lastly you need to define the service methods and their parameters and annotate them using \", React.createElement(_components.code, null, \"@rest\"), \", \", React.createElement(_components.code, null, \"@post\"), \", \", React.createElement(_components.code, null, \"@get\"), \", \", React.createElement(_components.code, null, \"@put\"), \", \", React.createElement(_components.code, null, \"@delete\"), \", \", React.createElement(_components.code, null, \"@paginated\"), \", \", React.createElement(_components.code, null, \"@inline\"), \" annotations.\"), \"\\n\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"@aggregate\\r\\nentity PaymentMethod {\\r\\n type PaymentMethodType required\\r\\n cardNumber String required minlength(16) maxlength(16)\\r\\n}\\r\\n\\r\\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\\r\\n\\r\\n@rest(\\\"/payment-methods\\\")\\r\\nservice PaymentsService for (PaymentMethod) {\\r\\n @post\\r\\n doSomethingWithANewPayment(PaymentMethod) PaymentMethod\\r\\n\\r\\n @put(\\\"/{id}\\\")\\r\\n doSomethingWithAnExistingPayment(id, PaymentMethod) PaymentMethod?\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"NOTE: service method only accept two kind of parameters: \", React.createElement(_components.code, null, \"id\"), \" and command payload (that will map to the request body), but you can use \", React.createElement(_components.code, null, \"@inline\"), \" to expand fields as request path parameters (see below).\"), \"\\n\", React.createElement(_components.p, null, \"Checkout the \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language#services-and-commands\"\n }, \"ZDL documentation\"), \" for more details about command methods.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"install-zenwave-sdk-using-jbang\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#install-zenwave-sdk-using-jbang\",\n \"aria-label\": \"install zenwave sdk using jbang permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Install ZenWave SDK Using JBang\"), \"\\n\", React.createElement(_components.p, null, \"Install an evergreen self updating ZenWave SDK CLI using JBang:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\\n\")), \"\\n\", React.createElement(_components.p, null, \"Following these instructions for complete details about JBang and IntelliJ Editor: \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/docs/getting-started/\"\n }, \"https://www.zenwave360.io/docs/getting-started/\")), \"\\n\", React.createElement(_components.p, null, \"Now you can use jbang zw to generate a complete OpenAPI definition file from your ZDL model.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p ZDLToOpenAPIPlugin \\\\\\r\\nspecFile=model.zdl \\\\\\r\\nidType=integer \\\\\\r\\nidTypeFormat=int64 \\\\\\r\\ntargetFolder=. \\\\\\r\\ntargetFile=payments-openapi.yml\\n\")), \"\\n\", React.createElement(_components.p, null, \"Or use ZenWave ZDL Editor for IntelliJ configuring the generator plugin on top of your zdl file:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"config {\\r\\n plugins {\\r\\n /** Use ZenWave Editor for IntelliJ IDEA to run this */\\r\\n ZDLToOpenAPIPlugin {\\r\\n idType integer\\r\\n idTypeFormat int64\\r\\n targetFolder \\\".\\\"\\r\\n targetFile \\\"openapi.yml\\\"\\r\\n }\\r\\n }\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.img, {\n src: \"./RunWith-ZenWave-Editor-for-IntelliJ.png\",\n alt: \"Run With ZenWave Editor for IntelliJ\"\n })), \"\\n\", React.createElement(_components.p, null, \"Then, check the generated OpenAPI definition file payments-openapi.yml, and see for yourself how much typing you saved!\"), \"\\n\", React.createElement(_components.h2, {\n id: \"expanding-fields-as-request-path-parameters\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#expanding-fields-as-request-path-parameters\",\n \"aria-label\": \"expanding fields as request path parameters permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Expanding fields as request path parameters\"), \"\\n\", React.createElement(_components.p, null, \"You can use \", React.createElement(_components.code, null, \"@inline\"), \" \", React.createElement(_components.code, null, \"ìnputs\"), \" to expand fields as request path parameters (and service method parameters).\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"@inline // expand fields as request parameters\\r\\ninput PaymentMethodInput {\\r\\n cardNumber String\\r\\n paymentMethod PaymentMethod\\r\\n}\\r\\n\\r\\n@rest(\\\"/customers\\\")\\r\\nservice PaymentsService for (PaymentMethod) {\\r\\n\\r\\n @put(\\\"/{paymentMethodId}/cardNumber/{cardNumber}\\\") // see example below to specify param types\\r\\n updatePaymentMethodByCardNumber(PaymentMethodInput) PaymentMethod?\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"It will pick the first parameter from the entity id and the remaining parameters will be configured as \", React.createElement(_components.code, null, \"string\")), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.img, {\n src: \"./InlinePathParameters-OpenAPI-Generated.png\",\n alt: \"Inline Path Parameters OpenAPI Generated\"\n })), \"\\n\", React.createElement(_components.p, null, \"But you can override the path params with configuration, see complete example below.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"complete-zdl-example\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#complete-zdl-example\",\n \"aria-label\": \"complete zdl example permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Complete ZDL Example\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"@aggregate\\r\\nentity Customer {\\r\\n name String required maxlength(254) /** Customer name */\\r\\n email String required maxlength(254) pattern(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$/)\\r\\n /** Customer Addresses can be stored in a JSON column in the database. */\\r\\n @json addresses Address[] minlength(1) maxlength(5) {\\r\\n street String required maxlength(254)\\r\\n city String required maxlength(254)\\r\\n }\\r\\n}\\r\\n\\r\\nentity PaymentMethod {\\r\\n type PaymentMethodType required\\r\\n cardNumber String required\\r\\n}\\r\\n\\r\\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\\r\\n\\r\\nrelationship OneToMany {\\r\\n Customer{paymentMethods required maxlength(3)} to PaymentMethod{customer required}\\r\\n}\\r\\n\\r\\n// you can create 'inputs' as dtos for your service methods, or use entities directly\\r\\ninput CustomerSearchCriteria {\\r\\n name String\\r\\n email String\\r\\n city String\\r\\n state String\\r\\n}\\r\\n\\r\\n@inline // expand fields as request parameters (and service method parameters)\\r\\ninput AddressInput {\\r\\n addressId String\\r\\n address Address\\r\\n}\\r\\n\\r\\n@rest(\\\"/customers\\\")\\r\\nservice CustomerService for (Customer) {\\r\\n @post\\r\\n createCustomer(Customer) Customer\\r\\n @get(\\\"/{id}\\\")\\r\\n getCustomer(id) Customer?\\r\\n @put(\\\"/{id}\\\")\\r\\n updateCustomer(id, Customer) Customer?\\r\\n @put({ path: \\\"/{customerId}/address/{addressId}\\\", params: {addressId: Long} }) // specify param types\\r\\n updateCustomerAddress(id, AddressInput) Customer?\\r\\n @delete(\\\"/{id}\\\")\\r\\n deleteCustomer(id)\\r\\n @post(\\\"/search\\\")\\r\\n @paginated\\r\\n searchCustomers(CustomerSearchCriteria) Customer[]\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"Run:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin \\\\\\r\\n specFile=customers-model.zdl \\\\\\r\\n idType=integer \\\\\\r\\n idTypeFormat=int64 \\\\\\r\\n targetFolder=. \\\\\\r\\n targetFile=openapi.yml\\n\")), \"\\n\", React.createElement(_components.p, null, \"And get surprised by the amount of YAML typing you saved!\"), \"\\n\", React.createElement(_components.p, null, \"Happy coding! 🚀\"));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/posts/ZenWave_ZDL_As_IDL_for_OpenAPI.mdx\";\nimport {graphql} from \"gatsby\";\nexport const postQuery = graphql`\n query PostPage($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PostTemplate({children}) {\n return children;\n}\nPostTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PostTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { marginLeft } from '@xstyled/styled-components'\r\n\r\nconst Gist = ({ gist, file }) => {\r\n const iframeRef = useRef(null);\r\n\r\n const fetchGistContent = async () => {\r\n const url = file\r\n ? `https://gist.githubusercontent.com/${gist}/raw/${file}`\r\n : `https://gist.githubusercontent.com/${gist}/raw`;\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n const text = await response.text();\r\n const lineCount = text.split('\\n').length;\r\n const lineHeight = 22; // Approximate line height in pixels\r\n const height = lineCount * lineHeight + 40;\r\n if (iframeRef.current) {\r\n iframeRef.current.style.height = `${height}px`;\r\n }\r\n } else {\r\n console.error('Failed to fetch Gist content');\r\n }\r\n } catch (error) {\r\n console.error('Error fetching Gist content:', error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n fetchGistContent();\r\n }, [gist, file]);\r\n\r\n const src = file\r\n ? `https://gist.github.com/${gist}.pibb?file=${file}`\r\n : `https://gist.github.com/${gist}.pibb`;\r\n\r\n const gistUrl = file\r\n ? `https://gist.github.com/${gist}#file-${file.replace(/\\./g, '-').toLowerCase()}`\r\n : `https://gist.github.com/${gist}`;\r\n\r\n return (\r\n
\r\n {file && (\r\n
\r\n 🗒️\r\n \r\n {file}\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport { Gist };\r\n"],"names":["_createMdxContent","props","_components","Object","assign","blockquote","p","a","h1","div","code","h2","ul","li","pre","img","_provideComponents","components","React","href","id","style","position","className","dangerouslySetInnerHTML","__html","Image","alt","dark","light","src","wrapper","MDXLayout","PostTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage","Gist","gist","file","iframeRef","useRef","useEffect","async","url","response","fetch","ok","text","split","length","current","console","error","fetchGistContent","gistUrl","replace","toLowerCase","border","padding","borderRadius","marginLeft","fontStyle","role","target","rel","title","frameBorder","margin"],"sourceRoot":""} \ No newline at end of file diff --git a/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js.map b/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js.map deleted file mode 100644 index 5053f7b..0000000 --- a/component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js","mappings":"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","sources":["webpack://website/./pages/posts/ZenWave_ZDL_As_IDL_for_OpenAPI.mdx","webpack://website/../smooth-doc/src/templates/post.js","webpack://website/../smooth-doc/src/components/Button.js","webpack://website/../smooth-doc/src/components/Feature.js","webpack://website/../smooth-doc/src/components/Hero.js","webpack://website/../smooth-doc/src/components/Image.js","webpack://website/../smooth-doc/src/components/Quote.js","webpack://website/../smooth-doc/src/components/WideFeature.js"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nimport {Image} from \"smooth-doc/components\";\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n blockquote: \"blockquote\",\n p: \"p\",\n a: \"a\",\n h1: \"h1\",\n div: \"div\",\n code: \"code\",\n h2: \"h2\",\n ul: \"ul\",\n li: \"li\",\n pre: \"pre\",\n img: \"img\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.blockquote, null, \"\\n\", React.createElement(_components.p, null, \"This article was first published @medium: \", React.createElement(_components.a, {\n href: \"https://medium.com/@ivangsa/stop-writing-yaml-for-openapi-use-a-compact-dsl-and-save-time-and-typing-574a138faddc\"\n }, \"Stop writing YAML for OpenAPI, use a compact DSL and save time and typing\"), \".\"), \"\\n\"), \"\\n\", React.createElement(_components.h1, {\n id: \"generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#generating-openapi-definition-files-from-zenwave-domain-language-models-with-zenwavesdk\",\n \"aria-label\": \"generating openapi definition files from zenwave domain language models with zenwavesdk permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Generating OpenAPI definition files from \\\"ZenWave Domain Language\\\" models with ZenWaveSDK\"), \"\\n\", React.createElement(_components.p, null, \"Because writing YAML by hand is now fun...\"), \"\\n\", React.createElement(_components.p, null, \"You can use \", React.createElement(_components.code, null, \"ZenWave Domain Language\"), \" models as IDL to generate OpenAPI v3 with ZenWave SDK.\"), \"\\n\", React.createElement(_components.p, null, \"Imagine being able to quickly define an API in a more concise and readable way, without losing the rigor of an OpenAPI specification. This article explores how you can leverage \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language\"\n }, \"ZenWave Domain Language (ZDL)\"), \", a compact developer-friendly DSL, to generate OpenAPI definitions, simplifying the process of creating API documentation, reducing errors, and improving developer productivity. Whether you're managing an extensive API or just getting started, a DSL might be the key to making your API workflow more efficient.\"), \"\\n\", React.createElement(_components.p, null, \"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment):\"), \"\\n\", React.createElement(Image, {\n alt: \"This is how it looks ZenWave ZDL as OpenAPI IDL (fragment)\",\n dark: \"./ZDL-To-OpenAPI-IDL-fragment-dark.png\",\n light: \"./ZDL-To-OpenAPI-IDL-fragment-light.png\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"zenwave-domain-language-zdl\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#zenwave-domain-language-zdl\",\n \"aria-label\": \"zenwave domain language zdl permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"ZenWave Domain Language (ZDL)\"), \"\\n\", React.createElement(_components.p, null, \"Inspired by JHipster JDL, ZDL is a language for describing DDD Bounded Contexts, including domain entities and their relationships, services, commands, events and business policies... for Event-Driven Architectures.\"), \"\\n\", React.createElement(_components.p, null, \"It's designed to be compact, readable and expressive. Developer friendly, and machine friendly. It works well as an Ubiquitous Language format.\"), \"\\n\", React.createElement(_components.p, null, \"It can also be used as an IDL for authoring OpenAPI (and AsyncAPI) definition files.\"), \"\\n\", React.createElement(\"img\", {\n src: \"https://www.zenwave360.io/static/EventStorming-ZDL-Mapping-cb9c987d5d0aff110c5890481034ae20.png\"\n }), \"\\n\", React.createElement(_components.h2, {\n id: \"creating-a-zdl-for-authoring-an-openapi-definition\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#creating-a-zdl-for-authoring-an-openapi-definition\",\n \"aria-label\": \"creating a zdl for authoring an openapi definition permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Creating a ZDL for authoring an OpenAPI definition\"), \"\\n\", React.createElement(_components.ul, null, \"\\n\", React.createElement(_components.li, null, \"As a minimum requirement, you need a \", React.createElement(_components.code, null, \"service\"), \" and an \", React.createElement(_components.code, null, \"aggregate entity\"), \" for this service.\"), \"\\n\", React.createElement(_components.li, null, \"You can use this \", React.createElement(_components.code, null, \"entity\"), \" as request and response objects or you can define separate DTOs for this purpose using \", React.createElement(_components.code, null, \"input\"), \"and \", React.createElement(_components.code, null, \"output\"), \" entities.\"), \"\\n\", React.createElement(_components.li, null, \"You can also define and reference \", React.createElement(_components.code, null, \"enums\"), \" and \", React.createElement(_components.code, null, \"relationships\"), \" between entities. Nested entities and arrays also work.\"), \"\\n\", React.createElement(_components.li, null, \"Lastly you need to define the service methods and their parameters and annotate them using \", React.createElement(_components.code, null, \"@rest\"), \", \", React.createElement(_components.code, null, \"@post\"), \", \", React.createElement(_components.code, null, \"@get\"), \", \", React.createElement(_components.code, null, \"@put\"), \", \", React.createElement(_components.code, null, \"@delete\"), \", \", React.createElement(_components.code, null, \"@paginated\"), \", \", React.createElement(_components.code, null, \"@inline\"), \" annotations.\"), \"\\n\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"@aggregate\\r\\nentity PaymentMethod {\\r\\n type PaymentMethodType required\\r\\n cardNumber String required minlength(16) maxlength(16)\\r\\n}\\r\\n\\r\\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\\r\\n\\r\\n@rest(\\\"/payment-methods\\\")\\r\\nservice PaymentsService for (PaymentMethod) {\\r\\n @post\\r\\n doSomethingWithANewPayment(PaymentMethod) PaymentMethod\\r\\n\\r\\n @put(\\\"/{id}\\\")\\r\\n doSomethingWithAnExistingPayment(id, PaymentMethod) PaymentMethod?\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"NOTE: service method only accept two kind of parameters: \", React.createElement(_components.code, null, \"id\"), \" and command payload (that will map to the request body), but you can use \", React.createElement(_components.code, null, \"@inline\"), \" to expand fields as request path parameters (see below).\"), \"\\n\", React.createElement(_components.p, null, \"Checkout the \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-language#services-and-commands\"\n }, \"ZDL documentation\"), \" for more details about command methods.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"install-zenwave-sdk-using-jbang\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#install-zenwave-sdk-using-jbang\",\n \"aria-label\": \"install zenwave sdk using jbang permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Install ZenWave SDK Using JBang\"), \"\\n\", React.createElement(_components.p, null, \"Install an evergreen self updating ZenWave SDK CLI using JBang:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk\\n\")), \"\\n\", React.createElement(_components.p, null, \"Following these instructions for complete details about JBang and IntelliJ Editor: \", React.createElement(_components.a, {\n href: \"https://www.zenwave360.io/docs/getting-started/\"\n }, \"https://www.zenwave360.io/docs/getting-started/\")), \"\\n\", React.createElement(_components.p, null, \"Now you can use jbang zw to generate a complete OpenAPI definition file from your ZDL model.\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p ZDLToOpenAPIPlugin \\\\\\r\\nspecFile=model.zdl \\\\\\r\\nidType=integer \\\\\\r\\nidTypeFormat=int64 \\\\\\r\\ntargetFolder=. \\\\\\r\\ntargetFile=payments-openapi.yml\\n\")), \"\\n\", React.createElement(_components.p, null, \"Or use ZenWave ZDL Editor for IntelliJ configuring the generator plugin on top of your zdl file:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"config {\\r\\n plugins {\\r\\n /** Use ZenWave Editor for IntelliJ IDEA to run this */\\r\\n ZDLToOpenAPIPlugin {\\r\\n idType integer\\r\\n idTypeFormat int64\\r\\n targetFolder \\\".\\\"\\r\\n targetFile \\\"openapi.yml\\\"\\r\\n }\\r\\n }\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.img, {\n src: \"./RunWith-ZenWave-Editor-for-IntelliJ.png\",\n alt: \"Run With ZenWave Editor for IntelliJ\"\n })), \"\\n\", React.createElement(_components.p, null, \"Then, check the generated OpenAPI definition file payments-openapi.yml, and see for yourself how much typing you saved!\"), \"\\n\", React.createElement(_components.h2, {\n id: \"expanding-fields-as-request-path-parameters\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#expanding-fields-as-request-path-parameters\",\n \"aria-label\": \"expanding fields as request path parameters permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Expanding fields as request path parameters\"), \"\\n\", React.createElement(_components.p, null, \"You can use \", React.createElement(_components.code, null, \"@inline\"), \" \", React.createElement(_components.code, null, \"ìnputs\"), \" to expand fields as request path parameters (and service method parameters).\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"@inline // expand fields as request parameters\\r\\ninput PaymentMethodInput {\\r\\n cardNumber String\\r\\n paymentMethod PaymentMethod\\r\\n}\\r\\n\\r\\n@rest(\\\"/customers\\\")\\r\\nservice PaymentsService for (PaymentMethod) {\\r\\n\\r\\n @put(\\\"/{paymentMethodId}/cardNumber/{cardNumber}\\\") // see example below to specify param types\\r\\n updatePaymentMethodByCardNumber(PaymentMethodInput) PaymentMethod?\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"It will pick the first parameter from the entity id and the remaining parameters will be configured as \", React.createElement(_components.code, null, \"string\")), \"\\n\", React.createElement(_components.p, null, React.createElement(_components.img, {\n src: \"./InlinePathParameters-OpenAPI-Generated.png\",\n alt: \"Inline Path Parameters OpenAPI Generated\"\n })), \"\\n\", React.createElement(_components.p, null, \"But you can override the path params with configuration, see complete example below.\"), \"\\n\", React.createElement(_components.h2, {\n id: \"complete-zdl-example\",\n style: {\n position: \"relative\"\n }\n }, React.createElement(_components.a, {\n href: \"#complete-zdl-example\",\n \"aria-label\": \"complete zdl example permalink\",\n className: \"anchor before\"\n }, React.createElement(_components.div, {\n dangerouslySetInnerHTML: {\n __html: \"\"\n }\n })), \"Complete ZDL Example\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-zdl\"\n }, \"@aggregate\\r\\nentity Customer {\\r\\n name String required maxlength(254) /** Customer name */\\r\\n email String required maxlength(254) pattern(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,4}$/)\\r\\n /** Customer Addresses can be stored in a JSON column in the database. */\\r\\n @json addresses Address[] minlength(1) maxlength(5) {\\r\\n street String required maxlength(254)\\r\\n city String required maxlength(254)\\r\\n }\\r\\n}\\r\\n\\r\\nentity PaymentMethod {\\r\\n type PaymentMethodType required\\r\\n cardNumber String required\\r\\n}\\r\\n\\r\\nenum PaymentMethodType { VISA(1), MASTERCARD(2) }\\r\\n\\r\\nrelationship OneToMany {\\r\\n Customer{paymentMethods required maxlength(3)} to PaymentMethod{customer required}\\r\\n}\\r\\n\\r\\n// you can create 'inputs' as dtos for your service methods, or use entities directly\\r\\ninput CustomerSearchCriteria {\\r\\n name String\\r\\n email String\\r\\n city String\\r\\n state String\\r\\n}\\r\\n\\r\\n@inline // expand fields as request parameters (and service method parameters)\\r\\ninput AddressInput {\\r\\n addressId String\\r\\n address Address\\r\\n}\\r\\n\\r\\n@rest(\\\"/customers\\\")\\r\\nservice CustomerService for (Customer) {\\r\\n @post\\r\\n createCustomer(Customer) Customer\\r\\n @get(\\\"/{id}\\\")\\r\\n getCustomer(id) Customer?\\r\\n @put(\\\"/{id}\\\")\\r\\n updateCustomer(id, Customer) Customer?\\r\\n @put({ path: \\\"/{customerId}/address/{addressId}\\\", params: {addressId: Long} }) // specify param types\\r\\n updateCustomerAddress(id, AddressInput) Customer?\\r\\n @delete(\\\"/{id}\\\")\\r\\n deleteCustomer(id)\\r\\n @post(\\\"/search\\\")\\r\\n @paginated\\r\\n searchCustomers(CustomerSearchCriteria) Customer[]\\r\\n}\\n\")), \"\\n\", React.createElement(_components.p, null, \"Run:\"), \"\\n\", React.createElement(_components.pre, null, React.createElement(_components.code, {\n className: \"language-shell\"\n }, \"jbang zw -p io.zenwave360.sdk.plugins.ZDLToOpenAPIPlugin \\\\\\r\\n specFile=customers-model.zdl \\\\\\r\\n idType=integer \\\\\\r\\n idTypeFormat=int64 \\\\\\r\\n targetFolder=. \\\\\\r\\n targetFile=openapi.yml\\n\")), \"\\n\", React.createElement(_components.p, null, \"And get surprised by the amount of YAML typing you saved!\"), \"\\n\", React.createElement(_components.p, null, \"Happy coding! 🚀\"));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import React from \"react\";\nimport GATSBY_COMPILED_MDX from \"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/posts/ZenWave_ZDL_As_IDL_for_OpenAPI.mdx\";\nimport {graphql} from \"gatsby\";\nexport const postQuery = graphql`\n query PostPage($id: String!) {\n mdx(id: { eq: $id }) {\n fields {\n pageType\n title\n }\n }\n }\n`;\nfunction PostTemplate({children}) {\n return children;\n}\nPostTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(PostTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\n","import * as React from 'react'\r\nimport { Button as AriakitButton } from 'ariakit/button'\r\nimport styled, { css } from '@xstyled/styled-components'\r\n\r\nconst variant =\r\n ({ background, backgroundHover, on }) =>\r\n () => {\r\n return css`\r\n background-color: ${background};\r\n color: ${on};\r\n\r\n &:hover:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n\r\n &:active:not(:disabled) {\r\n background-color: ${backgroundHover};\r\n color: ${on};\r\n }\r\n `\r\n }\r\n\r\nconst InnerButton = styled.buttonBox`\r\n appearance: none;\r\n border-radius: base;\r\n transition: base;\r\n font-weight: 500;\r\n border: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n cursor: pointer;\r\n font-size: 16;\r\n padding: 2 3;\r\n text-decoration: none !important;\r\n\r\n &:disabled {\r\n opacity: 0.5;\r\n cursor: default;\r\n }\r\n\r\n &[data-variant='primary'] {\r\n ${variant({\r\n background: 'primary-600',\r\n backgroundHover: 'primary-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='success'] {\r\n ${variant({\r\n background: 'green-600',\r\n backgroundHover: 'green-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='danger'] {\r\n ${variant({\r\n background: 'red-600',\r\n backgroundHover: 'red-700',\r\n on: 'white',\r\n })}\r\n }\r\n\r\n &[data-variant='neutral'] {\r\n ${variant({\r\n background: 'gray-300',\r\n backgroundHover: 'gray-400',\r\n on: 'black',\r\n })}\r\n }\r\n`\r\n\r\nexport const Button = React.forwardRef(\r\n ({ variant = 'primary', children, ...props }, ref) => {\r\n return (\r\n \r\n {(buttonProps) => (\r\n \r\n {children}\r\n \r\n )}\r\n \r\n )\r\n },\r\n)\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { th, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst InnerFeature = styled.box`\r\n border-left: 1;\r\n border-left-style: dashed;\r\n border-left-color: layout-border;\r\n padding-left: 4 !important;\r\n padding-right: 5 !important;\r\n`\r\n\r\nexport const Feature = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureTitle = styled.h2`\r\n margin: 3 0;\r\n font-size: 16;\r\n font-weight: 500;\r\n border-left: 1;\r\n border-color: primary-400;\r\n margin-left: ${th.px(-9)};\r\n padding-left: ${th.px(9)};\r\n`\r\n\r\nexport const FeatureText = styled.p`\r\n color: on-background-light;\r\n font-size: 15;\r\n text-align: justify;\r\n margin: 4 0;\r\n`\r\n\r\nconst InnerFeatureImage = styled.img`\r\n margin-top: 3;\r\n`\r\n\r\nexport const FeatureImage = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureList = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const FeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nexport const HeroTitle = styled.h1Box`\r\n font-size: 38;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n letter-spacing: -1.12px;\r\n margin: 0 0 2;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 4;\r\n font-size: 48;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 60;\r\n `,\r\n )}\r\n`\r\n\r\nexport const HeroTeaser = styled.pBox`\r\n font-size: 18;\r\n margin: 3 0;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\n\r\nconst InnerHero = styled(ScreenContainer)`\r\n background-repeat: no-repeat;\r\n background-position: top -5% center;\r\n background-size: 100% auto;\r\n padding-top: 65%;\r\n text-align: center;\r\n\r\n ${up(\r\n 'md',\r\n css`\r\n padding-top: 0;\r\n margin-top: 5;\r\n background-position: center right;\r\n background-size: 58% auto;\r\n min-height: 400;\r\n text-align: left;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n margin-top: 6;\r\n `,\r\n )}\r\n`\r\n\r\nexport const Hero = React.forwardRef(\r\n ({ backgroundImageURL, ...props }, ref) => {\r\n return (\r\n \r\n )\r\n },\r\n)\r\n\r\nexport const HeroBody = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const HeroSection = styled.sectionBox`\r\n overflow: hidden;\r\n padding-top: 2;\r\n padding-bottom: 5;\r\n`\r\n\r\nexport const HeroActionList = React.forwardRef((props, ref) => {\r\n return (\r\n \r\n )\r\n})\r\n\r\nexport const HeroAction = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","/* eslint-disable jsx-a11y/accessible-emoji */\r\n/* eslint-disable import/no-extraneous-dependencies */\r\nimport React from 'react'\r\nimport styled, { useColorMode, th, x } from '@xstyled/styled-components'\r\n\r\nconst ImageContainer = styled.div`\r\n text-align: ${props => props.align};\r\n`\r\nconst InnerImage = styled.img`\r\n display: inline-block;\r\n`\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const Image = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n","import React from 'react'\r\nimport styled, { up, css, x } from '@xstyled/styled-components'\r\nimport { ScreenContainer } from './ScreenContainer'\r\n\r\nconst Cite = styled(x.cite)`\r\n display: block;\r\n text-align: right;\r\n margin-top: 1rem;\r\n`\r\n\r\nexport const Quote = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n\r\nexport const QuoteAuthor = React.forwardRef((props, ref) => {\r\n return \r\n})\r\n","import styled, {up, css, x, useColorMode} from '@xstyled/styled-components'\r\nimport React from \"react\";\r\n\r\nexport const WideFeatureSection = React.forwardRef((props, ref) => (\r\n \r\n))\r\n\r\nexport const WideFeature = styled.divBox`\r\n display: block;\r\n ${up(\r\n 'md',\r\n css`\r\n margin: 0 20px;\r\n border-top: 1px dashed;\r\n border-bottom: 1px dotted;\r\n border-color: var(--xstyled-colors-layout-border,#d4d4d8);\r\n display: grid;\r\n grid-template-columns: 1fr 1fr 1fr;\r\n `,\r\n )})\r\n`\r\n\r\nexport const WideFeatureText = styled.divBox`\r\n padding: 1rem;\r\n grid-column-start: span 2;\r\n\r\n font-size: 18;\r\n ${up(\r\n 'md',\r\n css`\r\n font-size: 20;\r\n padding: 3rem;\r\n padding-top: 2rem;\r\n `,\r\n )}\r\n\r\n ${up(\r\n 'xl',\r\n css`\r\n font-size: 24;\r\n `,\r\n )}\r\n`\r\nconst WideFeatureImageContainer = styled.divBox`\r\n padding: 1rem;\r\n text-align: center;\r\n`\r\n\r\nconst InnerImage = styled.imgBox`\r\n display: inline-block;\r\n //max-width: 300px;\r\n`\r\n\r\nconst src = (props, colorMode) => {\r\n return colorMode === 'dark'? props.dark || props.src : props.light || props.src;\r\n}\r\nexport const WideFeatureImage = React.forwardRef((props, ref) => (\r\n \r\n \r\n \r\n))\r\n"],"names":["_createMdxContent","props","_components","Object","assign","blockquote","p","a","h1","div","code","h2","ul","li","pre","img","_provideComponents","components","React","href","id","style","position","className","dangerouslySetInnerHTML","__html","Image","alt","dark","light","src","wrapper","MDXLayout","PostTemplate","children","_ref","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","variant","background","backgroundHover","on","css","InnerButton","styled","Button","ref","_ref2","AriakitButton","buttonProps","InnerFeature","Feature","col","xs","md","px","pt","pb","FeatureTitle","th","FeatureText","InnerFeatureImage","FeatureImage","width","height","FeatureList","ScreenContainer","row","my","FeatureSection","x","py","borderTop","borderBottom","borderColor","HeroTitle","up","HeroTeaser","InnerHero","withConfig","Hero","backgroundImageURL","backgroundImage","HeroBody","w","HeroSection","HeroActionList","m","justifyContent","HeroAction","ImageContainer","align","InnerImage","colorMode","visible","useColorMode","Cite","Quote","QuoteAuthor","WideFeatureSection","WideFeature","WideFeatureText","WideFeatureImageContainer","WideFeatureImage"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/domain-modeling/business-domain-modeling/index.html b/docs/domain-modeling/business-domain-modeling/index.html index d926c89..bf2e775 100644 --- a/docs/domain-modeling/business-domain-modeling/index.html +++ b/docs/domain-modeling/business-domain-modeling/index.html @@ -283,4 +283,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/event-driven-design/bounded-context-canvas/index.html b/docs/event-driven-design/bounded-context-canvas/index.html index b47ed6b..73d4270 100644 --- a/docs/event-driven-design/bounded-context-canvas/index.html +++ b/docs/event-driven-design/bounded-context-canvas/index.html @@ -266,4 +266,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/docs/event-driven-design/event-storming/index.html b/docs/event-driven-design/event-storming/index.html index 71a570a..f881ac4 100644 --- a/docs/event-driven-design/event-storming/index.html +++ b/docs/event-driven-design/event-storming/index.html @@ -314,4 +314,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/event-driven-design/zenwave-domain-language/index.html b/docs/event-driven-design/zenwave-domain-language/index.html index 165394b..6dec1f3 100644 --- a/docs/event-driven-design/zenwave-domain-language/index.html +++ b/docs/event-driven-design/zenwave-domain-language/index.html @@ -415,4 +415,4 @@

\ No newline at end of file + } \ No newline at end of file diff --git a/docs/examples/index/index.html b/docs/examples/index/index.html index 1428cf6..745aa70 100644 --- a/docs/examples/index/index.html +++ b/docs/examples/index/index.html @@ -246,4 +246,4 @@

\ No newline at end of file + } \ No newline at end of file diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index 5545375..4ed0cdb 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -290,4 +290,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/api-testing/karate/index.html b/docs/zenwave-sdk/api-testing/karate/index.html index 8e7baa3..93adf98 100644 --- a/docs/zenwave-sdk/api-testing/karate/index.html +++ b/docs/zenwave-sdk/api-testing/karate/index.html @@ -269,4 +269,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/api-testing/spring-webtestclient/index.html b/docs/zenwave-sdk/api-testing/spring-webtestclient/index.html index c990751..189f8c6 100644 --- a/docs/zenwave-sdk/api-testing/spring-webtestclient/index.html +++ b/docs/zenwave-sdk/api-testing/spring-webtestclient/index.html @@ -278,4 +278,4 @@

\ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/backend-application/index.html b/docs/zenwave-sdk/backend-application/index.html index 23e97b7..955bb1c 100644 --- a/docs/zenwave-sdk/backend-application/index.html +++ b/docs/zenwave-sdk/backend-application/index.html @@ -387,4 +387,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/consuming-async-commands/index.html b/docs/zenwave-sdk/consuming-async-commands/index.html index 0afbf48..a5bc4ba 100644 --- a/docs/zenwave-sdk/consuming-async-commands/index.html +++ b/docs/zenwave-sdk/consuming-async-commands/index.html @@ -321,4 +321,4 @@

\ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/exposing-a-rest-api/index.html b/docs/zenwave-sdk/exposing-a-rest-api/index.html index 87de1fd..792e6f7 100644 --- a/docs/zenwave-sdk/exposing-a-rest-api/index.html +++ b/docs/zenwave-sdk/exposing-a-rest-api/index.html @@ -335,4 +335,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/index.html b/docs/zenwave-sdk/index.html index 5ad7da0..d17c665 100644 --- a/docs/zenwave-sdk/index.html +++ b/docs/zenwave-sdk/index.html @@ -415,4 +415,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/jpa/index.html b/docs/zenwave-sdk/jpa/index.html index 3e83c93..499ae7d 100644 --- a/docs/zenwave-sdk/jpa/index.html +++ b/docs/zenwave-sdk/jpa/index.html @@ -315,4 +315,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/modeling-aggregates/index.html b/docs/zenwave-sdk/modeling-aggregates/index.html index 8309ab3..51fe59e 100644 --- a/docs/zenwave-sdk/modeling-aggregates/index.html +++ b/docs/zenwave-sdk/modeling-aggregates/index.html @@ -339,4 +339,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/mongodb/index.html b/docs/zenwave-sdk/mongodb/index.html index d1a37f1..c0e0057 100644 --- a/docs/zenwave-sdk/mongodb/index.html +++ b/docs/zenwave-sdk/mongodb/index.html @@ -257,4 +257,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave-sdk/producing-domain-events/index.html b/docs/zenwave-sdk/producing-domain-events/index.html index 05d546a..4952d07 100644 --- a/docs/zenwave-sdk/producing-domain-events/index.html +++ b/docs/zenwave-sdk/producing-domain-events/index.html @@ -308,4 +308,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/docs/zenwave360/index.html b/docs/zenwave360/index.html index 7003141..0228766 100644 --- a/docs/zenwave360/index.html +++ b/docs/zenwave360/index.html @@ -294,4 +294,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/index.html b/index.html index 65f1876..6b4587b 100644 --- a/index.html +++ b/index.html @@ -293,4 +293,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/page-data/app-data.json b/page-data/app-data.json index 14d37f8..fa639f9 100644 --- a/page-data/app-data.json +++ b/page-data/app-data.json @@ -1 +1 @@ -{"webpackCompilationHash":"2373a3ad18a32f95d419"} +{"webpackCompilationHash":"ca55741e0fe9f05af9a5"} diff --git a/page-data/blog/page-data.json b/page-data/blog/page-data.json index e31c9ea..256e2f2 100644 --- a/page-data/blog/page-data.json +++ b/page-data/blog/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---smooth-doc-src-templates-posts-js","path":"/blog/","result":{"data":{"site":{"siteMetadata":{"title":"ZenWave 360º"}},"allBlogPost":{"nodes":[{"id":"67712207-06c6-52af-87af-cf184cc67170","title":"Generate OpenAPI from ZenWave Domain Language","slug":"/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/","date":"September 24, 2024","image":"ZDL-To-OpenAPI-IDL-fragment-light.png","tags":["ZenWave SDK","Code Generator","ZenWave Domain Language","ZDL","DSL"],"excerpt":"Because writing YAML by hand is now fun... You can use `ZenWave Domain Language` models as IDL to generate OpenAPI v3 with ZenWave SDK."},{"id":"b4e26150-ae91-55bd-ad48-d77cf3951e43","title":"JDL To AsyncAPI v2","slug":"/posts/JHipster-As-IDL-for-AsyncAPIv2/","date":"April 29, 2023","image":"JDL-2-AsyncAPI.svg","tags":["ZenWave SDK","Code Generator","JHipster","DSL"],"excerpt":"Because writing YAML by hand is now fun... You can generate AsyncAPI v2/v3 from JHipster JDL models with ZenWave SDK."},{"id":"091b8529-0002-5e60-a17c-86612d4ccd81","title":"JDL To OpenAPI","slug":"/posts/JHipster-As-IDL-for-OpenAPIv3/","date":"April 29, 2023","image":"JDL-2-OpenAPI.svg","tags":["ZenWave SDK","Code Generator","JHipster","DSL"],"excerpt":"Because writing YAML by hand is now fun... You can generate OpenAPI v3 from JHipster JDL models with ZenWave SDK."},{"id":"30572fa6-9ead-597c-bd02-759a98981019","title":"API-First with AsyncAPI","slug":"/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/","date":"March 03, 2023","image":"api-first-with-asyncapi-banner.png","tags":["API-First","EDA","Specification"],"excerpt":"If you are familiar with OpenAPI and OpenAPI Generator API-First process, doing API-First with AsyncAPI is similar."},{"id":"73e700a9-653c-50e8-bb9e-6e855916e8b2","title":"ZenWave AsyncAPI Code Generator","slug":"/posts/ZenWave-AsyncAPI-Code-Generator/","date":"March 03, 2023","image":"ZenWave360-AsyncAPI-SpringCloudStreams.excalidraw.svg","tags":["ZenWave SDK","Code Generator","Java","Spring Cloud Streams"],"excerpt":"With ZenWave SDK plugins, you can generate strongly typed business interfaces, payload and header DTOs and several integration patterns like Transactional Outbox, DeadLetter Queue... from AsyncAPI definitions."}]}},"pageContext":{"filter":{},"limit":100}},"staticQueryHashes":["1122327541","1339625561","148928582","1650910112","2140385554","4275725850"]} \ No newline at end of file +{"componentChunkName":"component---smooth-doc-src-templates-posts-js","path":"/blog/","result":{"data":{"site":{"siteMetadata":{"title":"ZenWave 360º"}},"allBlogPost":{"nodes":[{"id":"f1318867-615c-5e20-a293-4b6a4ec04d34","title":"From OpenAPI to KarateDSL Tests with ZenWave SDK","slug":"/posts/From-OpenAPI-to-KarateDSL-Tests/","date":"October 05, 2024","image":"OpenAPI2Karate.excalidraw.svg","tags":["OpenAPI","API-First","Testing","KarateDSL","Code Generator"],"excerpt":"How to save time and typing by generating KarateDSL tests from OpenAPI definitions with ZenWave SDK."},{"id":"67712207-06c6-52af-87af-cf184cc67170","title":"Generate OpenAPI from ZenWave Domain Language","slug":"/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/","date":"September 24, 2024","image":"ZDL-To-OpenAPI-IDL-fragment-light.png","tags":["ZenWave SDK","Code Generator","ZenWave Domain Language","ZDL","DSL"],"excerpt":"Because writing YAML by hand is now fun... You can use `ZenWave Domain Language` models as IDL to generate OpenAPI v3 with ZenWave SDK."},{"id":"b4e26150-ae91-55bd-ad48-d77cf3951e43","title":"JDL To AsyncAPI v2","slug":"/posts/JHipster-As-IDL-for-AsyncAPIv2/","date":"April 29, 2023","image":"JDL-2-AsyncAPI.svg","tags":["ZenWave SDK","Code Generator","JHipster","DSL"],"excerpt":"Because writing YAML by hand is now fun... You can generate AsyncAPI v2/v3 from JHipster JDL models with ZenWave SDK."},{"id":"091b8529-0002-5e60-a17c-86612d4ccd81","title":"JDL To OpenAPI","slug":"/posts/JHipster-As-IDL-for-OpenAPIv3/","date":"April 29, 2023","image":"JDL-2-OpenAPI.svg","tags":["ZenWave SDK","Code Generator","JHipster","DSL"],"excerpt":"Because writing YAML by hand is now fun... You can generate OpenAPI v3 from JHipster JDL models with ZenWave SDK."},{"id":"30572fa6-9ead-597c-bd02-759a98981019","title":"API-First with AsyncAPI","slug":"/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/","date":"March 03, 2023","image":"api-first-with-asyncapi-banner.png","tags":["API-First","EDA","Specification"],"excerpt":"If you are familiar with OpenAPI and OpenAPI Generator API-First process, doing API-First with AsyncAPI is similar."},{"id":"73e700a9-653c-50e8-bb9e-6e855916e8b2","title":"ZenWave AsyncAPI Code Generator","slug":"/posts/ZenWave-AsyncAPI-Code-Generator/","date":"March 03, 2023","image":"ZenWave360-AsyncAPI-SpringCloudStreams.excalidraw.svg","tags":["ZenWave SDK","Code Generator","Java","Spring Cloud Streams"],"excerpt":"With ZenWave SDK plugins, you can generate strongly typed business interfaces, payload and header DTOs and several integration patterns like Transactional Outbox, DeadLetter Queue... from AsyncAPI definitions."}]}},"pageContext":{"filter":{},"limit":100}},"staticQueryHashes":["1122327541","1339625561","148928582","1650910112","2140385554","4275725850"]} \ No newline at end of file diff --git a/page-data/posts/From-OpenAPI-to-KarateDSL-Tests/page-data.json b/page-data/posts/From-OpenAPI-to-KarateDSL-Tests/page-data.json new file mode 100644 index 0000000..f427a59 --- /dev/null +++ b/page-data/posts/From-OpenAPI-to-KarateDSL-Tests/page-data.json @@ -0,0 +1 @@ +{"componentChunkName":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx","path":"/posts/From-OpenAPI-to-KarateDSL-Tests/","result":{"data":{"mdx":{"fields":{"pageType":"post","title":"From OpenAPI to KarateDSL Tests with ZenWave SDK"}}},"pageContext":{"id":"600f84cb-061a-5409-b32e-3355d1c251fa","frontmatter":{"title":"From OpenAPI to KarateDSL Tests with ZenWave SDK","slug":"/posts/From-OpenAPI-to-KarateDSL-Tests/","image":"OpenAPI2Karate.excalidraw.svg","author":"Ivan Garcia Sainz-Aja","date":"2024-10-05T07:00:00.000Z","excerpt":"How to save time and typing by generating KarateDSL tests from OpenAPI definitions with ZenWave SDK.","tags":["OpenAPI","API-First","Testing","KarateDSL","Code Generator"],"canonical":"https://medium.com/@ivangsa/from-openapi-to-karatedsl-tests-with-zenwave-sdk-d7f885d15f99"},"contentFilePath":"C:/Users/ivangsa/workspace/zenwave/ZenWave360.github.io/website/pages/posts/From-OpenAPI-to-KarateDSL-Tests.mdx"}},"staticQueryHashes":["1122327541","1339625561","148928582","1650910112","2140385554","4275725850"]} \ No newline at end of file diff --git a/page-data/sq/d/1339625561.json b/page-data/sq/d/1339625561.json index 77f41f8..ca25949 100644 --- a/page-data/sq/d/1339625561.json +++ b/page-data/sq/d/1339625561.json @@ -1 +1 @@ -{"data":{"allMdx":{"edges":[{"node":{"id":"9f6ca77c-b315-552f-8dab-3b81acce0338","fields":{"title":null,"pageType":"doc","section":"","order":-9999,"slug":"/docs/"}}},{"node":{"id":"f6eaa6c0-e673-5f35-a03e-990fd192ec10","fields":{"title":"AsyncAPI","pageType":"doc","section":"ZenWave & API-First","order":2,"slug":"/API-First/AsyncAPI"}}},{"node":{"id":"e311f46c-6c29-5eb3-abce-fbc28a529cf0","fields":{"title":"OpenAPI","pageType":"doc","section":"ZenWave & API-First","order":1,"slug":"/API-First/OpenAPI"}}},{"node":{"id":"e3cca46d-0c35-5f45-8196-759f6e199957","fields":{"title":"KarateDSL","pageType":"doc","section":"ZenWave & API Testing","order":2,"slug":"/docs/zenwave-sdk/api-testing/karate"}}},{"node":{"id":"f1014418-1665-5273-811a-b5acc62184b3","fields":{"title":"Spring WebTestClient","pageType":"doc","section":"ZenWave & API Testing","order":1,"slug":"/docs/zenwave-sdk/api-testing/spring-webtestclient"}}},{"node":{"id":"1147a6f5-4a53-5cee-a2f1-6e8602e9709d","fields":{"title":"Event Storming","pageType":"doc","section":"Domain Modeling","order":1,"slug":"/docs/event-driven-design/event-storming"}}},{"node":{"id":"adcd090d-eadb-50f9-9551-f18c94d8597c","fields":{"title":"Consuming Async Commands","pageType":"doc","section":"ZenWave SDK","order":6,"slug":"/docs/zenwave-sdk/consuming-async-commands"}}},{"node":{"id":"7db447d1-3df2-5d2b-a562-ffb823071f04","fields":{"title":"Modeling Aggregates","pageType":"doc","section":"ZenWave SDK","order":2,"slug":"/docs/zenwave-sdk/modeling-aggregates"}}},{"node":{"id":"5fef1d7b-d7b6-51c8-9866-9f18e6aa455a","fields":{"title":"ZDL Domain Language","pageType":"doc","section":"Domain Modeling","order":2,"slug":"/docs/event-driven-design/zenwave-domain-language"}}},{"node":{"id":"cec6772e-9c5d-5c7c-b58c-cb4032d5c107","fields":{"title":"Exposing a REST API","pageType":"doc","section":"ZenWave SDK","order":7,"slug":"/docs/zenwave-sdk/exposing-a-rest-api"}}},{"node":{"id":"dec848ef-9328-5b0e-a3c0-ed1f3a6cd6d2","fields":{"title":"With JPA","pageType":"doc","section":"ZenWave SDK","order":3,"slug":"/docs/zenwave-sdk/jpa"}}},{"node":{"id":"d4ac8b32-bf45-54fa-9f9a-6587522dfebf","fields":{"title":"Backend Application","pageType":"doc","section":"ZenWave SDK","order":1,"slug":"/docs/zenwave-sdk/backend-application"}}},{"node":{"id":"97d11a00-a930-5e96-853c-6c5c93eb46fa","fields":{"title":"Producing Domain Events","pageType":"doc","section":"ZenWave SDK","order":5,"slug":"/docs/zenwave-sdk/producing-domain-events"}}},{"node":{"id":"dd1d61da-ea46-5aa9-ab5d-723e8fa434dc","fields":{"title":"ZenWave SDK","pageType":"doc","section":"ZenWave SDK","order":0,"slug":"/docs/zenwave-sdk"}}},{"node":{"id":"9f1379d2-de8e-5090-9208-2fa502e56b6f","fields":{"title":"Getting Started","pageType":"doc","section":"","order":1,"slug":"/docs/getting-started/"}}},{"node":{"id":"5090c19e-13f8-5290-a976-bb46c67c4e4d","fields":{"title":"ZenWave 360º","pageType":"doc","section":"","order":0,"slug":"/docs/zenwave360"}}},{"node":{"id":"08c94789-a8b1-5b3d-a7ba-c7752e441946","fields":{"title":"EDA Examples","pageType":"doc","section":"Examples","order":1,"slug":"/docs/examples/index"}}},{"node":{"id":"957e02d0-7d11-5a2e-bbe4-c761b16efb91","fields":{"title":"With Mongodb","pageType":"doc","section":"ZenWave SDK","order":4,"slug":"/docs/zenwave-sdk/mongodb"}}},{"node":{"id":"526696a4-5c3b-56d6-acd0-4770d47c3c52","fields":{"title":"Business Domain Modeling","pageType":"doc","section":"Domain Modeling","order":0,"slug":"/docs/domain-modeling/business-domain-modeling"}}},{"node":{"id":"51b39bd1-7e92-59cd-9350-636ec326fdc5","fields":{"title":"Bounded Context Canvas","pageType":"doc","section":"Domain Modeling","order":3,"slug":"/docs/event-driven-design/bounded-context-canvas/"}}}]},"site":{"siteMetadata":{"sections":["ZenWave 360º","Domain Modeling","ZenWave SDK","ZenWave & API-First","ZenWave & API Testing","Examples"]}}}} \ No newline at end of file +{"data":{"allMdx":{"edges":[{"node":{"id":"9f6ca77c-b315-552f-8dab-3b81acce0338","fields":{"title":null,"pageType":"doc","section":"","order":-9999,"slug":"/docs/"}}},{"node":{"id":"f6eaa6c0-e673-5f35-a03e-990fd192ec10","fields":{"title":"AsyncAPI","pageType":"doc","section":"ZenWave & API-First","order":2,"slug":"/API-First/AsyncAPI"}}},{"node":{"id":"e3cca46d-0c35-5f45-8196-759f6e199957","fields":{"title":"KarateDSL","pageType":"doc","section":"ZenWave & API Testing","order":2,"slug":"/docs/zenwave-sdk/api-testing/karate"}}},{"node":{"id":"e311f46c-6c29-5eb3-abce-fbc28a529cf0","fields":{"title":"OpenAPI","pageType":"doc","section":"ZenWave & API-First","order":1,"slug":"/API-First/OpenAPI"}}},{"node":{"id":"f1014418-1665-5273-811a-b5acc62184b3","fields":{"title":"Spring WebTestClient","pageType":"doc","section":"ZenWave & API Testing","order":1,"slug":"/docs/zenwave-sdk/api-testing/spring-webtestclient"}}},{"node":{"id":"08c94789-a8b1-5b3d-a7ba-c7752e441946","fields":{"title":"EDA Examples","pageType":"doc","section":"Examples","order":1,"slug":"/docs/examples/index"}}},{"node":{"id":"9f1379d2-de8e-5090-9208-2fa502e56b6f","fields":{"title":"Getting Started","pageType":"doc","section":"","order":1,"slug":"/docs/getting-started/"}}},{"node":{"id":"5090c19e-13f8-5290-a976-bb46c67c4e4d","fields":{"title":"ZenWave 360º","pageType":"doc","section":"","order":0,"slug":"/docs/zenwave360"}}},{"node":{"id":"7db447d1-3df2-5d2b-a562-ffb823071f04","fields":{"title":"Modeling Aggregates","pageType":"doc","section":"ZenWave SDK","order":2,"slug":"/docs/zenwave-sdk/modeling-aggregates"}}},{"node":{"id":"d4ac8b32-bf45-54fa-9f9a-6587522dfebf","fields":{"title":"Backend Application","pageType":"doc","section":"ZenWave SDK","order":1,"slug":"/docs/zenwave-sdk/backend-application"}}},{"node":{"id":"adcd090d-eadb-50f9-9551-f18c94d8597c","fields":{"title":"Consuming Async Commands","pageType":"doc","section":"ZenWave SDK","order":6,"slug":"/docs/zenwave-sdk/consuming-async-commands"}}},{"node":{"id":"cec6772e-9c5d-5c7c-b58c-cb4032d5c107","fields":{"title":"Exposing a REST API","pageType":"doc","section":"ZenWave SDK","order":7,"slug":"/docs/zenwave-sdk/exposing-a-rest-api"}}},{"node":{"id":"dec848ef-9328-5b0e-a3c0-ed1f3a6cd6d2","fields":{"title":"With JPA","pageType":"doc","section":"ZenWave SDK","order":3,"slug":"/docs/zenwave-sdk/jpa"}}},{"node":{"id":"957e02d0-7d11-5a2e-bbe4-c761b16efb91","fields":{"title":"With Mongodb","pageType":"doc","section":"ZenWave SDK","order":4,"slug":"/docs/zenwave-sdk/mongodb"}}},{"node":{"id":"97d11a00-a930-5e96-853c-6c5c93eb46fa","fields":{"title":"Producing Domain Events","pageType":"doc","section":"ZenWave SDK","order":5,"slug":"/docs/zenwave-sdk/producing-domain-events"}}},{"node":{"id":"dd1d61da-ea46-5aa9-ab5d-723e8fa434dc","fields":{"title":"ZenWave SDK","pageType":"doc","section":"ZenWave SDK","order":0,"slug":"/docs/zenwave-sdk"}}},{"node":{"id":"51b39bd1-7e92-59cd-9350-636ec326fdc5","fields":{"title":"Bounded Context Canvas","pageType":"doc","section":"Domain Modeling","order":3,"slug":"/docs/event-driven-design/bounded-context-canvas/"}}},{"node":{"id":"1147a6f5-4a53-5cee-a2f1-6e8602e9709d","fields":{"title":"Event Storming","pageType":"doc","section":"Domain Modeling","order":1,"slug":"/docs/event-driven-design/event-storming"}}},{"node":{"id":"5fef1d7b-d7b6-51c8-9866-9f18e6aa455a","fields":{"title":"ZDL Domain Language","pageType":"doc","section":"Domain Modeling","order":2,"slug":"/docs/event-driven-design/zenwave-domain-language"}}},{"node":{"id":"526696a4-5c3b-56d6-acd0-4770d47c3c52","fields":{"title":"Business Domain Modeling","pageType":"doc","section":"Domain Modeling","order":0,"slug":"/docs/domain-modeling/business-domain-modeling"}}}]},"site":{"siteMetadata":{"sections":["ZenWave 360º","Domain Modeling","ZenWave SDK","ZenWave & API-First","ZenWave & API Testing","Examples"]}}}} \ No newline at end of file diff --git a/page-data/sq/d/148928582.json b/page-data/sq/d/148928582.json index d5c7bf2..b3bb313 100644 --- a/page-data/sq/d/148928582.json +++ b/page-data/sq/d/148928582.json @@ -1 +1 @@ -{"data":{"logos":{"nodes":[{"name":"logo-nav-dark","publicURL":"/static/5d43df50011eb5994cdb5be3097031cf/logo-nav-dark.svg"},{"name":"logo-nav","publicURL":"/static/5d43df50011eb5994cdb5be3097031cf/logo-nav.svg"},{"name":"logo-nav-light","publicURL":"/static/5d43df50011eb5994cdb5be3097031cf/logo-nav-light.svg"},{"name":"logo-nav-dark","publicURL":"/static/0aed5fb42fa790d38e8f1939457c7c33/logo-nav-dark.svg"},{"name":"logo-nav-light","publicURL":"/static/f8a3fbb23167f1326b2874fc98889e5a/logo-nav-light.svg"}]},"site":{"siteMetadata":{"title":"ZenWave 360º","docSearch":null,"navItems":[{"title":"Documentation","url":"/docs/zenwave360"},{"title":"SDK","url":"/zenwave-sdk/"},{"title":"Plugin","url":"/plugin/"},{"title":"Blog","url":"/blog/"}]}}}} \ No newline at end of file +{"data":{"logos":{"nodes":[{"name":"logo-nav-dark","publicURL":"/static/5d43df50011eb5994cdb5be3097031cf/logo-nav-dark.svg"},{"name":"logo-nav-light","publicURL":"/static/5d43df50011eb5994cdb5be3097031cf/logo-nav-light.svg"},{"name":"logo-nav","publicURL":"/static/5d43df50011eb5994cdb5be3097031cf/logo-nav.svg"},{"name":"logo-nav-light","publicURL":"/static/f8a3fbb23167f1326b2874fc98889e5a/logo-nav-light.svg"},{"name":"logo-nav-dark","publicURL":"/static/0aed5fb42fa790d38e8f1939457c7c33/logo-nav-dark.svg"}]},"site":{"siteMetadata":{"title":"ZenWave 360º","docSearch":null,"navItems":[{"title":"Documentation","url":"/docs/zenwave360"},{"title":"SDK","url":"/zenwave-sdk/"},{"title":"Plugin","url":"/plugin/"},{"title":"Blog","url":"/blog/"}]}}}} \ No newline at end of file diff --git a/page/API-First-with-AsyncAPI/index.html b/page/API-First-with-AsyncAPI/index.html index 8282c3f..915563f 100644 --- a/page/API-First-with-AsyncAPI/index.html +++ b/page/API-First-with-AsyncAPI/index.html @@ -335,4 +335,4 @@

\ No newline at end of file + } \ No newline at end of file diff --git a/plugin-eula/index.html b/plugin-eula/index.html index 44c69fe..0e8ee54 100644 --- a/plugin-eula/index.html +++ b/plugin-eula/index.html @@ -230,4 +230,4 @@ - } \ No newline at end of file + } \ No newline at end of file diff --git a/plugin/index.html b/plugin/index.html index cbd0399..ea1d500 100644 --- a/plugin/index.html +++ b/plugin/index.html @@ -238,4 +238,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/index.html b/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/index.html index caef686..cf4f889 100644 --- a/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/index.html +++ b/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/index.html @@ -307,4 +307,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/posts/From-OpenAPI-to-KarateDSL-Tests/CustomerOpenAPI-UI.png b/posts/From-OpenAPI-to-KarateDSL-Tests/CustomerOpenAPI-UI.png new file mode 100644 index 0000000000000000000000000000000000000000..7050630ca25a37b8ebbbdf48ce614e2ceb23d9f6 GIT binary patch literal 52822 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 literal 0 HcmV?d00001 diff --git a/posts/From-OpenAPI-to-KarateDSL-Tests/KarateIDE-MarketPlace.png b/posts/From-OpenAPI-to-KarateDSL-Tests/KarateIDE-MarketPlace.png new file mode 100644 index 0000000000000000000000000000000000000000..20f3e931f70d343646ce5732e2caa50693b9cec7 GIT binary patch literal 16286 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 literal 0 HcmV?d00001 diff --git a/posts/From-OpenAPI-to-KarateDSL-Tests/OpenAPI2Karate.excalidraw.svg b/posts/From-OpenAPI-to-KarateDSL-Tests/OpenAPI2Karate.excalidraw.svg new file mode 100644 index 0000000..d99d42d --- /dev/null +++ b/posts/From-OpenAPI-to-KarateDSL-Tests/OpenAPI2Karate.excalidraw.svg @@ -0,0 +1,21 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nOz8We/r3pIlXHUwMDA2vvtTJG4/sjo5T2VcdTAwMThcdTAwMDYncZAojlwiKTb8wHmeJ5GGv3tvnv/NvLfSVYbbgNHdQOlB5yeK2mPEirViXHUwMDA3z//6P/zLv/xtPcfsb//5X/6W/ZKordI5Ov72n+7rezYv1dCDr7A/n5dhm5M/d5brOi7/XHUwMDE5hrtobrJ1bKMk+9e9WraoXdYtrYZ/TYZcdTAwMGWu1qxb/uf7/Vx1MDAxZHXZ/zRcdTAwMGVdus7/+o9O/p9ZWq3D/FdfWZt1Wb8uoPX/XHUwMDE3+Pwv//K//nn/p9FVXVRkf27+c/lcdTAwMWaDI/7jtffQ/1x1MDAxOSaKkFx1MDAwNIpj5D9uqFx1MDAxNlx1MDAxMXS0Zin4Nlx1MDAwN4PN/vHNfelv0SBNLlx1MDAxN8g+vu4knzxds03Kf/SZV23rrGf7ZzzLXHUwMDAwpvGP75Z1XHUwMDFlmsyv0rX8t1x1MDAwNfun6/+tX83DVpR9ttzzRv/96jBGSbWef6aA/PvVqC/+tPGPK7979uQ/fnf/gsSJ/9C3MLRglUHf61x1MDAxY/XLXHUwMDE4zWCd/zGCOEqaXHUwMDAyXGajT/+P7zv+PjOC+kf/ZVZcdTAwMTXl+lx1MDAxZi4u2Z/lRSlcdTAwMDanaFxmo/6xXHUwMDE0dzejmv7Z4//lXHUwMDFmizpcdTAwMDPrUO+f9Fvb/vPK9OnfV+a/+Fwivr+Q/slcXP7R1Dam0V+bi9JcdTAwMTjN0lx1MDAxOEKw7D+tT1v1zX9srlx1MDAxZJLmv2JcdTAwMGbLXHUwMDFhrdvd/N/GrE+rvvgvrOCv8f5ccsdcdTAwMTGWXCKpnKRcdTAwMTKKJFx1MDAxMjKJolx1MDAwNM9cIlxuzZA8iihcdTAwMTLFcixGXHTin6xcdTAwMDRcdTAwMTh/9u82fr/+fXTgz7//9b/8+fd/+0//XHUwMDFm+lx1MDAwMcX8N1x1MDAxZIEkcJpFUVx1MDAxY/k/7Vx0R2uV3y+vWWMu21x1MDAxYlx1MDAxZKvFxSD/v+1cdCxJ/ytcdTAwMDJeXHUwMDE0iuAkSv6T4f3xXHUwMDBiXHUwMDEy/1eUvc1cdTAwMDGlUYYm/291XHUwMDEymkD/XHUwMDE1pVx1MDAxMJpBUIxlaZz8r7hcZkL+K1x0xkOTJEOyOE1S/ztcdTAwMGZcIjFcdTAwMTJcdTAwMDGDpZn/b3pcdTAwMTBDMyjxf5tcdTAwMDflOZJcdTAwMTMkhiRslmNcdTAwMDTKgFx1MDAwNYlylKCjhI3piMRoPMpxsGf/1zxcYrz/mdrfonF0wHDu3/3lT2Alq9Spruy/mMzf9io7+P/9Xv8/8j+vv/1cdTAwMGZ/98o/XHUwMDEzWP7R2P9pXHUwMDFj+M//cOeu6jL3n11cdTAwMWFcdTAwMWX/eYmq/4tcdTAwMDBcdTAwMDO2L/rYr/vH95//+d+b/lx1MDAxZuNoySjiP1VcdTAwMWVv2Fx1MDAwN/KUi4FcdTAwMDOvt/MppU9cdTAwMDH+Slx1MDAwZfCm6Fx1MDAwMvdcdTAwMDX/8l+MrOT7XHUwMDA2Lng7NqJy80IklMVxKsdrtvT4ZFx1MDAwZnrtrY5ws1x1MDAwMP+heZeFxKl9TLVcdTAwMTFVXHUwMDA0+njCx7WG57fvLqGxT89+Ppuh/HyqR7OMXHUwMDFmqHw7VfjSk5/cinzrTCZcdTAwMGajO81m3Fx1MDAxOWxcZkNC5HmxK5Wz7oVv8YzjXHUwMDE5m1H0XHUwMDFiY/FcdTAwMWTDN4hG26ZKXHUwMDFh61x1MDAxMCQwvlJcdTAwMDBvruFcdTAwMTjcwmv6zHOqXHUwMDA1piOpXHUwMDFhR3GWdaWfSP/zXHUwMDE5TErgKuH8fDjOKsFvVCuRJO5cYiy+ciTr3+7htffM/VtcdTAwMWKGIHDqa+RKTfzz+7u/oujQ4+/tSVwix1uShFx1MDAxY5+mbP5tLJblPlx0/t/GVnCLIDy/L4c7efDdn2ZVrUy43597789cdTAwMDHP8/qDXHUwMDA0XHUwMDBiX0gqWGLhXHUwMDFl1mZ9/9x7f35cdTAwMTWgU4EodMtcdTAwMTL+6lx1MDAxOOySor7/3Ht/flx1MDAxY5Yl8qklqyr/p1kwP11p5OHPpMHnilx1MDAwMN9cdTAwMTTbIIKm/5p7wVx0wun+97X472vx39fi/z/WgjvcJ89cdTAwMTWW5mxcbl+eIVx1MDAwM+8/a/FcdTAwMWb8SS7HmOVm17o/kmkqQ1x1MDAxMZvGIb9LU5Ns1nSuNuBcZnjBzJLkOVP5L29tXGImei/d6yFs+XxdMPzmj3JuXHUwMDE0zlx1MDAwNMvkmnAjNCzrNOLDVYOdfplmOlPPh7N042fyjD3ObVx1MDAxY8pcZjzfNsknvokuZ9k0jpiLUO/HzzhcdTAwMTLXOsWB50V9kLMvxGvGIFGpsT7xXHUwMDE4hfu5XHUwMDE1d779qJ5rrZhcdFwi68lcdTAwMDRBX5W8l1x1MDAxZpz1hFSCL6CKbFxy+VxmLb1zND/Qmsp3Xt6CLVx1MDAxOJWlYVxmxVx1MDAwNFx1MDAwYtbnaUtccneoZyBnXFyVXHUwMDE0iZCZwZakxOrTWZbnZFTZ3zVKLVxiVmUh4lRtNGqEIM9EcMNcdTAwMDVrrcbVxlx1MDAxMts8jE5rrTl50TU3NeGfh2OJwlx1MDAxYVx1MDAxNlx1MDAxMZxLfmGrjXNccuMniL1cdFxy3NJluzPMXHUwMDAya/i8/SCxdkErulx1MDAwMrTvXHUwMDE2sFx1MDAwMX1cdTAwMDMwIElcdTAwMWM9o3enOKXTbO9hd0BcdTAwMTJcdTAwMDOpr0LhkkWSpOuFJVx1MDAxMlx1MDAxZfyE4fOUhddjQlx1MDAxY1HrLrn2cUJXRGR+VKXXwvmMhj0u6YCLa2BN/IWx4LHpXHUwMDA3la3uPcvfb2jf4yiCX1x1MDAxY3dAX7ZUejDP9J6n+TGJkFx1MDAxYzmw+21o4IBcdTAwMGKErGdcdTAwMDBO0Fx1MDAxZGNM0+TYN3Bic0JbNEWnRVeBwZ1cdTAwMTBcXFx1MDAxNFx1MDAxNaXOjFx1MDAxMiyDk/6Mkum+45hcdTAwMGa/IaLipFx1MDAxN//mdFx1MDAwMe15ltUlqFx1MDAwNm3uXGLNwvmqskrvrM6o1lxmsyz7vnOedj6K1lx1MDAxMsCifC5I9rNCps3l8Tpftfft3HffXHUwMDE2YJ6ThdVvVuQ4rb99L+lbTpVUgUqfbcOAkSObyFx1MDAxN0hlilx1MDAxYXmcndJeXHUwMDE31otccnHbXHUwMDE1YTiOw2vSoFx1MDAwNDNaa8DuOKlPsFx1MDAxODmFL97zTdtzriWKYlx1MDAxZkBVTfJcdTAwMWM222OY9c6YRXhcdTAwMTNcdTAwMWXJY1DDb6SG4iB9XHUwMDA0QfhcdTAwMDb816pUgXtU+XfHIVx1MDAxOJIwXHUwMDBlNsKdXHUwMDE32vLJWY5diLzLl5NbWlx1MDAxZm5cXPBcdTAwMThcdTAwMGXT38FI+llcdTAwMDZcbi41zSFcYt3novr3XHUwMDE28FJkKlx1MDAxYvLhdsFVw1x1MDAxMjrLXGLyK5/7Pua3qFChllxus3fCI1x1MDAxZW+4n7NOUlxcPPvwqeT9XHUwMDFkOMt1I1k7zlx1MDAxM0zz/d7indO5XWpcblmUm5O8eFLjVmCupNH1PVx1MDAxY3rx+1dC1ZhcdTAwMWHy9rn3/S3KRFx1MDAxOObcXHUwMDFj59lzM5WazucvN2VqWEFOmVx1MDAxYvI9XHUwMDBl/r6NXHUwMDBlNU9YfFEhqSjLaXFSv+Ywva96Vlx1MDAwZVVcdTAwMWR7XHUwMDE2XGY7lVx1MDAwNaNOsYKBYYFrndE6iFaZ4l5QOneo7YYr3paqht0kQVwiXCJ9Ku74JqpcdTAwMTSlXHUwMDEzMvnwV9VAn7ZcdTAwMGb6jO4+XHJxXHUwMDAyfeaiZVx1MDAxZLA2SLJIiyPRdIk6dqxTRoYsOMK3XHUwMDA0t0X4V0OfZOpjsdl3eFx1MDAwMFx1MDAxMMl90z3/yVx1MDAxOYDhXCLbnFx1MDAwYvP+WEXIUMnS73jc6EBiNFx1MDAxZV3z4LsheX9cdTAwMGVcdTAwMDCWTqI8zsvNROC9XHUwMDA2priXYVx1MDAxY6BcdTAwMWSqXHUwMDE3Pol++6B4Jlx1MDAxMordePfeycNd1ExCuCN3oqdpPMpFME2YXHUwMDFlOlxuaXFZlslZbVx1MDAxMLFcdTAwMDC4INaClo1cdTAwMDWCXHUwMDE3MICullxct21pXHUwMDAyy3l+96Zw3XLoXHUwMDBimYvcn7hhXHUwMDBlwFxiJDGz/KVpXHUwMDEwQp3iqlx1MDAwN5AlazAqgtiDuFx1MDAxNH2gfMWXXHUwMDA1XHUwMDEyn8A+XHUwMDEx4ke2sUrjskKB3ogoPLiia1x1MDAxOCsu+1x1MDAxNlx1MDAwMa5QXHUwMDA0LYqy8JotRUpW0MmhXHUwMDA2NCRcXLF1eWDIo2W98nzfVu+JRmjE91x1MDAxYT1LSlx1MDAxNJNcdTAwMGZDLsRcdTAwMDNcdTAwMDRcIpFUpYqOgP1cdTAwMTWWZYRmj1GBlcPkr1x1MDAwM35cbm4zXG6RKypw21x1MDAxM9z21WAzXGJcdTAwMDJSJVx1MDAxMyy63JKA8kftjFxyXG78jUlcboLPb7/Jl+aTj0PLXHUwMDE4gigyXHUwMDEz2H9Th+a0/lx1MDAxZLTWX1x1MDAxMFxm7PtcdTAwMTA5XHJSvzemey4kd76lfVx1MDAxN993313tOatcXNrNRU40QzogtoQsh/WqwfX3OHr6+Zix21x1MDAxNkbvxLtgyrTx8uN3V3koxUYoWcaQpfP4zVxycOqjl1x1MDAxNOJMXHUwMDBmgLf9jWN5hyt723pZXHUwMDAzXHUwMDE2XHUwMDA1I/dLUK2aqFx1MDAwMSZRcaZcdTAwMTNcdTAwMTE7cr3ZXbzMYrRccqJcdTAwMWSK98SRXHUwMDE46dNx4ELgPFx1MDAwNuw1z3ZulKzNr2CN2kZmrXV++vZqIShcdTAwMDBjms6vXCL+XGKEsFjD0kXzXHUwMDFlh4klJo4gXHUwMDBlXCIg3bZ+XHUwMDFhP1x1MDAwZWf0pEJDkauaZ+BgXHUwMDAz4z9zXHUwMDE4Nt/m0l7lXHUwMDBlXHUwMDA0y4OTJFx1MDAxZFx1MDAxNUeNL2ZemoJXhbxcdTAwMWXVaZlKf/7eWFx1MDAwYu5mPSzWO0Hed5iiXFyNYHyLSI3SxVx1MDAxM1xcXHUwMDE1XHUwMDA01bE54Ia/6XBcdTAwMTNEVUm9si381Z6bx4RcdJThee94sTU+7IdcbpaGJXUs9vBXf22YjkAsiIRflvDT9iS/7C+DtiDen63QuuHbnzyr06rwzan6XHUwMDAxXHUwMDA2eVx1MDAxYyFcdH/zz4PbKG2Qafn1mueBVyBcdTAwMTNwjipKn1xy8/noXHUwMDA21/Eqz3O6ali2r6qK+mAg4Fx1MDAwM0GQp9pcdTAwMDdgSexcdTAwMDB+kmy/vEauWftcdTAwMDEuwlckxoHY5f3BMNckXHUwMDFl7iBkc0pgXHUwMDE4hp953/cnXHUwMDAz/PE8Qn36UN9Dz/Z4ocJFRqfHSyskpSlcdTAwMDRBTipEXHUwMDFh3Vxc4K0teFx1MDAxNFx1MDAxMGzy4uRR7NbtwVx1MDAxZPNCgJhwnqY1llx1MDAxNIDzWfI9pSuEXHUwMDE0XHUwMDBl4yeu+zxcdTAwMWZKhfFou2Dx2933gVxyrH56PNuq+oVL5U5cZq7/9Tvr/p2W1WrIXZyLvGaNZiFgv1xikVwioY8gYbFB74e3mjtOXHUwMDEzMEA4XG5wXHUwMDE1p7pjnF3Ib+tcdTAwMDQs5yuBtSu5vq8rIe4haFvqfXzrlPeLV4zw8u/5sixOqICw/VxukfH2kyfod/Unblx1MDAwZVx1MDAxY4hhpJfNXHUwMDEySFxitlx1MDAxMqlVXHUwMDBlqlZPWcri1r1cdTAwMDRXlFx1MDAxZNGWlzbo0jzvm7FKq6LsXHUwMDE4rUkwvNdcIpROeEzCXHUwMDBiPqPxqjuJub8+P1x1MDAxMrKx0lx1MDAwYlx1MDAwMkFcdTAwMTHLXHUwMDAzXG6SLXjawTRMsIzQyvNRfSSL0SyANc3oVvElXHUwMDEwUueGs/qK80RtwIKN/nWtL1j0VOzl7jhJsrBSmlx1MDAwZY7DMG4/gof38dBcdTAwMDPE/LqG0Y1V8HOfviXFXHUwMDBlxNlHIfrFv0/hP8z3tFx1MDAwNL6/xp9xMUP09ocvI4TUg/jqsvNasdl/5cXTKG+CfMdcdTAwMTcp0mvOZFx1MDAxY0ncIXPGaGdcdTAwMDf2nONcdTAwMDO89dDzSJ13tFx1MDAwNdnyyVx1MDAxZVx1MDAxMFx1MDAxNmvNXHUwMDEyxPNcdTAwMDeKSVx1MDAxNoJD7iclXHUwMDE2IDcqp8tIx3tcZjP8uPIgUkV7MIwuKWa4u0zjvFx1MDAxZSeLXHUwMDE5YzxcdTAwMTCQXHUwMDAyIGV9h1x1MDAwYpU8sz2Y6XzRZ5I/xOSOK/nIjYp6ylx1MDAwNf2Tc4CuJFx1MDAxMmTeN07f3Vx1MDAxNWud+Kh7aVx1MDAxNJ5T/Z0sXHUwMDFiwVx1MDAxMFx1MDAxONhpZ+7R7udTTMXtXHUwMDEw5FmLXHUwMDAzzHze+sQoiqRI0yxD8G2DIOjQgzb8XGJUXHJcdTAwMDDkzUJcdTAwMWbxolx060WTZLmQuVlcdTAwMWQta9JRRa9BPG54PKm5XHUwMDE32mhcdTAwMWNOUEMmXHUwMDAwRM2+RmiUP2p+q0Xux+vK+X23qN5cclxu0rAu3lpcdTAwMDfD8k9VXHUwMDE1jCvd2JSsX+tBfDTFeqVcdTAwMGJmv3gkJ1x1MDAwMNP3fXKBcvrnMDVcdTAwMWIgUlxcZjlcdTAwMDJkx4Ciz4HAXHUwMDFkwJXe2vDFXHUwMDE1zVx1MDAxY6TnQ5ieqYFRXGbziW17+X1pzoXgfd392Fx1MDAxZZpcXFc9iJXS4GEjXHUwMDAysP3uMvBMbluUnlwiv1x1MDAwMP7quL1iXHUwMDFhRkhcdTAwMWKnb2F3zHnvT+6BSlx1MDAxNmJiLtaWoUIz/vNcdTAwMDFcIkbZXHUwMDEwP1x1MDAwMfgy4N5nXHUwMDAzeGhmLWoxPaMoXHUwMDBiOoyinlx1MDAwZV32crvH6M84n5Z2xyStsC6NaJTCXHUwMDAza/xcdFx1MDAwMD9G4prqQv34XGK3XHIk5ei7JFx1MDAwM+F5ylRlsr/m4ftsKfmrR69YefW2K7gnXHRdNlwiXHUwMDE3jiZV1zCbXHUwMDEx8FI7kJCSsZ9cdTAwMTaf6GxW21x1MDAxNnJzQvxlO3T0yuLXi4Z0XG5603FOsowh8v7jce2iXHUwMDA0tF/0K1xy0eisNslN5XFcdTAwMTUqcGypg5HpT1xmXHUwMDAxMW3fP9RoiWzYXeFqXHUwMDBiS/tLdeCgx4DR4VpBydiJi3ZzZE1cdTAwMTL79i3ZiJl59Vx1MDAwNUNcdTAwMTDfzjvyxXUkf1iNXHUwMDE4t8B00Vx1MDAxM5rU3f/1Ylx1MDAxZX1hP1x1MDAwNdjDVlPqzY/S9qbfV0pYV1dcdTAwMTLnXnfnK1x1MDAxYU9Hrz8gtIRZYlx1MDAwZnz4+mGHXHUwMDAzXHUwMDE5XHUwMDE0QNeL7YUpQ5f9ilx1MDAxMoVcdTAwMTVsves5zaFJXHUwMDA3RWcu8OZcdTAwMTWLw4ZOKVwi+FxcsqJcdTAwMDLeOE6PhtCnkVfc349P81xckFx1MDAwMeH4hpny46zXhu1mXVXsc/Wv7MLXaPZcdTAwMTg4dPvnXHUwMDE5RVx1MDAxYv77kbQrz/7Md1x1MDAxN03PXHUwMDBmJ4WuLyNVgHvJT1x1MDAxMuKrKrzI5TKyU0xfRE5WXGZcdTAwMDdi51GRJIjzq1x1MDAxZV3hOMrxXHUwMDA1rsHQ41x1MDAwNbxrXHUwMDE2MV3GrUGVdflKtnHe37e/+Uj0lrvPmpqn1lx1MDAwMO4gO29OXHUwMDFjXHUwMDE4k/NxzpSBdHk/XHUwMDFl5ljAQuCOSONnXHUwMDE5RJBcdENcdTAwMDQvb/y8OzjL1TG/7lx1MDAxMSqGMnlcdTAwMTGRyEqfx81cdTAwMTYtk6V+TElcdTAwMGbcXHUwMDA1e1x1MDAwMDL8I1x1MDAxMiaQkq+23JyPNilcdTAwMDV1S3imbCa9XozEXG7UXHUwMDE1gHV3m8flUKH5mi2D1jv/05rbTZxcZucjpuGqas94x5VP+eC/y1x1MDAxZFx1MDAwN1x1MDAxNlx1MDAxM9BzXHUwMDE5+CeMokiSRt2L0ShlYfKQ7a/Yep1JU0FvgPtMXHUwMDBmfI6FqmmPlI32PJTx8mwu0YGCfdyjRcNcXG56TGfJ0PKUobhAY891XbeirMxOwYZY+Z4rLFx1MDAxNGFcdTAwMTh+mVx1MDAxN2Z6XHUwMDA0XHUwMDAyvcbSXHUwMDFhXHUwMDAwyXu8c+eKp/Yzk9dj/lxyR/g50Fx1MDAwN1x1MDAxZoc3j1x1MDAxYuvO4Pabn5r008MqJs+2daVs4HVRWbm5WvijtttcdTAwMDNcdTAwMWFccuVmxo/qiWZbyk+vXHUwMDFl+23OOo5v8sdcdTAwMTdHlOq2m67rc/FdfSayp2Lf3F5lOX3AcP5li/aw+K/4TNt359iNuOumZ+hs1+H+b9tzz5fd8lx1MDAxON76YZQz7z1cdTAwMTTv3VJU6oQg1lgjUH5cdTAwMGaqXFzQaHSXROzg35+2IV5cdTAwMWZcdTAwMTGcf5NcdTAwMDRxYCRFUfSudbr/OSyEXHUwMDBmzG3gOjlcdTAwMDJkXG7+2FGabcEneKEjblxcvaN0jvd6rPKZVSBcdTAwMDaXzkoqetdd775ufyRcdTAwMTlcdTAwMDaaoHnXb5TAXHUwMDE2tsomXHUwMDFkqVx0Yn9cdTAwMTB92+slXHUwMDE20pt3XHUwMDEyL03TMFx1MDAxODZGkzDHXHUwMDBmXHUwMDAy47VM2JXvM95cXCPA+FTPXiRcYrBUZTZcdTAwMWJw9JNtz9GxtVx1MDAwNou2XHUwMDA3sUJcdTAwMTCG48TgZ0km2IDoio8vxP3091x1MDAxYy9Cw1xmLrcqZ9lOiJlSgFx1MDAwMj9oNlx1MDAxYlp//fRuOCBzXHUwMDAz9SkpU23mdlx1MDAxZMZibCdQUlxu9DpcYvU4XHUwMDBlpby/jG3KXrRViK6tcbqEdXyUXCJcdTAwMDe+g3iO8JLLXHRcdTAwMTNcdTAwMWGtzbBsW1MhpUZcdTAwMDVjn4nQWnrPY1x1MDAxZnGZ9Jd+JPNcdTAwMWX/wDpB00zVOOHbealzQcbd94k3N1x1MDAwMWuWLNfDUyiqc0JcdTAwMWEx8U1OzXNT4HHFXHUwMDA1L0lcdTAwMTmLj7q+qlx1MDAwN15cdTAwMDZcdTAwMTPEtIqC41x1MDAxZip9kPfcq5OIXGZcdTAwMTZcdTAwMTN6rTRh4Fx1MDAxM+lcdTAwMDZndOjAXGKhKmcw4Fx1MDAxNPpcdTAwMDHoYVx1MDAxOHc+ry6NWmrOXCKD882TRk0331LfXHUwMDEweVx1MDAxYc2FLb8jXHUwMDFmLVx1MDAwMlx1MDAxYXdcdTAwMDdEepykXv5idVx1MDAwNqxgXHUwMDA1XHUwMDA0m2R7k8mM4Nngimma6UPvoeHn7zZcdTAwMTcx6JR8gVBjs85cdTAwMThcdP5wZO7LffuWkJ+2wSSreGSP5lx1MDAxMCg221OW8OxdXHUwMDFi2EFSlJ733Vx1MDAxMdr2XfyNXHUwMDE5blx1MDAxOFmSjGgtMF81elwifWpTw1x1MDAxY2rJXHUwMDFl/OjZ46/9c2v5hnFcdTAwMWa4g6+BKS2yXCJcdTAwMTYl2Vx1MDAxZMCTNjzbx1N1XHUwMDFj0E3SfoKU8jpoKL3+Kj/TQyxryUBhysVcdTAwMDb3N2VDNqbk9MNWXHUwMDE2ICaeXFz+0EvnldxxJjHyPDZdyoZf68oyXHUwMDE4RTK5XHUwMDEyLnBOU9fsXHUwMDE4LehLq+RcXKlL1JnQ74pEXHUwMDAz/UM3W22CpizXLZFna5rZLb59JFR7lyTcsobPUzBPXHUwMDE4LNtG4lx1MDAxNfaqvVx0TejvTmtcdTAwMWFcdKu3ZlZrKuNcYu02MD1sSVYhPd9cdFx1MDAxYlx1MDAwNoTXnaC5T2FcdTAwMTA1+lqOhzPMa0enRpfwjTk1NfpDeVx1MDAxZq9/XHUwMDAzVoN9T1x1MDAxMlx1MDAwNvJqe8GVes1WXHUwMDEyXHUwMDA0Lld7yHW4dMaU2Fx1MDAwNJEkiY2Sy1x1MDAxOT7d6Ov2XHUwMDFmgS+c7NZbXHUwMDEw79I6w1FpNqvzo7tgo2OsXGJG93CDdPrqum5vXGKCgd+bX+Kd5D/RUF86XHUwMDEw1ec3oHjZpHhPY4WA1GM2wKV3w3jlmXvrulx1MDAxNvDCY5FcdTAwMGKAaJYokO/mXHUwMDAwunZCp65CXHUwMDFm+lx1MDAxMXMr4CpcdTAwMTSq91x1MDAxN536n8IjRarGejvxWCGL34NcdTAwMGVNXHUwMDFkkFx1MDAxNXP5O1x1MDAwMcedSFx1MDAwNp9/JN7wXbvcOTFO7DFccuanKtUkXHUwMDEyWqHAdORcdTAwMWYxf1x1MDAwMmW1nm9zfL7HJ1SLXHUwMDE5nGa4TMHjXHUwMDFhMcDWXHUwMDE5j8XxwD9jloFcdTAwMTCfIKDlwT9gXHUwMDFiKC/+xelcdTAwMGbEIcaf4PjFbk1oeEq+cShp8Fx1MDAwNFNXgMZcdTAwMTY6StfDt0DtXyD1XHUwMDEz2XvNUdBjmJ/1UF9gRkheXv333M7zY0FT2Vx1MDAwMoxcdTAwMTRccv5cdTAwMWJzXHUwMDAxYs5cdTAwMDa2pFx1MDAxYp1QqYWjSZxYcVLkJ6dmXHUwMDFitfyItPBcdTAwMTfWqkzcpS02govz1TdcdTAwMDJcYpWoRMHPKXJcdTAwMWbn/P26KVx1MDAxMK9cdTAwMDVJl6TuK0BfmKZcdTAwMGbkM1x1MDAwMPIr3FpcdTAwMTDhq0SdnONcdTAwMDE4yI2lOE0ukSmqY3nHIO/WMOZnnFx1MDAxNC7ikd+b019ccnXx2nfpXHUwMDFjzXve6ZFcdTAwMWbclqh7RGW8UsRcdTAwMTLMXHUwMDE30WlcdTAwMWKFPL379z6ex9KbxZw30GCxXHUwMDA0d99cdTAwMTJoYonhjsymdGnlYKhIXHUwMDAzaNbnpy4rwV6WdmpEX6hjvfXVOmOLPNY9yObPZL/R6oU+TmBqd448qbqvlou3Lni+y0tWK6N4+Fx1MDAwYphOUVx1MDAwMF2oXHUwMDFiSlQ8isCiK8F+P1xmg37+MLtk04d/Kep1aEJcdTAwMDFg9KxCUeaSbMxcdTAwMTFG103+XHUwMDEyTkiNmjhKXHUwMDAwlzl/XHUwMDEyQjo3TURMe0Hlgb11Xd5cdTAwMWalji/Dna9cdTAwMWI+J21cdTAwMTIv32vIfTdl2SRcdTAwMGaUXHUwMDAw9m5cdTAwMTFJXHUwMDAzNFxiMuLldXOucyx+X+JHyFx1MDAwMYNcdTAwMGJcdTAwMDBetFx1MDAxN8BcdTAwMGbC4No7jlxu7KiPWc9L0+cpKNH3Y8KQrGzC67quelx1MDAxOV/bZbP4IPJcdTAwMDeJvJGGs1d/XHUwMDBmUFx1MDAxOKJcdTAwMDFcdTAwMTK9XHUwMDBlwZZUtb3zRUCCXHUwMDE259lIQHdL9ziv/eu0bCa/W1x1MDAwMCxA1j4jXHUwMDAwVKamUalcXJfMXHUwMDFhwlwitCRQblxmXHUwMDAzjOhWSfxJ+GhqlzD+ozBDXHUwMDE5XHUwMDE1WUj7bH6t74xcdTAwMTW2n4pa5yb3Xddbgb9cdTAwMDJZlLuijZa6cLlcYpXq/cuQnJBQVVUrNG5Bxy/Yj9RcdTAwMTOD+dHUvLX4tYxVXHUwMDFjXHUwMDBmpUj/fT48znNOXHUwMDA0lYVQ1HXjQyfuo+q4rq69nlx1MDAxOUQuXGbTVNtHgkmGeT5+iJQ/1I+F5Ob6XHUwMDFiXHUwMDAxW/uwb2W5sZzU1deL+CFTI+jKXHUwMDA1SORTjDvuUzkuoXOLgnxT7fDDXHUwMDFmW85zaz/3sHyjyDe0T+Q90VGP0+zoY3G6Pvv6R1rDKndZpTyPQ1xiSlx1MDAwMKsvrDm9Q9NCXHUwMDBli72pnzHFXHUwMDFkXHUwMDFiVFxcXHUwMDFjXHUwMDA1Tlx1MDAxNSHPjKf2ZTBcdTAwMWKj0/2Fj/gjiOlcdTAwMWLvNClcdTAwMDNSRVEs8/iTUjWt+JmqXHJwy4fId709XGZcdTAwMWVCsd/18Vxm8rrKmHRDo8lcdTAwMTPKYjfqWzecXHUwMDEyguOhS/B8wVx1MDAwZfizXHUwMDE04t4mTSA7LNdcdTAwMWSJXqQ9XSN1KFx1MDAwZiCgOy6yT337XHSotnhKPzpIqPjNMPZcdMNcZpAkvCgqU8dcdTAwMGZ4XFz9wNhPXHLgjVHqonbn6uah5aRVwL6PNEm+n1pdgIxcZoynXHUwMDAyXHUwMDE1dWCijp5cdTAwMDY7lVx1MDAxYb1cdEdtSvVcdTAwMTRD6TDCsvGKXHUwMDAzh1g6JEqN5OeSpX9cdTAwMDSzVudcdTAwMTGPunThq1x1MDAxNqNcdTAwMGV3nsRzsq/24CTvev7CXHUwMDA1meWa79LX79PAyeRo391FzXnYUW9I0+tnXHUwMDEyXHUwMDFidrx6o3fQ+N0lXHUwMDFiXHUwMDFj0T1iIFxib1xyn0ZcdTAwMDHEf8RcdTAwMDWWXHUwMDA0+DQqQmktSjVvwZGcieGZgErtPVx1MDAxObr6I1CBQInV1yFcbiuCclx1MDAxNVx1MDAxNcHMMlx1MDAwMOB4y2K6XHUwMDE58q5cdTAwMTlcdTAwMWL91Fx1MDAxNbF1gn5cdTAwMWW1tDvD71JeuPigbz98sb1kMqJcclx0ICZcdTAwMTJ2XHUwMDFlnlx1MDAwM1xyiVxiXYavPlx1MDAxMYDNb1x0XHUwMDFjt9HXpPNcdTAwMWNm37DFy5bAPW+d8XhzXHUwMDA0z71+6lN89/mOUlCOcCqOLT6x5F2TX18kfsNTV2o0ZWB0Ymh3nH5eXHUwMDE014nW69BUrf5py8VIYiFcdTAwMDLMV7D4UdtYn26zNzRQ2nRzLFwii2c/14iiPOZlQVx1MDAwNW0pWFx1MDAxZS1cdTAwMDFGv5vaXGZ2rH096lx1MDAxZjNtQbwtm/rJ1ZtTqd9cdTAwMDb52mOBiNmutCDWtnmeXHUwMDA3nlsk/suXg/q1a61cXCxcdTAwMDCrPq+5LoryXHK17orHW85O9pefXHUwMDFl1W9Ydco1IEnCXHUwMDE0KjL9ur5cYieIXHUwMDAx+YFSXHUwMDAzSWJcdTAwMTCvPqx5Saqm6lxcMTY6NVx1MDAxZVfKWZNcdTAwMDdigXLLQiF8d021gaCk/2qgu8qztzt2XHUwMDFh58eQYCxcdTAwMDDks3E0INqaXHUwMDFjyX6BNtMw5K8kwyBIaOJcdTAwMTRcdTAwMTPpn0zkNP/W4F795Fx1MDAxNUJcdTAwMDLO8O7coF+WJHXiV9vqaVxyuDebxzNNkkOZblx1MDAxMCCvkGPbP8p+tv5kK+eiTNzsfzJdXHUwMDE2JJEvTos7XHUwMDEyw1x1MDAxNj9cbo9IhWRZ1iXZXHUwMDE2WZ6lXHUwMDFh8Vx1MDAwZlwi/9jjRsW7qcgyjqHn7r/fLGVlXHUwMDEwRWrQmEQp/LZcdTAwMDckMqxPcZ+tJexcXNHohsdjXHUwMDAwLucveMfp3o+DXHUwMDFiX22nqseF4ivHuXN7zntLnpoqXHUwMDAzbJ9fUyZPXHUwMDE1njOBRm7Ik+evRs1fyPnSXzage9PIXHUwMDA0O8CfhPjgNMMkudG32pqqKH+ojCRJXHUwMDA3XHUwMDFjXHUwMDE2WO7aomVMJKVRLe55/uzVQfk5f8bvuY/J5D3bj1x1MDAxZFx1MDAxMDJcdTAwMWSvXHUwMDE14rNX4XNNc5/RdKb1IVxiIVx1MDAxMaCWPtdcdTAwMTXwUJZ8RYPMq1qfqalcdTAwMWW9pFwi1Oxov+NcXFC+21x1MDAxZIRcdTAwMWVEnH73XHUwMDE5zJ5cdTAwMWLEO6tbKnBfp7jvO29cZjAv6fzraFxumaec0CC55sHhSD+xXHUwMDA1m/6eTzNcdTAwMDCx5MV36vZQX1x1MDAxNlxiQC6JUO/YK2GeXHUwMDEwXHUwMDA2x79tXHUwMDE1Yy1cdTAwMWLSi0c6PTW8oedjXHUwMDA0rDeaJNF7rVjs549n8eWFp63fucGzKFDOXHUwMDBltHDBXCIj9eauXHUwMDBl1+fkvdqDWEVcdTAwMWGrg1x1MDAxOcRcdTAwMDNgrlx1MDAxYc6po/Tljs/5ll6M+eLkXHUwMDE1iMSDkISe5JfuM4W67HVwXiODylx0gOPwN8dBrCYt2Gz2PjPoIVx1MDAxNVx1MDAxZr03c1n+aoaIJ6NRJPKoXHUwMDAwfluVblx1MDAwZlx1MDAxM8WaXGJcdTAwMWM6XGJivdmHXHUwMDAxgu3piWVxfN5bLlx1MDAxNDpcdTAwMTf+dcZKXHUwMDAx21x1MDAxMuZcdTAwMDDo98BoPjLDXHUwMDFi2otcdTAwMDeWQjXrL6m1n3C4hcivXHUwMDFhUcKmoVtPXHUwMDAwvuFcdTAwMGZv12rkxXDHq1x1MDAwYnhjooiWVVx1MDAxYzzyp67C1kiSLLs+O0rsWTzYXHUwMDE53aBcXOmtu+5DXHUwMDEw4sB6XHUwMDE32sRcdTAwMDP/pkGEXHUwMDA1Plx1MDAxM8E9cZ9R28lcdTAwMGV9bYE7jEZjpMqfTv3DP0hcdTAwMThcdTAwMGV8oFx1MDAwZina+j3mt/SYSlx1MDAxYlpZ9c1zgPBcdTAwMDPL406uZ6Asy4fm81xcNEuLODScXHUwMDFk/0+u/k9/aqFFyjaOny0ox5KjpsfcMzNcYpFbb46cXHJcdTAwMTT9j7Npraxr8mv1LFx1MDAxOaZ528crNnxa/FlX9Fx1MDAxYlx1MDAwMq7jzmiFTV/gXGZcXCeVhSzIWqqXdW/aQ+NcdTAwMTnkT1lYzqHSXHKZuOOrc7wkqVxuJ9+1Ji2SXHUwMDE3QNCPn8bd9jzNkFx1MDAwMPtcdTAwMWGB2YnKySCWM1xilCbX9uBdkZRwhGLdJS1cdTAwMTb5XHUwMDA2yIBcdTAwMTPEsLd0nOdpPblfIXFcdTAwMDY+6bzDkj5Vxn2fsVHxXHUwMDEyr+KiKLq5SuiyOHrV71vIr5epXHUwMDFkq1x1MDAxYS5cdTAwMTdJsKNcdTAwMDfB+SjlXHUwMDE3L1lcdTAwMDLfXHUwMDAwefhuXHUwMDA0J0/g30vtan9OXHI4XHUwMDBi0lx0iVx1MDAxY4NMts9TXHUwMDBigVx1MDAwMobT551cdTAwMGYgVd00i7KFObBrnz+2ZUvdm1x1MDAxObhcdTAwMWHEI4Zl1nGeXHT/5EYxi1x1MDAwMlx1MDAxOEE+XHUwMDE5f1Y5b1x0Qnbr0OyttXHLWFx1MDAxM1Bv5axcdTAwMTdcdTAwMTPQZOFMXHUwMDFmb/Tbr1x1MDAxOFx1MDAxZZP16ZD1Y5lcdTAwMDWLNLv78Oc8wvBHuMhWgIhOMZvjusSwicU0zcDvnFx1MDAwZbxXXHUwMDAx2Fx1MDAxY8aMhlrivzIhfbiDIFwiv8rR5yA5mrSQ9O5cdTAwMDAv3Vx1MDAwYrTkXVx1MDAxNt0z71x1MDAwYlx1MDAxMFvwbJ3nXGbe5lx1MDAwMY/i31qHm2Q5iFx1MDAxYsq63nBcdTAwMWZcdTAwMWPTbHOS8fuNU/nVKmlJXHJcdTAwMGZKlFSwaNRcdTAwMWRPWeMg9MKSWFFehS6TRb5p8nxGmlx1MDAxYcS4zlx1MDAwNFwikzXak05cdTAwMDVcdTAwMTd2YTrsoIk6bYLJ0PVcdTAwMTKUoybq4j7n3D5EzLdcXJelafith2o6fjg0bjzNXCIjNDPPXHUwMDE4WVx1MDAwMKdBIYZyqVDvwvOHWPNv6YJX+H42Tlx1MDAxONmEvUi5pHNHbr+nnvv8VbPkODdXdoVcdTAwMTDAKfJX7dJMXHUwMDAwO1x1MDAxNSmt/Vx1MDAxMMLfa7TOv/DeNbdM/quWSclve8tDfVLUz5+6q8K37lpcdTAwMWLXXHUwMDAxTVnHXaslcPGdXHUwMDBifJHa40tcbn9qqyTuvDH4vJtykXIwl09cdTAwMDZcdTAwMDdcdTAwMTNcdTAwMTlYXHRcdTAwMTZcdTAwMDMsZs7M9Fx1MDAxNlxihn+XXHUwMDBihZ1U3PVamvJcdTAwMDe3uY2wXth4V2JxUitZnlx1MDAwM2m4iKJe/tJIlklcdTAwMWE1XHUwMDAxVrw2K3CLa1s3mIYgXGbOf1xiuF3lOeauj9F7XHUwMDEz+Kx0ny29+juw4bKfRKZcdTAwMDJByKqB3cQpPYTedz1qMd9Fp1x1MDAwMOTNhv9NvzrLtm2dq1x1MDAxN0V8XHUwMDEzMO3KUl1AdFxuwFx1MDAwN1x1MDAwMdWcMFMwpfJcdTAwMDVHTWpcdTAwMDRqc/GVqliqwVmOKzBKwFx1MDAwYlx1MDAxNMs+XiQ1bfswkCWTvVx1MDAxZUC2xPHVpaZcdTAwMTkvmG2ipiRRXHUwMDFmfp1wXHUwMDFj2FT6PMPP1uNcdTAwMWJcdTAwMDbl+dZcdTAwMDDDpZZcdTAwMGWE+kp4OM5hVVpcdTAwMDFMq/npXHUwMDA1ddiGXHUwMDEwxzRl32dcdTAwMTW/7HKIxFD+1MfE2lx1MDAwNuDnLk2Hw1x1MDAwNFxi3Pz1+/3gV1d7M2mAti7FjHFfQECcMVx1MDAwZey681MvsrlC8nuGyaje9WGajEerkFx1MDAxMbOK9T5cdTAwMDC+V2D21/yJ7mijXHUwMDFhxO13hFxufSXGsSxcdTAwMWHJXHUwMDFlt35o7zaYSVFwYvhcdTAwMDDS3cYwXHUwMDA0VVtGJDZKb1e4XHUwMDEwy/PPeXTmM1xmMNdcdTAwMGWDID8hWFx1MDAxNr1cdTAwMDKSPbE4XFw+gP5ZbFDIVsX/vfbsg9jmI0lZXHUwMDE01bvg2aq2PFx1MDAwYutm4MGkSSBI7UGzXHUwMDBiY/LsXHUwMDFjaqrTXGJhso5cdTAwMDSEoaG19kSmh1BcdTAwMDbNUSx7qjpcdTAwMDfwXHUwMDBlp68zXHUwMDE4rXfK6IPJUIFmtSrprieQ40jnzzr7XHUwMDAw5e2AXHUwMDA1nW0goF2KitOTWD5n/K6wjoFcdTAwMDZAXHUwMDFigaZeylx1MDAxMI9XlELDXmAu172YXHUwMDE0XHIvktm8y9vhXHT39Yo2XHUwMDAxlSOzm28/l4UrJOFcdTAwMGI6iVx1MDAwMFPHXG5AWsulJqpLQ+hcdTAwMTR51l3Nl0Vtg3hxXHUwMDAx3VxutFx1MDAwZsJO6PQjj/r4c14u8lx1MDAwM/J8TmT6lY2qo0B8XHUwMDAx6lx1MDAxMVx1MDAwZrLIv6FGv/FZxyzSmnUsfuOpv56xk4qyZTYv4Fx1MDAxY0k+XFzkelOo/jlKL29CXGb5Y+Q2NJd2lGWGqiFB1jdhXHUwMDAxtSNyhVx1MDAwNJmka9s29uEjbPWnjlx1MDAwMHiR+Fx1MDAxZCexOJVCu3OR411cdTAwMGVcdTAwMDUrglxc2MVcdTAwMGUs9Mz0U1x1MDAwN1x1MDAxYo54XHUwMDBmf093uzOonn5ozVx1MDAxOZ/o421cdTAwMWFcdTAwMTlcdTAwMTNdmEOnYLsxXGaCca9rZaJcdTAwMWaVbHi9gGg5XHUwMDFk6VenXHUwMDFlXHUwMDEww1xmXGbT55DIYF7cPS9d9y3yWz+AzfBKapLNgFx1MDAxMFx1MDAxZmhbxfY8Ibg2pk/rrEG751nGQKRB4JJYXCKUpozK1vWutmbK7J3kZ5mCXHUwMDE3xFI7n4hcbn5cdTAwMWSW3UD5q1xiPpek8NLhXHUwMDAyXHUwMDE4fI9H3n8q9YiAyN1ywJd/umAznkNcdTAwMWY/1EG6ZlxcgsL7XFzIq7lwQ1xu69tnWoJIXHJmRqj0nSpcdTAwMTExZ1x1MDAxY3BAo5zmR1x1MDAwNqTa9SX8n/39Qp2HOOHvXHUwMDFj7lqwKdy52bbUu7znXHUwMDEzJpuvfS/jpzYuXHUwMDE5XHUwMDAyTFx1MDAxOPopl8lcdH9NoW8wXGJYXHUwMDEy816vPpuP+9zojEggs9WUhH1cdTAwMGXox+C8s1xiWz/n0ZjpmFxmXHUwMDEx/OOu11xigOJU0CdcdTAwMWGvVIVcdTAwMDeIJZK7oihcdTAwMDQ85XeimSBcdTAwMTk4XHUwMDBmgs9UWoNfgq1cdTAwMTl+XHUwMDA38X1cdTAwMDPPXbG5ilwixpDFhMguyY1DgCDk6FpcdTAwMTWe/KqPq/zypkju+oGlQ1x0YVx1MDAxMWjwildcdTAwMWLP35I09Vx1MDAxOYLY9lx1MDAxOLNcdTAwMWI2x9d5Vrvdi6/Hl3ad5r0riFx1MDAwMvYoXHUwMDAyusU15Vx1MDAwNX8rOthcIi39mLJdSFx1MDAwMJ5cdTAwMDGB+VVeoUdccpqiX1x1MDAxNq+y7Pz9IDdcdTAwMDRjQFxy+JRcdTAwMTJnPG7OnnuuMvaOZVx1MDAwZbH/XHUwMDAzzNSNsz7iXHUwMDE0NNTqjMjG51fBPrUkXHUwMDE1zo3hXHUwMDAy3+qU8KO0SL+1zF2vXHUwMDEyXHUwMDAwv/6Gf2qXYHhH7d4z40rynPHy0Vx1MDAwNiv6R4DAXHUwMDE0gJEpXHUwMDBlN+fqo37Z18Sj3sgvnOh0Qlx1MDAxOWygyEHmhPvsc2hcdTAwMTBCd0LgXHUwMDA34XvCjlx1MDAwNqlpNk1zMjuvi6CpVlx1MDAxOfExWps9ttWfXHUwMDBmn6TeO9NDql8opkZPiqbnYVx1MDAxZVJfUfuncdiCWtz1L9ZcdTAwMDdcdTAwMTGbZuE8jPdjlGK/TsbqTd+TTmZcdTAwMDarnCck8VJOzVx1MDAxM4UrTJZOvtKtff1IXHUwMDA2+ab2eShcdTAwMTTwnjyDXCKKe5FLXuuLzVx1MDAxMVx1MDAxMqBJXHK0i2+gXHUwMDE5yOnt5ba2XHUwMDAyhPOa29+ua0LQwXJcdTAwMTUve8LswEd8g4UsXGZvLfIlXHUwMDFhpcbcx0/pRVx1MDAwN6CQKMPb9cm2XG5cdTAwMGJcdTAwMTHmc1autdTRS1x1MDAxNnzhyLhcdTAwMTI4XVx1MDAxNFMzg1x1MDAxNaxFsFx1MDAxZsBFlq/lXCL0I8IkPqCbMKIqqGtw9Vx1MDAwMIqB43RZ51x1MDAwMDurNYzz5txcdTAwMTbqPmpcdTAwMWRcdTAwMTfo1cwgI9K/XHUwMDBmoW6O38/byqdcdTAwMTHKKWczXHUwMDBl61x1MDAxZfRAXHUwMDFif1xuk8FcdTAwMWTGXHUwMDFjqTWIN+w+Y3+QtHFiluVcYlx1MDAxNsBccsNeRVx1MDAxMCyOXHUwMDE3RW9cdTAwMTjAUPJ4p/FsecNcdTAwMTOA7O9cdTAwMGJE2Vwil2+DXGIlXHUwMDFmzzHXyD9qUcFwXHUwMDFlxj+ZXHUwMDFl+6h74KN311x1MDAwM6HrXHUwMDEySp9ywYmOI1x1MDAwMVx1MDAxZvlpKl/8Smn7IKlh6cF0ny9LXHUwMDE49uy561x1MDAxYbrAw4M8f0WAxsxzT7fseTr++Vx1MDAwNWp9MmKWfb/N0Vx1MDAwM8jRSilcdTAwMDV5/JfJjNSmzW8pXHUwMDFlKtgjhGBDgVx1MDAxNk1sJyY/9CrWoM47ry3lWWWKTYot0Fx1MDAxObNcdTAwMTDUd9mYZKb8iVx1MDAxOFx1MDAwMnVeh99cdTAwMTI7XHUwMDE2xXs6e29sLn9cdTAwMDT5WoUtUyz9LnI61SZ4cDtXNFx1MDAxMamYSFAhhvryp1x1MDAwMX/oXaxTooOhXHUwMDFikVx1MDAwNuOydStcdTAwMTDYOLZPXHUwMDEwc7H5/lx1MDAwYrDeXHUwMDFke1x1MDAwZppbmKIpXHUwMDAzRnB4XHUwMDFlSjaF/P3xndt4LVUxXHUwMDFmXHUwMDFj8z5H2cczXHUwMDA2tFx1MDAxNlx1MDAxNyqAUa31fJxU8jYhJJwurGFcdTAwMDFGlM1cdTAwMTnynLdTZpU+XHUwMDFjlZVz0Fwivlx1MDAwZiyMhkhcbs/bU1x1MDAxYT8kh2MpRq+/0Fx1MDAxZY5vk4+F3YicwIG1QYrq2E65XHUwMDFh8C2Lfnfa4qt/rS3tXHUwMDExZoJY+ubNSjx/hVx1MDAxNIhcdJ7Xc+i7flx1MDAxZfT8XHUwMDE4ft9z5Vx1MDAxZULzVVx1MDAwYlaGhvxBkL9VaFUrXHRBLFx1MDAwYseD12F8XHUwMDE0sqp2T1x1MDAwNEbpXHUwMDE1jy/h0an8psbzXG5ezZ1cdTAwMWJRo5CjXHUwMDE0orj5sfpZeNZTYlx1MDAxN2viZ3FcYk1cdTAwMTDWIFx1MDAxMkpNXHUwMDAziPHnkNOEXHUwMDE475xza1x1MDAwMsxDmG3biiqSRO7WzVx1MDAxNe69kLt+zrJsQVx1MDAwM8h315xL+9Hn8zRRcIM0yy5cdTAwMDZUYd9lZlx1MDAxZdA+Q4cl8Fx1MDAwZahcdTAwMWNTXHUwMDFiXHUwMDAzXHJUXCJg0neaJ7TI39FI90JoXHUwMDExXHUwMDEwXl/1yUvki1BcdJpcdTAwMWVcdTAwMDXgPkRsldxxn1x1MDAwYr813yDE/To43Tyf276XM2OpzaFcdTAwMTVq/O5cdTAwMGVrzmepXHUwMDFkja+uPI9/P1x1MDAxM1/vNanps+8vsun816PneO5cdTAwMTHwL8f6pYAgodg7tDmJaFx1MDAxMCBfXHUwMDBm/JuFuPBcdTAwMDA001x1MDAwZYyhINZ5IPlDQHggX9c0XHUwMDEwgpe3d2xcdEiJw293YN+ej5aYdFx0mWyNuCxzbiHYbFx1MDAwMU9cdTAwMTJl/s7XVuw3rKdvXHUwMDEw6VZPXHUwMDFjnNqrgJgvfSt5ieD3b/Qkwf5OPFfEVVYyneh+OPrMr96EIfuOjXy9WkP9fnOgi96mYeNKT1KqSPCiYZ5RJcdJizdZiiXB+Dy4qslcckSoXCJx61x1MDAxZPV70UenXHUwMDAxPVx1MDAwNtZSxfG+qNUsrzRDKlx1MDAxM11/v5lcdTAwMTJwXFzk01x1MDAwZoKGcsdcdTAwMWTX9efwap03RqWfIDezpvatO/9uWvSn+3h3PfJutH/qz1XE2lx06GtcdTAwMDF2XHUwMDE0+i5fXHUwMDE0vnM/g1GpzJspXHUwMDE0XHUwMDE4NlxyXHUwMDEzNvu+p7VcdTAwMWS/aDtcdTAwMWZFgENQcOf5XHUwMDE0c6coXG7wXHUwMDAxjUlNpbagiN7p3O5X9ndWpLVcdTAwMDdcdTAwMTdcckzsacRZbvTps7AskyTHdVdryudOznrdcICOp6IlVVx1MDAwMfigU7epxkz+y16fVjWeeDyiXHIhiTw+RDtElspd3vtwXHUwMDE2/624WY5AXfyVKVx1MDAxNoJ32Cy54VxyMFx1MDAwNegqU+qU54tcXFx1MDAxZJGnQFCx6D1gdrE80OdcdTAwMWXUOHk/d0KMMXrzmCBcdTAwMWUx2lx1MDAwMUxcdTAwMTTNXGbs6pn3rGxofGFYt7YsRKd5r6c5jsp3XbWfqMt2rVx1MDAxOP2obXniy/VcdTAwMGK41jXNhvFe/zxbgFx1MDAwMFx1MDAxZvKcbTdfz0yDn29Y34P5943WbKPda/pVYL63f8+XWna/bM63cVx1MDAwNnQ92oCuXHT10lwivs3b/N3SSUuBOrjrsKyFnVnfjmZcdTAwMTHXXHUwMDE1tlrIylPzSv5aydhJnVx1MDAxMVx1MDAxYXi2fWBiq824bVGGWrKlxj52fOfXeuvV/jlXmzQzzjXmj85PXHUwMDAx1pM7XCJGOeOC+MkqjNH8KL6dMZpcdTAwMWPHudlIRb9cdTAwMGLUjFxuRP1cdTAwMDPCvquR6v6QXHUwMDBl0njn/fRa+Fx1MDAxYVtyc+Sid1f8vX3cq3DEXHUwMDFib2tcdTAwMTFcdTAwMTjod7quenz9qT9NXHUwMDFmJuvLQP6YikGt5ez/VsPMk4TEXHUwMDFmrzvRY2vs9Ws75GB/W5teXGZcdTAwMTS/v0nI0TxxnyezfDl1VFx1MDAwZVx1MDAwNpYtaliW61x1MDAwZnDbplx1MDAwNvNcdTAwMTmN0qNK68hcdTAwMWH9Q3nPR2hCWjKNQFx1MDAxMuJcdTAwMGVcdKjvXVlcdTAwMDdorFFcdTAwMDW94Fx1MDAxNsC1zUL4kkH2mtbvXHUwMDFm7SlH+O4wOpZcdTAwMWKpXHUwMDE4v31cYsqGJHhcdTAwMDY4XGao0kOQOlx1MDAxOY3TXHJzUsDxQ0Tm+EL63s836OFTV10lwF+aXHUwMDE2abFz11SXXHUwMDE4RVx1MDAwMWaNXHUwMDFi1fJ7O1x1MDAwZlx1MDAxMyDDK7BcdTAwMGaKwnBnXHUwMDAwM8+vXCJuf1xm+ri8+dFcXK9ev6K4UFWtLs856ZFvRHJIV9tcdTAwMDPaUKsz9j2vk4JD2aibr9i4I7VcdTAwMTDlnThcdTAwMDDWlcuS3odcdTAwMDWjqVqRXHUwMDFkxSV6Yp6m2lvvxdJO9YeJyZczSkBrS41cdTAwMGKgNl3kh5jlXCLPXHUwMDAzXHJkXHUwMDEyP+wuozmJwlZcdTAwMTn1a9RcdTAwMGba5sD+c2UjP2NbzJ9cdTAwMTQmeMHc/krBzCRZyt7yXHUwMDE2IKz7O0m13r9cdTAwMTic7zOGgFax1PSg1NoselU+QFx1MDAxMlx1MDAxNORbwVx1MDAxZpRqcvdjXHUwMDBlYYWErypRkcSAMoBViPOaiFxcYzloZvfgc2wpv+D7vntcdTAwMTnY/8XfKmTYWlxiTbPdtz5Lz1x1MDAwMKzj1GfI6SVvqP4mvvBpmjZBkkZJt1xcXHUwMDE293JcdTAwMTba/Vx1MDAxNDRcdTAwMGV07FxuJFFgXHUwMDE29KdqgCow975pcMLgWMi1wNxcXE5Ddlx1MDAxMnVwXHUwMDFjXHUwMDAwXGZFXHUwMDFkWFx1MDAwZTCARPG8k4/hc8uinT1oa3g+NiyWSPhcdTAwMDPiZnznZWRSK1x1MDAwMydBm5K910zzICh/StWiXHUwMDAwPJ3aO1x1MDAxM+FQi95cdLB7+9x2n0c3XHRgRWf+Klx1MDAwMTf2zqVcdTAwMDL7flx1MDAxY0fDaiBcdTAwMDC8b1x1MDAxZcXCZEXv+Fa/kF+57rW5ki+A1Fxu24/7jJNcZpTGSbWWe1dcdTAwMDdcIoTRcuC69oePUEFYeLdcdTAwMTJcdTAwMDCgXHUwMDEyPzUtfsN7soyQYVx1MDAxOFx1MDAwNFx1MDAxZj8gXHUwMDA0XHUwMDE2svZcdTAwMDO0+Mbrx1x1MDAxYqFcdTAwMTj4xumFVp9CLVx1MDAwMDmlPiGWXHUwMDFkxz+5isIn8rFHXHUwMDFmbOiLVZXIRVxuXHUwMDA0g1aNkjWPNO1HLltvi1x1MDAwMcIvlDFcdTAwMGLrKktawkLqzFx1MDAxZVx1MDAwMoNcdTAwMDC9blFcdTAwMWFcdTAwMDGNXCLYlPHM+1x1MDAxYaX5+lx1MDAwYnH7X7VMSrJz18M5vpJCwmB7R+/uXdaescetXCJcdTAwMTZUjfmlz5/5Q5o4fMFcYtJsfMBcdTAwMDNcdTAwMTn2vU+yoFx1MDAxY6tcdTAwMDKBPqXiTudcdTAwMWZOI/1cdTAwMDYkfkBcdTAwMDVdjbYzL58vu13hwXpcdTAwMDdfvJ6RjkXv6GlGxLu77aa9OUnxWV/G69dxgkC5XHUwMDBma0egvrrQO5f7nVx1MDAxZlx1MDAxYlx1MDAxZa9POIeZo7R/6PxcdTAwMWFcdTAwMDJcdTAwMGbOXHUwMDFiYIhZliVplFJMloqCWlLmndtTXG5cdTAwMTNcdTAwMDVcXFx1MDAxZUR871x1MDAxNHpHOWM3quOYO9bDzUzA9SHftn/kLyd4096GXHUwMDFhcnhINjktbyGi8lx1MDAwMVx1MDAxN2vwX1xuP2VcdTAwMTkjrDlMorGefu6Fo+3D/JW27zRcdTAwMWWav/3504gt4DF1d2lNbbBcIkG9wTyu5T1eXHUwMDEy4Fx1MDAxNsRfmlx1MDAxNmilxFx1MDAxMLhQXHUwMDA3lN21kLZCY21cdTAwMWQkmdiMQiA4alx1MDAwNeuMW4p8XHUwMDExU/1AXHTxmYu9vKjj3H20N1HSKVxygvCO/zSGcPyUIce2t0pvN0VhXoRcdTAwMWbgxVx1MDAwZWJcdTAwMDW+9ZJ3fzZfQYAzj6djV0zI3WfNpSuyhlx1MDAxN5fH1+vQaPSGN6lcdTAwMWWYXHUwMDAxkPb0cMCJS0FcZjY9XHUwMDA3XHUwMDBlcKZcdTAwMDf0S8DOl5V/359cdTAwMDIpaGnw/Vx1MDAxYyVcdTAwMWM2gDacQGg/hEhcdTAwMWO9O8fk0Vx1MDAxNl1CXHUwMDE0+ZPVPjEokrzm2FWfSIlKL/ktPjQznFWquFSt5C//mFx1MDAxMr+1uVxyeWUmjqJEJlx1MDAxNOrUevsj3INcdTAwMTF9XHUwMDFh2tvTXHUwMDAwv1xmgNhcdTAwMDO6enhXlf3dXHUwMDFhICcny+pcdTAwMTRcdTAwMDPEpfvsTHxcdTAwMDOzIIJ1jzz/xU5YXHUwMDFjrjmy6bOJ+15cdTAwMTKKUXFcdTAwMWaueFx1MDAwM1x1MDAxNr/rYvpcdTAwMDHclu+ai0oj/Gt6XHUwMDE5wITInC+OLGaqNru6XG62WHTZMZEv+ipVd/eqXHUwMDAxuiBdKyi2686fmMrLSDz0u6bwtFx1MDAwMvv9qErHZrM9cO6cuKXmXHUwMDEwkPuwYX5KNlBcdTAwMTavZlx1MDAwNKOo3Vx1MDAwNzJIpLXK6dSOWPBqd0n8LSek3c851SHauNuWXHUwMDAzMIWg45ru50s3S4GgUy2OxDSGLdRcdTAwMWEoXHUwMDAzcs2Es25LOvozaVx1MDAxMty7sFx1MDAxNtEowO1cdTAwMDBcdTAwMTBxXHUwMDE4VoaSXHUwMDEwdJW+a1vS83pflJVqKFx0QX5w5Us8XHJ8WH5ecqJ33nN+vH+7tFxidzxs71r2JGgjc1x1MDAxN/t+34w7r/tdWVx1MDAxYpaO4T7nVd3KXWktlUzsXHLEgVxugfEjUCZcdTAwMWRccpVAplxc28qLf0lQVo7s71x079X37ZifJiexXFxtXHUwMDA0hX+IXXpD0rh/9Cxz87veVPtAmcnT77A3XCJcdTAwMWOn6Stt+8n2hlx1MDAwNVx1MDAwNINTa65cdTAwMTEry+opfONGj8z+R3x0tVx1MDAxNFx1MDAwYuaulclcdTAwMDC5hH6RYZrVcJ9LXHUwMDFmdFx1MDAxN945XHUwMDE3XHUwMDA0QWDDKpBVXHUwMDE4iFx1MDAxNqy6o31cdTAwMTYhIXPyOFx1MDAxOPh8+kGwjNho2Km7xUZccrSQQ3S4OHtcdTAwMDPy0Vx1MDAxMNSDLDfPdSqN7PtZX95t9YCxMTb1gvPM8lx1MDAxY1xi2YBFiMlG1z9cdTAwMWPITUXZ1oX77KXQXGZAzjhgSMdtZL2InZ8nXHUwMDFhLdJcdTAwMDM9jvVrXHUwMDFiZ1x1MDAwYt3Pi/3Ju81K/eHOjHpcdTAwMDL3Mvvz53IgeEXazbNG+cxcdTAwMWX61jih2dyxRJRPqTyYvC3Uh1x1MDAwMODok5iL9Fx1MDAxNiZnhiFoXHUwMDAyKI69XHUwMDEwm8+fXHUwMDFmT1x1MDAwNVwiteBccvviRamo3IOsf2phJ1x1MDAxYuj2+FwiRi8/822dsJc3o8dcdTAwMTeza0ZcdTAwMTmr7SzQp5smm//ynlsg9vbUPr7bzbM5Rc9hs7syf1x1MDAwNeHp+ZVdWPR7f370zv18XCKUz/N86PHAMlwiQr0gXHUwMDA1p4khhUXDiOBfo9u1LjQ6NHLAP1x1MDAwNiRt2I+66SBcdTAwMTDmOGBUelBgX+arj9RTp0dTpPmXNbWvKKS9XHUwMDA1izWs/17cXHUwMDAySFHW9PneI7WhPkvr1kncd5lcdTAwMTBls2ptQoW612NcdTAwMDPaXHUwMDE4d5FYoeckZXxFPe0wXGZcdTAwMDRhl/1stW/21zyee1x1MDAxYam9217jZN8ozH1yXHUwMDA0f1xi6HNQoOP2a2muv0U5WyBgpNq5XHUwMDA2c3HpbFp1rr2E7+73/bzfj0AgbrvbVLMtnfv5csuMXHUwMDBmXGJcdTAwMDJcdTAwMWOBcspcdTAwMWZJnVx1MDAxYztcdTAwMWV65lxugPhgj7vuZfFcdTAwMDWBjtjrXHI4jc1E3Cq9J/3FLbJej9s4UIByQySyp7m8XCLy5aHAOry+ONivXHJjMXbX1SchYfC6RKXZ0LxomviWvKB+v8N9Lv75XGJXOpSY+n5cdTAwMTja/XA4oLr3Ocqgfrytr1x1MDAxMSpcdTAwMTFcbuurXHUwMDBiUp5Beb439/MwQ+5cdTAwMDXqS1xyM5tTw83VXVx1MDAxZbHRt1x1MDAwNniLJ9Pk9PvygP/3/lx1MDAxNCj7un4ldVx1MDAwNMuPr8/eJVnuJ6lWYz84XTDr0KdcdTAwMTHAjF7j5/lcdTAwMTA2XHUwMDAwmYtf3jb/XHUwMDE3P3+GRWe8pbhummZt4P1cIn/z+bxKPFxyfnMjtLP9sXrlY1VdXHK//3Cd8+aMWV5cdTAwMGJcdTAwMTKJ7j7wiEFcdKtSXHUwMDE4fkphuVx1MDAxYVx1MDAxZl1y2/dPXHUwMDBlf+dcXEF+5fiuUYs+o/dSvPx711x1MDAxOVx1MDAwNEd0RO1cdTAwMTbBMN84b6WaSPmnasrwuOXW86FdWndcdTAwMTk1TbxCIFwihrdcXFtWnkBG+b2fg+3FwMifbbKOTXsuvlxiVmyEzpOdXHUwMDA27/i4wvXlcf9Z+VxiJnxf10uUVF8lXHUwMDE2/vieusdqSnQm6uOzr0gpfVx1MDAxMFhcdTAwMWJcdTAwMWZcdTAwMGbJdOrYVNTUh9fHajXSXHUwMDExeyNEz33/6ZtJ0FtEtlxmgbKfn9aXqVx1MDAxNyzz/I86iIbU8+l3V0Fl+T6OJCudj4JcdTAwMTD8XHUwMDBlKFx1MDAxY5hvr3BAJe4xXHUwMDA3/jvlvuCrXHUwMDAzcKFIZ1wiqKHp9K7RR1wiXHUwMDA1b9mszYAlLJ10hmDzrYU35Oy468idLDXwXHUwMDE0y1x0sWzSYYHY+0wwWNSIJP+qYdRAMM1cdTAwMWT6fm57r+pcdTAwMDVrKOFcdTAwMWT9vkhcdTAwMTKaSlx0WK5alkWhUcZcIs1cdTAwMTaS8G9A2lxieOhcbnVR7v+PQoObLfj7c/VcdTAwMGYhz5SVesMwMGqoX99VXV/0XHUwMDA0oUBcdTAwMWIpg7CNqZ0hh3xEoz87831cYpn+ab+9OWtcdTAwMDFtkrNt2zCNx6bhXHUwMDE4XHUwMDBlxoNcdTAwMWKf/SRcdTAwMTMop0zbZWpS5sxasV82XGJirf9MorhRKDJ2TVdcdTAwMTMvNGpI6JUpXHUwMDFi0HRRvHD5ZcL7srDP1vklZtjM2ePBMsz3ridcZt+suMicXHUwMDEzXHUwMDFjkGGYJ/o2Tfujyn8/O1DcXHUwMDA1k16S9TNcdTAwMWHtz7jEedtcZt1cYmDY3OQ9eE1tMJPE4s+uytP2T/ck6c/zXlx1MDAxYuBboa7LrtpQo/0zXHUwMDE45rquo1x1MDAwNsFcdTAwMDGv2Z1x5VO8n1lVXHUwMDBmaMymXHUwMDA33ilTT7m56+5eRHx8XFzqOMvQOq5qTiDMUFx1MDAwMLDfgHzcfNev0GvxXHUwMDAz7j5cdTAwMGJgz1x0XHS01N+0XHUwMDFlufZ6ZVx1MDAwMe5cdTAwMDEy/z13wXGsN6B0flxmaIlf/4SZje98Q/iujm9AmFx1MDAxY1x1MDAxOP+todh331x1MDAwZVx1MDAxZcLcz9aoXGLQXHUwMDFidbBu7veN9ph/63VcdTAwMWRC+qvy8+M+WzzZSF6VfZyR8yStUaXv+LPnXHUwMDE2o8B/an9cdTAwMTSUiDJX71LjfjZcdTAwMDf9hZzvsTzUNkpcdTAwMThBuej8v9l7k6VHmWVL9IFcdTAwMTggiX5QXHUwMDAz+r7vmdH3INHD01x1MDAxN8p97O78Msvu/qusrtlcdTAwMWScXHUwMDAxlpmCRFwiwn35Wlx1MDAxZVx1MDAxZVx1MDAwZW5cdTAwMDXKumTvXHUwMDFlUz7cicxcdTAwMWbwRu4uUtJm/66XXHUwMDAyzK3t2jr66o3HuTAgXuNEXHUwMDE2Je6k9Y7X76HI3/E00893ulxyoHnrpI+SVJBVOXBIabt9c1x1MDAxZSBcdTAwMDRe51x1MDAwM6uOXHUwMDEwaYFcIpmSmVx1MDAxYVx1MDAwNvW7fjjjdjad2DfP191cdTAwMWNcdOy2R3vHXHUwMDA01tb0WrZ2OJXs2Ze4X/t+3+bNXHUwMDEz35+n3FRcdTAwMDaN2SEgdVx1MDAwM1x1MDAwNL36vM5dc6dbSzHTkVx1MDAwMJJ7jjeIXHUwMDAwIySYv5gjlq9cZnfg+puvlbl2WMHJtk9C+qZbLG7uv/uYs7jj25oojDU/nrhcdTAwMWJcdTAwMDTAMfNaXHUwMDA2dufbs1x1MDAxYun+w/nMcZqMXHUwMDAy2Hb3dcpmXGZcdTAwMTdy/2hnkkpTXHUwMDE1xjeqkLimhV+NXHUwMDE0KHe4Klx1MDAxMHqU/DtcdTAwMTKj6GfhjPOodzsnQ2Pcj9fNV5L4xldcdTAwMTiT0DP89iHpouP2pc66RZ7n7aMn1zZ6y0pwXHUwMDExZMlYXHUwMDE14pvrQ/T7/0HJ58VjxbY83zvqe05x4NpBPiVcdTAwMTJVZVi4o7h6kzV5UV6V02b2x5jGLJppkvTuXHUwMDAxyFx1MDAxNy/0l5PSNN/olKe1zNL2Xd9EJag+8yRcdTAwMWKF8TW5U1x1MDAwM3v2Oy3Jz/7NqUnymsuyfFxc0Ld2pShcdTAwMWLX21x1MDAwN5S04dxKsWdJXHUwMDAwuuCsN1h/0LVzQVZ/T82qacZFrS+ForRcdTAwMWWKXHUwMDEx4YCfJIw11z1X8pFv2fixtlP+rkWpXHUwMDBmpIQvfsm2XG5cdTAwMDa3YZC8XHUwMDE3msl5XHUwMDE2bIRA9DpVQs1cdTAwMWXOSMmmtSPBxEhCQTajvdbDsyvnXHUwMDEy/rxcdTAwMTZcdTAwMDeMXHUwMDExw+ZcdTAwMTS0eGhcdTAwMTMvr3Ccalx1MDAwM+dAxNThk4ei7pf/mIVcdTAwMDMl7Suh1ipD4lx1MDAxYpKRXHUwMDEzWOjPy1x1MDAxN8pfuHZcdTAwMDbf4PZqI1x1MDAxY8in6fKMc0qW/nlpUUR9a1j0XbmDWVx1MDAxZXw13dBQYVxyyY9bsdve4ays8Vx1MDAwNrjbN8rD+izRfjvk4Vx1MDAxMMyr4Vx0XHUwMDE1c1x1MDAxNMj51fYox0WGak9LseNcdTAwMGLv+1xm3VCj04oubzDH/jZcdTAwMDeh1Fx1MDAxZFx1MDAxYjziXG6dXHUwMDFipd1fe07zvZPytrbmkGKZcim9+9Nm4MxOvL7ZvHyzRjRbIexcdTAwMWM2s1Oxblx1MDAwMZNvX1x1MDAxOX4+LajtPotFLqRM3uJPPFxuv3Du50m6aVx1MDAxMUiYaESBTMn81c9cdTAwMDNTmdNQluWSplx1MDAwNOsh3o1Vsec0xothboHyrV3tl7Sd1iFcdTAwMTLC6r73qm11hvyLL7+naVx1MDAxY1wilXjYbXNz13czhHeYqG58nFx1MDAxYSxoh/zoXHUwMDA3WCw2geO+mqp+XHUwMDFkzlx1MDAxY1x1MDAxY7YtkyFcdTAwMWRKXHUwMDA1+1x1MDAxOZ7W51x1MDAwMD79w1x1MDAxY115XHUwMDE4hue3RuHEgltcdTAwMGIsPotcdTAwMDOi2vEhrVcydM/TwCPaI0tcdTAwMTdgXGaQ6o6xsW1cdTAwMDWvRju//Vx1MDAxMZyqxaZcdTAwMDc0bPkt0W7N221tyfIlLb9cdTAwMTN00fPzPFHFR6741V/ftVddJL79XHUwMDA39j1Zsyrsv7qlyVPxeHP1c3vDxHRNNqh+QqdmKuw5OVx1MDAxZPet01TKZqTdgb+iXHUwMDE55dGdQnVcdTAwMDDIw+TXPkNOXHLL6GbAJa3thylG1Vmu76fNgfkjJrLbkPFcdTAwMWMzYvOjXHUwMDE273FUb51RU123WCzgkCrFj+7Hl1x1MDAxNVx1MDAwZcV1uq3QK/Rcbs+eplf+MEmp/z5rn1opymFS9F2e6Nk8Jtfuy0s1X1x1MDAxOOCHaeK0ejN1XHUwMDEyzMFofoQweDrhgn5cdTAwMTBsNvy1xUP+TFGeXHUwMDE25ehNXHUwMDFk4+t8XHUwMDEyXHTCiY9cdTAwMDfkfU2qiz2lO5NzkXaFnOBa5VxynpG7YsNgZMBAXHUwMDE4LldcdTAwMDQskiQqvpojwml4YWg+ttXmefNcdMbSMYT1YTw3ovMjUeW3dvFD2lx1MDAxMKxcdTAwMDbJ7Cva+M0hid9cdTAwMWH7t7dtIORPXCJBZeVFOZz0Wvzq+u5nYqH3XHUwMDBiS+PSit/IXCJpJiZdqrU7XHUwMDBm7Fx1MDAxNlx1MDAxYvnFejb0pCvbz785ylxcj3Q15FxiXHUwMDAwXGY7UD3veURh49ulY29B5czZksLFp3xELvDNqaWCh0DQh/hcdTAwMDRcXDvP3/WyOTmz+brttb1ubbxcdTAwMDY4o1x1MDAxNd91Yzogtn4jS91m2bGmTdXX+PfuhbUldmNTonNY4F/7vFx1MDAxNvWd+LImRSFZvrtcdTAwMTCasehbsytcdTAwMDXB58lcdTAwMGVjX3j4uolGuZOsU7t7YVT7WtwxXHUwMDE5elHVXHUwMDA2XHUwMDA0LZL23+3cXHUwMDE4dftcdTAwMWHPXHUwMDBmLsvXmHTzm4GVV181S5aRKfrtfWqbyDff/u7x7Fm/jVx1MDAwZuZxK41Xm+a2uX/zrFxi9MhcdTAwMTB0rcXt1762wiM/4DIm3rT0I0V9+zBJb1p9X8Saflx1MDAxNI5RLIuIdiQldjV6nOlXq6SmmFxciVx1MDAxNVx1MDAwM26Odb4jtW3wXHUwMDE4wo9/tmuifV5frdu/pEL/gMCSTXa1XGIwXGIuoFx1MDAwML6wb8+GXHUwMDFhu/b921x1MDAwN81cYr+xx1A8L8sk+7ant3OTwvmORaHC2eO3yKZrX7fjzP7SyN7KXHUwMDEzglx1MDAxZirv2Fx1MDAwMzNFeD20bGNK81bx6iX9P2uCt/C7p7tkv7VektReXHUwMDExXHUwMDE0XHUwMDAzhFx1MDAwNr5vJVx1MDAwM1x1MDAxOcuegyE9QTBcdTAwMDHUXGYkm/rGoEtxh/Sie8hcdTAwMWNzLTd1XHUwMDA18Vx1MDAwNbhZXHUwMDFh94K4XHUwMDA1KrZgzaCee9C0nGSQTkb/6lx1MDAxM1eG4nhjZjvy03/1cCv/+5r/vub/i2uqlH5cdTAwMWT4/YHysV2L8tj/n/2+/77mv6/572v+r1xcXHUwMDAz7rhQdVx1MDAwZvKKyl9cdTAwMTX25LfPsouwUyvdXFz7f/yPf7d4Tqf87y738L9bjHfxvFj5MtX59vdVv7eW/+fdt/93+1b/77f1/j/uW02F33+r4n/1re5Njft1wf9L3+p5K/qC0zJcdTAwMDRcZlx1MDAwMDRfgXzxc9737zu4acK9pVs8yXKXVXbb4qlcdTAwMGXy/q1ptWKui262X5huOq9cdTAwMDOMrHfMstpo2jTZspJcdTAwMThcdTAwMTJLXHUwMDFmXHUwMDE1eb90KzjlPuI5OL6LUlx1MDAxOL2HXHLttFc8rOjHXHUwMDA3c1x1MDAwMFx1MDAwM1x1MDAxZbxzM1x1MDAxMlx1MDAwN28ug1x1MDAwNFNbJNl/csTviKxZ6bhSmKBcdTAwMWUwLbHkfzzskaJV66ZtXHUwMDExSf7HIzNh0pw4LYFJXdj/0c9cdTAwMWE5RtXc//w7vofmoqQ58Jqyk/qwW2JJ/qfDXHUwMDFjOUHVblx1MDAxN5H+48HSXHUwMDFhi1JmoKtKqarDf7z1r9tPXFxAqq1Jiv/xcHWVlSknXHUwMDAwSKXE2Z6k2Po/XHUwMDFlZiNcdTAwMDQk2Zv/+Vx1MDAxOFxcnWTlw/FcdTAwMDGSqfB/cGuK/VDmxXgkWVv/+Wg8vbztprFxknnj/8jWZMq6mH9iM1x1MDAxMUU2ll663NXQMMNI+z+7/eHtzD+xXHUwMDE5iWNcdTAwMWGKLt0nWNKwQUn/eVLvg1x1MDAxNY/n/lx1MDAwZmzmPp5MSdGz+9xKXHUwMDEyLqh/YDOWXFy66v78JzZzXHUwMDFmT+f2vzR8bCSJXHUwMDE2/8Rmvs+a7q9/YDO9aYpcdTAwMGZn5KhcdTAwMTTeV3I/0392+9lLyfNcdTAwMGb7aGdcdTAwMWJnXHUwMDBlI9hcdTAwMDHO3DL2I1xcIGx09lx1MDAwMVx1MDAxMdOKwEJcbiTJXHUwMDA1vaBsnjG5mFx1MDAxN2zLv0mT3Jr77K/J5anla5tcdTAwMWKTXGZdrNa/j11puc0smWL+xFx1MDAwN/nQaVxmStLNnFxcXHUwMDAy8las3f+ee4Vsf/koVf4xrlxuZMVM+kw2t4yx6fNeoUCvXGJe4yFQuLrrhJR1hVx1MDAxZVx1MDAwNDDC21x1MDAwN6fS199cdTAwMTD7IVmaXHUwMDEz31MoiYj1Y96l0DZl5bYgVpbChVx1MDAxNfPAPm1fm1xiTeYwKU2k5a9x7Vx1MDAxYeU7b1x1MDAxM1x1MDAxMERIVv0wmJBpRYh2P2FcdTAwMDezXWdV7cubx7pz5Vx1MDAxYc1AXHUwMDE30SE8WFx1MDAxMdk7qyi1+1x1MDAxNX+Co6jDgFx1MDAxN5L8yfwxeSVXVqYso5yfh6FcdTAwMWT+9jD6t9X54YH6c90/KL48XHUwMDFiMihcdTAwMGVMNN6AXHUwMDBmXHUwMDFk3IN7NVx1MDAxYY4rXHUwMDBmPWBWbjnWZpVONEbyc9OJnVx1MDAxMXOy/MsvPPrxtVx1MDAxNU+Hgln/YXctnpeSQqe8XHUwMDBlP8j88EVr6W9VT19cdTAwMDeLXHUwMDBiXHUwMDEz3lx1MDAxY7Bi0Vx1MDAwZYlcYlAyy1x1MDAxN33LXHUwMDE289hxxMh2XT5ccpjxXHUwMDEwYezuXHTAt6uNXHUwMDAwQrRgq/rLx0anXHUwMDE03fqzXFzQUk0/x7q0yHbh9bHZUWzl7LN4XHUwMDFhTL3WXHUwMDBmuSqVXHUwMDFl0d3DcIC56fClSlx1MDAwN8kuXvHlXHUwMDA3kIhDOzCBs4/4Qlwi16YwXHUwMDBlXHUwMDAyYpJy5cFWyYZUM0clXHUwMDAwbyzMji3bzn1rrFx1MDAwZYSsUVx1MDAwZnpd4KG54dGfbsOXw8Y8ZMJYX95lv4nEv7Cw+lx1MDAxN1x1MDAxNlYs7qy3of57TFW6ue1cdTAwMTm+Wlx1MDAwZeCQfF/FoFx1MDAxM31pXHUwMDFibUaHY1HeXHUwMDE59VKROuxVZkSphj/wzNWkpECcJ2I0M+adoY/AR1x1MDAxOFxiYn7ilVx1MDAxYYjebM2lXHUwMDE2ZzJbf93BMF+t17CwYKKTL1x1MDAxZOZDZVx1MDAxZZ/20b8/Sat27UNz3MqY0Lw2nVtHNmpcdTAwMDHCXHUwMDFmXHUwMDAzdSvMRnTjc3NcdTAwMDTbSIfgXGLoP7Dh7anf2CGluFx1MDAwZTzCXHUwMDFm/sk8qjL1sF0wPXt7Ulx1MDAxOVBsXWqRtnBcbjRGMCYrxkJ1sWdarpDVI1XGXHUwMDFmboBcdTAwMTN9eo4xty+8rYSZhXtlZlx1MDAxZVxuyFpcdTAwMTEl+lx1MDAwZilcdTAwMDYzpEXycLz9uFx1MDAxN1x1MDAxZO3FVoJcYs+1LJpvSCj1Lqx06vAtiGvc49t3azNfy+djXHUwMDEwW/xamOhcdTAwMTV3NN7L0Gy5sulbXHUwMDFm1Cd2Z2sjnNKGXHUwMDE0oz1cdTAwMWQlo7TgSVx1MDAxYdGFXHUwMDFm8/PL5vdvLPD0K5j5n/E51WHuXGaLSleW7lQ9KyaaUyouSlx1MDAwZoZBXHUwMDA0XHUwMDAwke7epVxi2P3BJvo1XHUwMDFmZcS7XHUwMDFjWGC4fJgqU97/XHUwMDE2Zlx1MDAwMT5Ei3fCcpxESET6VLbOXHUwMDAwXHUwMDFk46NcZoSO0penJvQujXFyw7FClFx1MDAxMD6OmVuMXHUwMDE0y0eYRPlC4bBcdTAwMDX9VKxq5YPVyMfsXHUwMDE29GGWWEdXq7xONuw1mbVcdTAwMGbt8fZEj/XFJlZYXHUwMDE5UruK0TAghJUq18896HJcdTAwMDR/Ym37XHUwMDE31nY3XHUwMDAzMVx1MDAwN6G7SFx1MDAwZjPLXHUwMDFmWKvYK6VPvYjYXHUwMDExaVx0lK2yXHUwMDA094z70f5uRdlx5jZ8pNjGXHUwMDEz2Fx1MDAxYeTJhMso6KZan8msy6h8XHUwMDA28eFTskg+OI/itIOpluNlnFx1MDAwM6I5Xlx1MDAwMHpcXFx1MDAxM50wXHUwMDAwJFx1MDAxYlx1MDAwMq9cdTAwMTCOyvNcdTAwMWIu5IctyvpDyOdcZlxiXHUwMDA3dk1cdTAwMGZLJNiwXHUwMDEzXHUwMDFmyWLKXHRCh/XGeslR7Xs0Q8n4/Vx1MDAxOZu3c9E8ot1cdTAwMTQz5dCYXHUwMDFkjNXOiXxqXFxcdTAwMTFX94r4PziRKZo3t+RcbtFSyORnzGFsSlx1MDAxZLPDXHUwMDE2VepcdTAwMTGM7098u2T4qrpcdTAwMTVKVqG/nPtcdTAwMTk7XHUwMDAwLEqDMVx1MDAxZnp44vBS855JZFx1MDAxOcSKS1x1MDAxOY9twlx1MDAxMbRYp1x1MDAwMXLUMyGsvXBwN8RMXHUwMDE5b23VwYGSo11cdTAwMDRvfqxcdTAwMGWNXHUwMDAx8cih6TXx1XpsXHUwMDBili+uzCNT/HSpNeGPR27mb0KNXVto2IzDUu/i6lx1MDAxMVCk88+4TlOeTZFjUHqjobs/nscgRzqsSEVcdTAwMDR2zlx1MDAxNURyfHPUKepcdTAwMDRcdTAwMThkXHUwMDA3U1x1MDAxNFx1MDAwMStt2Fx1MDAxOaSrwDrwS2tk7fNax4Az7fNgV1x1MDAwZjlcdTAwMDJcdTAwMTQwUVx1MDAxYVx1MDAxNCv79GjnhVxiwFx1MDAxYXX1XHUwMDE406vF1Vx1MDAwMZNyLWs5VN9ESFxib94prWNcdTAwMTmUb5tcdTAwMTWMakGFgShcdTAwMTmJL1x1MDAxMTbMn1dv6YghLOEwLpivyKpcdTAwMTSEdyQ86znuLFx1MDAxNT6hROvlb516qOm9Y4+xjcy9Q1xmLXdcdTAwMTI7W1x1MDAwM/InqF1cdTAwMWPvrj/9tlUp+Sas5kZJ7stcdTAwMGV/nJtokWLdSamyslxcelx1MDAwZS9I+TaZ1yd8Num+PVx1MDAxONC+9Vx1MDAxYojtqF6P+ngyhs4hqefyYXlHIEOr0iDe08KXnX599/qIXqOshotB70stqdNcdTAwMTOyPVEhOoLWpPCgwmDk1jToYGe0godO6XbZS1x1MDAxOK5sXHUwMDAzK1YhpDl588FUXHUwMDA3yqBcZuU+oLBC0/PDLZAzLtVS2O0mcHjoXHUwMDFkPFx1MDAxZolm5PByXHUwMDBiw87j8Zevnlx1MDAwZpo0N/Y0edP5yZXJN0UlgnHYimU/ZWlHqtRcdTAwMDSmXHUwMDEybGzJ3FWmpz5p+b5e8Y5WL1x1MDAxN2SDuju5vWQ/i6I9SieoXHUwMDFkXHUwMDFmemdkXFxPfWezp7LSWOIn0Nxra4yr7sqpQfpsXHUwMDBi+/XgkeeCi1xyjpi4dymhNVx1MDAxY7pCRvbOYVx1MDAxZsdcZtxcZtOxaIG++1uxqHmiaIa2tE+8bFDUb9fgqOBcXM5L+JOH1s6ufjVcdTAwMWaDq4aFKH/EIXanMr1EpVx1MDAxOa7InK8m+tuvj9DzZ0ykz1x1MDAxY6vBaVx1MDAwN5ybUt1cdTAwMTJTtMLLm16K9JBcZk1cdTAwMGYmolx1MDAwZdieU9zV8TlbViraP0+1OCd27oDsNSdcdTAwMTHeP2vCZndcdTAwMWSoVHGdhdBcdTAwMWXY2Ezjw0DQcudwOJF5YCvZ5HlP29E+ktlcdTAwMWZcdTAwMWPrcyTLXHUwMDAzy45cdTAwMTVaMHtsO6hcXLjJnGLntSt/PZu1XHUwMDBi+/1sXHUwMDFhLig6XCL/OPdZtFDu6TSXVca9XHUwMDAzV1x1MDAwMvfkdlx1MDAxM1x1MDAwMvK+83RKXG5cdTAwMDbibJWugcZcZlx1MDAwZkK9emlT4jI+bmPs3Vk2nOdcdTAwMWSgopZcZiREK6T15lxutKuHe3C0k+iDuo29XHUwMDE1wWhcdTAwMTi2crGWcpVjcGSmg8SbNnRAi6kz02tcdTAwMGVAo6rFnHpEf7ib61DfsjfYXHUwMDEwXHUwMDA0XHUwMDAxL27g25558CQ2P0zrXHUwMDE3mVx1MDAxMrpcdTAwMGVcdTAwMDRaaFxcXCIptOWfvsj8y1x1MDAxN1x1MDAxOSl92eOPc1xuvVKmsGv4mHHd/beJbvNcYraiOsRD4Vx1MDAwMFx1MDAwNViny1x1MDAxYj62IPmwJ5JuI1xubMyNSSFGLVx1MDAxZexptTeOnFx1MDAxZipcdTAwMTRcdTAwMTe9RzK5src3tIw7w2CWXHUwMDFkIzv5+1x1MDAxNJ2x3r1NN9FeXGLrPFx1MDAwMMNYbSSiRii6xFx1MDAwZk9cdTAwMTbXuFxm0tbc+GOlN8VW/8JR7lx1MDAwZXJjUHNkoiF/8M6V3Fxmi+a5xV0uRqxcdTAwMWPFwduSa3h4wdJggEBAt5F8XHUwMDEza6o0OVwiyOCAzYZcdTAwMGKUSsmFOn1IdFxuXGIyqlCtM0tK+VX2bFhphlx1MDAxYk/B+0aIQrL5XHUwMDBmMbCtW7EpPCU3p9lTPNVccsVcdTAwMWJcdTAwMTgs2iBcdTAwMTSu595cZk9wpVxcalx1MDAxN1x1MDAwMcGMPJytQyr7Q1x1MDAxM9suKXq1Upo/9Vx1MDAwZSXSZVBFwuCWVV7x1iM7iPztceFwY/3OoXvIXHUwMDAzXHKL6XAmSuJcdTAwMTEqPMLLatLMq7TRp1pbdJ1lZ1x1MDAxNtCR1GGv8J1O5Twu/dlQVbGI21x1MDAwN65cImuV9Yb87rlS6VeSzc9cdTAwMWRqLmSGRkw/XFxcclx1MDAxM2ZcdTAwMTnFlvRccruNlFx1MDAxMZ+lLH9yZ4ZUq5s7K5dqam3641xcvLOlzcSmNvqzJ+bZxItwxFqZXHRcdTAwMTTG9pCUXHUwMDAxQdxYXHUwMDFkkEmJKmegirGQXHUwMDBmd9Q+Z2PwNuy0XFxeg0TgI8Op6Z0uO5BcXExcdTAwMWUlUj7thPvZPl7dk32B0WPUhlx1MDAwMXrwOZjMpqc5LVx1MDAwMDfhJM2lX6VJrlxyxeOPvFx1MDAwZv8xSDGoX+/lat7lv1x1MDAwN1smZTosd4F3inPQpT6pTiT8yIehjFtmK2POWk1UmqajxjXQjuWr5DTLUGjQXHUwMDAw1/BJ51x1MDAwZY/Jrf1wuIdOb2xUelxyIOPyLj6kQ1x1MDAxN49RksW6SFx1MDAxMNOVuVxmXHUwMDFmu+T1/Fx1MDAxY1k++5j2edpcdTAwMDeRLK+DciHjSm5QjPKx7E/2f2Hn3G3nXHUwMDE1NyuS9dPOq5xcdTAwMWM5UyFcdTAwMTGvjiZcdTAwMTifRW4wLjhEdrB4ospcdTAwMTPtyITtXnPYXHUwMDFiNHdcdO17TuibXHUwMDE4XHUwMDAzNNbm8Vx1MDAxM1x1MDAwZcpSe2tCh1x1MDAwNcJz8cL8iPlcdTAwMTTUJYBtXHUwMDFlVSDqKqrTXHUwMDA0YFx1MDAxZLVpJFLESDCw9kOaN6ZoP2HphTSnY71cdTAwMDRuXHUwMDFiqo11nknav3j1p1x1MDAxZNPuL91cdTAwMWUnIeL9plx1MDAxYm/i1YtcdTAwMDYrtC07XHUwMDFm+ZtcdTAwMTVccuzbl9iVVKSfzzdbzaqVWbpcItLt6lPsSzIjKoW05bXX3rZVXHUwMDExM0o6PM1cdTAwMGL9NHbnamSplYlE5DFcdTAwMWZCoMAtuJDu4CdcdTAwMTF471x1MDAxOKlPm1x1MDAwMPC5XHUwMDFk5sBcdTAwMTic1c0xXHUwMDBl9GiEzv7MffnaN2dob2g+3Or/t0HWQppcZnhcdTAwMTSZpIgwXHUwMDAyXGIm6iO8qif6NuVDufXD+U7rsoxod27LPj8z+qHANy5cZmlwbmXtIT03XHUwMDAyXHUwMDE0j0mO+Vx1MDAxMaWi42Kci7ZcdTAwMTStZopLKFx1MDAxMSlYXG5AROvwq7XStcqohEZcdTAwMWEvXHUwMDFhpHaXXGacp6uLn0tHOvXz0WCMQFx0XWh2UbkxXHUwMDA2RmFLZGcxU4r4XHUwMDAyXHUwMDEwYf8r5zRr39ydvWi9/nJ+z19cdTAwMWGicNqi3sFlil+gXHUwMDFi1UU1Klx1MDAxNrVbeZ31UvOr31x1MDAwNJ6zglx1MDAwMDC1d9zxupf6qIrXlVuYkvJPT7bdXHUwMDEx1lR4Wdww/LjZs1x1MDAxNsZS3Dix215cdTAwMTiX+lx1MDAxZTAv5Vx1MDAwMl3nwlx1MDAxOcT6KjGqXHUwMDFiXHUwMDEztFx1MDAxMvrnkmQ1kV/Fy1BcXMG5sGfFRtalZlx1MDAxMSCoPTk9Ulxm3u7ASFSiSf7MXHUwMDAziZwnPugq11x1MDAwMlx1MDAxM8fN3zSP/DQ/TOtPr8aXZzvB+45fTVx1MDAxNVx1MDAwMTWkXHUwMDExXHUwMDAxY8RyiFx1MDAwM/DcgLlrgFx1MDAwMH3OOOuyZn1QXHUwMDFkXHUwMDFldqatklx1MDAxZt777T6cmd3CXHRSx+4xx+sprNPesPExxVx1MDAwZsPo6idcZuQ++GBLmVxy526sRbNcdTAwMTFVXHUwMDFjvXFufCv8kaB/5YhvXHUwMDE5IVx1MDAxZon7hI59+Vx1MDAxZDflilx1MDAxNFx1MDAwNVmD9Ml9Z30ov9+tINLSUYA4+d2XUT1wXHUwMDAwMO1A2bw6XHUwMDE3SjFb2Fee9Hb+3HrxXHUwMDFkNT59LJydXHUwMDA0XHUwMDE5xE3aZHrlqsPS7bq08Tl88oyQ/tZZXHUwMDE4q31xcS8wXHUwMDAyuFx1MDAwMsFnrfblW0vHi8sktFx1MDAxMJB/1IpPuz/zOJEpunW/IETTvX7Hn7omyyOjVOKWzlRenWu0b+xcdTAwMDDozVx1MDAwM8hcdTAwMGbR3TbCxMOBn/xcdTAwMDE51pq6fEGWXHUwMDEyeE0+YmU9XXgwtIyt8CbtqdJcdTAwMTJcdTAwMDElaT7aJYJcdTAwMDM7XHUwMDA3pfrtJbQjbGOBXGbLPoByvjn3x3NkS0zgh1x1MDAxNbpAv1xmV0C3P7kzLX1zeFx1MDAxZSDPM4v/yOHaKuOEg1x1MDAxMyVUXGIlYFJhWn/pRnDI3vW5Q//N065ztfb6XHUwMDExl2hzQYGJNq3ReNwzqVx1MDAxN7FkrXx7qaHFa5rfopwminQlXHUwMDAwjcnMY9IjfrilRlx1MDAxMbguMM7Y0uN+nrlQk+tpXHUwMDBm/5VPnoXxXHUwMDE3nlxiw5r35s+BpljLXHUwMDFjpDXZ8W9cdTAwMGZcdTAwMWbhhfEpnOXjY5veMOtcdTAwMTnOXHUwMDAzeb9lZGDh9vS+e8Nbdp3xWrzqLiMk0z0nNItcdTAwMWVnyFx1MDAxZmrD9DVYPfFZiS2H++5hS41mXHUwMDBmnfPKUOLgPoUj16fQM+eBbobIvH/mv5R/5b+UXHUwMDE5XHUwMDA3jva3XHUwMDFj/MTcXGZEuLlV7a2QUlPf/bzwqjtcdTAwMDJqQHjvek1cdTAwMGYlbtJZ6U2jn/fASY9rrlx1MDAwNH6mZoDJuogwlSAtI/nylaCiXHUwMDAytcGfuruahvnUbPZyXHUwMDFlxEtZoFx0Yn1cdTAwMDJ0YPyxdqtcdTAwMTRcdTAwMDdcZp7pf/LsklWOeL794oH/PvdcdTAwMTdFSoe3T0GQdKflenVqScUmlJZKXHUwMDE4Tk2ndt/NM5XvpvqR9yTbPqqUXGZwjb5cdTAwMTR1dpdCyz6Xq6SHK0xcdTAwMGJrs41mScs9pMRcdTAwMDZcdTAwMDZ5xOPj9tRcdTAwMTJwXHUwMDFjlYbJsWjezVVgXHUwMDAw49ubhoueafBYh1ZcdTAwMWVR+n2Gf6zxVE+ysuVcdTAwMTh6cKmx/45PRqUyddlcdTAwMDdcdTAwMTRcdTAwMDZ7dyx5XHUwMDEyhVMheG9oXHUwMDEyXHUwMDE1XHUwMDBleOqwXHUwMDE1ebPr28Y95dIjSsf8mtIqXolcdTAwMTJuS48okXYjyCaRuOn6JZGlRFx1MDAxZKKjOnh5Wman4Fx1MDAwMCQ4aFx1MDAxNSZiXHUwMDBmY0jIgmPMU/2Vb9RgXHUwMDE4m6oy1Vx1MDAwM2jER7JcdTAwMWW8ZjX2Zr71gfc2tXN/5lx1MDAwN6WbXHUwMDFk0Vx1MDAxZTlcdTAwMTajvef2+Fx1MDAxYu5cbrEkU2tcdTAwMDDiXHUwMDE1a8lnbS3h8n0/wWvu8fT7XHUwMDBlXHUwMDAxgeOeRFx1MDAxOfaSXHUwMDFk3pApx1x1MDAwN3fN5pLwXHUwMDBl81x1MDAxYW3IasNcdTAwMDU/gJdcIrhZXHUwMDBmS9Awx/L7Jlx1MDAwNYYhsPBV4Vx1MDAwMFx1MDAxOWhcboeCYWjoK1x1MDAwMFx1MDAxN9qgXHUwMDAzXHUwMDAwrTB8K9Dhn+tXnlx1MDAxOX7XXHUwMDE4OCesMFx1MDAxMv5dx8TijatcdTAwMDcjftiA6Nq9pNlwXHUwMDFjpLM4TjsvYP1cdTAwMDU1XHUwMDAwP01cdTAwMTjiSze3VZ5cdTAwMDNbuuRoXHUwMDBlrFx1MDAxOSf069RcdTAwMWM/5lx1MDAxZD0rUCYnJ6XsjUSfslvMQOE8uFx1MDAxM3Grqurby7fqXHUwMDE3xYbQvCbd51x1MDAxMb6bd/jHelxu/aS/VK2GToPGf1vvpDT2oCxA01xmXHUwMDAz9zFcZkOnNXVcdTAwMWH4MD5cdTAwMTKTIDsgwtos1ZZcIi2GlztSUnnazms3Y1x1MDAxZNTVVo7WternIyBcbu+Z65+3XHUwMDExNM+nl1x1MDAxZlx1MDAxMY7nXHUwMDFhXHUwMDEzvmK+5rj64VKYxHtgeYiEr5XJY/hcdTAwMTPfb7Hh1vXyXGLv4Pw7vi+uR1ZcblreYV7F1DNSwYZcdTAwMTFAlPy+XHUwMDA3haGMpoUo/Hj1iEpVrCs2mC/o4uq5XHUwMDBiXHUwMDE5vYhRr0qRilx1MDAwNbNcdTAwMWFHcUUqNuRcdTAwMTK/++xFsbxA1VNcdTAwMTRA2Gk4tWqkr6vs+GuRXHUwMDBl5thfSVx1MDAwNJluLoH+sVx1MDAwZaqIXHUwMDAybVIldeP1uVx1MDAwNkpPZ1x1MDAwNIJQZ3bHbqaEZapoVYx1S5tDQ8lccpshT61cdTAwMTe736Ky7JYn29DIodFpOLDOXHTgXHUwMDFm1ljomdvHmnVo+5ZcdTAwMTSpfvPY4tIgcNfWaURdL1x1MDAwZpTWtzy9XHUwMDEwX/78J/f4iC5drdy7r7dvQ/N/j6lfijUx3lxuV5tfwLZhaeGMrv3Mby9cdTAwMGaq1/6i8Vk2sbOTS1Q5XHQzYHZVULtX5znbk77GXHUwMDE1nmi4XHUwMDFl9TmeicuJODqNtik9ybjxOcWBwZ67XHUwMDAzOXicr1soyFx1MDAxNi1XyXD71tpcZoGMa2K1c3+uaUhcdTAwMTZ/Y/ohzThcdTAwMGb8yK1xLf1d/yF39Yaz67pAXHUwMDAxRVGw+e4l81x1MDAxN0Y/2Hdo1c1rk6QwUS2GfbR3NLRPXHUwMDAxKz6SzVxcXHUwMDFmbrh1dChcXFx1MDAwM1x1MDAwYuatXHUwMDA0dFjv61GMTJ91Ml/ZQIHYR1x1MDAwMXFcdTAwMWLYwfnWq0KFIXlR8VXe9jvyZ37l7cnfdYp3XG6rwMP9LZ9L9fTtyLJcdTAwMWFMXHUwMDA36+Ho4lxiunBcdTAwMDdk+DRcdTAwMWEkZfeDnt1cdTAwMDFdaNW0XHUwMDFki2q5dNHFRlxcm4lcblWI+kQ0w0s8vFJ91ZlcdTAwMWTePqtcdTAwMGZcdTAwMDdMmz+NqrvAXHUwMDFiXHUwMDE3dlx1MDAxM4tcdTAwMWJcdTAwMWRDgVx1MDAwMk2fYPmt9bXO2Fx0TYtr4t1j3upcdTAwMGZ/9saZrHLFXHUwMDEzZ/D6PXdyozVtJif7KJ4uWN+iO+tmpsu3YHaLYMCz91x1MDAwMy28N1x1MDAxN4Z1+bBa6mE+b+1hXHUwMDA0NMyUVr14XHUwMDE1pmb+RHeh5nzCkT4zXHUwMDAzhy7uZoYvKrefvquHmtE7QVPjaXHA7bzBiSBcYouOw5u4+Fx1MDAxNEhVpsV3mjPuq7z/WFvk6ehf+Fx1MDAxM5uJ+Fx1MDAxYjbJ9ItcdTAwMGWrySc/Tm2WYa3MNcS2fFx1MDAxYYBcdTAwMDWpXCJcdTAwMDBRXHJ5sc1LYVxmnWX50ojwoux/enSgzPWDvvgsedyhP2zdsi2HXHUwMDFkmM7Sxp1cdTAwMTLVm+3ovr35VF1gXlx1MDAwNlx1MDAwMdRcdTAwMThcdTAwMGJ3PDFS9Kx63f1cdTAwMTVcdTAwMWLV/OQ+30KOvCtpXHUwMDBlXHUwMDFl0+7Utd/zIZ9+pupcdTAwMDMgalxyXHUwMDE0xJOs9Fx1MDAwMYTdb1x1MDAwZj/yV66mul1cdTAwMDB5c/1cdTAwMTMpXHUwMDEzOabmhuJ3XHUwMDE5cKmrdcOZxLTy9Vx1MDAxOLznl1soO1xc6KNJQETPXHUwMDEwW/SUy0vRu22W5Fx1MDAwNFx1MDAxYsRV+lx1MDAxObibMjQrU1x1MDAxNuAwb07/9zVcXKTsXVx1MDAxYdd4bF9pyjlERDUh6HnRPURcdTAwMDAsXHUwMDAwgOD3tVx1MDAxMXX+7KWh0duGZc8mtrzSh2LyucFcdTAwMTVOyj7MZnhcdTAwMTfQjVxmTIxcdC2oLiFcYkzWXHUwMDAwQdBynq9v6alcdTAwMTVBjN7+KvT5Z3etNWLJP3Mtt92XrrHvhFDOP87Zu1lcdTAwMDHZYVx1MDAwYsdNK/DC2KBcdTAwMDcjwkVxXHUwMDE031fZ3PhT3jS0mPTuXHUwMDEzTneAcPyTxM6wu7Rbf2ts16zbJ1x1MDAxZit+XHUwMDA0Rjy7nsZcdTAwMTNv0KlGcFx1MDAwMlxiNnh0XHUwMDAz5qNP89NcYlx1MDAxZclhXHUwMDE2yoqtyvdNNeafXFzXMO9cdMdDzYQv9idcdTAwMDdcdTAwMTZcdTAwMWJcdTAwMTKepYttulx1MDAwM13M92aAXHUwMDAwXHUwMDA1Njfu4IfefPpklUaFu1x1MDAwNWRfnJHtXHUwMDBmPVNJIYNcdTAwMDDmctF4RVf+XHUwMDFkVzCnuqk3xs84OFx1MDAxZrHAVJi9XHUwMDA33k0vzkMhXHUwMDFhXHUwMDE1eVx1MDAwMlwi/nxcdTAwMWazXHUwMDFjMeL/ytZK8ra1MiePVvtxTqQpcyjnyexcdTAwMWUlblx1MDAwNC9iVcZHrMJpLrLHXHUwMDFj9pmRlzBcdTAwMDeJbMWZROnRrVx1MDAwMarHXt9+9bBlQfdO3GV8i6BaV31cdTAwMTdVbVx1MDAxY5dNhyuYv0Hhu/fszbHuzNXr8jlpeWxOe2zvsVv+rI1cdTAwMTBcclu8x87Uafj1c+xE0vS5g3Q4tIbrXHUwMDE0SPVQh6BhVKJ7dqphX6dcdTAwMDdSt6Ha2TW1XHUwMDE3UXJbnlvVs5e6XHUwMDEyXHUwMDEy1O+PuVisO2WqSFx1MDAwZq5SYdRcdTAwMTM9Yvz7boH82z+PXHUwMDEw7EenyHJcdTAwMTVcdTAwMWV+Lqmr9LfNlYd829xZXCJC+TO/V5RsuZTSXHUwMDE51dlwI+GvXFyBzlx1MDAwYlx1MDAwMqA80OyW21x1MDAwMCAgsOdcblwiesfika3X+Uq41kxdwpZcYstwZD5E8Vx1MDAwZVx1MDAxYcKtlFx1MDAwMXmf6FxcXHUwMDFhXCL6Kb6XhUO495kz5uhcdTAwMWEwNuRg/bj1Ud+2lK9cdTAwMGWr8Ofc2n6533O7+uXJROJcdTAwMGZcdTAwMWNpaeRcdTAwMDNVY0xV22Zwg8BcdTAwMTCAYEBEkY/9c36Nu1x1MDAxM2h1qIPcLnf2nvXR3u9Ejde1UKfOp7BcdTAwMWWEznz3gcFcdTAwMGJdIVx1MDAxONdcdTAwMWNQ9ORfi2Xxf+s8nPrWX5kgxdy0+cdarNxcdTAwMDFiZdKc5rhATWRcXH/V355cdTAwMGJiL51u92QuXHUwMDE16tal1c1KVF3rYIhcdTAwMTTSeFx1MDAwNpq6R2xcdTAwMTZcdTAwMDI+hsbHo9IjXHUwMDBmWPVcdTAwMWPktH39WWc0uMy/clxm1/PY37/PXHUwMDFkXYnmgqbubGyPx6XBXHUwMDE4XHUwMDA2Qakh1N7ZtDhcXLHjYctcdTAwMWVCYYpzy6HNrlx1MDAwZsmDhemDraDw7UtX5lx1MDAwNIjJL/Pk08egNVx1MDAwMy99Ypr/K780pMp+f3+RKY2xOr+f2ymRRdak/76LU1x1MDAwMFx1MDAxOIK4QLIq1EBcdTAwMTWUiesuqVx1MDAwM4NsXHUwMDE4LZ4sXHTFXHUwMDE0rfq0j1fCzcor/7ZwIIRg2Klv31x1MDAxZIu7/fyAOGZfw1x1MDAwM1H/UVx1MDAxZFvOlLRp89i3jzFcdTAwMWNcdTAwMTIgSOvf/Yv6nnJcdTAwMTQnLpxIXHUwMDFjXHUwMDEyflx1MDAxZS5cdTAwMDHRZp6YNq3FscFcdTAwMDKdu9S3bn7dcXDEcr3vOoyanidiiyX7XHUwMDA3XHUwMDE35Fx1MDAwNbGlK0BcdTAwMTZ23P89R8V385vP/9232rRJ1dJcblx1MDAxZIq14lozXGZkasvYwuCNWlx1MDAxZvVcdTAwMWU+3uBTL71BgVx1MDAxYSVbYPyGtVx1MDAxONl78tLLXHUwMDAwJ6tcdTAwMDFcdTAwMTl8XHUwMDBmdVxcVNi01Vr+j9rP/Vftp3MhXHUwMDAyM/6ug05WqVx1MDAwZXhcdTAwMGZ/9dbejMD3wWaeIUNE9lU8YlHcLTNcdTAwMWNRXHLOnfriXFyNrJdcdTAwMTHp2zTd51iDiqZiIGCcVumhj89RY9/qX3VeXHUwMDA29avuzTjIl9CaP85VI+myxlx1MDAwNsMw/lx1MDAxY+7vfSXGiFx1MDAwMquQRMtcdTAwMWNcdTAwMGWu7Z5N73ZcdTAwMWRPVlJcdTAwMDdcdTAwMGafXHUwMDFjqSyM1KbY35i6PsH6lNhcdTAwMDbVh7fpasxcdTAwMWQ4XHUwMDA2pdY2rXV/fMfi2uSt25bLSYTf/Vxy50hWXHUwMDEzNNjNkF30QFx1MDAxMlx1MDAwM79tifQkXHUwMDAx4Uh7genB7a/4eVx1MDAwN6hcdTAwMTZOMVx1MDAxNVDhsaivUSPIXHLhqMNXXHUwMDAyL+Vg7INyQjK/xIFcdTAwMDDApKpsTXhogjVNrFx1MDAwYv1VSNaURdmZsoJcdTAwMTThcv5eL1i+y5JdXHUwMDEz8kRVj57D6slcdTAwMDK6XHUwMDAz6P5WjH5jwURcdTAwMWT1UVx1MDAwZrX8PL7R1unox1x1MDAwN225XHUwMDE5kVx1MDAxOcI5nmy6cfWH3lx1MDAwM2fPLehJXHUwMDE4XHUwMDExgqLtgIN6XHUwMDAxVt+ezydr0/68lZtcdTAwMTefTdJT4epcctTr5Zi/Y4/kOTBFp5lniGb2XHUwMDFi97b3trRYRopcdTAwMTdIdiOax2uGXHUwMDAz1y1UXG6wwCBdXHUwMDEwakpRokmHXHUwMDAz/MZcXEtzXHUwMDFhq1RcdTAwMTRcdTAwMWJnXHUwMDFjTdJImUSSbo5TTPtcdTAwMTA8XGI+XHUwMDFjXHUwMDEwYI1gzW9dYj04lceGVD7SXHUwMDE5I29FTf3MoX++9lx1MDAxYUNer9vw77qqu1x1MDAxNYmY1jLaOTOCXHUwMDA07jtcdTAwMWOK/uJTXHUwMDE4z1FcZtCvVLdMmbKCpVx1MDAxY646bYpzXHUwMDFlbL7JzFx1MDAwN+mu6SHAh36BqaWrQ6RBz0RDVVx1MDAwMVx1MDAwNNvjqvaQwc/ePd7Mzd6nte12nP+JUcLDXHUwMDFhOVxuXHUwMDBmsFx1MDAxYVZ/wzZTvuO7XHUwMDAyaFx1MDAwMYIly1x1MDAwN+JQXHUwMDE4XHUwMDA18Vx1MDAxM9Pv68pxXHUwMDEyXHUwMDFhXVx1MDAxZkdmuVx1MDAwNMSWrilQmlXKXHKTblx1MDAwYv/S9zKiuj3QsitcclZMb0jiXHUwMDA2XiO/XHUwMDA1XHUwMDExXHR+91x1MDAxYTPqe3Azr84/ydM9tuQkQnj5q66JmW/2XHUwMDFjeMZozMZvv2tcdTAwMTdH65a8/rlAlDhhXHUwMDFkXHUwMDBltalcdTAwMGWFKlxiQlx1MDAwNXjcqFx1MDAwN+uxc15YLS2h5ewgg8QrXFz5yfB+Tytz0Ob7nru3/aRR3rxQ/ZgtzsCCVlx1MDAwNsCQqIC8KDCsld/J2KmkXHUwMDE2QFx1MDAwNqnzf+bfXHUwMDA17Fx1MDAxN+4pyJ766e9zXHUwMDE4i1x1MDAxZLnO9cNH7XCQQH4wwIe0gVxyp1xc7KWim+7UXS6diP68fN2BXFxcdTAwMWbYXHUwMDAz8Vt7c2DjSVHxbF045j+s8oB8q1ZcdTAwMGLrtcQ8WKzFToBcdTAwMDSUXHUwMDExXHUwMDE1WEzPmjVrXzpcdTAwMGbHK45z3jX/dKmfOYxvnVx1MDAwNffdR6mXv/HAkHVF5eaRJXzVXHUwMDAxjVxu21x1MDAwNFx1MDAwM1x1MDAwMvNEOVx1MDAwNSSwXHUwMDFj9Fx1MDAxZVavV0og9pRcdTAwMTmkz0NcdTAwMTiQNNi51WImxepruVx1MDAxNG9Td8ZbNKV+7Fx1MDAwMZfgkrYl4ThBwLu/RFx1MDAwNlxcXHUwMDA3JVx1MDAxZVxmXHUwMDFm0Fx1MDAxMOWbdlHH/GdN3pap3zymXHUwMDExXHUwMDFidfP755Mnhlx1MDAwMnvoeNtcdTAwMGJcdTAwMTVeXHUwMDFjqKd0INP3L7B+KUIjU7FSXHUwMDFiXHUwMDE1jSen8oBVb+5cdTAwMWNcdTAwMTV+hPT5XHUwMDEwyFqV+0Z6uMtb0yDVolx1MDAxNtZcXHvcg4ZcdTAwMDVlXG5cdTAwMTBcblxuPPhcdTAwMTZAWc4nU1i7dOt31lBL+TOGxMfyzVc+wVx1MDAwNE+H3zm9opgyg1x1MDAxM9uTXHUwMDFlQ1x1MDAwNlx1MDAwMFx1MDAwN1x1MDAwNFx1MDAwN407jOt100DMXHUwMDBiY3pi80BOn0Cy1z5SVFx1MDAxONzGXHUwMDA3I/meyzLbst3lLP1cIlx1MDAwMPFcciphWuhC0UhcdTAwMGWE0t/3PY2K/+RcdTAwMTIuzFiO0l9i+0cqqCyd2fruUVhcXPZcdTAwMDfmQ1x1MDAwZrFMKV+pLz05UVx1MDAxZVqObNtcbtf/tV7y7Vx1MDAxOfT20mGdbmdvVFwisWhKlPDQ61x1MDAwNjM/WJiOXlx0tSFmKWRQ9oS//aRw9cojjEbee/bM4parrOCtcGh1+vz1R00z/0tPl7pz0vyPtTVFXHUwMDE0zklXopfX4cTSXHKAXHUwMDAxbVx1MDAwNVxmbFx1MDAxYlxix/CN9+9Ic2RcdTAwMGWL8rh5PqtUPFx1MDAwMtQ6XHUwMDA0uVo5clx1MDAwZbtnwu9wqovUMECz7lxcIKFJn6SHmmVcXMKAmTPjXHUwMDBmXHUwMDFiXHUwMDEyf9lQqNTJjzpcdTAwMTWzpOS4f29cZkVcdTAwMWRg6WEgyvlYvpGD0Lt4pfVR3Vx1MDAxZZDSmLe4XG4p1jFtnVxi5Oql4p9uu+b3J+xcdTAwMTXfhjBsXHUwMDE4cKooQFx1MDAxYotvIfTgIdNWwGWe2T/WSIV/rZGu9tCVv+O7XHUwMDE0J6ZOjt2QXGLHXHUwMDFj7bdcdTAwMTY/QDVcdTAwMDNBMuOtNjSb03O3b6tapX/P2Fx1MDAwYmO7suWUNafx7GjZT/fIXHUwMDE0u9wgjFx1MDAwMIytXHUwMDAwSWbSboRcdTAwMTjVXHUwMDBmeUP856+6XYZcdTAwMWO+el1P4j94XHUwMDE5xpLNWftukPq7zpTIx9i4acJePF5wXHUwMDA3lyes5e6QXHUwMDFhXHUwMDE1lnh6plQ5Slx1MDAxZfjZWmM07Nz8wzR1oanJ4ftcdTAwMWU6oIlcdTAwMWWdeoqZ5oFsNdR02vyw03hsTJmH0U+sXG72b+tcdTAwMDBD41KkfPiGLH3JYzlcdTAwMTR5bt7joKuF6rBH6ZnnZUqvXHUwMDA2etPxhuBmdkn7u3T8OF9hoEI76apcdTAwMGJcdTAwMTBcdTAwMWJcbjxeg9tcdTAwMTdcdTAwMWE3+lxmVUn9We9d/CtGXHUwMDE011hhf5xLX3gyvqhGXHUwMDFmLsD4vlx1MDAxM0Q4XGJcdTAwMDCQb55cdTAwMWV2cNuKx1x1MDAxM89cdTAwMWIpYUTHO4B0umOFxr/wb1x1MDAwZntA/oXbRHM9OU55c/Sl5JNFIFr3p+76NN/8zeeTqENcdTAwMWP+zodcXIvbgyR3MW+cuYbdVZEyjK11pcetWVx1MDAwNWO4eu5M31x1MDAxMo3HesxIyDDMZFbxsmRg3EJhXcpcZttcdTAwMGJTWaPYSMYwXGb1gVetOla8OLwp83ndoMiUYS3+Uc9fy99cdTAwMWGaqfxXzvbDibRcdTAwMTnwi1x1MDAwZb6YXHK7YK71Kfn9bLNh8+jIXHUwMDAym01BXGZcdTAwMWVJN5h1MOxlfEUrXGZJm1x1MDAwMsTn67a1XHUwMDA1+GSRmd23XCKB7mHc5OGrXHUwMDAzUPx2UCU3kihcIphsM/l3RMndTo7OR3395Drfg1xuvzltlfovXHUwMDFji5GGXFzgQYqhZlx1MDAxNG62r5ArlX5YuMdf9bdcdTAwMWUpwUCCmdHcXGJ1YFx1MDAxYpBnUkb65buIaM3VXHUwMDFkeFqRdIPD7MEonX2BeT9oY3tcdTAwMTlhuvjQ2/wuJ8XvNmBcdTAwMGXcVkt8+Imn3zyrcvDvZ8iM8y9HIUtcdTAwMTm/omoqTTNcdTAwMWZEXHUwMDA2XHUwMDAxSTqn4MpUjIH99lx1MDAwMrGQXHUwMDBihMtNk07YrW+tuJfM+Fx1MDAxMI79bI5TNzv4XHUwMDFlZ6vGNn9cIvJcdTAwMTQuVYFY9eOA4uaWe9FcdTAwMWR/z7KPkr8w1LsxdLwxtOatL3YmptIxbVx1MDAxYcnRs4qhXHUwMDE10JNJXHUwMDE2XHUwMDFkXHUwMDEy0uH5inCwXHUwMDA2QcxcdTAwMDBcdTAwMDGlPsJNRFxu9XOKXHUwMDAx49a2+qvmmbM1XHUwMDAyd66Me72WKahrO89cdTAwMGaVZyiMulx1MDAwMURcdTAwMWLj1+ZcdTAwMTgnXHUwMDAx41x0wz/3XFxw9lx1MDAxZrxcdTAwMTj65vF7df25X0NHqV29VIZFs1v3XHUwMDE0IDhCq+C8eciNbJjFbl+DSFx1MDAxMcBcZkakxdLEmo+qw9/Wp6uAmHt2wCpJZUL0MiZcdTAwMTHA2T/zY4p3Q1x1MDAwNJ1cdTAwMDaBfkcu7ff6yZq8Z2dDI9TvcFxc51x1MDAwNEBz71x1MDAxOOJOXHUwMDFlitdcdTAwMDKJOW5xishIXHUwMDBma5DSbYvPMVx1MDAxNlejhWWQtVx1MDAxY6jGXFy6oLSUf4WzLuQ8wOd/7+Hrb610y8RmXHUwMDE2vvpgpkJRXHUwMDE1pVpJ9/p4klx1MDAwYnVHXHUwMDFlrWmR2lJcdTAwMDdnJYPtXHUwMDBlId/e7M1Q4szcM4zX2kbKa1x1MDAxNP1hSrLhwiEz3p0yoje3hVPDgFx1MDAwMT9cYvD422/vM8LGTJl/7HlSXfu752n2XGamebO/sFx1MDAxYjNNOvUqgJrxLr1cdTAwMTRR9qNcXPVSjY73tLzVvpp83yG7wUdcdTAwMDBcdTAwMTJsk61Qa6KdJ1u5wXE9XHUwMDEyTKQ396WPXHUwMDBmXCKVblx1MDAxMfvkw4t/LFNSVlaW7/S6XHUwMDE1XHUwMDE0Tlx1MDAxOFx1MDAwZaRKIPIqtD/25fCf+FtcdTAwMDPWv1x1MDAxMYB5w+znzZNcdTAwMTmR6dBcdTAwMTNto1x1MDAxN0/JXHUwMDBlXHUwMDE0t7u0Z6+xj1x1MDAxOVx1MDAxMJadXHUwMDA1XHUwMDA1XHUwMDA24DpzXHUwMDEw2G0h2GRr61x1MDAwZih9XGJcdTAwMTdovmEuj1x1MDAxYVxika3+ttnCeqKQoWsswVxcXHUwMDE3XHUwMDAzLchqkKa8be+cdYk3cG3rJlx1MDAxNXrM4lx1MDAxOcCjzCxcdTAwMWVcIoVoolx1MDAxNX807HUtvFx1MDAwZi5cdTAwMDeMe7DTwsZeXHUwMDE5LqaLw/MwqFx1MDAwMu1KvKW0LuiblGsgh1x1MDAxNVx1MDAxM2BcdPVcdTAwMDZNm+67Y22Sd9ZcdTAwMTmIiIZm9sjHXHUwMDFiVPtAPfuCw/RbmNozNlxceIZcZpe3ikmEvMZWlICkjVhLYJZcdTAwMTfz7WFcXG1cdTAwMGai8Cvl/epd7tRabOBcdTAwMDH0oFWTUeaFcZ9ieWtWrExA8JVgVHdcdTAwMWVcdKgjz2LgXHUwMDE3nFx1MDAwZSj4Z26A+Vdu4FwiUaEtv76P3vxeWUYujEVHaKfqLbFcdFx1MDAxMWB9uEqWmXCwYmlcXOnpwaA67y32jMpjXHUwMDFkv3xjRtY/bqyBglx1MDAxNLSq/eLqiazBqaxRfHovxfzGUuGgXmTktkyAoeBcdTAwMDaMp5nucLAg4dPESH5Vzlh50NvQXHTqXHUwMDAw790jmuLaSNxcZvdIl2aWnVx1MDAxNcOErlmaO4XbeFI/zEpxXbqZW7Tr9oicT1xy9aKt+UXw89NcImclXHUwMDFk71x1MDAwMCre5lx1MDAxY0dkzpm0zu2UXHUwMDE0eqZTpmZdpmXvc2zC10BnvJgwb2rWaUGHobvp2PZIeVWSdmqBUdp4i1wib1x1MDAwNVx1MDAwZT4xXHUwMDA2XHUwMDFjxoi9XHUwMDAwXHUwMDE2XVaugHD/pm3J81r9dis2efTEXHJA8MWnnl2TXHUwMDE4/sKyibbxu0qTN1x1MDAxZYFcdTAwMDBcdTAwMDaAJkSAXHUwMDA2obw7XHUwMDFhOfStnfL1/ZlcdTAwMDbjROBcdTAwMWWByZzoXHKhrlx1MDAxZsVeYjdcdTAwMTVLouWFJsWnXHUwMDEwsyt8/LXJs6slcoyaqSwtcZRHsVx1MDAxM89cdTAwMTFJpkVs/Vx1MDAxZFx1MDAxNVx1MDAwNzZcdTAwMGUscnzoMkov9CfHya43XHUwMDE0i1x1MDAxNa2OXHJMLfr0XHUwMDA1bMJcdTAwMDWpXHUwMDA3s46L3sa+WKHLqNsjXHUwMDE0/sRqVqxq7MyqXHUwMDE3NLhcdTAwMDF9fveryupNzcpdhibTXzFlITfpRSZJYzyPJEhNTtvXQaLMRPW6XFx55n2Qbv4wrqaMvNxknFJM7ExMa8aPtqpvbFx1MDAwM9lpRZmPeLzieoU+YlL2WVSLYVpp507m0ja+1GZcdTAwMTWuxX5eMF7u622DXCKadW9L1qyDllx1MDAwZVx1MDAxMYz4XHUwMDExrnj4PkLwm1x1MDAwNT1cdTAwMDQ23DhW3Dji1spcdTAwMTJFXHUwMDA3XHUwMDEwqknSLS4kSpJcdTAwMGVeOyRe14BcdTAwMDGuh4VpLHb396CqXGYxXHUwMDE2eVx1MDAwMUmr6Vx1MDAxOCR+b1x1MDAxNHGFYVx1MDAxN3CMw1x1MDAwN6pcdTAwMTXA5nbWYWJccpKEXHUwMDE2nFx1MDAwZv5aXGbHfn+qwLNApF67efYqNy2a8KZ3+3rrX6E0XGLQrSxZRkPA51x1MDAwNKRsWe5xdddhIMmAXHUwMDFkh1Xs41x1MDAwMVx1MDAxMrdNvzCNzlx1MDAwMFxuXHUwMDEyn674M2cnkMNX661O9Iu/1S1ZUjWsXHUwMDFhdVx1MDAwNYHQZzefkcRd3ptcdTAwMDGUtctFYFrxg2vZ82bM0qqPtDJVPET5wjSdPrdcdTAwMGKBkopWm+XWc193JMiHWpacSp991fNDc1x1MDAxMe5cdTAwMTDaqGPOtCGzIJzuXHUwMDBmiv/wXHUwMDFhjlZ9y7ss3445eOBcZv/S28M4XkLq2Fx1MDAwN9hcdGBM7Z9cdTAwMDHsuSzoyXoyXZt7JFK2XHUwMDExwFx1MDAxYb40Zr852GpAd6BLsODkXHUwMDFk/1M0XHUwMDBi91DStoQjUq05MXOVLrOyjfGZ4DjAylx1MDAwNICtWlx1MDAwNmaAWDvsrXvC6nOGP658rKLGaVxcXHUwMDFjzOQkXHUwMDFlXHKb1qdr1qevudRpiGhEp+1Z1EdZYWjqOGEjWK6ld1ssWepcdTAwMDG0fsm2XHUwMDAxyT7COlx1MDAxNeFcdTAwMGa8UZH04Y2I1rTDUqWqSV7mZb+VT0MrT9VaXHUwMDAxss3xl4K2S1TlXHUwMDAxX8Uv9DCRrrY9jyC4/Dlj0lx1MDAwYt9aPFnuoJ9cdTAwMWJcdTAwMDKEXHUwMDA301x1MDAwNFx1MDAxMlx1MDAxNJT6746p5Vx1MDAxMqpdL3/Uzlx1MDAwM6aXgzdcciivW7PWN6FkXHJwkFx1MDAxYYzDiFx1MDAxN7p6KOz8WTe8XHUwMDFlv/Y/c989Yi7nsmV/ZVT2KWlxqalbf76lRIKfnvXycr+JwHBcdTAwMTU4ZmqqS3Er8dZcdTAwMDWZiaP50Vx1MDAxZatZgVx1MDAxMUg5p1PFXHUwMDE3YFx1MDAwZS1NXHUwMDE4XCI3KVwi0seWkl7UMqlcdTAwMWZanEVMqF9Wc4WviWad7GZcZkY5uZb8kmCk0uP0nfHeWVpcdTAwMGaQJ2pxw6Q3LWo8s21cdTAwMWOaO0+RVFwiXHUwMDA2YL1cdTAwMDXSkXuKXHUwMDFhXHUwMDFhaW/TKHhgXHUwMDBll1xcwFx1MDAwMlx1MDAwNlx1MDAxNNKlKyyBf0xUkcab41x1MDAxYi21WrP6sVUog1x1MDAxN1x1MDAxMlx1MDAwZrZtZFx1MDAwNeSBVoNeXGa4XHUwMDEzXHUwMDFlXGZDs1x1MDAxNu+IeMxcdJZ4z3cv01xca/m0J8xMzdx6mHu7Mpaak1x1MDAwMpxxbo5WZEFcdTAwMDSvSWFdtlx1MDAxNWvpJvv4tOhbk95vzXjGbPn84JTvXHUwMDExOblcdTAwMGW2s3VZ8IRrNCN1+2M5dZs0xTa2ulx1MDAxYSorKF5cblx1MDAwNvBmxOBcdFx1MDAxZVRcdTAwMDC05lxuUEOqhiFE7Vx1MDAxOelcdTAwMDf9XHUwMDE4YPyGvCVWLCVKN1xizjBcZsFuXHUwMDAxij6e7LfCpe7dfZeFzYvgNPNvJr6SZc9dRXszNLG9/X5GQIJcdTAwMTNxXHUwMDEwnFx1MDAxYeS5Olx1MDAxY2PD8Z82oH/XjtWzM2/+51x1MDAxYSxbLsvouFx1MDAxOWGhLbA9XGZ9XHUwMDFja3hcdTAwMWH1dMh0uELlwFwiMEk8XHUwMDBii9VFMivf+9N4TKlFXzczuI+PI5eXgXxyU37FVlxuOINgiLaM8IXlIen+QvQhXHJq6p28XHUwMDE2p/hcdTAwMDRNWEf1XHUwMDEw7lVm7nBZY6ynLrjLXHSMbNHIZPGXXHUwMDE4XHUwMDFkvaCddLO4749cIlJcdTAwMDNDa1x1MDAwYuWOMZzEbji0IM1cIvlZ4lx1MDAxOH9lNVxiXHUwMDAz4EFIyXZcdTAwMWJnVGHkXHUwMDA2V1x1MDAxM2GQhVLvbD28Z5MpT63mKJz7XHUwMDE0xiYu1y1lqJdRl6ftv/ZN51x1MDAwMMfqzT1cdTAwMWEpPbJcdTAwMGJYViPKh8pdws3UviqE7Mipa9XHylZze3Gf7FDfnZs6dfRhVfRcdTAwMTVWd/TvXHUwMDFl/uw0+ce0M7fu0De9flx1MDAxZenZu9LtXHUwMDExXHUwMDFkrH749X5em4PbjuDTemjFuvUkYX5YdW/U8rxcdTAwMDZTcJZi+qme1rZnZM+zyirLIFZcdTAwMDVcdTAwMTGZdWB6aVcufJ7x/GtcdTAwMWRcdTAwMWFcdTAwMWGaxjF3naFpyzHEXHUwMDE3OH7SOZvWzlx1MDAxOGL65INcdTAwMTPxWfhccoIgn344XHUwMDE1XHUwMDBmZN+jVuKdS9ZO/KxcdTAwMTM4tG+fXHUwMDA1b1x1MDAwZr+1aFx1MDAxY/ssR/adepahM9SuWFx1MDAxZW9p7mnq6T1mJ1x1MDAxNfWq84CqeZhlOb5JQCM2vnRiVdzPhyFcInO4t1x1MDAwN/SifFVI5jJcYk6IbItSMHBcIlx1MDAwNFx1MDAxM/BD0WgsXHUwMDBldv2S33i8XFxUVy1cdTAwMTTN86xGa1Q6XCKe7oXUXHUwMDBik1WRyM6rwHiOX9krXHUwMDEwhTTjQKi4P+qFysi891G0XZ9ucanUJXlccjGn9o4snusxP+FiTo07Pk5cdTAwMDTBxj5aLLlCPVx1MDAxY1x1MDAxY7jxypL3Vruxk1wieVFtyKtcdTAwMDGRe6ZcdTAwMDFNdVx1MDAwMF25o3yZXHQw1+XWKMxRXHUwMDA1XHUwMDAxubgnq4ZcdTAwMTA35qDUXHUwMDA3fo9GgPCpKfq8rj6CU2MwOlx1MDAwNSE6e3JPKV2AeSBYXHUwMDFhiDhW8WhbXHUwMDBl7Jh/j1anNTIwxj3BhVx1MDAxMHyoj+vdqp/n/cHFr1uoW7RmWbwquc9yc3VDkY/czzysd53QT+NpbKCFy2pkXHUwMDA30MUsdFeGXHUwMDFh6Fx1MDAxML7vkj9cdTAwMWZeXfuTXHUwMDBmSDG2xcgnrajZ06ZhpHBcZojOo/vundhp6+I5uHFBwtp/7tFxdve75sLAvkF9107j/VGmLt2ItWolubiJXHK1zLdcdTAwMGLKdNmsJHJR3rDwdbqKolJZ51lZg4rckKhYXHUwMDFmXGLnjsPtQIXzc3NGi1KnlEzUXHUwMDA2buwyXnNcdTAwMTUqYrmQXHUwMDE1oMC4Vfq7/IDdO3bk1yuPUDHIOH2Ygm69uL2vSnbsKqiyrlx1MDAwMHYt46wqXd7tLVxu1zSb59CLz/NcdTAwMTTT28cv9uAmWVrlXHUwMDE3h1x1MDAxZHsyhFx1MDAwZkJXnFx1MDAwNlx1MDAwNJhoylxiRlqSmjjpObTq3H+QXHUwMDBmTjSmV+yJN2u3xOhcdTAwMDLR8tCHpv+fZL3HsqTIXHUwMDEyNvhAuSDRsERrrdmhNSRaPP1w+o74u6csa1HHyvKA4/6JXGLC3XiIT3lcdTAwMWVNx2heXatnRZNcdTAwMWSAn1xuntZM6PlIjY9cdTAwMTGe3pWnZj4/K816wrSX8cXlb/bXgXFMXHUwMDFkLlA8863Bq1VcdTAwMWRWtfFrLbpcdTAwMTcuj19okHlccpyNfalxkIxgrOh1lz74iJr7Ltg+IfqRIHc9XHUwMDBlYmpDyUZcXFx1MDAxMlx1MDAxNlady2/gUJqi2cl8XHUwMDFiP1BDvc88XHUwMDFk4iG/Ptnk57ZcdTAwMDN8ijRcdTAwMWTeZ/vJb1x1MDAwN/5CdSHAXHUwMDFh6U9p/Vx1MDAxNzCz+MW09Vx1MDAxNIOyPVx1MDAwZS5a/1rbkFx1MDAxNlx1MDAwYqFcdTAwMTlcIvudcbL+s45vXHUwMDBizEWxhitcdTAwMTK6R9bxsO7mzMm4xFx1MDAwZdpsIPe1XHUwMDA3vPbkMFx1MDAxM1xunFx1MDAxMFx1MDAwNLlcdTAwMTEm6+yO82DI91x1MDAxN0HaXG6rXHUwMDBiKHvcXHUwMDE2rJpA8jqHXHUwMDFjXHUwMDAwn3c++z5WoPBcdTAwMTRW6YDvvU+j/qbJVkxVP1dcdTAwMDJMeNrzPpHpXHUwMDBlNXP/lWxcdTAwMTRW9ar0i+CWXHR+U67eRp22NuL3p6yXIG8hk3uwqj1rnlqMdopaTlx1MDAxN1x1MDAxZlx1MDAxZFx1MDAxMvXlw5Jcck6+cH/x29dk0Kbcb4bB62B2mYxRX8xcdTAwMTNcdTAwMDFScZFPdj7jcVRcdTAwMTGC6qzSJFx1MDAxY0q35fXqS9V6hjrgnlxcM3lDinTl6jfFO1wiXHJcdTAwMDNw7lx1MDAxMJiCqnuVvLnDXr2X4Fx1MDAxMYYxXodJrVx1MDAxNzjXjfQ6Z41wd1lcdTAwMDBbQLKWXHTr6dJKvlx1MDAxM5Tkr4N6Vbjq3EewpcmC4U0/28b22JtcdTAwMTXe5Kude1x1MDAxMHSFMEO7T8+Ggct10/g72L+RpHpiXCJLmlx1MDAxM5NbXHK1PbdcdTAwMTl3lMzjXHQ1YWxcdTAwMGWl3jFcdTAwMDKtjlx1MDAxZCjnh+Pbl1x1MDAxYnCWwm3r3++ceCz31/Mn/JtcdTAwMGIk3baFWVx1MDAwZfNcdTAwMWTEx85cdTAwMWItJ1P4NVLJxEU/wVx1MDAxNN1cdTAwMWXcdYaZmGlPu2FshFeEyiVcdTAwMGbaJ1xc5ahcdTAwMDFl3Pstin9nZ3DVfGuiSvZcZvEjhFx1MDAwN1x1MDAxMlx1MDAxMGZcdTAwMTJcdTAwMTjR1o9qW8hQJnlr219cZvFpJClcdTAwMWNcdTAwMDC5oifgVXVn0Ew3XHQ6v5hlyoqUnyBcdTAwMTigXHUwMDAxlOxcdTAwMDHPXHUwMDFjd/GbZH7Wz3BbnrFth+GHvycrXGZcdTAwMTWczGRAYNlQXlx1MDAxOd/Z5sbm25VxuUm4XHUwMDFmNydFXHUwMDBmk3XDO7613MWcXHUwMDBmsLKV3s37/0pz9H8vW6M1lH0+kne9Re97lV+VXHT0eFx1MDAwMDvoJc3vXHUwMDEx059cdTAwMDdcbs2fXHUwMDFiXHUwMDFhJfXqn0/4Y4DVdjzbrpVotH5cdTAwMDLZw7668bX2+j9Fuo7yXHUwMDBijK5iRK9P+Ll1UaaT3Vx1MDAxNv3wuPc+X9m12zyohMNBhSHIXHUwMDE2P2/pyMHnrF9okVx1MDAxMdKYU/9cdTAwMTBrk1x1MDAwM7PRfGSsxFx1MDAxM6Ul96/lpLFQ76B3USBed7xQPEPPXHUwMDEzgNngXHUwMDFm03gtv2t9ZSpIqvtcdTAwMTNjP7Q1XHUwMDFlXHUwMDFjaiQr1Fo1TjXJvmVcdTAwMDRLvPZj9GaJLKI4XHUwMDFlXHUwMDFhwFx1MDAwYiAmYPbm+lg7/ef9c4Ou//aryrrGTDnikqmhflXiPVxu3nyqs+Gv5CNW9XIme+3tXHUwMDFlaOSVnNWjhyeWaVx1MDAwMno41fxcbn5cdTAwMTNo0PQsryZ3vY3opsBKaneuyTva1U4jclwiuFx1MDAxZP7eXHUwMDAxRVx1MDAxM1wiu5R44thcdTAwMDDSfJEjP6+v3DQrXHUwMDFmoj3iT87nXHUwMDFmwjn22ZlcdTAwMDKgc7Fl+Nxg8Vx1MDAwNnKa1PdcdTAwMWWbilxciyrQXHUwMDFiN0HKncMmYlNTLoxcdTAwMTK9/fRcdTAwMTRkksr+3rczXrC4N6RcdTAwMTaJXHUwMDE3SSv0edslNUf8y1x1MDAxNpXdZDlcdTAwMDVcIpBcZj2aJ1xi/iFZbbVcbln1PmFI2ieUXHUwMDA3XHUwMDE2n4k8p81yp1x1MDAxN8i/tayfdj/zN85cdTAwMTdrn5F8KFwibd/i7TtXL2xcdTAwMTSSXctJwVx1MDAwMVxceVx0rJtcdTAwMWXN48ZLWFxuPl96y/5MJ4A7X0xSVGVXkH5YnfxusIBcdTAwMTJWKPJcdTAwMGb5Ylbz7rR8h1x1MDAxM/2t3/ZCSYr46zvRclx1MDAxYzCR1/4s6aeUTPu1Kv5cdTAwMDBXL1x1MDAwZfzivLg4XHUwMDEy+NTmXG4vYGpcdTAwMTBcIvhcdTAwMTnasVx1MDAxYf6z31x1MDAxNEzN337TMCRq6Vx1MDAwNLTvuNWHw811+y3yqodwXHUwMDE4f+JcdTAwMDGVTM1cdTAwMTZ+vF6vu/MlPV95XHUwMDAyxGIxTN8z6fs7zHZoMlwiQFsuXHUwMDE1XHUwMDEwJ3tZ+qFfxqXDwaddXHUwMDAzzbLLu1ox5EVo+DK1puzxOWNY7IHQqlnRrFJcdTAwMTOKY6ykZDd8zVeeJ42nPi8m5Oh5+70/5pecYVxyyl6QXHUwMDFlxNwlSHbVm43c4eGEvVwiz/rqbtIsXHUwMDFjmV9mMTtkUlx1MDAxZlx0Z7N7PYKsPXrgU9STi7H18Vx1MDAxM2RD+uWZrLIuRvb+qnLoLH7sk1x1MDAwM0tYQ1opdF6/WPj7VzVHXG7CIeWNWvFpOIlcdTAwMTY25TWkqVx1MDAwZeHVx1x1MDAxNN/80UpgcunJ4bruXHUwMDFjdC9cdTAwMTZUjrykSZGk1ydkitBcYlvtPK8mUzCn2We5b+Lvv/s4Tf/r4zRhXHUwMDAxPTpcbn0zblOM+GdcdTAwMTFSXFxY2+NQftFcbv+oXHUwMDAxe3nQj6F1aPH6PFx1MDAxMkVcdTAwMTEnfme41N1cdTAwMDRcdTAwMDa5Xq+EZVdvwzSmnZS9l1hcdTAwMWLoSFxcty7kcpshXHUwMDE0eDtyekJgZ2ZDqqnc6NZwv2+Q4qs1XHUwMDA3/Ni92F5cdTAwMTM9wDRcdTAwMDVcdTAwMDDqVdo760yYg4Q3zlx1MDAxOHkwuY+nSlqSODpe+2KpP7hcdTAwMDX03Eb5IFx1MDAxY1x1MDAwZVxunCT57VFcdTAwMWJRyFx1MDAxNfVcdTAwMTNAVoNOiYZepfuWQ/Jq1WKk3jowNoVMWzyB2Nb19JtcdTAwMGKcW1x1MDAwYlpHSviluFxy2W6DozpcdTAwMWFcdTAwMGWwXHUwMDE3Y6mUyVx1MDAwNrRMkiDTaDZ39nf/VbhcdTAwMTmTQ3lcdTAwMTnWcFlcdTAwMThcdTAwMTFcdTAwMWVcdTAwMDIksFxidPXax9knXHK9XHUwMDAy18aflbmQ33zVXCK+WZMqhprP50PJn7890lx1MDAxOdOQhtqbQHvAf/e1+du7sP7ph8bf/+yHU1x1MDAxNudcdTAwMWPVXHUwMDBlVD0nd9lU2dj0hN/24rpcdTAwMWKKXHUwMDE195tcdTAwMTbhXHUwMDFhfFx0T3Y1TI/S6GxLXHUwMDAxlbKvze/lXHUwMDE5XG5cYvP9TJ245lrZyaVy2WMnmlwikF8tYd1i5Fxis7tcdTAwMGKWTf2ot6pjpZ1EsUNewDnc+vhOsLi+QVx1MDAwZnfv7/DluMdCNFxiXG6dt29Spr8t4FFh5l/x+OJd01x1MDAwN7Dw2W8kXHUwMDAzXHQ7aJQoY7LMau/CdragVvvA/Cy/QWctaMKFmin6L4VOqTbU01tcdTAwMWJuacX6a1m/uprVffJcdTAwMTN1Wlx1MDAwZVx1MDAxMX9QiVx1MDAxYlpNvKqaTmllqIKOOPstRU3a/Ol+XHUwMDAzsIoo9lx1MDAxMMVVPFx1MDAwMHjDSbaEXHUwMDEx8lx1MDAxYr55JfPp99H9XHUwMDAx/V7CmmwworltZp9oVrdcdTAwMDBBXHUwMDAxQMVDeL55XHUwMDAzJ2HJf991XHUwMDFi//eu2+jrt01cdTAwMGJzVjFcdTAwMDd6Nsqh+lxuWVLGiHwne09PrJ62nVx1MDAxZPuQ2WhcdTAwMWTRU42TkvHTcpeGvEpZL6LbQ6pcdTAwMDFcdTAwMDXZb8r70UtcdTAwMWGvfIEyW22oMSBcdTAwMGVqscq1OyVCRPn86XBDTl7jXHUwMDFhnslr1Vx1MDAwNuuHXHUwMDEyKucy1zczllwiXHUwMDBlOVxutcJoXHUwMDFlwCD5ctPRQi3Ek1hcdTAwMWPr/Wj8nZEzZapBefNn896vXCJcIvyzRl0vk1txJ/dcdTAwMGJZ5qidkOU2J7VcbjFmO7St52+sN9VpjvTr4sVf35clbF9cIjb+6sFcdTAwMTHsmTfgsXbUZnLafSGHXHUwMDE3XFxkPlx035hfSWp/ntegL9i33bO6KoRVuXJcdTAwMDRvS1x1MDAwMMdLmH3QXHUwMDBl9sA8XHUwMDBmgbxCKtVcdTAwMTdfxvXFUiP7L9ZnZsOfQItcdTAwMWZcdTAwMDBB5zue7WUk3Nc/e6X/Zy+3Vfl73zbblVx1MDAwZYHsk556SVBOXGbZQMv64t+A6GlNXHUwMDAxvdR9XHUwMDA2bczP9ck4JXm665XNSCjDTDMwn5fPI/iXwFx1MDAwNlx1MDAxZmQntpG2XHUwMDFkMs/Axz9SQ7TXNFLUP32reTfS+pFd556Kwf5cdTAwMWM95vtcIsVo59/qn2WMzFx1MDAxZTSAYyRcdTAwMGZgXHUwMDE0b6IpXv6kXHUwMDFhz/nCUe+zXHUwMDFmePdXuqJDPHJre1x1MDAwNZws/TjnM5KvZfNcdTAwMThcdTAwMDCbX0+HQPxYukMtMFx1MDAxNeB5Pf981UdA4lx1MDAwM/LQ61Bp60TDQVx1MDAxYbF9Sr5vcbRagrH09PpcIv7N5Xuo6+irXHUwMDA3pVx1MDAwNeuN8lsj7ZVY6Ve/PcuV/Vx1MDAxNqd+PzvPYLBpw3NcdTAwMDb15KrS6DbaeW4/ql9cdTAwMDJnXHUwMDFhLiBcdTAwMTAuwrbLPP2jXHJ7eeDoxSi51llcdTAwMGaafZbYYFx1MDAwMNfJXHUwMDA2y4Pj98FZ57M+n/++g+FT0YtHga9ZwFx1MDAwYk29R1ucXU/7zuaHPO1s75XOfVx1MDAxYv7YZaCO5PEqXCLRuHzUXHUwMDAwZFx1MDAxOUE+fp6q/Vx1MDAxZC5t+GZqJlx1MDAwZtS52Fx1MDAwM/LzI2X8wVx1MDAwN+JcdTAwMGbt7mC2Nd7wnk0hojycXFz55oEh5nRcXEOB7vOEN1x1MDAxNdD7Z+6I2Vx1MDAxN1xyk1x1MDAwZoBw4H6F+aNcdTAwMTNcdTAwMWVZNtKgJNtIm9fczuckdla/x9NcdTAwMDDDXHUwMDA0YCg3NV2CYWFcdTAwMTmWSkVcdTAwMWJXWaolOs7Qq/1SXHUwMDE0w5HBcDlwcyv5K4d/sy3kYnxYYNrFYlxm5pDOxq13ucrnldVcXOxemiTn9q1CcE2fYHglQTb2t3SaLbZfxfX5ZEeYmeHs567/y/bPQDRcdTAwMWHNzOLrXHUwMDE0U+fFn0RcdTAwMDCX8yOyNcAqXG5cdIjoXG6lT/xJUZ/89rnek5P1b42rUMyfxl0mWo7oXFyKXGZPppllqciTTU9cdTAwMGLiXHUwMDExTDlB/ZnQJtqnUMZpavjTsSNcctOgflwiv0NvXHUwMDA3MVx1MDAxNUC3Izy05o62UumvXHUwMDFmjXPZpGSlSpFcdTAwMTRZfVx1MDAxY9GBYlx1MDAxN8jXktFcdTAwMDNpKn3MXHUwMDFjilx1MDAxYkhL5mOdtFx1MDAxOKlw4LWXMlwixL8ncaV3JNLq9Xll6H5ILpHT40xcdTAwMDV1oYrIXHUwMDA3gq2q8WxD2kBcdTAwMDBjhtDva8Pryq5QxMgniPywKVwiJtVjSWRcclx1MDAxNMx9iuJcdTAwMWKdw18xMn1UedfpXHUwMDExXHUwMDE30erLlEu6dHnKXHUwMDE0YD6VgopcdTAwMGKIu9rz0/231CRPaYCKXHUwMDA1sGGxPD0362zWbTnfb6Wu99f7aeDCXHUwMDAyWlxmuDFTilx1MDAxZpThLsPdXHUwMDE1kiRxUVx1MDAwNfCFx+tcdTAwMWK1Zsdx+uGHd+NccnvK1mnM/WWpXG764o5SupjxrKfB/z2nO8Qx7a+fk9qZaSpJ/zlcdTAwMDNLbX+9fVx1MDAwZjlcdTAwMWV7yFiElzVmtFx0y77o/dy6oLP5XHUwMDFkw1xuU4Ke7d+kZaaFfTPMP5hcdTAwMDSGX3DmO+9on1tcdTAwMTFkorjWltOtS1x1MDAwYlx0s7pcdTAwMDRPc3tcXLz0U8qOKFtkRnxFyVx1MDAxYUnTeOOI8MdcdTAwMDHhXHUwMDE4T1xueVfxcONLl4wyLb+uVN4wXHUwMDFlL6v7S0KkXHUwMDE4r1x1MDAxNp/j7qt51qrqk0v0VUU7XHUwMDFmnpNQ7vZRclx1MDAxOc2gP18913FhXHUwMDEzds6ujiUwRIBcdTAwMDdogYPIbVx1MDAwNTArXHUwMDAxyr89XFzQMIbigdB5UUZAqzSD+VnGca+aK1x1MDAxYXh9QUBFwK8h2VZIqKd0XHJHV65PXGZgr6IwOH7hP8CxKdh9/Ld3RO9cdH99O2xcdTAwMGaSitNg3FOqMp/Jwi492s4hnllcYs7fdzfATDhWq9ohdGA2I1xuLogytEd/uEtHWrrxRM3R4zN99e1cdTAwMTXyXHUwMDFkbv2znmfnn7QqKJR5KYyZsoaRx1x1MDAxZcdcdTAwMTBTQzfInHyGXHUwMDAwuLP8daHJoWJUN858c17MRWK7WraDedFcdTAwMTdkvWZMUDaCv4v264NFODbLKLB0flx1MDAwZWiqQdWGpFx1MDAwYjVn95eay1x1MDAxNcgzc/hrXHUwMDExPoznMi9V2LBcdTAwMDZcdTAwMTlHQ8Rw917fj1x0XHUwMDE14J++OeRD11xirv7N0bVcdTAwMDHHyOt8jILfl3xcdTAwMDVcdTAwMWVcdTAwMDB82nLCXHUwMDBiiFx1MDAwZp1r5ocrQod9g9eUon1cdTAwMTmkXz/mo71GbzucZiaNnkCDaFx1MDAxY4tcdTAwMTntNKvztWr/7Vx1MDAxOa2Y/5w/7Ep1gLL2r89tpDlcdTAwMWRcdTAwMDSRXHUwMDAwf4DKWT+daG3OpuzTlX+6lr5cdTAwMTiv0L75tJ+weypphaAqkqHFXHUwMDE1tytiTlwi/mFcdTAwMDa8+Fxce8u51qPDnlWPSNmiXGZrsz/hxKHZg4BcdTAwMDZ8RZJjXHUwMDE3NmJcdTAwMDDx7T5cco/s3vA52K0pXnx8fO3yLKuQI6ylQZFCKbudXHUwMDFjUOBxcT/CaFx1MDAxNzl1O9L1nFMwIMXkO2FYzkLN13FcdTAwMTm/vuWCu1x1MDAwZeplXHUwMDEynZhUoumM8ruJcfzhbfssy8FeLaviYFxmvjNcYt3ZvTTGTD9KYMNLXHUwMDEz9n20ScYuuVx1MDAwMt1pXCLbUXZcdTAwMWaZ64hth9fKv1x1MDAxYWgrXGZFfj14dYpcYlx1MDAwMZSum1xi2/K98Vx1MDAwMitcYrXPZYCctP/UP/u/M/AtXGaZrCYvVEUjN1x1MDAwMkkzWs7QQS+v99ug+fa6kNNdzu1cdTAwMTD/armv+aZYo03RoEI6kVes+/FGjZ+zc4xJfmlcdTAwMWJ1YVdcdTAwMWW80vEn7SfvqV5zVMzqtVx1MDAwNt+4XHUwMDA3mOlcdTAwMDTnXHUwMDBlWOPnXdFcdHUhXHUwMDA0iDk0S5VocGZ2wtdmXHUwMDFiWoyy280hLkKjRsvcl3v+/s5cdTAwMWS3eNON5zPN+WlcdTAwMDJvgVx1MDAwZfhtXHUwMDA05jvJXHUwMDE28CRcdTAwMGX1y1xuoTp/vmRNOJ2WpFx0UyY9KVx1MDAxZFx1MDAwN5RwUtjQKMymz77Lyix78qMj63qoXHUwMDFmdfq6+Vx0XHUwMDFjr9Wgp+RcdTAwMTWOlsVac1x1MDAwZZrnuTXwWrh4iyRcdTAwMTSjhXeM+5zrPjCumlFcdFGAOG6rjs7p8IVcdTAwMDa9Olx1MDAxMjOeZYT/9zuYXHUwMDEzNclcdTAwMWXT7GfXt/13qEaNbmKUzZiGnL1umPqQ8O5h/dsjelxyXHUwMDExW9yOObqCXHUwMDA26VxiupbVXGavq4HoOSROOX9orFxyMbH+nESbXHUwMDE2aVx1MDAxM/yuIcu2XHUwMDFk3+mZXUdpbqdcdTAwMGVcYl7qLnwguyMk+Ny/XHLkriBWeEfhXHUwMDExe6GA9/ZI6dWftWyiJHDNXHUwMDFhXHUwMDE3ajlKrX9ra3XAx5F5S1xy1e/vP2WQXGbqJYyKvVx1MDAxZPBvblx1MDAwMMxnRfREXHUwMDAwXHUwMDBlq1n8Sv11Yq785O5cdTAwMDUnv05+XHUwMDE5caxzlrTAK1x1MDAwM/xam8qqllx1MDAwZqFgXHRwWD9cclx0Skd7vWU7pC8/XHUwMDE3cKJcdTAwMTfuU2RQXHUwMDE2d1x1MDAwMl5cdTAwMTCpJPpFVEktt1xy4EKkU1x1MDAxOMKn/c95XHUwMDA3XGZMN4z5XHUwMDFjP3RHan94PvG/+rJN+v/iS9Z9XHUwMDA3QHtxalLjN+lcdTAwMDHqhd2aoIWDp0nFiXSxL/73WjRcdTAwMTSjiIjVQb9cdTAwMDYxgmSIkVxy1MueaL2r4Idyx6MxXHUwMDEwXHUwMDAzU4SAYoJf27WTnHzXJee6uFq/IZr6Qbs+yVx1MDAxNcLWQPP6Luw/52mn9phcdLfgJdtrsIBmxGrsL0tzRzY7QE4lXHUwMDFm6bJT9FArx1x1MDAwYoRQXHUwMDE04TqjXHUwMDFj2aaUX0wvcsBoifBbLFC26Vx1MDAwMFrDYpnhaDBhfXGgrTHypLNWbMi8z83dp5encaD5P6bzYLLkzII1pGopd1x1MDAxMWHlh/jUvlaWyKny9+vdiLXmJ9BRRJT6tdf6sTqkrWAxX2hcdTAwMTB6XHUwMDEy4rPPy//9nqxcdTAwMGZGfad1Q12Y/bV+vX+/S87/713yuVx1MDAxOLtImO1KnnmHXHUwMDE0Olx1MDAwMudcXKlP0HYymODLXHUwMDFhtyOng1x1MDAxNndknVxu6Fx1MDAxOV2m+M0pyCD3v97UuVx1MDAxOWfZ6a/3pCSEMHh6Jb3yQjKsXHUwMDFhp2P9xjXPXjulnzp0v3n/p2zV91x1MDAwNzYqXHUwMDEy8qnz1+uoL1x1MDAxY/yA4DTB1Vq30Vx1MDAxNqSjhjRRXHUwMDFmKr67XGZcbi5Y2beIXHUwMDE5XHUwMDFl6NZcdTAwMTA1p829Ntpv7Vx1MDAxOO8o+2/1Z1x1MDAxYeBtsWuCSDZIv8k/fSyQbFx1MDAwNkspXHUwMDE2s/DsXHUwMDFkwfRinsNQ2yVcdTAwMDOrrL1acTfJX/GhWllcIpFCrDj0QfD6JD5cdTAwMDDNjO5cdTAwMGZmXHUwMDFl7fxcIlx1MDAwYofUhST+1ont0Z1aeFx1MDAwM03MXHUwMDA3QVx1MDAxMKC2XHUwMDFmgODil3BcdTAwMWUnXHUwMDE50NVqslx1MDAxYf7mKsjKXHTOQrf53z7kxp9vV3CjXGKMw1x0mMLiWcJpXHUwMDE1xvqoRJ9BLJ5XXHUwMDEzb0rRfcIt2ltHvSb731x0XHUwMDA0bYjvXG6tn1x1MDAwYuWWh6HTWzGnZqbWq/hcdTAwMTK7wFx1MDAwMUYn81x1MDAwYtVy9GcsyVx1MDAwMsVcdTAwMWLp+3ird1x1MDAxZOVK/rRcdTAwMDC+OOPXdqngJlx1MDAwZnLPtnVcdTAwMTiKhFx1MDAwM1x1MDAxYSctc1x1MDAxNI1GQuyyaKFccsIwmndcdTAwMTM5XHUwMDFi3SWXXHUwMDE2N3pU5ovP+uutx6+TYjBcdTAwMTdSXHUwMDBlYbnOXHUwMDFjTl1cdTAwMDf706J9plx1MDAxYq7ZXHUwMDBiilecVkLidf9cdTAwMGK5VzjWIXhAeOVcdTAwMDd9oFx1MDAxZH1IhDlilTRcXO6pkDU4skLldriFYdvEikf55+zX+L3RXHUwMDBmMdmcUeAlS0pUupdAcY1/PVZklFdkb1x1MDAxZGNcbqL7wDT77l/9XHUwMDA0K+h/cYWEwFx1MDAwNWb0plx1MDAxNOfX/nSocn++XHUwMDFkXHUwMDAwXHUwMDAxXHUwMDAwTHvB8Nxsr8OibJ8kXCKs2Fclr1x1MDAwNplvQ7TJijbP76FQXHUwMDFkUWTI5rRcdTAwMDdcdTAwMDRZXHUwMDAwtI60+2qRIDecOjY0ey+MtjsuXHUwMDA3y2JcdTAwMWSP0zS4nagjUjJcdTAwMDTqXHUwMDAyyGWpO79cdTAwMDaRQtmPXHUwMDFhxE8ynTFcdTAwMGIr73uPXHUwMDE0X7FUWqPAu7FcZmRONOl0Jl1JKo0vWnlqcaqfSahcdTAwMTNXo8lcdTAwMDZYd/WQXHUwMDAxzk/2XHUwMDE0NvVcdTAwMDZcdTAwMTKNrFx1MDAxNqauXHUwMDFkvLmZsG8qkPFhj3mo41x1MDAxM6bfrFx1MDAwYkq4cL1cdTAwMWVcdTAwMWNMiymhT8O2mbvaP+/NoTxcdTAwMTZujbnkmftER/KLgDd5Xlx1MDAxZqfkRDu4KCq7f+dhc/t80+5cdTAwMDaAXHUwMDAyPDT3S7a+NVx1MDAxZiktXHJ0XG7z2k1cdTAwMTR99CPwKviA3OwqOZDELVAg4lx1MDAwMlG1KP1+OqBcdTAwMWEl4J8q5Fx1MDAwNa1nJ3eA7Gol/Gd+QeBcctZLUEMk3IatIPGp0GPOwLiwXGZcdTAwMGIxP9im5zLtptfvOy34Plx1MDAxNPI1jMNSXHUwMDFijbny25f47amgsY9fI8JP+TQlroXTw4FcdTAwMWHfJfZcdTAwMDbllmo4llxuufXehSSJWcrl+PAqXHJcdTAwMWXCp+g/vclcdTAwMDAkM73KtEtKvlx1MDAwNNttuCVcdTAwMDNiJDhjXVTlmHu1M1x1MDAxM6aT4VrfeFOD74RvXHUwMDBiXHUwMDAzT1x1MDAxMO7ZsH9cdTAwMTKJ0MqJx4F3e1x1MDAwN6o9SFx1MDAxYknreb6GMqOXnzppXHUwMDFkXHUwMDE0hHbmNzaF/uzWSmeUz14++PAnYbKFaeo6IJRcdTAwMDAwlEdPZz/sk6bCpP+AuLXDk25cdTAwMTGJ6MlcXOH45vvsNm6rXGIg1Zw6+5ZCn6/vYoFcdTAwMGbykM2NRtunXHUwMDA1XHUwMDFk7peiKFx1MDAwMCpcdTAwMGaVpvK/ztxwoFx1MDAxNb1cXFx1MDAxNc+RXWGN8iqR4CXUXHUwMDFmK9zVXHUwMDBi66mXXHUwMDE3miVcdTAwMWJcYstDYtRjjNw1gcOZdSBcdTAwMTlcdTAwMWWBfOM9XHUwMDFhNLeDK1WMhavJ9ml5Rdb6Ziguplwi4mzNznSP1UyLmkEtfmS/I5w7n1x1MDAxOMdcZvbv0Fx1MDAxNPbuW1x1MDAxN1xuaOZCwt1YWfqfXGKUmLDj3y9vXHUwMDAzXHUwMDAzXHRfvFx1MDAxZuTrgy8gpFdbkMXpqmAgg0C6mFXfLWH2pcLsjHd49MM0XX9cctpcdTAwMDBcdTAwMWJcbqFcdTAwMGU7QVx1MDAxM1xi6pD7XHUwMDEy0SphTrVhXCJcdTAwMWa2LYpcIstcdTAwMDE9XHUwMDA3gLhQrr/9/iV660qw/t6z5ulcYkyNblx1MDAwZqv0TDU5W3S2WVx1MDAwZqxEXHUwMDAwXHUwMDFjrktCXHUwMDEwpcHJ+m/Htfw3XHUwMDE33epvjuHH2N/H9JpEla6BviEhhFx1MDAwZuul+f9ccsHom5ia4mqpTjvoXmyDrlq/6UK2U9p/fVx1MDAxY69cdTAwMTBozdlId5KWv3ktwJ45XHUwMDFhq9+fy2EmYqRcdTAwMWVvPW98cXr19kihzlx1MDAwNkPOekDJP1x1MDAxZrhHQVx1MDAxZlx1MDAwMlx1MDAxZFx1MDAxN9XL+JhplcPbRaaj7KFcdTAwMTH8d952YVwid1x1MDAwNNqI4aVcdTAwMTlofVx1MDAxNjzsj6Tvnk3fyzm/eG1Qblx1MDAxZn0ubNtcdTAwMTO5eXSr1npOl3puqnAwj8BpXHUwMDE2SI4konFN9L/Zqlx1MDAxYtbxbXSmckDNV8LfKqqNYVx1MDAwM+M5Rlx1MDAxNzSMJd7XWsXvyJ+T11x1MDAxNj+k9o5pZkpDpk65RIffXHUwMDEwn//rO7aEXHUwMDAwkYBcdTAwMTiaV5CBv9e24Jj+umxcdTAwMTiCi14tg480g9BHvaZcdTAwMTTD+Vx1MDAwN/1cIpkhUtTfXHUwMDFjzTdCaVx1MDAwMFxyKy9ccktGLnHyr7ZUMuL/r6/1/G1Pk3Eu+WRaXi7NSppGYUG2PmqijMZ7xu9hpiP+XHUwMDA2NOBcdTAwMDUoNHKVXGavnnaD9iNe5XqiXHUwMDFhTjViJ9dcZlx1MDAxYYV2Xdvw3Vx1MDAxMSW5f2cu2JPXkFlcdTAwMDPnTy2M2MWJOJdv/vVEujzAXHUwMDA2wtxcdTAwMTJF7OM9XHUwMDE0srOPXHUwMDFiSE7ZMUHp4Vx1MDAwM1x1MDAxNfP3si5Au4v0mtl50nBhg1x1MDAxOXhRr1Ba4PRcdTAwMGZcdTAwMDGT71x1MDAwNlx1MDAwN82Sdu5cdTAwMTL3kK5boHRhodVHjlOINLOSXHUwMDAwetrNxt+RVlx1MDAxN65Cu2Viyb1YqbYhlypSmqZJZCVwUGKoXlxil1x1MDAxOC2C01x1MDAxYlx1MDAwND5RcL3Z5ZVcdTAwMTdcdTAwMTBcdTAwMTLDW9g5XHUwMDEz19JcdTAwMTD5sPirNVJmP6YnZH+eMc1cdTAwMWI4vT5vrUTxX/9FmoD1v1x1MDAxM5fVXHUwMDE3bZbmP7OqJP7450xcdTAwMGW3czSfvFxurjLU7lx1MDAwZvvwXHUwMDAzeJJXLlx1MDAwMejvXHUwMDA2fviJZDxPf+OWgzSkXSRcdTAwMTKosL1cdTAwMGVcdTAwMDVcdTAwMTnDalNcXDn+XHUwMDFhRSpcZt9ivjzT0VDmuHhZplROOXfJyyHjp+iV4pZcdTAwMGZaXHUwMDBlvFx1MDAxNE4kxjx7I/v+qpAw3/xzxidZ5/yEXHUwMDE4Zp1w9VYuKHqMXHRVrkB6SJC4RuNSQE46hE56fCk3syqD0m3Q8Vx1MDAwN/pbtbTYNFx1MDAwMHOHXHSXiO9rm5EugoRcdTAwMWJqXHUwMDEwXHUwMDAx7Mu+d1x1MDAwNvChXHUwMDFjRmIvjFx1MDAxNJnD5o9cdTAwMTRTiDjg8TjM8MGwpEByY7iZ1b97JOo9bVcg51x1MDAwYk7IZ9qfR1x1MDAxN1x1MDAxYdvCXHUwMDFia798XHUwMDE2uVxcuWftSKGDvz5/4ovzOEzE8FFy5dPk5k9/fameVoHB/LuvdEB1f/14w+rNXHUwMDBlWeLx15U17df6fCjk87eejHvl/iY6k1x1MDAxZmOjM/FoP3/7Nu6FU7TwXHUwMDFiPlX5PVx1MDAxNdCHadT4m1x1MDAxYVx1MDAxZnlnj3Bfv2K6oM6kO9GwL5SlXHUwMDE2sj6OXHUwMDBmIeE87HIgjz9a9LTaIH9cdTAwMWXjMteQe6TrV1x1MDAxY+45zV5xfbQ673e4bCOyXHRDqJfrXHUwMDE50liqxVx1MDAxY+6O/Ual1IpH9Fx1MDAxMKu1bUux3Vxu6jhcdTAwMDScXHUwMDA0M6eHZ8I6XHUwMDEx/jRgdMBYXHUwMDBibLgt96Mg/O33h/UuyEmp9byiQul8XHTQs4NcdTAwMTat0WJLV5mYXHUwMDE1eGakXHUwMDBmji9cdTAwMDeCyrrpOU+CNUmQyOzdeurVjGCVLK9cdTAwMTSeVjubRIZ0T6/5et5LPCuseqxcdFx1MDAxYz9cdTAwMTdcdTAwMTdHg1x1MDAwNGxI6qXLvGNcdTAwMTG6vvxWQt9dnP4974fe/5lcdTAwMTNcdTAwMDVD1slMLiNIo8tzP/7GXHUwMDE0hVFcdTAwMGV1V+w53lx1MDAxMX207Fx1MDAxZThcZoSII1x1MDAxNUufXHKkT3Sn467XZ1hyoFx0KNT52uJSKlx1MDAwMkd7I7w2vExcdTAwMGVDZO22p1nSrSCSK6I/k1x1MDAwZTTbXaGqNmCsoakprTB06NCifkXEN1rZ6WfVh/Oo/PvDI0RVwUSBqs6uRtLqMjCqlm5Wx3n1hznBXHUwMDBiXHUwMDE1u5/nw9Z4StpcdTAwMGVcdTAwMDZCpKDyybjaPi1TIT89hznsMcfco3qJmVRcdTAwMTLd71x1MDAxONWemZDCjCZcdTAwMThcdTAwMDDO4K2rhpo5pFH6qF1CSu+qSlJZr7aOJz8pc9lLZqvhXHUwMDE1KjVcdTAwMGY4/Fx1MDAxMnhcYoLc6tZRfOczxuiUnVx1MDAxNTTF3r9i+r915ut/86a0bpUnzjlcbte581xmlb/xP3u+Y0O8iOROV1x1MDAxM+FZWF2MpzWThujIyWTjslx1MDAxNNR5PVx1MDAwZf2W7bZrlW3ajHE0So3VXHKEIFxyyvjSUTfulGWrX4tmkp936p6T7X3UYlx1MDAxZj63XGY6Lp2RRPt3XHLk2czNmKeqXiXRy8Wy5e26Z1x1MDAwYmrlynFcIt5cdTAwMGZ0Sn19+Fx1MDAwZTXLnTW81+zm0qGii4gsoFx1MDAxZfrTXHI9bH0kOqaPXHUwMDA0XHUwMDFjf7eXL39zx/7NIbeGQzUml/36ktdOrVx005HDXHR8pI+cSn/DXHJVg3pyRF1cdPFtyz/TgJudwqd2OmKCb7pjft8h6Eq2XCJ9yoxcdTAwMDdF4G7CW9bfXHUwMDA3g2TBi9M4OFx1MDAxMjdcdTAwMGVcdTAwMTBcZvzDiprR743QXHUwMDAwXHUwMDA11ur00sKAe/57pjBBTur1pqA+c9kza1xyRzuiXHUwMDA2d3aV0lx1MDAwZV7hgU/1IKmhXCJHXHUwMDFm47hcdTAwMDOf3j3k2CZRXHUwMDE4UVx1MDAwN4ZcdTAwMDKMkDOPL91n4kun1EdcdTAwMGK12Ej9sbBcdTAwMTCyXHUwMDFiOtxcIqRMeq7g0jrnaOVcdTAwMWZe8tPwYU73h9BcdTAwMWatuZfRdH5fUyNZLqEtgGeReXcrYlx1MDAwNVx1MDAwZSBvSVx1MDAxZVx1MDAwNNbOalRJy6OoWZtVOafpx03Bb3ogNe55XHUwMDE0RZB6XFyh1+9cdTAwMDb9jnVcdTAwMWNcdTAwMWWcoGJcdTAwMWKKXHKLRMtPXHUwMDE4zXfod7fLYKVL5Uvx3rjiXHUwMDA1xEDelteWiHfXxafAddXHnzRcdTAwMDTqUrxcdTAwMWFfNtYsNv/ksylHW8bI4W3JnX7vmaWyXHUwMDFmlCE84jd88UT+pLUh0/qSQrB4XCJcIvZPP65AJT9HXHUwMDE2XHUwMDFivZmOdLQqI9hD7b/nLVx1MDAwNuNfn6stKCkgqZSqi7Y8nzRp5biD/GT232hcdTAwMDfl7+xi3yhbWOK5XHUwMDA3S/44XHUwMDE1NTbIU3rpLMdH77NcXE3rRVLNzXHqy51lPCrtqkPMcichXGZPuzUh33Sbe1x1MDAwN/vOPEmxOfr760vWzkDHoskhZ/7pXHUwMDE3P1OW9TmBcNrIpiPdSYE8qizH8MWGUk5O41x1MDAwZbpcdTAwMDRJ/uO9XHUwMDE4K1RcdTAwMDfsny5cblx1MDAxYezZXHJcdTAwMGJFPyNcdTAwMTkyfNXyZ5lvXHUwMDA0a4Q31NP783pccu+DXHUwMDE0+zeR11f1p5XD2nZQNtFzjFx1MDAxMVx1MDAwMmZyXHUwMDEymN7VXHUwMDBmOf9Jx75cdTAwMWTMXHUwMDA1fspcdTAwMTn7XHUwMDFj11x1MDAxZna/XHUwMDBl5YPCbHWK2HdbkuSATUm06p5HwKC0nvX/N4fv/zyT2ntQlTG/XHUwMDFjysIxPzu15Sxsrd2X07IzkNpt4PBcInt1j3d6MklcdTAwMDPYrezsXHUwMDBm50+95lshXHUwMDE331x1MDAxY1x1MDAxZHyPXHUwMDBllHxye5Qp7XRGXHUwMDEw+uaR9VdIzeFcdTAwMTnnwiunXHUwMDAz2b/JX/NcdTAwMTJMRc+4XHUwMDFle5cmmTOlrz7ah3143d2aefvF4u1mXHUwMDFkWKJRVVx1MDAxYWSeo95cdTAwMWHiY1x1MDAxYVI/7vlbw1x1MDAxYVwiTVx1MDAwZmxnclxu5/rapVTjJWpcdTAwMTf1bVx1MDAwMLNdpGhcdTAwMWNcdTAwMDdcdTAwMDDJw8o/1Fx1MDAwNrFPXHUwMDFiMPXEclxm2qBVSCo/gPVdg+HmXsZ9tehEJlx1MDAwYiic7X9pcLDzq6PBcTx2IXjSrYJ/uTp/WSRs7l9P/3f/Vfl1b/3LyljD0Fx1MDAxMkjyLN1LZ2tqXG54O4BcdTAwMTRR9Zyrw7xcblPyXHUwMDFiyH3Ua7hqrtFcXKCoylx1MDAwM1HSXHUwMDE1JOvcmIZ6LvbIlfBWkl2f3u479YZqeoCUUPqain4uk1x1MDAxYiaEgX/vNGdcdTAwMDWskaFigrRcdTAwMDNocFx1MDAwNs/m96T1in/imrLAr6v9Olxy2kpwUvWHezFcdTAwMTOS2n3p4CnlX1x1MDAwMlx1MDAxMLRF2oWIX9VvSJFcdTAwMDFEtXxZm1ho6ohub/EvWcFcdTAwMDFaXZTWRGmhkLpcdMaPfqMqwFxu38R8jfF6dFx1MDAxYTA6XGLeSPRcXMG6gMKmqZDD7Fb08kFcdTAwMTOi6aZy23/Miqy4oVx1MDAxZU96XHUwMDAw33RcdTAwMWNBSH3eXHUwMDBiXG5cdTAwMTd6alx1MDAxZtOgmSBBtcj+74wgkTr+9Fx1MDAwMXyuPd5pXGb5fVx1MDAxNUrk41x1MDAwZqoxWaN+g4XJpUWFWCHdMusy4cxcdTAwMDVcdTAwMTFcdTAwMWbNXHUwMDA0fJCmeHxuOlx1MDAxZLv31yjSxFx1MDAwNlx1MDAwMdKSxauUqJov+LlQm5rJz0+OMOgy/u15tVx1MDAxZXA5K2Qxb1x1MDAxMVxcN6NcdTAwMDRWXHUwMDFjXG7uXHUwMDFkMoPNf3nJZrylXlNM/mcvr90gOG5RPFx1MDAxNd9cdTAwMWY99Fx0/1p2Nlx1MDAxMZzj9L9OW5chc4Tt3nRwbU7l9fBcdTAwMDfuXHUwMDExu0GKulx1MDAwNLVtWPH6XHUwMDAzWPGHQI9cdTAwMTLRtNdTqOsjncplySzE/GBcdTAwMDdQf4XPXHUwMDFml1x1MDAxZMOqXHUwMDFirD7UavHzonfhoyq9+MhcdTAwMThcdTAwMDLAa43bpihK+rlcbv3xtJJ6SVK3Q25Xa0H7V//6ysrGvyaeZz5eXHUwMDBlrSDM+ZbYq+9XXHUwMDA3P1CWscUsrT70i388LHx1u+ej7XAtolx1MDAxOVHAssZgt3k58lwim+H8Zq8vKqs53XnFr9cv81bUblxm3v/Mm1x1MDAwM1xyIFQ1kXFbXHUwMDFiu6u9yppMsV9+acTpcCGdj5qh+jbHjMmL3Vx1MDAxOVx1MDAxYutcdTAwMWZVl+5LXFxZnzxI9fnk7W9cdTAwMWV6VVx1MDAxZsFo+UjeeVx1MDAxND09ZvbnlyFJVrvLzH5NXHUwMDBmNd3CgEBcdTAwMTBgoTXQXCLB7q49cz6dUFwiKoN8d+pxbyeeuy9j6c7NpyxMrVx1MDAwMcxFLbdFR1x1MDAxOSFcYtBeL65q4Vx1MDAwZtP3kWeqhd/SnjOE6V9cdTAwMTKqoN+kkP7f14V7Jqu3iULvbdKzzPq1kCV+XfBhwEJ8MFx1MDAxYcDp3YzN3V1cdTAwMTW3MeqHcjKe46wmXHUwMDExXHUwMDAz/WHHYaOBJt9NsMhcdTAwMGL4Va7B4FZS7Sw1XHUwMDAxc5WcgUja8rpYbLQn5sBp0U9CVmvMXHTgo6JyOLFPe77SqKWOXHUwMDAwnHfBLn/vXHL0Rlx1MDAwNphcdTAwMTbyjOAl7GYrnVxyb52NeFx1MDAwZVx1MDAwZVFXw3Q01l93RexsXHUwMDFiXHUwMDE1tTkv/GmwXHUwMDFiYpdJ7Vx1MDAwYkPf+k9nkiQrXHUwMDA31z1OSEHGVVxi3Xx0duxL3YNcdTAwMTc1nlx1MDAwNbwl0r4+71x1MDAwMypC2C+6sFx1MDAwNJ9gf0x1vFx1MDAxMkWfvmV5qlx1MDAwMlxmXHUwMDEzXHUwMDEx3N84XHR87te5ZVx1MDAxOVx1MDAxNKf9Rlx1MDAxOFx1MDAxZPXINSZQklxyV5ZM1dg63qRcdTAwMGZcdTAwMDTrfvhaXHUwMDBl7Vj/jdVh41x1MDAwMOJ841hadtyAPyf/ksVcdTAwMDBccmHbXHUwMDA1XHJcdTAwMTBOptVjLlxcv1LVrjdcckO5uJN5vu54/2RcZv7VeJZcIrVqXHLDyCZdXGZcdTAwMDDBVvlksIaCWFx1MDAxZZK5M760gdTdXHUwMDE4gr1E77/bnVHwXudBXG490mSRP1x1MDAxZD678pds/uZ6aVTVXHUwMDE159fxXHUwMDAxPmmnO3Muy6K99+NRXHUwMDFlR/lcXFx1MDAxNUFbJbFN64Kf7zE3XHUwMDFlQfG+XHKYsar9bcyyXTy8fvuHtapcdTAwMTijV6OykFx1MDAwNGlcdTAwMTGm9VE6XHUwMDE4XHUwMDFiXHUwMDAzUqzVslwiq73ocz6tX3knMqHXgFx1MDAxM+bD2XmuJjmLKVx1MDAwZVNcdTAwMTUm9IWva/Q7QjP+eofTuijBlco/Vr7MYHZVNp3Ga6O0XHUwMDBl9+aE11x1MDAwYkB7XHUwMDE4SoJtf2tJKOt9NVWot5STNt/acs3s8cJPX8Sc5lBcdTAwMTle5fvN0SvCN2RLN+ipXHUwMDAxvP477/1eJ1x1MDAwMJO3kDya+pWa9XvlmFx1MDAxNV5JRPGp0MKkllx1MDAxYnDZfL/E54yyspxa7DPOnt3tyCCon/w5S99cdTAwMTNLXHUwMDBlyfE1grqNy/6JXHUwMDE55fNcdTAwMTRPU7wtiY3n0VRWXG6vdrY76Vx1MDAxZU5FWFx1MDAxY9C/Xln7OG/1ZeMqXHUwMDEyXHUwMDAw9WDXXHUwMDAyMKdZuS33wNGDkLVz3ofhpMz20FNx1SfrZVJcdTAwMWJaiEf/bdr/KpLRlrw/89IjUWv23Vx1MDAxN+KZqpr633h6V1ghfUbUr781XGLcjv1ac1x1MDAwN0n0XHUwMDE1152M1TVcdTAwMTPVYVx1MDAxOGapxtw7JZSaXHUwMDAzIWo4W/H44KKBXHUwMDAzXCJcdTAwMGKWXHUwMDAyXHUwMDFhI4vt8zVFLoF0VFx1MDAxNVBM5WuiOapcdTAwMWMyfj9cdTAwMTdhrsDm6stHnft18skvl1Sh/VIpXHUwMDExXHUwMDBiXHUwMDE3ScO/kyzLo/PfaGOXP/I+d2kyckDy6EfLhztv5bUkIfMqSlx1MDAwNMBcdTAwMTRB6oBZKI6nZmHgr8f8R/B+qvN9XHUwMDFkgbWMs0yaajvy2lx1MDAwNP5/sX0/XHUwMDE2/eZqjnV/+anfXWdeXHUwMDE5b1KeXHUwMDEyReJQrC6/XHUwMDAzpGncvfZcIjyHcpr2PFx1MDAwZvNV1lHgvoTtSL79SGiL3X6UZnllR6XSnHvZ5ExzyseEMFx1MDAxNLLktlOm6GxNazirO1x1MDAwZlx1MDAxMYtJI2ir7HOyMPhe8eBcdTAwMTZcdTAwMWXWOmducc34qlx1MDAxOFxyvfKUIFxcXWwyK7N0P4i7V10lhXNcdTAwMDJWOGaru1mHX8PgLzi/plSKWYowXHUwMDExXHUwMDE0+GAxeeHbhb5Xary+/FwiebPHZFvn+Wanepx0eG/y8tzmp71ecS0/XHUwMDAwgFx1MDAxNZ9cdTAwMWGz9jTO6iBcdTAwMDCRlZkmapKo+f0olKIyIG/T1qGGYlxiL4B0hZJ1gn3v6K/UXHUwMDEznoGDTGRcdTAwMWIj0T2zQ0JCXHUwMDA0yE7T7Fx1MDAxY001V4lPISORurv+aVx1MDAwZW6D6nlcdTAwMDRZ1lx1MDAwMaq8ToRcdTAwMTkpXGZTf1xuXGbsXHUwMDFl1LdPo2jmKVxujGhcdTAwMDVcdTAwMDM6zvdTmeB+UMvXXFxEI1x1MDAwMEuu629cdTAwMTCPo1x1MDAxZebZ62QzPLO2y/JJ4ltmeaTB8Vx0cmVDSZXxmIOjuapgXHUwMDAyKlxyXHUwMDEwr9p0PbhcdTAwMWVcdTAwMDH8XHUwMDFhXHUwMDAxUX+RKlx1MDAxMi64Z/kxtiXB9yeqRNjKkFx1MDAxYa9PhN/81+/nKNtpQlx1MDAwMEuiT9mgKEqiaNnmeFx1MDAwZtxcdTAwMTLoO1x1MDAxN1x1MDAwZYJ0/45cdTAwMTFDKelrhWjaPlZLXGLxXHUwMDA2Lako5YfKvO/X39GPITvWZcBrkVehjrxqkM/Q/pKNk8u5XHUwMDE1bahBwehp4zCvybHpXHUwMDFjs+WRdWrlXHUwMDA0XHUwMDExlXBcdTAwMDVsm1x1MDAxN9eEXc9cdTAwMWbxmzeilMeiLJvD1WP4T2R7m59hqlx1MDAxZGD/7/qtYFt4coFxzXxJXCI1Xkulq+NWXHUwMDAw7o2sRmVcdTAwMGLgbUBbh6jbxsR4XHUwMDAwtDKAoT3Azlx0XHUwMDE12eHIIa9bvd884n2SXHUwMDA0XFxPoM8smpnVOEa+LlhRs4KeXHIrbra48Wn2uPBzbz9M0zDg9jjC0obyQSZcdTAwMGX1plx1MDAxZFx1MDAxNP5633/j2D+15lwiqzVJioldzTp+popCXHUwMDExiLmsvL51xnU8uL3mXG5cYsfjjHNgXHUwMDAxqrGHhaqJXHUwMDE5tq/PhkI7g2FcdTAwMTFPrVx1MDAxMIaM+Z7nqzT3LY69oHvqP1x1MDAxOMRR3Y6Vrlx1MDAxN9ZcdTAwMDNyfnDn4Tf1x1x1MDAxYVniQ9BhdZtqXHUwMDAwMSx++fFz855PejU/Q1x1MDAxY0ZSM1NDXHUwMDAzlulO1uhcdTAwMDfAK3lDwtxrdsjzLVlcdTAwMTVmZ1Dos1x1MDAwM4505NLcUGdcZi1cdTAwMTWgLGFcdTAwMTFnPVMjS2dlplx1MDAxNNdS/uZ6IHhAXHUwMDAyXHUwMDE1XG6QuGCukPrm0zdcdTAwMDP+XHUwMDFhXHUwMDFk+njmZ6P9P7z5P7kxg6Y/7HncZv7Ope8jr7Smflig1ZV0cJ6OomT12U1cdTAwMTfiOsKWf2rkWU5dOVx1MDAxZcZNbatcdTAwMDZcdTAwMDTGUGHQ8HWMXHUwMDA2XHUwMDA34d91XHUwMDA3NX/f57qKJeBWyoztXHUwMDFjXHUwMDFhrJGvVe5qdVx1MDAxOF1Fm1iRpUZQfYhnOs9TsqrlQonLXHUwMDFiXHUwMDFik8TriHui+uaPfS2ogcW9VFbANMzjXHUwMDAwcClcdTAwMDAv2fJcdTAwMWFcXH3MTJwoSlx1MDAxN4Sz0ENcdTAwMTnn9uvXvodcdTAwMTV6XHUwMDE10lx1MDAwNM+0ezRNciS0UM0prXN/XHUwMDFh8n97Uz1cdTAwMGUgtIdlpoRWXHUwMDFhU+/ILEVqMHB/ddS8n+olIGaqXHUwMDE4XHUwMDAxXFxf0vPSXHUwMDAyuDsy2buTXtWnXHUwMDFj7Vx1MDAxM3e/gWhYm5KeuXlcdTAwMDbpQiDNXbb6Q2HQSYT3IbSZjVxck237INdvyiQzei9W1z1Vk9mKSpPiXHUwMDBiYjG106E9Q2pcdTAwMTXvuqGEvlBA3potnb9oyySapoLkZNoy1DFcdTAwMWTFOVx1MDAxYdzgvEFcdTAwMTdcdTAwMWJPXHUwMDE17GdzzcC7KUf8xl+O+Mk66a923K5cdTAwMDD8eEw0+TvyXHUwMDFiYsG9yE9tlyXwXHUwMDA1l1x1MDAxZcLraZB9vFx1MDAxM2tcdTAwMTP9XHUwMDAww1x1MDAxNkTN01x0b4JWmWf7vvXV7FnPNpdbXHUwMDAzU/woRlx1MDAxZltcdTAwMWbV+juqaq7jcP8vJv/CXHUwMDFkk3b/sFx1MDAxOeBccr8j8+1lzkLoa+SKwVx1MDAxNSRkL6lcdTAwMTSznvHWP8hcdTAwMWYs9lx1MDAxMDtGXHUwMDE15o6GK3xiPW94lJDtQ66fplx02oLXzVx1MDAxZlx1MDAxZk7jmze+Tfvs0Vx1MDAwN8zRWl+S1ndcdTAwMDVcdTAwMTFuXHUwMDAyPTN3XHUwMDE2ruUnuFx1MDAwNETAXHUwMDAyx1fO0O4vmNPQPFx1MDAwYiRbbNWH/CBYu6ece3osR2FfVbq6YL/Tcu75ZdfNhjw95qZcdTAwMWNZfC6kXHUwMDEyPp+PlcL4XHUwMDA2s39zd+/p0yc4XHUwMDE40j7dyGR8dmxaz3HEXFz++6dsq+pcdTAwMDTO76ufolx1MDAwZXjEn+NfYfNhnLaoaZ3aXHUwMDFi61+5M61Uotwvbkpfvif1jaXCgmbOrJ3Ac0r/ZqfGOfatcLZ77TSmXHUwMDFmXHUwMDA0s2VHmcXyYrCHbidQVPuEu4DpSVRcdTAwMWNLXHUwMDE3L6+kgilLXG6Z25Ql8tjdfEb951qSsSchnVxyYG58VeCXdPXZXHUwMDBi0lx1MDAwZmNlkZO9Wqtu77pcdTAwMTfb0z/Ktsf7poarXHLDm7g/mVx1MDAxN+mWotnxPIXh6eZ5QeZcdTAwMGbDO2VIpW3Pflx04zlUd1f+6Vt3Tp46yHNcdTAwMTL1zIidsej2XGYwi8DXWFx1MDAwYmiy9+/eWZD3XHUwMDAytJJSXHUwMDExz5uczW0q8+AkyVx1MDAxYlx1MDAwNFx1MDAwMOD4zFRHXHJhf/Oak1x1MDAwNFRxRCt/XG68q/9cdTAwMGZ//b+xay7P4pjrkWr9ZzFo7ofIXHUwMDAy5yzeYLNeXHUwMDEwTNvhNHtcIlosXGa2/rew+Vxmq4EztpUrcS3oKSNcdTAwMWMpx77fJad3W6/No21WrUidLs3hpNY1+HllXHUwMDE5ODxcdTAwMDVcdTAwMWJjvVxy8yxUmlx1MDAxMfRcdTAwMWJCNlx1MDAxMDNqpHkqZUlxnlx1MDAwM1x1MDAwNc9yVZGpllx1MDAxNP7ibX6jXHJcblx1MDAwYpDn2XA5boWhfX2K1JAg0JRao8BlXGap26TpnHhcdTAwMDdX0M02y0I83L08XHTQL1x1MDAwM6lf7UqgXHUwMDA0XHUwMDA0nv30d/3gnL5BXFxQwOH4kMiNXHRZeEE4sKzAfVx1MDAwMy2SoLs7Zke4wuhtXHUwMDE1gt3XjvyomZJIzPyhRudXOTtcdTAwMTNcdTAwMTn3m1x1MDAxNibFMnOL0elSXHUwMDAzPtzsa3ufZ1x07lx1MDAxN6XQPp96yFFUZ3n97cVN87aohFp/JVx1MDAwNVVGMrwpy/0/eeBcdTAwMWae5Fx1MDAxYoOqXHUwMDE0pceM4lDTiX9cdTAwMWT2wKY5hdffXHUwMDE1Q3dI7OON2lwieIGwyra+1PozKkXYJnyUXCL6fDC7iFx1MDAxZVx1MDAxZFx1MDAxMyPMt9Mlrl7/WJ5DXCLf9Vx1MDAxMpyVP9UsIzyhyKo1KFKPcmqsXGJQldayML1cdTAwMTMqUF9cdTAwMDXVXHUwMDFhXHUwMDFjknzlXHUwMDAwd1x1MDAwNc7Ltlx1MDAxM81eb7cwnKSkXHUwMDBi3VUpKb+Xy5tEXHUwMDA3XHUwMDE1Np9gN1XNXHUwMDBlXHUwMDE151x1MDAxYWvEUL7FvcZv/MRyoK5cdTAwMTb1/HrE4FfhXHUwMDFl6Fx1MDAwNnUxZLm08069XHUwMDA2WZHcTpFHXHUwMDFhb+62UK2fXHUwMDAyXlBFvlx1MDAwZlx1MDAxOMPVIPub5KYjXHUwMDFmg7KXXHUwMDFlI+9cdTAwMGVviKiTVZSMXHUwMDBmr73QNGBhYSU2UcFA36HEZrHChy3UU1wiQ4VCbZjsITXhiUO+RVx1MDAxNiVcdTAwMDTjxZlcdTAwMWLDdny/XHUwMDEyMtvVm3x/Q1x1MDAxMfYtj7J3XHUwMDFkrGh/p/x//IDn0E+yU5Wh6lx1MDAwNlx1MDAxZafrkKncXGLESFx1MDAxN8GuZXdm2Kyc5Dr1PGxXzEbZ8O3gkNd+O1mlXHUwMDA24ryGO2xEptK227hcdTAwMTa1jIJcdTAwMTJROFlgqeRC61x1MDAxMyU46iozrfeUh/5GjGcg5u/D1IZcdNTji9W3UIqaXCKc7V0yidT8vk/E7EpUxKdkbYZcdTAwMDeFYNDRV7Y7LohcdTAwMTF0NXnG0MnpJrLGKOkxbsxcdTAwMTBcdTAwMGZ9N+rq1/ivX0hNXHUwMDE38Fx1MDAxYZJjXHROXHUwMDAzXG5zX5X26ia581LaQptcdTAwMDdcdTAwMDb28lx1MDAxYXKEpJJ7efyTf4jP0Vx1MDAxZc+YTS9ZbaxJY2KSSzO/hET4xHakdsqH8jxcdTAwMDLQZTO491x1MDAwNVx1MDAwM0RcdTAwMTkliXNmkH2ZXHUwMDEyJKSRM+lfjanDMY3s+dm+/P1cdTAwMWacXHUwMDE5rvhccrOXkkNccp9TTkLaXHUwMDA0qDjWyW0jbbZuXHUwMDE2kJ0r2dnBXHUwMDE4g1x1MDAxNZfuMvaB+EHDXHUwMDEyZvyGbJ3YJ2r09C6/dFx1MDAwYuWf1tRcdTAwMTlJot8gI7KO1Vx1MDAxYd5sveNS6GChQ/C3XHUwMDE2KyOiquI4/2TFqLk0yFx1MDAwMSZk0I29M1xcpGm9y2pcdTAwMTAoOI8qV1x1MDAwYiH8L7+jLXBL0jeoSVx1MDAxOcpcdTAwMGLDr+84ilMgp7lcdTAwMDZ1XHRW0Gm+QdPfkm3+S0lM2Tb71ehcdFx1MDAxY+3pV3j99TeM2Fx1MDAwNVx1MDAxOWSwtpg4arzhb2bcx+TbUO1v3n7hpVJ5N2dcXFx1MDAwYplcdTAwMDSNXHUwMDAznzCfiXLXllx1MDAxOEQ2+u+QKrJHJ1xiS1eBIFx1MDAwMMM08zCFbI1cdTAwMTDNX1+musbJXHUwMDBmyjvWsOW8bJCEXHUwMDEy8WJcdTAwMWat/tRKROb/XHUwMDA3V6rk1Vx1MDAwZpNYL61pXHUwMDA2WFx1MDAxMigkYGq62UXM9iFmSFx1MDAwMlx1MDAxOVx1MDAxZo9uTabpw4hcXFx1MDAxZOBcdOP6tUr6qY5Ry253LbJcdTAwMWKfSCrjbn9gKOhcdTAwMWEx43Vccp/2t1uds3hcdTAwMGX7KGk43a9uRHu4PtllPq5ueCV1sZdlJOFAXGLQeJyXUchC1GvU6GUqqlx1MDAwMlx1MDAxMVwikS5kx/M/XHUwMDEwnFx1MDAxOZ3WmT5U/Fx1MDAwZv+K8lx1MDAxMH9cdTAwMWJvsnXvk1Fz3Vx1MDAwZStVJEOlej1jKUPFzMw8aVVEZOjWXHUwMDFmUoS/eLvTxKLkmmi3T6alYVUojC27iPu731x1MDAwN1q/ifoxp1NrbyW/XHUwMDFkKmJERuuEuzml6YdIfFx1MDAxOdZmb6jMXHUwMDFkxH/agkVugSf+5oxAan6IcLzCXHUwMDA0YspQVVx1MDAxZVx1MDAwNNs0P7Bk/6s5Xm22Kp7P8Vxm8YtygIDD4lx1MDAwMIFwXHUwMDEzL9tAVO5cdTAwMTDnaJrE31x1MDAwN8OMXHUwMDFmXHUwMDBiqUax8r/5i1x1MDAwYlx1MDAxY5idW0vI2d2JN9s/mlxmpdlrO8eI2n+xXHUwMDEwp5VdXHUwMDEwr1x1MDAxMFx1MDAxY/emJFjDo1fNVutIXFxcdTAwMDb6jnXtlLNWlp3cYPL57MZcdTAwMDYtrC1cdTAwMTSfr1Ag5pjla1xczcnk6U8upCovaPUkts+TvXbkJ1DI5lx1MDAwN4GEXHUwMDAxIeVcdTAwMTM9ppkr71x1MDAxYcpcZv0oo/hl+230uzcxzTRcdFx1MDAxM+hNgm/yXHUwMDBmjiFyhpS7zfZcXFx1MDAwMFsgyXrqXHUwMDE5/V9snceOxDiwZT8oXHUwMDE38m4p773XTt6lfMp+/aj6XHUwMDAxg5nuXHUwMDA31D5LZMSNc0lcdTAwMDbJXHUwMDBiOsGiR9bFXHUwMDFma8MsXHUwMDE0XFxcdTAwMDJtl7Qv2yei8+tcdTAwMGIvJLd9XHUwMDEwTqtcdTAwMTO+ukZ9VLJew1x1MDAwNUfJYzbWmF4qvnG0OLmFcEvpj4S/kUWS22iR+d9cdTAwMTMzXFzvcHT8aLtcdTAwMDI5elxmXHLhvGf3zCSW+TdcdTAwMDX/7/i/YLzttMy231wi97ux/rRHnThcdTAwMDb3+qfp3nl8j07oXHKboZdFXHUwMDExL5yu0y+g/Uh8gDUy1fF10fncr4uti+xvTso2mnlnxq5/XHUwMDFm+1x1MDAwNlx1MDAxYSz901x1MDAxYo4yS1x1MDAxOc+ipdZwXHUwMDBmNsnT/8xkXHUwMDEwXHUwMDFkUuGxnpSLkEJcdTAwMDEtNG2PqGBYo9rUXHUwMDA1v1wiNCa/lHazK1x1MDAxMEngML4xXHUwMDEx0LYlieLy+cHCxJ6EXHUwMDBi28QgXHUwMDFiUSx90EDEM2v1dX5nUfwnO9N8fYhU2Z/VnE7vejDeQbbX9K/fdcFcbm1cdTAwMDPWUbd5vFFcdTAwMTVGJPJdllx1MDAxZYxcdTAwMDS6vzvsRVx1MDAwNiyCmM3GQjRcdTAwMDPcPmqUmY82jr5cdTAwMWJbXHK177JcdTAwMTlcdTAwMWRU1+9TKVx1MDAxNFx1MDAxNfKXXHUwMDE5d7ptS1Ah2Vx1MDAwNChtrCQhOP1smPlV0lDrhohtqP1+g4DMVk1cdTAwMDX/xS5v/TysLfxcdTAwMDH04b6kJlx1MDAxON3E7q5cdTAwMWViLudcdTAwMTZfav9WcVx1MDAxM8qD0jDWXHUwMDFm7lx1MDAxZFOplFxmJaLXq/NcdTAwMTkullKcgvzJP0xcdTAwMDOeqLbOKothMt2RhGRqu1x1MDAxYlx1MDAxZrVugFx1MDAxOcWmZFx1MDAwNDRcdTAwMDLc1NBcdTAwMTN7XHUwMDEzryNkxFx1MDAxOfmIYT3STWPUXHUwMDFio1GnV0+KxMcqQT3K01xu0PhklFppVVx1MDAwNj6Wo/irPuWdqVx1MDAxYVxy39ufJ/z9XHUwMDEymYLAkqlcdTAwMDR8iVx1MDAxZcdPXHUwMDFjey3F5zmf2lBcdTAwMTb5+3eRVvxUcHFErW1cdTAwMTXOj3OQ2CzhyLlcdTAwMTQ0juhcdTAwMTXqJVac1lx1MDAxZmHchSBXSlx1MDAxYlx1MDAwZqTJMTRcdTAwMTK7/H2WYjO31MNyOVx1MDAwYlxmKvOH/Vx1MDAxYzI9fmhAXY0kk4GmMea7eFx1MDAxN9JcdTAwMTaL2vXLuMd5XHUwMDAylfP3rtu9zSrz4mSTY82wmrWZ/Fx1MDAwMF+D5kthzX/rzz/xb2utKmDPXYb8gve0XHUwMDAz3mdcdTAwMTPUP1x1MDAxNknymoRcdTAwMDHhLStfZGGXolx1MDAxZneueqWZX6C49I16loyn/sKSfOdcdTAwMDKo7UPG2VxuXHL4eHyqilx1MDAxOfcqNkzPTFxuXCJcdTAwMThcdTAwMDAol/ZcdTAwMTNlS0sj2eyh1GFjjumrqT2qXHUwMDA33KiYXHJcdTAwMTRDXHUwMDBmW1xmufdszo5+LPqxmFx1MDAwNa9cdTAwMTU7ay5ePqNgWiq5dVxiMYpXMVx1MDAxNbfhMoiYpadcdKGO5tdcdTAwMTTZU1x1MDAwNDW3w4hcdTAwMTLwj1x1MDAxOVx1MDAxOet0Jl1cdTAwMTc2J8VcdTAwMTd0m4rEclx1MDAxYYRcdTAwMTm9LEUxRFxuXHUwMDAzaWcwV6CC3FT2y1x1MDAxOVx1MDAxY5/GlMvAhzQmtjVcdTAwMDFcdTAwMWZcdTAwMWawcFPv/HtcdTAwMDdcbpCwXHUwMDEx+Og7UO1xeG2c+Vx1MDAwNZlJpG+blNl8mln1zE/wXHJ6Jv9cdTAwMDPiXGIjXHUwMDE3XHUwMDAzTmOKP4DCnoXQ3Fb1/jJONFx1MDAxMVx1MDAxNVBhyMdcdTAwMTgl6dZTXHUwMDFm9EsgrCPK24PuNVx1MDAwZfWYZsU3ka9/54nQeH/ss+Jjnq/aV03Z1+787KyzXHUwMDBlYGuJzSVRffAlXHUwMDEwXHUwMDA1icVg8ya1ifbvdrnsjoEz84Zki11cbmNfmFx1MDAwM37tQIbGXHUwMDFhTPbfXHUwMDA17nHYNVx1MDAwMXtztq1vWixEZ+QlXHUwMDAx0Fx1MDAwMKtcdTAwMWLd5lx1MDAxMNyveChuTE4pZHA2P0VSJjBtQ48lyOWfz6n6Y/ThSlJcdTAwMTh0XHUwMDA1Q9tvgkoxr0UnRUP3Tujq3tWg+DNq5oL2eo++MKZZenRjXHUwMDFiMpRrSKNcdTAwMWJcYo3zflx1MDAxOTcmkVx1MDAwNlx1MDAwYnU4Nlx1MDAwYvXlNXAwQlqU/jXCf1VmeIfcpC5Cmvy/jlx1MDAxYs9uh1x1MDAxNuSnZCfH0Ea0XHUwMDFlXHUwMDE4rZGgllx1MDAxNSNcdTAwMDa6oq3fqTkkcqZdXHUwMDE0XntcdTAwMWJMXHUwMDAzWVx1MDAxZaHKUsWbikuA5G43weapRVx1MDAxM+AnnFx0fF47Jlx1MDAwMpVgfD3BZLHMmURDgMaCWKqchFx1MDAwMG1sd2o44ScydUl3/MMkJjA1XkZ+paoovvz57/XK11x1MDAwYlx1MDAwNEn250FcdTAwMTdcdTAwMWM+JYlcdTAwMTKEgMa+wPj9Olx1MDAxZWJzRapcdTAwMWUqM7WJj72cMc3Ck1x1MDAxNWh6XHUwMDA1bz0/1tF7ubaws4fqrVx1MDAxOGOcXHUwMDBm+EnFSelnZlx1MDAwYndcdTAwMTFNZzPifu9/bFx1MDAwMGm7flgoVYFcdTAwMGZcdTAwMWSl/Fsq31x1MDAxOaXBXHUwMDAxxG7KjXi3Y2Y3XHUwMDE3Ts/shVx1MDAxZm2Zieud+Y7yxPmprsS003nIXGLUeVx1MDAxMXiFyjpUXG6ZYFpaRpUvoWpKXHUwMDA2oF5qgkpE7i9cdTAwMDNq3HGIePfWgrRaRVx1MDAwZjzlh1x1MDAxZGQsMHNXclxc1lx1MDAxNeFlSl8hILj671x1MDAxZJElfFlcXHbcvcEhm/yyu7nsXHUwMDFiquGvq/aLS/Y8+PR4KmdcdTAwMWTawYC5yt1bMm68sF/uq+Lkn7tns1x1MDAwMTND+1x1MDAwZVx1MDAxZH/EuFx1MDAxZYWq3Vxiu75cdTAwMWTu7owvt2Zu+iO/JLhxpSNpXHUwMDFmeVxmKqBm5YFlNFx1MDAwMOtK4H9cdTAwMWVcIsDQMVx1MDAwMOpuUNyE0f9cdTAwMWaf9n9zK7RPnrnSvVma64FcdTAwMWPvXHUwMDE0juXuoaJLzVx1MDAxMyvOviRPMlx1MDAxOHSo5n9m4lxcrVx1MDAxOZFcdTAwMWNccnCDPsNY84yDsio/1qe3aDKzyDCiXHUwMDAwLadQXHUwMDEySmmKc1qLoU2ZXHUwMDA2+dfAxN3j9VrK1lwi/8haUDpcdTAwMDO8eEtt1+VO/85a/tgzb3Jevrdw+3WVXHUwMDA0qq+5e51cdTAwMTN0QUD3KVx1MDAxYVxi5mu2bNiw/4Q9J2lcdTAwMWVuN/aPk0YpsC7LY84w21tv2eBcXNJqITBeTlx1MDAxMFXX7aWw81x1MDAwNcC64L0jstGCX4H8e1x1MDAxZVn5O1x1MDAwM89QXHUwMDE0ypnSelqejfSzidbTj+B7e/jiQaqW2siopM5ZxtOcPyZ7cC3Ug1x1MDAxZZZxbsn7mbKiXCJ28ytxNIQ6KZRcdTAwMTiEYOQpwTtcdTAwMThHaFtE5NljWK5cdTAwMWKl4YPWwaBe4cF1dzWQbqX8tlxy2mOg51x1MDAxYpR9gabEdTSce+Ceuny8XHUwMDEwPo1cYu9cdTAwMTBTqJza3L/3TFpaXHUwMDExlr/9sUUuxGGM/XqZQrr7/r4h4tGubLlccnOVRs7cX4SdLUW8XHUwMDFheXxpXHUwMDE2XHUwMDEwfnoykFx1MDAxZEpezuKNkypcdTAwMDdimDtH/6tcdTAwMDI0bHyIRfUnbmjw84JwodlxSrfgtOA3X0zqXHUwMDAxroFcdTAwMWNVdu5OXHUwMDBmz/NFkzxTXHUwMDFh15qCsEpwtrzK1ph8Z2d+KFxy0d2v6Ofic3N78Wpq7fCSXHUwMDE22MMtj4VR0jdcdTAwMDBfUyA0lq2F9LRWhjBn+J6z7Vr5uVxiyM8x0zdcIlx1MDAwNH/+g51ybk67XHUwMDEyir1y3HW0NOk4nCf8b59cdTAwMTmjj4hMJlx1MDAxYsFcdTAwMDON+1HkVrBcdTAwMDHP8pWRSuZ5SGzUoFed/Xh5wiXuXHUwMDAyXHUwMDFhkiRcdTAwMDHnTVx06fMm1iyoc1x1MDAxMmWhIWKKy1xcQNe6XHUwMDE2cbpcdTAwMTNhQ90ucFx1MDAxMTo3fjDmeEu6Q299sTCa8GKwXCJcdTAwMDBZguutpTEk7lFb0Kb6072y/+L/8umNy/35sVx1MDAxNub9mYaOl9U5hlxcXHUwMDEwl1xuzUNfXHUwMDFmZC7h71x1MDAxNuhU/Vx1MDAxNfsmv8yRLCb0q1xykl/K8aYwXHUwMDBiyn956CY0VCiNkITpKmpzzuHEJmXWNEvY8klcdTAwMDOnXHUwMDFlKFHEfk01XHUwMDExY9tRdZhcdPnMh7bm9Cl0n5hd1/axU3Fu/2wmO1x1MDAxNJ9s/LJcdTAwMTNcYpaIJY9gl7LtKVpH7PjQnbT+XHUwMDFj0yi9XFxcdTAwMTirO1xiwn1tqsjYXFxZwucvIfz6iStQXHUwMDAzXHUwMDBiNHDQ7LBR1Tc0YKb6u+NdRLDTS8NucrQ0RFmPSs/JPFx1MDAwNWs0gSBcdTAwMTNcdTAwMGUh6e7n9SCpIaZcciC4XHUwMDEwp1/W35Uv326SPjbt4MAvqi/+Qn/Rr+3r6WrpPFxc9WDJXGKs+cjeXHUwMDE0rLh2r1x1MDAwM6ylLUmbSLXZRlVcdTAwMWVec2NcZleWXHUwMDFmkvoqZbR99thcdTAwMWHa8tOMXCLf7denTFx1MDAwNYqv/3UmQGj9nqFzTzSa1ft29mwrvNn0WNtJnS25Uc6SlT01szKSrPZhwtR9XHUwMDFl4eByzVFlXHUwMDEypWVYPbvvjEtTuC5ZbnpcdTAwMWZcdTAwMTBcdTAwMGb+bk0xMDPtuld8T0/gfY5JNlnUNltCNplwjs/z81x1MDAxYpBs0Vx1MDAxZLNVR6wlXHUwMDFkpWNlz+uev1x1MDAwNH2KXHUwMDFjcF/r+Opi98FcdTAwMDTrJejdXHUwMDEyUcpA9Yi3hl405Z+fQpCfXFz4QktZ8NbNqjSEJCPKf/ImbcWPXHUwMDBltIu0birJbjE+alvJJmmb/or9XHL+U6JcdTAwMGLCW1hosfcrVH32rFxcMoMke/1UXGJWmlx1MDAxYiM9XHUwMDEwmqyqnGOS82OBjeq3ZChGsnqwXHUwMDFjea6rLNGy0sN5KcaeX1x1MDAwNthcZlx1MDAxNN1mNHrXWLniXHRfaIpcItT1IXNuybFrXHUwMDAxkco8XHUwMDAxrCPGRJeSXHUwMDEyOFx1MDAwZi7+zC2pZ35ZXGKa/Fd/1KKMo760Szb4aFTa4Iii/ttcdTAwMTc5Mm9M06t1NXj7hqJHp1x1MDAxMGByi2qg8Jact4iIcls4W6c/r1x1MDAxN+puy622XHUwMDEw/MV5JlZmi+gvL/t6qqKGTVx1MDAxNHVcbpO77Xtm7Fx1MDAwMHneuDzWa5GR1Slmb+7JsadVqOK8d1x1MDAxNuh4mJGlXHUwMDAy11x1MDAxYf1Vv2SeTYPBzueFe1x1MDAxY1ZUr85cdTAwMTdLSd3FeZhXSXT4h7PLbsY4vTOlTkF6uP+IyaiBXGb7fnjQbt/un/Ux9J/zIevX7uhcdTAwMTVcdTAwMDVtwjdcdTAwMWFAdfpt9YUjqK1cdTAwMTSuXuLDOVx1MDAxOCTKL1x1MDAxZkZ2XHUwMDE2XHUwMDExh7J+Nk6D1Vx1MDAxZj7PkvXCoFx1MDAwNcwxW1x1MDAxNn02f1x1MDAwMTtPV45C/1lcdTAwMWb7u1/jrzeot4+Ys1GdXHUwMDFjdEptL1x1MDAxMXtioz+FXCJcdTAwMGV2zY9+M0gmTv1cdTAwMDaqbWNcclx1MDAwNPq4Z3+Oonzi7XVMhFx1MDAwM6L5bp9cXFx1MDAwM+KNtuCI3cZzUyD9WH4+MNZcdTAwMTfrqCGnnyVcdTAwMTT7nf+zLnme/6xLXHUwMDEyNFx1MDAwM1x1MDAwM5qBlWE6cuzLXHUwMDA2hoAwXGJXWHHI7ClwXHUwMDE23FZgnWL1cYhZ51d5hJ9cdTAwMTi2voGedXVnNFx1MDAwYnuVqlp7utKKZlifyHDMOviovcnlXlx1MDAwMEkge1x032JQoZ9cZkyatGVcdTAwMTevQatEdEqS8ZArxncnSbrQNi1cdTAwMDeO556xv8PoXtJcdTAwMDQuXHJ3VoC/1Y159Ns6PbpcdTAwMThk/rRcdTAwMTF6WVWvVZmWODSR2jYr/DszRFx1MDAxNnGCo4hcdTAwMGaCiu3R5yrJWF0g/kONfnlZxD59moVcdTAwMDDFbeZlRpuSvFpdLkAr/862VXCYbFxii95q671gXFyvR5ohqVNL6lx1MDAxMHaPrDE3I1WI8arVS0+nXHUwMDFmtVxyqojg6Zo19lx1MDAxN1x1MDAwMMW+1lx1MDAwNsNgXHUwMDA2bVdB8Fx1MDAwN/f7ZzR1fapcdPOZT3R3XHUwMDE0yXx+V4n/zY9Q7+vBVSh1W1RcdGpcdTAwMTTVXHUwMDEwN422cpmIQ/rffeHzn33hiqaRoDKo6Vx1MDAwNlx1MDAxOMg588BcdTAwMWL5u7u6/GWNxFx1MDAxNsaf7Vxm+lx1MDAwMcZdXHUwMDAwcL51bspXXHUwMDFi9XBcdTAwMDNsPVFq9ZXcSWjaaa9cdTAwMGaRXkS/MF/ic9fMWIlcdTAwMTiZvzAqr8OPXHUwMDAxYcjm6JCJR/nbg2bc7dX0uixZVtefI1jvd7W/j0I5gjfwtZCwKtPZ24/L+1x1MDAxN/uhtuHPKWGAgFx1MDAwNcX4u9G16T1cYkNQwpGXXGJcdTAwMWHSOLDb9G/iXHUwMDE0qlx1MDAxOFx1MDAxMPa+76SvKlx1MDAxMSd4XHUwMDEwQlxyNVx1MDAxOd9a/NauappcdTAwMTdcdTAwMTLb8uVUWDVavd7w61+FXHUwMDE3k1RGZFx1MDAxMHJR7lx1MDAwNLZmj5Iv/ILu8+eJn8mMiWGuiW1Rn2GUWnXWO8lrbFx1MDAxNpZuZ09I9nTicCFcdTAwMGYkmKE3hsaDra+b/32o8vW7XHUwMDFhXHUwMDA0XGbnXHUwMDE4cjVo1q7M6NCgXCJcboE0oEX0qo7NpLJcYlKFI1xicZlYXpq1eVx1MDAwM7LjT4z2Kzn5OGgxk1x1MDAxN3iUXHUwMDEzTrM5XHUwMDA3XGZcdTAwMDQnmNJwZP66JPOqs+PCRiBWd9uK5pKI/Pb2R3TtXHUwMDAziPPCemU87oVZnUD/P2tLUP93XGIuWuV1z1x1MDAwYr5cdTAwMTcsU99cdTAwMTJcdTAwMWIlXHUwMDE4qU8wSLlcZlBcdTAwMDVcbtP06eS0/Vxy3eblkkT+VzhcdTAwMTZAXHUwMDFhV1tcdTAwMWOoylx1MDAxYuVcdTAwMTTUqkUhaMt8XHUwMDFmkFZruqtRpmxDpFx1MDAwMcLWXHUwMDA06sRcdTAwMDD9z2VcdTAwMTW14tk7I7R7tqdcbnbPiCiCRakurXuz3pmop5VcXFx1MDAwMIkg9flp4ZtRo1x1MDAxZr93frWZwlsyg8mC/rwk+aclN3TF7Fx1MDAxOd2bw2o820mOUp/0mWwmadXQ84ZcdTAwMTiXMPFN523K7kvTv6lZOTCy8URcblx1MDAxNSpcdTAwMGLPtYpGyWZcdTAwMTCC30bwXHUwMDBiMZKOf+VP8XSR6fBcdTAwMWb7TXasXHUwMDBivZdcdTAwMDVfL0iafDdy36eZXHUwMDEx3ocsbzKBV7OX7Usrn4yeiFpcdTAwMDSJ71x1MDAxM+a/sIV60qguWL5+Wlxuo3vnTE+Dkiy34Fx1MDAwZiRrXG7vqo+v58313/Mqyeef8yrj3eaHeFx1MDAwNoJIl71cdTAwMWTH/FQllVx1MDAxZmcm4mAgJrGCno3Za2SBZtdnnKrNY6PdaFPDfEWhvMbmerXWKlx1MDAxMZ/BfocwfkXabdTxlIkyXHUwMDAwXHUwMDFj3pqjW2xcdTAwMDOCzj5yda31oW1cdTAwMWWdSiRcdTAwMTe8PqpGtjrpdPxcdTAwMTOruUPFfKdcIk4k6eFqJXT2XHUwMDBlK9t2VT29TlZcdTAwMTn22lxm2/TLXHUwMDE5em50zSFEUtGIyiUwWVx1MDAxNH9KYtPRn0ny4r5km1x1MDAwNGU/u1RIqHhcdTAwMDdRQUliMVxyfFx1MDAxOVwiXUOjObli+/2Hdszx9jRcdTAwMTn+9odHOKMrqdiB/Fx1MDAwNI2PlbCTXHUwMDAwXCLXU1x1MDAxNzpi9Fx0XGZbsqrq2bpTuYZZzFx1MDAxZOjt+1x1MDAwM9+EMG6Mh6BcIkouXHQxLK+mYKIgTG9cdTAwMTDI3yR12nPr/1x1MDAxZPPq9bc8d5XTh1x1MDAxZaWPQ+8u+kJZxLB1NHDGRypeTXozXU8mrKXEJL/aXHUwMDE4sFdvqPbzxz5cdTAwMWO8hvRJkdVSs0iLy1M8XHS4oVefVsdvXHUwMDAwPYvJJSazXHQh9lx1MDAxMzRbXshfTYiTgLG3bO6LXHUwMDA2s66d6KitSVx1MDAxMOn5XHUwMDE4aTYyXHIvO1p3XGZcdTAwMWLWiIniaFx1MDAxYdmx11x1MDAxYuzs6cUjXHUwMDE4+OK4/lxm7y126kIq+yBf9nZ+8L817J85cVx1MDAxY1x1MDAwM+L1XHUwMDA0+4fbXHUwMDFmWqywXHUwMDFlzIZTpNTYwb1uefNxjfFcdTAwMDE7ZE24y1x0XHUwMDEzPaRcdTAwMGVcdTAwMDNqSP16nDyNXG5e1TA9gellI3KyTVx1MDAxYn9cbqWFYb5QXHUwMDA3ydd72npq+Zo2XHUwMDFiX57UeKg3QucuXHUwMDE0LU6AoD5X7zak1URier3OKcNaTr7/XHUwMDE3rfku8Ku9yte9aylke4HlmtepqifkKIZIXHUwMDBicVgnz9NxXCJKVFdpXHUwMDEywFx1MDAxOTyLXHUwMDFjZi6FMTe28Fx1MDAxZCvA2qZscTkrnVx1MDAwMtk7Wc77OictdlNccvPbIN5INN+BcOGGr1x1MDAwMzQ4ijd9Jt+YS6tPKdblXHUwMDE1eSFccl2CNG9cdTAwMTlcdTAwMWO2r69P1GdZXHUwMDFilWRcdTAwMTFcdTAwMDes1HidsrVL51x1MDAxN8qITsX2vYEs3G6Llrb8MSaaMjt4XHUwMDE3pLRiM6JcdTAwMDVcdTAwMDZ2romQ+7Qpz/xcclx0NjRlXHUwMDA3wdJcdTAwMDQ09p42jqnv3L9cdTAwMDa3PNo7rWBcdFx1MDAwZTn+5pKgWHpL/fTozl02uF/yRMZcdTAwMDejRlx1MDAwN5Cmm6knZuLuuIno79hWnDdcdTAwMGItfiRMwsUjWuSQy3p1+Fe7t/UkXHUwMDA3T0G4V1tcdTAwMDRYMIH09+qqLXPjSD5cZtrMalx1MDAxYYP/Xlx1MDAxN8jeYP/zalx1MDAxOCXvXHUwMDFigXlrSjSlvJBRi42Bpl/9XGLLXHUwMDEz6YLi35M8XHUwMDE2gqbf+ThH7VxckElUr6VcdTAwMGbGT1x1MDAwZlx1MDAxMV9eNCZtWzlcdTAwMGKU+Vx1MDAxNVxmfzbvLWpcdTAwMDeIgFx1MDAxZFj8RbOL7JA7aL1sq5Jta4xy2UdWWr/M9ypcdTAwMDTRrlx1MDAxNlx1MDAwMjS85Vx1MDAxMFx1MDAwMJdJr5pEdjpsYjhcdTAwMGInM3fRPir37r5J6lx1MDAwYndPXHUwMDEzujJ8olx1MDAxMZDwI8VcdDV0XHUwMDAzWaJb3lx1MDAwZo6ikSCCw81/vCW8zlx1MDAwZV/s5Vx1MDAwM6WjXHUwMDBiwcxcdTAwMDC00Fx1MDAwNdzK5yddXHUwMDAwf8XAxVxuTM5cZsmQnbjBd+98L1x1MDAwMotcdTAwMTXHdCd4MMbdrK9cdTAwMWNcdTAwMWabvsT7XHUwMDAw6F1Y6GtcdTAwMDJbb2Gf7/G8RIxcXHeox+2A6Eo0Tdf0677twF2WZUJcdTAwMWKg81wi5Ga7XHQ1XHUwMDAzIVx0ye1cdTAwMTOWK92AQj1823+fL9Posp3qSaopKClcdTAwMWVccmLoPcxcdTAwMTXqq5VcdTAwMGXT9WpCmFx1MDAxNq9cdTAwMDGAXHUwMDA2dFjxSkhcdTAwMTBcckajwZJwsit9lrdcdTAwMTSubOM7mpnUsUUweG10ZleNXHUwMDAy95t3bTK9rEJcdTAwMDEmXHUwMDEweWJaXHUwMDAwqFx1MDAwMFx0oKt4P9ZrfbBcdTAwMWJV73dcdTAwMTH6fIG3vi3YL2ZjqM2L7jXBSMVMXHUwMDE2s1BNOaB5MnOtXHUwMDAynsxVKcR2cMil8lx1MDAxMtcun0viN1iKw8Dxf6Yxfkrsmlx1MDAwMCZSz+docvFWmFx1MDAwM+PNTFx1MDAwM3dIqdHmzCRSLVx1MDAxYao4yWJBdiOQmFxmXHUwMDExJ6dPOVx0xf/RXHUwMDE3zWatn3OneijRp80qRVOAaMsxKNHgqoCAmTryuP/9XHUwMDE2NGhVlJ0x/KRNLnpTZYK2gO+DvlxiXHUwMDExjnlcdTAwMDJ8/VurXHUwMDFluCngY297lC28iVR7LDUoo2W/nLFpwsnN5o3yXHUwMDA2o6DDel6wXHUwMDEw4a1WPlx1MDAxNO1cdTAwMDL7s4Px1jBu2M9DM2V5qfWuc36ql/lcdTAwMGIqb8VcdTAwMTb6KoSEm2BGxSVccpBcZoOQQVrahYL8W9/aXv9jKUG3XHSX/aZ0tlx1MDAwMC/XaNzmaN5cdTAwMTLmcZtcdTAwMDCCbZ2rp7qH/IE/9ZJcdTAwMDakXHUwMDBlvv7+QkmbVLnTq83aXHSgM/b3Z2HSZCuKyK2wT1x1MDAxZGpcXGnwi657aVxiOJGFWTg95LTrxMxcdTAwMTfU7JY+NW38bsRXiH7JZaM/z4daaCboMVx1MDAxNVx1MDAxZVNcdTAwMDJcdTAwMDDkoW/ycs1cdTAwMTRcdTAwMWYheJWXcERcdTAwMDG2sW2HXHUwMDEw9IZcYuzJ4Fx1MDAwMpzXN+nyVrGhQVx1MDAxOW/nrNeOY3lLPCWliFx1MDAxY8Q/+Vx1MDAwNdcpXHUwMDFhev6IrDNjXCJcdTAwMDUqMT7gVuXFhrXKXHUwMDExxL9cZi9cdTAwMTRm8FOh8+84diluK+li44yvbU6IY67T6WbaUfRcdTAwMDdRLTS8vIAyXHUwMDBm+Dt7Jp5X4sv98uiLm/BvTlx0XHUwMDAzfpnKVGDqSHn6nlx1MDAxN/pcdTAwMGKEwEX8vlx1MDAwYiBCP7rah/bfXHUwMDFlZtpo9Z9+XHUwMDE1OeS/urnVtNJcdTAwMGJGSn+5nVx1MDAwM1x1MDAwYjugdOBTnOdw7NHUxndcdTAwMTZP97ZDtn+1XHUwMDFlwKWiXHUwMDFjKXyvjo3klME7uP762jtEyjVH4nBcdTAwMDB1XsbOVbGp74H3XisqZvCkz6Rw5lx1MDAwYnBcdTAwMWWqi8/N0FxiXHUwMDEz+36gcnfUjP9wXHUwMDAz81x1MDAxNE+jW1tLLFx1MDAxOFxyf2ZUo1WDVEhFjpxOgLFcdTAwMWJfNLVf3+jnXHUwMDFiX4n2QYbe/Pt1XHUwMDFjTE3ndHuaP0bnZsRkXHUwMDFjnsoxXFwyMUpcdTAwMDBz60BcdTAwMDGx6VK/0ee6V8xYRjKSXHUwMDEwKPGEMEpDgu+rolPry79KYHOPfYm6mqHKioLgOlx03Zvwe2bjdSWx+IGq1lx1MDAwMlx1MDAwNVx1MDAxMVGNKN6wXzFadkZ2mJBFnK1Dhlx1MDAxN014+W1cdTAwMDREQIqnhDNcbnhJTSR2/2mvjNTcK+hcdTAwMTDzTt2K+u/+Tjxbf/s7l5dcdTAwMGZcdTAwMDORXGJcdTAwMDV77OdcdTAwMTRzkuPxk0gkPbwmiqueXHUwMDA0fbpv9S6TlOpkizeaPbPibqV4piduhI2/TUqsq9+zbKJcdTAwMWZMSsNcZpnTP923fMlM1uCGTKnmxJm72UuCjVus4VxiYK5psXpxjmrDmE5n4FH0rTLSgzQuXHUwMDFj+8zIq1x1MDAwZk1cdTAwMDGdzv7tIeRZgb6BVZrngi49xrzEt4Kfb6TDtLdXr6/aQkleXHUwMDAwUECmXHUwMDE0YsmMMsy7RmL9/TZcdTAwMTHhbOOrelG0oo5/NFKGf3prdPLyyr/D1EeytmQ5iFZmPZXjbk7pMEth5GSOXHUwMDAznjtcdTAwMTcwpK/twOO1VFx1MDAxZZyr+z2ThT20582jLHar50R9XHUwMDAz5iOAILIyXHUwMDFlXHUwMDEziDP645Cdy72sfUmRdC/Yuaq8Srua+Tok8NMu+tlcdTAwMDBfotzTl75W9ziu/bJGNES4XHUwMDBlWFx1MDAwZVx1MDAwM1wiZyBVNO38JkFcdTAwMWFcck/m7KFcdTAwMTd/1Dqi+zeBVfbn+Fx1MDAxMM5is1x1MDAxZFx1MDAxMft6OL8s10wk21CNqlx1MDAwMKn2c1x1MDAxYjrOqP9GTvz/71x1MDAxNYU090/e0bpcdTAwMDFtybGsXHUwMDEzg1x1MDAxNb84/1U3+Fx1MDAwNWgovGCQTItqeqRcdTAwMTU3XHUwMDAwrHNF/pOf+HNzWJqiML70XHUwMDAzUKVyw7KvTDDxiidcdJc/SGAvOX9pK1x1MDAwZj6dTLhcdTAwMTXIeFx1MDAwNFxyxHx5MTB7XHUwMDBic/Pz11x1MDAxZYBcdTAwMWGYXHUwMDA0XHUwMDE3j1x1MDAwMjl9sWdcdTAwMGZNb6FJOJ2krlx1MDAxOI6ijzX0OHnqXHUwMDFlxS9OcFx1MDAxNrTmaf1joMaVhNv6w5t54zxcdTAwMWHmPvpUz/xcdTAwMGZoY1lliY/uroPQrlE8XGLNXHUwMDEzhz8o5O4gXHUwMDFlXHUwMDFl1Opd7FZW0J9MyVxyXHUwMDFkVV3W9Cd53jisXHUwMDE3wY6bXHUwMDEzOX67qkIg7/H+wZ2FStWCm/b7jFJycSzInlx1MDAwM8GqvziutL7tVlx1MDAxMUSZUrRcYiZRvXl9kZHQg7+eXHUwMDE1XGKpXCJIuMBAk0KRPF4puupiyMyI7CNK/Wm81vMgRqg0jsqBPlxiXCLrPFCbQnDgqHqoXHUwMDBirVx1MDAxMV6HOLh3l6OVgYh4pnBWfMRuwmDKerVr2df2POIrlC/tO0u944qyM57Zs4XbTP6LXHUwMDFk1fa0pllWXHUwMDE5XHUwMDE0yLwqXHUwMDFlyqHtX/eMXHUwMDFiWfnjKMtcdFx1MDAwMFx1MDAxOWr0v3NcdE//+tKNalIrJpshPuJcIsU5cEdip2FS3nGieK5dXVx1MDAxMVx1MDAxNrNcdTAwMDEnUoG5VdbbbzDkMVvYUNTYcL19vGiZiNdwpS2XXa+T6cw+L1x1MDAwN1x1MDAxMcyPXHJin68zJlx1MDAwNrNcdTAwMTdXcc3Ih1x1MDAwNFx1MDAxYXwzXHUwMDBmMtJcdTAwMTZtj1x1MDAxZp2gX5eujujg+ovd72af7Fx1MDAxNrlDluXkhabINZQo/+w7394mdP1cdTAwMTahXHRQv8ZPJ2pbUMxcdTAwMDfWVFx1MDAxYezrpNip3Vx1MDAxZV5SbE7gQ4vpXHUwMDAwzU74ncwxVf+WtadcdTAwMTFcdTAwMTQ3ab5/XHUwMDAy21x1MDAwZTFcIu3qs9NfR0c5XHUwMDE0XGL8R9PuXVx1MDAwYlx1MDAxNrAny0r2XHUwMDAzXHUwMDFjy9+Srlx0RPP6XHUwMDEwXHUwMDFlXHUwMDBiQk7PL/pY2Vx1MDAxNl/8Km+AdNlUdlxmY95cdTAwMGK6YSFBNkEwkqoqkE2xXzrxYSF/OG1cdTAwMTib02Qop2+35VTZmFpcZlmV1Fx1MDAwM1x1MDAwNFxiJma47Fx1MDAwN0OcXHUwMDE3gr+3pMz2t4iUZ8LNv55cdTAwMTaSx+vPpmNmue3ygIDL7Vx1MDAxZdP0r540+vqnJ42TpKw0oX1nhjGU01IyIGaGPTzaYlx1MDAxN0KYm+iPv43CJlx1MDAxYVx0MVNkm8vZmtnETJ/6rtdcdTAwMTF95HJXkMAx5c/tzKV1SVVcXOA3Zlx1MDAxMloqXHUwMDAyPduDRXjWOtx4YFx04j2g6Vun60Eth830lys1vFx1MDAxMXl58zaGvZZcdTAwMWFlr9I9q+5cdTAwMGJxSFFFusv1lTWNyKI3SkjHjlx1MDAxMlx1MDAxYkQrRlx1MDAxYn2iYVxya3r5XHUwMDE3w+JbYkZomVx1MDAxY3paI3dcdTAwMWZ+LzHmVmvHzs6jwyTUur5cYjiQXHUwMDFkJvqUgF/ZYHZGW6ao+/f9ofE4i1x1MDAxOFx1MDAwMF5PeYXcXHUwMDEw4bu2XHUwMDA1XHUwMDFk6dYsXHJrXHUwMDE1XFxccsnIIN5cdTAwMGbJqyw3i1x1MDAxYsuv3OMvQ75cdTAwMThdp1x1MDAwZU1cdTAwMDNcIv1HXHUwMDE5XHUwMDE4XHUwMDEw6C7NYSRyw934K1x1MDAxNan/YVx1MDAxZZ3kXHUwMDA19FmoO/pccjdcdTAwMDCYwtW9hoonYFx1MDAwNDCSr9S/XG7ArMNxnLZNjVwiS71cdTAwMTN0v9Bql8KbXHUwMDFiXHUwMDE2++bvYSM/0aRcdTAwMWZQXHUwMDAy39Rr5iVNZzf4VlwiXHUwMDE3e59l+jIjnVx1MDAwN4d1vSX+P70tXHUwMDFh/Wn/Oa9KXHUwMDE1XHUwMDA2hSdQoLDotJJcdTAwMWFcdTAwMWPXf/uaybhV9vl9XHUwMDA2vi9cdTAwMWSwuytDXHUwMDBlU6pOXHUwMDExXVx1MDAxN8n2O3ebs9Por8nR8ytcdTAwMDRKbe7AJ2ViJGpcYlT5XHUwMDExc5Cs/nVcdNCqXlah0s+AXHUwMDAwdFxmO8drJ+F4sfnS3eK5vNvtO2GiXHUwMDFmqEi75fjJSyFcclvxK5NhiZpV/Vx1MDAxYZQ3V3iHXHUwMDE0OE5cdEKYJduYLet37I1OPlx1MDAxOcZcIqvZarlgq2OuNVx1MDAxY4dgMUw13anYufefaV+J6Y3f41x1MDAxMFx1MDAxYuG1Mv0gXHUwMDEyWGRuUymT4n6I+VQuyvhcdTAwMTKtrVx1MDAxYe/vK09tNXNlQCyjWF5PXGb6NCqed6Km7uzJmMqfwVx1MDAwMZeI325VKzyL2W0/vVx1MDAwNGyvXHUwMDEzi8u3XHUwMDA2latcdTAwMDLxo1FDg1Gx289cdTAwMTdZNqZ5PN9md1x1MDAxOc/nXHUwMDE5491cdTAwMWOEPoMlSurs3LKj9VhcdTAwMTRCu/Y5XjrUQmjKYGpcZlx1MDAxMD4wW2fMc2FzXnyIhVx1MDAxMcBcdTAwMDVB9/s6c/j/5UyGXHUwMDFm/vXghGbGw21Xr1x1MDAxNfb19ZPhaGzoT/JcdTAwMTIsktUuo4rbx2tw+2GnXCLfnfuIebU7x2hjWeOcXjtcdTAwMDTRaVx1MDAwMXxcdTAwMGI9PGl/7KV6MOkzub9EU8J30SSNjj7FXHUwMDE2VU5oqVxizCBcdTAwMWaaiVx1MDAxOKVpUpeJNDS5OiznulVUoppMqJnuRk3RkrA4c1NcdTAwMGVXXHUwMDBlXHUwMDA0XHUwMDFhrHQ4xTixeynrU/xbMeojYS9lvbvDLN+mv1pyn1x1MDAwZrSPrlx1MDAxZmnT0vSMpFxiLlx1MDAwYs+zSFx1MDAxOFx1MDAxNMJoXGLRLVx1MDAwMvZAmP9cdTAwMWSoyCk3ufpccvveYVx1MDAwNG/Hy70xyNrilWj9zif+lCRcdTAwMWQ2OWQy+1iTXfdDiJ3TXHUwMDA3z8xd78TNKen1JbxjXHUwMDAxjPaGpLbEdYfL9rEnelxywKUw5DRRq3Mu1lx1MDAwYph54/dcdTAwMDGtyk2OR+f2heF7T5+gOSCA1ZXPRZRj074+cO5cdTAwMThDKoRJ4HzIKLuN4J2XkfNUbNb4XHUwMDA17TTcpkuQXGL9guS9pCVcdTAwMDFHXHUwMDE0pcdM9T+9Qccl/61nXHUwMDAzYMckVlmtXHUwMDEzfVx1MDAwYom+NoCG19pcYsaAJ1x1MDAwMVx1MDAxN2wlx4c/3/xcYq1p8zhEXHUwMDE3s09qU4NcdTAwMWLwl3KGMsq0n1x1MDAwMnpBdH6Kulx0KKV3rN5OXHUwMDE1WOhcdTAwMTMnZ25hIXXRjDdX5cLVd47PXHUwMDBiz1x1MDAxYTB1KTjrXHUwMDEzlMVr8kTYdPan+lna7/Hg2OAt23xcYiD6zXDpd1x09UfUXHUwMDA2o1x1MDAwN9rRzeop5cy2XHUwMDFl6EWqM23nl3dO0/+Z01x1MDAwNX1A+Ci9ddvhMVxmo1xcvXv6XHUwMDFiXHUwMDEy+I9cdTAwMGJKm5HK/vOPsVx1MDAxNEKf+HBcdTAwMGL0xtY8O+k5UU21raTrq4/tXHUwMDA3z/RZ/Y19XHUwMDFkiI905Ifj92i95Vx1MDAxYiuPWHJ6hklcdGvnf1x1MDAxZryEQdlcdTAwMDQtmqPGRfn4WWFgSVx1MDAwN43b7CZcYkhcdTAwMTPc73vYPtUsY+mRg1x1MDAxM3lNyVgwpYhdfLTWm0Dwgznxoc3adFwiLItcdTAwMWYu0lx1MDAwZVCyiXdcdTAwMDZcdTAwMDBozfLXxa8/mFxiXHUwMDE5XHUwMDE5MZ68U9JQ6GzYWN6PmiZsXHUwMDE5XHUwMDE0yD1cdTAwMTTyLfFcdTAwMDDyqeOBXHUwMDFjoONIXCKlXHUwMDFiuv96UyZV/3qOWSRAXHUwMDBlbZz2tVx0zNtcdTAwMDB+ppOH+TWsi+o8XHUwMDE20InFXHUwMDEzwfLHXHUwMDA1d1x1MDAxMaRoqEb0q0jKVrDrXHUwMDA1R+hcdNmkIH5cdTAwMGKcpd7jaFxyMltcdTAwMDYk1YtcdTAwMTeBY49kzlx1MDAxMiOjTlx1MDAwM0MrzFx1MDAxMHlcdTAwMDek91x1MDAwMVx1MDAxNlx1MDAxZVx1MDAxY1JcdTAwMGWeXHKqa+vtVT+2XHUwMDFhLlx1MDAxY3DoKr40Ntvsz+1cdTAwMGVkKfmSXHUwMDAx7MBcdTAwMTmbXHKJNYqXvmEuLHZcdTAwMTSq8HeSzKZcdTAwMTJ6+J5Ulu1KtTWp31x1MDAwMflcdTAwMGLAXHUwMDA1KHHJipyKSI5MmUlcdFx1MDAxZVA4P62Ap+dKT5tNjDpUgejK9KFwXHUwMDAzhWa3aS+++jE3XHUwMDExlUvg40Gn/XeT2Vxi+1x1MDAxMolEVYVWL8ZgbTlcdTAwMGWipOeCXHUwMDA1z3l+Rc7fJdxzOMjrKFx1MDAwZtfI47/PcMxo6qfuNVx1MDAxZOVM1ij/dSRDiDkm+mL2XHTg0T5cdTAwMDf0qiSMmlx1MDAxNMzEI1Bgbs4qXSlcdTAwMDNsqNGCU0FRXHUwMDEyvv/SQnD9XnHA1Yeoqlx1MDAwMVWR4+R8ziet1kPfXHUwMDE3QK22jyZn5Vx1MDAxM8vjbZiG+99ng/+prcyXoW2LXHUwMDE3RdU1QN3J/ZSLjF9sqVVcdTAwMDK/k/RjyZtAr0aupojBzDzuXHUwMDE0SpI7n4WxgZt/gpFNXXE5mWR+XHUwMDE5cctft4nOTVxicfq6sKdU+lx1MDAwYn8u4zQmIIr3QqG6d+7bXFxcdTAwMTC2KtAkhHtQUqDkud3eKH/NbLv97G3KKjUnXHUwMDE57PQx/X5dYXQr4v35nH93XHUwMDBlwFxuStT+VnfKTstpU6NcdTAwMWOYYpCqQpS3NG2PXHUwMDAwyu+v31x1MDAwMksrOjzb2m7ZXHUwMDEwWZt2cPJcdTAwMDP1XHUwMDAzWdDqRv7w8jJWv+uH7+fTosDppCGxXFxrdI/Cw1x1MDAxZTXHdK4+XUrTKVx1MDAxMWVCt/VtqFx1MDAwZpb9rPmvjy9XWkZcdTAwMWHJr1x1MDAwMpiewiOxXHUwMDFiXHUwMDExXHUwMDEwLuRcdTAwMTZ3XHUwMDEy9EYvQlx0P4+dlt1y5FxuXGaxi39cdTAwMWU1f+BcXKbPXHUwMDBiWLVcdTAwMDBEq3EllrzhtGhcdTAwMGU3XHUwMDAwZnc5TEfGfZTEO0guVVx1MDAwMmW7r4t4wT+8nNbXQSSic7yCY3tcdTAwMDO2p85cdTAwMTNmaK8mTdVSZ7lcdERXfEzGnzag3+ucRnfBj277XHUwMDAxXHUwMDAwPVx1MDAwNYwuY1x1MDAxNi+VXHUwMDA0qyqgtb86Ylx1MDAxMMS40JWv8Vx1MDAxNtva0Yua8phDNFx0b4v5/bMvXHUwMDFmvS1i2OCKXHUwMDE2Sq9cXJaOXHUwMDFkO9Gt6tXOw5xPLig4XHUwMDA33LFcdTAwMWRr1+d4fnfy/W+f3Fx1MDAwZnptiiVkt2tcdTAwMTOH3zP3XHUwMDE569qGwzibXHUwMDE5Nc4tn89cZmjd94w9pc45X2OjjW9Lu8625zNerVx1MDAxMoFcdTAwMTI79HaYU6zxevvPL5d19TVcdTAwMWT0hD95KIeZUoZcdTAwMDNcdTAwMWXT82kzOurIqqylpFpNnVx1MDAwNUZcdTAwMTBcdTAwMWaatIiKOq2cqvKiXHUwMDAz1u1cdTAwMTlcdTAwMTSSTP1cdTAwMWR9XHUwMDFlnGdcdTAwMDXkx+kuryxcdTAwMWFngFx1MDAwMfGGXHUwMDEw+eVj32ns6Kd8bu3QPyW1kiv0/SW/Ja3C7HVhXHUwMDAzsFx1MDAwZX/nmamjPZxcdTAwMWRcdTAwMGbv5OdDtUu4yrozWby/yWTUusxu3zjozL+7g5augmKiXHUwMDA08uLEXuI3uFx1MDAxMppcXMd9pkBcYuBjXHUwMDA2XHUwMDA0eX9UXHUwMDFmlOVG0k0gXFyDXHUwMDAzJTTLMpVfbMbjk/vuXG7laSAqemDaMbY0oPRqkjHk0TE5i6E4eVx1MDAxMMhYQO8piU92gZBz4+VEXHUwMDE0srdYn7mFSiXwuSBJobhPNZ7SnmnK5IGgIXtcdFx1MDAxY4wh7FCPWS9Y9+lRRtmMXHUwMDA3hXRdSev5nj+LpXwqn1soJGJgadnh5pGp5iaBXHUwMDE11y6YuFIs8mB3V3fQ/ehaqFx1MDAxNVx1MDAwYovyRfqGsFB2tM2FPcy9ucaHQlx1MDAxY+5L8mSruWzLr93Cuqo3rlx1MDAxN634adlvO61cdTAwMGI+rOTxv/aya3QgMK+nY1x1MDAwMrG0XHUwMDEx3OVKpbBcZlx1MDAwMc96nFx1MDAwZnVxjNxcdTAwMDdbJjKa0lx1MDAwNntd0zc3ii9cdTAwMTaLXHUwMDBiXHUwMDA130TzuLDf68n7ee9gvkSsVjGZfE6J98R2rff2S3ugXCKp3lx1MDAwZjLIWVx1MDAxNPOYv4pvsZqbjPfSxq4w100r0HLwxV38ddeiX+rxieCB5LW2UEiXJzCRMoAteVpwc1x1MDAxMzWVM1x1MDAxOeLAVGt1g5KqNT8vXHUwMDExp3epqTS/LyEv2Giraot8wXb9/Vx1MDAwNInhXHUwMDA0XGJKO5+xprxcdTAwMGU8SaDh+Fx1MDAxMXLHJFx1MDAxNvh3YTpDvIZcctGtbEtzXHUwMDEzbr+I/fGW8IHwL1x1MDAwNHcpOVfOQeKMZ1x1MDAwMEjtWozHkPGzXHUwMDAxXHUwMDE2SqaGSDQw4cxcdTAwMDCxXHUwMDAzR1x1MDAwMjZbb5mQzOzwzlx1MDAxN3VcdTAwMTKso1x1MDAwMOhdzm8pXHUwMDE2XHUwMDFmXHUwMDE07zQhafcguNumsjElQrF0QWFcdTAwMThDlqbkXHUwMDBiUXBcdTAwMTWcRy3SqMc++vBcdTAwMWZrwi+99DdlyuHKXHUwMDAzLz1cdTAwMWWuLVx1MDAxMEUysvXmR1x1MDAwYt53UCmIdqQzvNiWXHUwMDEw3M9L1eb5yuFo41x1MDAxMVRVVddRvvmhroumasNhJ2LdkTqI1Fx1MDAxOOXbXFx6KmOIm5Czm0/PXdE1XHUwMDExXHUwMDE5huGVRelsf2gvnyPVjlx1MDAxZVeTN7wnqHFcdTAwMWWPsktQL1x1MDAxNiBk2fruRyDDS2/12bn+N+9cdTAwMTGq3t958NxHlGa/XHUwMDFkl5Bz39N6s1x1MDAxN78uzaMw/dp79vBt1Fx1MDAwN09wRNzGXHKqhUSKLlx1MDAwNLcuXHUwMDBl7UfSPlx1MDAxY/ZizjtP3kN1neRccjUuuO5cdTAwMWRnjcPEIHLzMTI5KbHj9Vx1MDAxOSVcdTAwMWFcdTAwMTHCXHUwMDE4PHVcdTAwMDTMVqlcdTAwMGZcXFqgZLCcalx1MDAxYuVg1m9FXHUwMDEx+GdJkbtcdTAwMWNm8n1d/GNYeYlgr5rDhGTqT1x1MDAwNtOxnTb7JUzDd1pcdTAwMGXDXHRcdTAwMDdmwO3Q9ZJcdTAwMTVj/taB9D747LWsXG6S3nhsuU7KsMpwXHUwMDFiTiu+i9GBSFx1MDAxYqfIXHUwMDE3VXugvrr9r9XpW71wkVx1MDAxZFB/ZkTSXHUwMDE0xyWjWpB+7YRcdPovJtKCWs+i4tCyJT1cdTAwMDQ/XHUwMDAyXHUwMDA0qFx1MDAwMFx1MDAxZUSFwpBMSbHi01x1MDAxMeI/W9SFiJ7xj9F7XHUwMDE3W2XEp1x1MDAxMPsjXHUwMDAyXG7uTLlcdTAwMTcvp9NcIqhcdTAwMGYgalx1MDAxMUKoPfdKfPuRWVGU8a4hLVm7JtzsRKaOL8WSPIBcdTAwMDPhwFx1MDAwMqm/e1x1MDAxNWKy60lkyKcrQOROXV7tWFx1MDAxMMFWYYP0hVPeJKh+JP7bjXJcdTAwMDXArHP6vufqkEd56ztCsSS4i1x1MDAwNieUZNWceYZcdTAwMDPgq9KRiCmyRcvk7linX1xm7bpcdTAwMWW7ObJ/XHUwMDE3Ulxiv1x1MDAwM9WMk3g5NnU6XFxpUuVQ4Fx1MDAwYvC4n41g9f/2coq+/8dcdTAwMTZJnOCFdyy79tJcdTAwMTeWXFxq3+avLOpMQeqOzkbfbidcdTAwMGVcdTAwMDVcdTAwMTjVloirgtgvsLvlL6FXk9hcXFJcdTAwMTlvXHUwMDAxQechMok/JPe75Kjm8cKPZGJifFx1MDAwZlx1MDAxMe4nS57X7KG9na9cdTAwMWU5USzsXHJcdTAwMWRVtvdcdTAwMTMy0khXtjmPXHUwMDFjOlx1MDAxZNJzfOz0KpeSSCk3vGjDe8xiTqy7tuMguWdJ9tjrXHRcdTAwMGWqZbmMVlx1MDAwZvyOibGS//RUXHUwMDAx11vIaOCBoFx1MDAwYjLokIAshdq/SSxwSLOztXJBLJGe1MtcdTAwMWZE45vU9dYvWHbSXyPyPGopd69cdTAwMDfOz924dlx1MDAxZtD2Nm5yh/wsTSufXHUwMDEwIVx1MDAxNSp31FC/7udcdTAwMWPGuY3fX7xcYlx1MDAwMmyJPVxyQGn/dZtghvpnvsmIXHUwMDEylZY73djQRthcdTAwMWF1XHUwMDE1dGGj41G0NGO5c0682/DNXHUwMDEzXHUwMDFjPzDjbjs/XHUwMDBl+31YXHUwMDA2kmy8S4YkzC7ciIdcdTAwMDRcdTAwMGa/utdDTf7qwd9cdTAwMWQ991xi2YlcdTAwMWVtXHUwMDBmfXJcdTAwMTWtyVUtMfZUXvfsXHUwMDBlLL1Rwc3uOkdhaoaQjWqzJMCySHTGj8dHjFZSYU3nav5aTnfGXHUwMDE3mIYqXHUwMDFmIYY4Y7qde1x1MDAwMXpcdTAwMTGx31x1MDAwZWdkXHUwMDA1Z8V+VnluXHUwMDAy3ytcdPNcdTAwMWWAifTHz2EgZOdB5Vx1MDAwNlwif/LW8k6EXG5cdTAwMTZjwy7p/+ek/9GlkCXfMudcdTAwMWVfQM2I9VSlb1x1MDAwYudN5fTf4jbpQNexfF24WiD8XHUwMDFjyfVVcbrXN9Wd3d1cdTAwMTftwlY55IpMtlx1MDAxOY5cdTAwMDFkUVx1MDAwM+aoJ3lZxyBvcLpcdTAwMDGrPoa99SUgz2xcdTAwMDeyjW+aQZxcdTAwMTPt7+TY0OL0JuDimPJeqlx1MDAwMiRcdTAwMDe3XG5gz8zha8rZsMWlslkgantYRmYxO6Lo7cKWfceSu2AmXHUwMDAyOVxmYE6KSVxcl2Xb5lx1MDAwMY1cYirJZW6Cfs2o8J9+eSq+sqxcdTAwMDTqXHUwMDA1xOzD0lLnJ/Bso4e1xuTqtIZcdTAwMThbXHUwMDAwRSOZb735wL/IrX9rzDbL5VdA4385gClz8q5USWg4mi+mjoHrbzo9OmKg5ejNQEeSf5d9XGbKW5cw0Fxcwr2D0C/IXCJf6nBagW0yXGKptn6I+e74rlx1MDAxYbQw+tTPzlwiISctkFx1MDAxZuN/+rgjXHUwMDEyU1xi2bLmONNcdTAwMWLc+Eidy6UsWps6ZMbAUpfy6oCOqHcx1qXjlN6+zeL2XHUwMDEz8DBD3lx1MDAwZm9jVlx1MDAwNo9cdTAwMTn+ibGBMVx1MDAxNMTP30hcdTAwMWbyjFxcY+343NZqol2AXGK/vJWJYbI1XHUwMDFio7FhJthBd89R528zplQ+0q1+YtG1xcUlbcplwWcnXG4sY3NcdTAwMTRcdTAwMWZcdTAwMTSpLHGjw/6UNTpCg81cdTAwMDfYolFcbtnwXHTwK7J0Id7kfC1m0v9330NPor8zYldcdTAwMDNw014z64N+531MXHUwMDA3XHUwMDE5sPJccmt0pmGhXHUwMDE0Xb6y2y1cdTAwMTPoXHUwMDA3eKfiINNR+HF4rIHosdBx17xcdTAwMWG7Zup84kGAcGPtpr8mX1x1MDAxMcu8zLTpKlhZXHUwMDFi/Nw5Yc1cZqW4XHUwMDA1udeLr8o52Mnz6Tj1cVHwinDj++uAWl7cbHJsbka+XHUwMDFizURJLC8+f5oxXHUwMDE2/TyLL+/8zJuXuNEte3SiI1x08aeHXHUwMDE1KL+TMFx1MDAxZV/KidaegXJ6KlxiZVx1MDAxYkCeeUU0i1x1MDAxZC+az0/u5o9GIFx1MDAwMV+/5W9cdGc6IylH4lxilJtfa9+IWjDWwvH1XGJhbV3Aa1x1MDAxYuHvwXGnXHUwMDA2/LLe55H0XHUwMDE0XHLDqWjav1hX+metKl99LsbHvbBcdTAwMWS+8ihAVlx1MDAwNyArKr9cXFx1MDAwNN1skM8rXGJ96Vxy6cK3buneXHUwMDBlf6fcXHUwMDFh5bg50cLuXHUwMDBiyYSrXHUwMDFmuMVmhMHqIX0hhkmgnWFNYVhcIjfNL1x0JTtp+jwtVrfq0JDYnvnJvdBcdTAwMDJcblgkXHRQ62UqiqldXGa3+7dcdTAwMTOWd9qSXHRcdTAwMDd4JlNqM7eC4v6ldvWhNVx1MDAwZvx7iTFjzcxFrvyrOPx+MrXpXFys8o7QjqLUZMjJ9FNs7WOIQEzxUzxEIHE3qlx1MDAwYm7YRPSb0OunoE/YaoGiZr3ivcqWK8/A2PeaY/+Ho+Ctlv96M25cXKVq5Fx1MDAwMu/zmsxkz0Qy1Gq+RIFdXHUwMDA2XFyXcX5agsRRtklzXCLE2TScXHUwMDAx8fq/N+xcdTAwMWNcckbZXHUwMDE5eVFhSFfVPzOQalx1MDAxNVx0NWhAXHUwMDAwzoi7Q/JcdTAwMWEvTICEPbv8v1x1MDAxZZykXGLCnm/YXHUwMDFh/7ZcdTAwMDcvTNFcdTAwMTgg6VBLttCxsyqLyl+N7Jjxp1i+UF0qZktUbyAqt12cy/aFQVx1MDAxN6lKRCZcdTAwMTJnXHUwMDBi+lxieG7zL7KXZ1x1MDAxMY1cdTAwMTWZaUPxk+fZUufcr5HFujxpICuz/lx1MDAwNXszXHUwMDE3fvqUMrpMWoNei1x1MDAxNodfOZY/LPJEpVwirItuk4JcdTAwMGJcdDE0yWV+acgxafCXxf0vXHUwMDE2XFzrV8U8htFcdTAwMDNViC2Syli/fP+dSVVcdTAwMDKRNUbd/XuDTVxck1xy0b34w/z2m7frV2drV1x1MDAxN+JEXFxeKZLGyfUgTIrr7ddcYmSObGr+yedokvKrOulTim3VXHUwMDFkmfVcdTAwMGJcdTAwMTJbSFVcdTAwMDaFXHUwMDAxwGmAxVx1MDAxOJ+SXHUwMDEwvMXS5UGpXHUwMDAytVx1MDAxZE417yTMnFCm8iQyJpSDKfqTu1x1MDAwZv60gTtcboPx1nNf8Fx1MDAwNEo/9e5cdTAwMDJcdTAwMThMXHUwMDE5XHUwMDEys+Csnuz5fuv9rXY13Fx1MDAxN1x1MDAwNVxmeYa9/H656ni+fKkhJHCTf1x1MDAwYq1pfc1cdTAwMWH+51Tzs3ZI3LOg3kOncDJbxXqsquXxvFmJv1x1MDAxM6vW5+KpXHUwMDA2XHUwMDA1PzS55j2x1t34/X1GXHRjXHUwMDA3oLSdL1x1MDAwN/17TeH9e0X5b48vMp5ug4XUXHUwMDAxijB/5Vxm0TCCzqoj2sQnXHUwMDAxSZvtM1x1MDAxYv7dwrjjXSpcdTAwMWWzzX+VPdbYqFZcdTAwMDW7YUvBXHUwMDE56Fx1MDAxN1x1MDAwM5C1RIM9slxuzsxcbju+xmznXHUwMDA0Quz154vQnpWZdFx1MDAwZquvrczu13uMPKChokJ2TUo/1VsvnVx1MDAwNlx1MDAxN1x1MDAxOVx1MDAxMZEk/6tQXCKOP59GPeyZnnDl/Vx1MDAxOXqLZKfEk5VcdTAwMWFcdTAwMTjCXHUwMDAw6r3Xh0HnXHUwMDFlgtX++p+4/Xzja9Q6q1a6muuDt1x1MDAwMEKOunxcdTAwMWPhVfZXUTiAxakl5dn29+lBI6M+5Y/W/dz1eZdZW97tVtYrJVx1MDAwMHlVl6BcdTAwMTg8XHUwMDE1n/czpy+mffXp716q71EwuYPmXHUwMDFhUsc/X3E/XHUwMDEwXHUwMDFiWY3RXHUwMDFmXHUwMDEyQlx1MDAxOC2W7zJNXHUwMDE0XHUwMDFmrMkl+lxmUE9vkFx1MDAwMXM/xvp8gck70u4tXG7T4lx1MDAwN5cofXIz/cTtkqTGlu+QUVx1MDAwNWjBNTZ2KYiRhdfBe5SE13JcdTAwMDf5sf9OVpPjbVNcdTAwMTIpfUhcdTAwMTPBolx1MDAxM/06t5NfgOSXn1x1MDAxZlx1MDAxYlTaRpdcdTAwMTXyXHUwMDAzgjlcdTAwMWOT4p3lmD7vZFT9OITlMlx1MDAwMnTsJX7qilx1MDAwMpnfXFyJXHUwMDAz6en6WP49IMByg7yCoF1QXnU4XHUwMDA3XHUwMDE2PqbyXHUwMDEwnjByXHUwMDE0XHUwMDA3VixTwX2p/71TXHUwMDFi2cCJ89r1XHUwMDBlMVxcNickvFx1MDAxZfXL/7un5+V555+7nNRWSuY2hep9rVx1MDAxNIJLzWwpRl5TUHJH90cgXHUwMDAwXHUwMDE2eENLt7CFkZPhb72Cf8XqQkSUOu1cdTAwMTT/bo5691Lt4kC6rke5h1lcdTAwMThl9XJcXLopYEH+wEJcdTAwMTnm/lx1MDAwNJhvjjOPtJFcdTAwMWVwgUlx1omnNvDOLtXLffTHXHQ/NJHLmGTQZlx1MDAwZTXsj+irhp+C10+rZbtztc5cdTAwMDR0koGaRlx1MDAxMVx1MDAxNFx1MDAxZlx1MDAwM1x1MDAxZaJ2Yczn1FBjSveUNIxdTrvg2PX11N+BYVBUWuNiLOjHkpHVxktnK1NcZjhTNmdHJMx/eFgwvq4wXHUwMDFm/3dhT++fXHUwMDExs1x1MDAwZqytqlx1MDAwNnnZa/Tl1Fx1MDAxMFx1MDAxN18y5lx1MDAxYzbtXHUwMDA1LmBy2+eZs3dcdTAwMWRIfLaTl6hcdTAwMDZcdTAwMTDrXG6RQFx1MDAwM4c5QnKzjH0w/v5GQlx1MDAwMSHBN+5cdTAwMTP32FxmXHUwMDAygvbDXHJcdTAwMWb2uZzhQK6CO97yvlx1MDAwZZH6c1x1MDAwM1x1MDAxOTC9K8ZuIKel8cFcdTAwMDCJ0M/cXHUwMDA2u++whP+HrvfYbp1JtnVcdTAwMWZcYlxyeMMmvPdcdTAwMWU9eFx1MDAwZlx1MDAxMITH01x1MDAxZuivPe49dar2XHUwMDFh6ixKokhmxIxvpomcopacXHUwMDFl4vs7XHUwMDA2hka2mqZZmnZ9h1x0JNnXrnBZYZ6RKIGSXHUwMDE3XHUwMDFkKtpFXHUwMDFjncereuWwJoJpyVx1MDAxY99mXHJsVtFcdTAwMWU5XHUwMDA1e81o1YFVVV1ggUZH8rfxw19Cqe3B0654XHUwMDBiL6FdKFx1MDAwNkdkTFd6cpj7kd7OMDV/2ntpajR+XHUwMDA3c8bw0DPGibSZsX+d4kuAlbiZ18v/XHUwMDA3kTNmLJh4a0FcdTAwMTaxXHUwMDAw7G2NXG7B7Vx1MDAwMlx1MDAxOE0jiN7fsmw5rItAJvG9tv6P/lx1MDAxYzLdbPSfn1x1MDAxN1x1MDAxMdaGf4CSTv28XHUwMDA3N85cblx1MDAxYfPzeqZ9/U6b7NZvl8Kfe8w7qif2bVi9/5h6JW8t8pZcYkjXPlOcX7LwuT5SiczDOdM2YVx1MDAwN0ZmXHUwMDE2jyzkt1x1MDAxOWDlsm2moWdjxdKazY9cdTAwMWSdNy9cdTAwMWTI+SlEgNhcdTAwMTD9oXskaKbpZqIvau1FeEqS3JRcdTAwMWI5XHUwMDE0RfVzPkttXHUwMDAzt+jKXaswSfOCXHUwMDAy67lcdTAwMTHo4Fx1MDAwNlx1MDAxNFx1MDAwMLWjgjfNflx1MDAwNrHOXHUwMDAzyUyHPYsjm+BcdTAwMWbq58Psx/zSxUXlTDI1XHUwMDBmyH3M682O+EWfXaRPM+1jXlx1MDAwM+qGzs8+LLHoboc3Ylx1MDAwYjhTWbZcdTAwMDZYmEdcdTAwMTaVpEyKjLyl0OjLY8hcdTAwMWUy81wiNK46h3d8daSK9J1cdTAwMTPPm9Mo8tfZXHUwMDFitfInXHUwMDA2VuNNp4U3P7SL8zaCorTUXHUwMDA20CN1RaBfboSJ3POgx5pcdODgvv5cdTAwMWXlVrVHlVx1MDAwYpJWqc5A0jHna2jaJKJcIi07Xpf+PFx1MDAxM2tcdTAwMDVu9dfVNFx1MDAwNrtpX1x1MDAwNVx1MDAxYSXVXHUwMDFiXHUwMDE0cJ1cdM3fsmzXx6xcdTAwMWRw72ZCpKc8XHUwMDEwVlx1MDAxN3I5QOBcdTAwMTJccn7mXG5MQVx1MDAxMjNaXHUwMDE0iH40TImn40iYXHUwMDA3zZS1o4Jh7+1cdTAwMGbX5P/SR+fvvOjyr/OiRC5cdTAwMWVcdTAwMTmp3Vx1MDAxOcJcdTAwMTlwmXXxtT2UwidcIvOCJlx1MDAxMoFcdTAwMDJG5ZbOdZCkT37HXHUwMDAwIS1A2ry4fWfpZ1x05uWJ9Vx1MDAxZUmY+7dcdTAwMWWH3v7260mQf5NqN4ZHXHUwMDE3adnp7rLyedFcdTAwMDZcdTAwMTYvb5FcdTAwMTAlQVx1MDAwYlx1MDAxOT5dre6sQDjXXHUwMDFm5cOGXHLwslx1MDAwYu+1yVx1MDAxNTIyxEHM6KtcdTAwMTKTd8LaqHTK6pp93oezwMpcdTAwMWJcdTAwMTgzqVx1MDAxZS9RQbV+mnlcdTAwMTifXCKGSZSkgKlpVH2a7nxN9Ghcclx1MDAxNPQnalawRlxuevB0yjp3OaNuXHUwMDFhqlx1MDAxZvbzJFx1MDAwYsHIi7abTaXHuKdnhWJL/NVRXHUwMDE4sWFwyKO1NfRcdTAwMTd3+p5cdTAwMDT9NbvMq32cfmvmXHUwMDAxdP1AXHUwMDEzVPzybmy+jH12N8fz1vrpSnXdXG5x3r9QoZnR9knuObDa6HRcYtJcdTAwMWSTIbEkkmpcdTAwMDSUXHUwMDFmbry4jlx1MDAwZTOtittcdTAwMGXDYTiwr1x1MDAwNdhcdTAwMTSx47tVTz0opFL+JsT6XHUwMDE5XHUwMDExSe7LqmxccjPUXHUwMDBmTPJ4OkqTt849OpeWXHUwMDA1YnJcdTAwMTTt5C40XHUwMDE5t2KRXHUwMDBm5CpyyMQrSy65XHUwMDAxXHUwMDA2UWOHv49D+F/q1bzS2T+9XflUSehcdTAwMDJcdTAwMTQ9law4VFx1MDAxYd+6N/JcdTAwMWZcdTAwMWTLR29cdTAwMDdasjzNKHu5krLo+o9cdFJt5vrzXHUwMDEwUo3ZXHUwMDA2X9BXrbmKczVJblfBXHUwMDAyll5YXGZrmK7Prlx1MDAxMsBBmYZcYlZQqibbY6A+XHUwMDFjUMRcdTAwMTKfplFcdTAwMWXLqIFSojbq59lcdTAwMWZUun5s969NVcNcXH1cYp1cYvJaQHtg9Zcxar3dllormVx1MDAwNWF6qpHxXHI81/RGXHUwMDAxgVx1MDAxZvWpUDo7UoxOWbpjMoO/XHUwMDFiWJtCiE5Ljlx1MDAxMphrS69D6as4wGasulx1MDAwMVx1MDAxN07sOj9nxkhSXHUwMDFjWWvh3ZkyJVwirP9z3jP/POF385dkTa71/lx1MDAxMufmO1xcn+Kz2KHobM2kN+qfXHUwMDBlLVRcdTAwMTbMvkOyQebMXHUwMDE1LeNcdTAwMTmdxLhM4KyJJqBXjFk/ZGaZILJpipf8y/QmfqTKSFx1MDAxYj6DYnEndc6RpVxuJN1QVlVTTjksXGJxaLDArVnaaiC1op2AXHUwMDA2L6nGcIRcdTAwMWHcW1x0qsKFJ4Bk2Il4NtuHTY6/XHUwMDBiXHUwMDBi29gmmmLXv0U0nitcdTAwMWW9rC9zzi44sNe5h5rm5/Z/9P/8J/fF4W8tRLOsVnPcmqBNltV/l/uhrz65XHUwMDA0kGK4SCNcdCkli11unbv823OLvrT68ziptu3eXHUwMDFmIXbVZYx9fZn9yuXPXkFcbkO741LL7++D0jxTQDpcdTAwMDRVwLSBXHUwMDE2dFx1MDAwN/dcdTAwMWPKaeXThoGZvjFcdTAwMWbNxfjUWOFHyVxyXHUwMDBm2/a6/Vx1MDAxOFv3+9Wkzrf33+XWw1lcdJ0+w8M1Z00yOF2AXGYglnp/Z/ekSMl9XHUwMDE3uqf71vVjr1x1MDAxMeVcdTAwMDbRQbvosdyvQU/c4sKPXHUwMDE5xDaSVrP7Zr7cqOS9SCOTt1xc2DFb9fY9elx1MDAxMfFcdTAwMDOasuNkkYJZqY3Y1NhNXHUwMDEzPpZ7XHUwMDFiw6KiZY3CRfP0v+M34lJcdTAwMTleWUHDNEZu+Vx1MDAxMf+y0svxcD0tosmsqflMnlx1MDAwZVx0XHUwMDA0UqfJ5ZjPSrbv+Ew7t1wima63ayXe/Ljq41x1MDAwN1RcdTAwMDWlXsmvflxc+ef0ozlVfLnzobKdS9ZcdTAwMGWfarWtXHUwMDAyLVDscilcdTAwMDDLXHUwMDE1ONBcdTAwMWVDO1mUXHUwMDFirONJi3xgqy25djBNTo1cdTAwMDXqYFx1MDAxYe2fqT+Vpv5W2f73+Zp/cn25qb/+XHUwMDFhXHUwMDAxTHpeNPBql3FA7qYt2rRcXFx1MDAwYlx1MDAxMlx1MDAxMiAg6Fx1MDAxZORcdTAwMDdcbjFcdTAwMWVOfWxjSZ079Vx1MDAxY4+OMe/S80YjmciVP4O6ytxY1Cs/XHUwMDEz455CxV//l9w8Xpi93LDhV/Beano2S23+/jpcdTAwMWIps+DD8plcdTAwMTayPZ/nvPNVUSp6luihY1x1MDAxMK10XHUwMDA0M3PU3/GDXG5cdTAwMDHN9oQ0JnWdXHUwMDEx6L0g1O/WXHUwMDFkUKDhXHUwMDFiUeuFq9Z3XHJcdTAwMGUttDtkXGZcdTAwMTTJMVx1MDAwZVjrxNdK1vBPf+2PcYsrMP52IaiU08dFXHUwMDA1/31cdTAwMTHB2dXrhHfkSdl/eqzq8vyDsVxcgFx1MDAxNLf8XHUwMDA10mWuXHUwMDA1o1xuLNv85vAj2ZWdg0CMdFx1MDAwNYSFar4ue1DxYsFDKEeHQmBDcFBeq+LFO7L3gVKZjYbCXHUwMDA2eKexm0xyoLomNdfH376cXHUwMDE3XHKPXHUwMDE4bWZGXHUwMDFler/x7/lcdTAwMDTT5zlMrEu2YGByllx1MDAwZlx1MDAxNFx1MDAxYlx1MDAwZaDOIfpl39FcYnO3n3rqXHUwMDEyikJ8jFVcdTAwMTaWXCLbkL6Gv5rYrdwuq92QTlxmVY7Evt1cdTAwMTCZRlx1MDAwMuxcdTAwMWZcdTAwMTJcdTAwMWGH4HdcXFf83+aAXHUwMDExWv5nb8o7XHUwMDFhXHUwMDE0ypKj5FG7v/dYVGPAVVx1MDAwNL9cdTAwMDSVYLyOIO55xEqURWdlfK7zj/zNXHUwMDAyYS1kQMdOoy6ylYWMOaC/6bJnuanNXHUwMDAw2k2IXFzMiFx1MDAwMcn+SXHjOlx1MDAxOEFZvlx1MDAwNlx1MDAxM1/iyii4lOja7Vx1MDAxZTa615Xz76zzLuJvXbyahWlfzFx1MDAwYqOv5lTPTENcdTAwMTg/fGHap/dOO+LL/FWg8nGDY85td+RPQMc5tNfQwVx1MDAwNq0l/FGOKMdcdTAwMWNcdTAwMTS/XHUwMDE2avEswEpcdTAwMDBcdTAwMDaO91x1MDAxOan52Nt8Pv2+0L8jXir9xblB5divt1x1MDAwZqHXobv1/s6ZN6L6Rcg+eVmLz62pdrNoJfh4XVxc7Yl14caoL0WvqHpoNVx1MDAxNVx1MDAwYld6h8BcdTAwMTl/U2D6XHUwMDEy1YWtvlZZkiCct6ZGXHUwMDA0K0GJi9Iq+UbTXGL2NFx06ldJYnCrlE7+QfSVNumcXHUwMDAy7CBDjdc0w4VcdTAwMDBcdTAwMDdBUHYzqTtcdTAwMTVYXHUwMDA0h5msXHUwMDE4rzIvTfjYd76+/opJN3CUc1aspyCfo0BcdTAwMTCoNGHDUkbof9Pu92vm6b96dUtcdTAwMDWu0tniuEQ06V5HSdrLmro0pEB1fozh87DhKJaxSLdcdTAwMDJiXHUwMDEyPeuwv1x06lx1MDAxOKioXGZrXHUwMDE2jKfPgiBrs1x1MDAwMlG+Y6u+1ribLaxonc+HXHUwMDBiUXmoXHUwMDE3wVx1MDAxOZJpMVxyMPOEPTZ49G9HNZv7a2h1rtd+ak7sMdC2wLxcdTAwMDD2XHUwMDEywPSrdaidXG5cdTAwMTIwLO+Svd7nPX8xtyos/Vx1MDAxYo5YXHUwMDFhXHUwMDFiwVx1MDAwNt1cdTAwMDNyPFJL51x1MDAxNrWbr2DT8mxR9C7xq6ksYkKAO1bdXHUwMDFjeIJos+KN1pnfueswSSSd1yevXHUwMDFmuFm/lq6pXHUwMDA2Ls9kSGRcdTAwMDGkXG582Vx0YZej8bJvtY7B0s5OuXulXFxcdTAwMGapkyfBXHUwMDFmmqpVK4LQILNK7pE+8sZdXHUwMDFhaeVcdTAwMDTcOSRcdTAwMDUlskuC9aM/Zu6+XHUwMDFhXHUwMDA1sz1VWbX9d779XHUwMDE24y2ry0/TPMImtSz7i1x1MDAxM3ydXHUwMDAzeDiKPmjx+arYclM59lPi3KwxPDv/VJB7JpDSyfef1syp2HNm/FxylIdccszDT9dMz6D7XGL07r/0d/1cdTAwMWb/xvzLv4l+u7DGxl9Yadp4tiFkPVx1MDAxZZG2c03/kPpFVDWx/8aBk3fWPn+meD9cdTAwMTheqkvQh43LzFx1MDAxMFxye2YqQyMgXHUwMDFj5lx1MDAxN2Z+ms1+vHAzJVx0s69cdTAwMTPImVx1MDAxMy5cIl9uoK1J/1onlJ/WhocwJ2jSnFx1MDAxY0RKXGbS7at8WoOa6Faqq1x1MDAwMFCUx8p25SeoXfVcYn0vYqBQc6cwc5qR7cWJM3ZoRl6KsZF0XHUwMDAzKTGJhaLm9zrUxm3P2kJcdTAwMDBcIiZ61r14tSXA3tE6INWAP9RcdTAwMTlMXHUwMDAyXHJcdTAwMWKWniBxTeicXZh00m8qXHUwMDE17KZrSIeysFx1MDAxOPFqz+MsXHUwMDE4z3heWkNcdTAwMWXsXHUwMDFkPyizXHUwMDBlkyaR6bXvN0r4jrsxL1x1MDAxMz7NPVwizfwr8JI+XHUwMDEzWyBcdTAwMTmXUqBl1j7Yd4M5Qlx1MDAxZF3a9nLmqSasfHDscz7l5O3SsoV7PCpccq30SEK0S9oqyPVhQMa7ydbZKswymvBcdTAwMWS+5UTrJ5vwXVx1MDAwM0NDbqtcdTAwMTlcdTAwMTjxTFhVh30tXHUwMDFisXEpMqueXHUwMDAygTWuj57F32JaJvRarlx1MDAwMjC8WFx1MDAxNM8m1s9qXHUwMDE0cDrEXHUwMDAxq/VSNZpcdTAwMWJaVX1ggMB7XHUwMDFlXGLi/+xlpran8K/1l+BLMW23hqhQucI9a1x1MDAwM3xcdTAwMTWMtG1cdTAwMDZ2MH1ZvX4+XHUwMDBmXHUwMDAy4k9cdTAwMDRQ0nho0jr5h1x1MDAxN+w9/s3X44T5jETcpD5cdTAwMWFCaWRpv+Xrt7v541x1MDAxNPTLx2pcdTAwMTVD26JuP8c6pIpcdTAwMWE+nYPIza3z3PCaY7aMoDL4SPdsR22AyTlcdTAwMTOSpr2+fn9AW1pcdTAwMDF5XHUwMDEwXHUwMDBiJ0on7Fx1MDAxYqJqXCJcdTAwMGZrpsVcdTAwMDDv8d1mv1x1MDAxNvaMhvjX/qCgvjNqZL3G8CpapFx1MDAwNz6yu4VcdTAwMDVBofiiYFxixoK38Dr/rXdaolmHjp7Lf+u6bVx1MDAxMa3FQvRpuO5u9EnPWMxJtJ/1OHpccoRps4/eQqZcdTAwMTN3jrhcdTAwMThTfFV7kvawXlx0kc0rJ85cdTAwMTiyRC12QORcdTAwMTjHg7XGuHZcYtxcdTAwMDeQ8YClj0fn0WEoLLirv5m/nXrtO4TO5/XQ4ezs0OlcdTAwMDJmLabznSk9s2L+fmPD/5b49St4VjftXHUwMDE2bypJ69lcdTAwMTmDR//z+Mdz2NTDklbRSJDq6yP2/JvChoc8a2Vnb5BcdTAwMDC/q1dcdTAwMDU4U/5g01x1MDAwNnDO21R25kZDglFKK1axiimkrcf2XHUwMDAzZYWunTNcdTAwMWJcdTAwMTdgMMBB99dcdTAwMWVn17ruXHUwMDAxxamDSV9Q3H4rttHjXHUwMDFi4nalSYj/y504/5xB9P80xfHmM/284LooXCKxXHUwMDAxyD6LQ1x0N0NERTxMNzuaXHUwMDExLPHkO2ZInnm1XHTB58hcYtm1KDNcdTAwMWGlXGL1TCB5RIBcdTAwMTl7mKJcdTAwMTXoq1x1MDAwM9s24J7HXHUwMDAyOXBhQ+ZcdTAwMDe9aXIluFRcdTAwMWNcdTAwMTZcdTAwMDdcdTAwMWVXfjxH+cQ3fjrH3Vx1MDAxY+jvdXXM91x1MDAwN1x1MDAxOdFcdTAwMWXsKZxcdTAwMTRcdTAwMTf5Jdld/6pgXHUwMDBiXHUwMDE057dcdTAwMTOEcY2g6PdcdTAwMTWFZlBioZu+fEdcdTAwMWLE4lx1MDAxMqpcdTAwMGKYms1ILrGPO+NVul1xcMY/eeNcdTAwMThDXHUwMDA2SuTaTlxiIyy231qq35hmYpdImVx1MDAwYte8kDQ5XHUwMDFi4o27QaNYXHUwMDBlXHUwMDAy1vdugCdlOTfeWVctcsOkZJAqqlx1MDAxONt7O72bfVx1MDAxMVx1MDAxYqHg1Olg1qMpx1BcdTAwMTHsTcy1cJBgVVxmgFx1MDAwMtuNKNxFtUjMmvCL/jrMXHUwMDBmwaAtT9xiblPZ2Eu58rNcdTAwMWYvWlwim6qE6uXaoWytx09wkqgrpDGLYGfDXHUwMDAyfr569ZOA3e5zwK+UkpGZqlx1MDAwM82tYIGL67NfyT93bW1cdTAwMDXIxFxcXHUwMDAwUJbYUDy4qHPE9GjKXHUwMDFiNaqWXHUwMDA0XHUwMDA3rpAjglx1MDAxZd215Pi+ol0gZa2hjDlcdTAwMTM7un5VUOKGm+Ggj5Vyh/DXmUdcdTAwMTH94P+9i+v/81xy7enT//RHoJzGXHUwMDBlpVB5VqnyvIZjt87884JifVx1MDAxN1x1MDAxZlNcdTAwMDJxziTzPSa+hCfERaNcIikkoezifc1ccu2Puv/bMIAuwNWEXHUwMDFkrpuJXHUwMDBiacbAK4Kqfn8zUkhcdTAwMTWE6f/wRlxuy2IthqHtqbv9XHUwMDBlsJpQb1xuqo+3R+2l/7ZeTFx1MDAxNVx1MDAxYqR91zVcdTAwMWFP5MH8pal1elhcdTAwMWKUXi+RmydfeTbRPfW10F14u92v/ul+id1M5NFycL8lPElVLlh8plx1MDAwN9otvS1CvUjG4lx1MDAxZuY7PJ/4XHUwMDFl6M4ge42AWlx1MDAwNnvkZH9ccrtJXHUwMDE5XHUwMDEyVnGf3fJcdTAwMDDjmKVD5zxQ0IdVUlx1MDAxY9LNXHUwMDBm1SgqqJZ2YGH8IyxjXHUwMDAxJZW3cPu8IFx1MDAwMrxcdTAwMWYshjGp2GqV9mNpbVx1MDAxObk8vUTxka1KXHUwMDE0oCRlXHUwMDExl1x1MDAwN1x1MDAwYllcdTAwMTSX9zpCZ1x1MDAxN3LvXHUwMDEzNcBur0+mVNHRK3bE1JLP1Fxullx1MDAwMehlXHUwMDFhXHUwMDE3qsGkgIJcdTAwMDCFg//0+f+7k00/O1i+VIRhPVx1MDAwNDcz1MpLXHLsuG+4nPdcXPcp/9xjnsrS5v661+LBhedz8Tr32YjveH+1de5pI3nc6X/su/1cdTAwMTd7XHUwMDAy4r/uXHUwMDFkXHUwMDAznIFcdTAwMWRccpo53VJcXMdcdTAwMTnWhCtcdTAwMWXlzcJK4lx1MDAxM5JcckJcXFx1MDAwZkFcdTAwMGWP9Fx1MDAwZVx1MDAxYp1xx3A5wGyP54LCXHUwMDFh0z6Fvlx1MDAxNbd1O5NcdTAwMGWXMFxcv/XIjNfvRKqQXCL/XGKkjXNzol2A3K05XHUwMDE0UJX6KWF+JUPmWu2XtFx1MDAwYm6J7jZcdTAwMWZcdTAwMDdcdTAwMTgyc0b5XHUwMDE1XHUwMDBl1JOMqH9zslx1MDAwNcpnXHUwMDEylVx1MDAwZeR+VlwioFxmRGOJSNtHv6hR3LZaLEryW0R081wi/OG6/dwupVx1MDAxNkSq40iO7tZx6LlcdTAwMGJcdTAwMDNwXHUwMDE3epo9lFx1MDAxMVx1MDAwNSXUfkjfx1tcdTAwMWHGMLRFRettKFx0PFwiXHUwMDFhI1x1MDAwNmJcdTAwMDJcdTAwMGaKcCDCrZf56OlcdTAwMTJcdTAwMWNcdTAwMWJifkdcYtdrV6bpV1x0WYpmmlx1MDAwNWNeXHUwMDA3nZVcdTAwMWbEXHSFoun7XHUwMDBmNJum0jPnxC3r7T1UTyBVTz7oVFxuZYtcYlx1MDAwZrGJUuighEhQVlx1MDAxNZPILnCQKOKaR/1t6thjXVx1MDAxMTnrMfJRvIZJXFyoeHH2VMrF6lx1MDAwZc/biHLNh1x1MDAwNtNJiOnri7dcdTAwMDHAc5eq56ybt88/49VF+rZBQpSl+ehcbiw1Rd8u/yzu+Pmoe4aEY5jZ4iFH2No2+c+GilTbXHUwMDFjrlrSa3Y4JqF90ujyJ01kXHSoTSaXoU/H+lx1MDAxMILzds3bXCL0XHUwMDE2xl37u8gtYatrcLdI51ZShUlp9J1dOrR9TGU3XHUwMDFjJKDDW0fxutVcdTAwMWWFdPAtVFx1MDAwM79S+41n1Vx1MDAxZFx1MDAxYeafc/V/Z4Zmu/XtXjGIvMNXqlx1MDAxZJw/UVxuevorM6nN+rX4rV9dXHUwMDBl7rW2K3EnJ4woo+9qvIXox/Gz911FbFx1MDAxOYbufZXXVEZcdTAwMDeVbcf6Ml2C0HHqNDnE9/RcdTAwMGbx57Rj9Fx1MDAwMYlcdTAwMTDgqFx1MDAxN/LgR/pcdTAwMDexaqNcdTAwMDPJd19dq9G52Gadsj1U2+yqaEu5z8VMUdBVXGZcdTAwMDGmci31gm92l+ThXGY6NFx1MDAwNMYmb4JcdTAwMGZkpPNcdTAwMTW4zUtsxNZcdTAwMTdgIF1DXHUwMDExsU3CY1x1MDAxNTXzbOVzuVF2q9Wke/9PbsjSXHUwMDE1X25cdTAwMTBcbqtdr5q5XHUwMDFjzrVpJHE30ncyimXCJlwi+Fx1MDAxOaAlpCyXZlx0MOfwXHUwMDA14lx1MDAwNXWHhVx1MDAxMM79sdUsW1x1MDAxYlx1MDAxZEVK34mWQ75cdTAwMWXHsmpccq0xJN6hyXZgbVx1MDAxNe77lt+8j6dxjN29x21cdTAwMDfT2l8269V+XYrbXHUwMDAxa/zbfkZcdP5ENqo1mv1cdTAwMThcbi+iUPaRXHUwMDBiu1Jtt8urXHUwMDE0Mlx1MDAxMkI8XHUwMDAyuLNrgUV7tuusUSenizymScFzbH1Jmlx1MDAxNnGfXHUwMDE5c1x1MDAwM3pAl1GcRm5cdTAwMTZcdTAwMDNbRY5cdTAwMDG7XHUwMDFmXGZ/XHUwMDFlkvZcdTAwMDTPd6OB7M/wWVxufEqBUGfWXHUwMDA0jPxcdTAwMGW5Nq/lUXNcdTAwMDTeYqaoXHUwMDFjhXXK2Oh77i9cdTAwMTaDfbDbXHUwMDA2inL2ib+DXGaM8sxcdTAwMWWQOODZOUl+XGbnv8XG/1x1MDAxZi9cdTAwMTGx0o3sg3AnoL9fxMK0XHUwMDFlopYrMVx1MDAxZd9Ta1xcTXNlZfmBXHUwMDE16ZZedVnFXGY0znT713aQxsdbw3pvVDPjitKZ1cGfcVxupJpXbuFcdTAwMDRP0GJcdTAwMTF5iuRLbkaLsDXNXHUwMDA2QuB1Ttko26+AZpVcdTAwMTj4OGnzy1bGdqyGTCE6UyW8neqTsXRvI1x1MDAxM9pcdTAwMDdRiM3Ou1x1MDAxYv60+jFcdTAwMTfDepE642vqXHUwMDBlSiMy7cEqtFbzeWvX3Lj83zr0Ody8ufSiZdvLq1x1MDAxY7FcdHCDXHUwMDFkgc13wGKwuVCyaadsYT4/hF1Y/jJcdTAwMDZcdTAwMGbvXGbpxW9ZdTJRXHUwMDAwgCZcdTAwMDPrvPnixTVeXHUwMDE031x1MDAwZZ3guFpaXGK/jIHeyktcdTAwMThcbmdbXHUwMDFmO8fHMkT4XHUwMDE3WWapnj6CXHUwMDA2IFTjcD9cdTAwMWFP4YvG6lx1MDAxOTJI7zGFIYLjlj1cdTAwMGb4x62Ll1x1MDAxZXZcdTAwMDZT3GtcdTAwMWTIfkH84+pcdTAwMDF5njxW41x1MDAxZbSice5cdTAwMDOQXHUwMDFkvMBcdTAwMTlhTt8z9zDTrM7XLe3nfsBU7TZu+1x1MDAwMZSq0/eRfOBcdTAwMDLbUIgyQ6bitlx1MDAxN9psXHUwMDE0mHdcdTAwMDb+8vVD6Fx1MDAxMNn2/8x/t1d8nSiWJ5grtFx1MDAxNJ5Bs3j/h1b8XHUwMDEzXHUwMDBmpblcdTAwMDa9ymG/XHUwMDEybI2nYS5g4EtO+SpcdTAwMWP9XHUwMDAxzjv6gWcgXHUwMDEwXHUwMDFmqiumXHSDXHUwMDFi4zdmuccqmV8zVTuf9WlOVylcdTAwMTCZ715pnJlaR8NcdTAwMTfDRLFcXJ7+XHUwMDEyXHUwMDFh6Fx1MDAxYXEqX7lcdTAwMDNe6HwrrKn54cqyXuDBr1x1MDAxYVxuS1x1MDAxYl862bfAy3rcXGb7ilx1MDAxMdGe21x1MDAwZS9cdTAwMGJcdTAwMWFcdTAwMTampzrDXHUwMDFkMMUyn4YgXHUwMDA2PS1cXFx1MDAxYaFT81ekIyPAXVwi1foknsvUm1x1MDAxZWmzj9nroqp0sdCcXGJpbFx1MDAwZeA4Z3+2XHUwMDBilyhh7LNcdTAwMDLaqlx1MDAxNLI1RNRo1DBLSSVcdMxcdTAwMWO4zj6hJ2+yJODsJX7B+dQlTOGQZI9cdTAwMWae4PxAe0lcdTAwMWRcdTAwMWRPvPhQPORvNKTOXHUwMDAwWuJcdIiTa2WgXHUwMDFiyDfOse1qlj/3XHUwMDA0b2NqT1x1MDAxY6VGOS1jgOUz3OnAzL3TmtGF8GyhhIrdXHUwMDE5i0VcdTAwMTD1m9S0Po1cbn51Z/OjkZpcdTAwMDRRw5RW7Hndf1qlwVKRMmBUeHhMl7kpR404XG5GXHUwMDA2XHUwMDA2ik7mf1x1MDAwNlx1MDAwNu50ik5ANFx1MDAxYTPW/yhqhFx1MDAxZkhbLvHytLOYeK/HLsKR1SbiTkzCoVwiippH6Z9FRTa8XHUwMDAwcHNulKBcdTAwMTajiIyG/fd7oLy4JVhmlvilXHUwMDFjdq6FhFZdOuzp4X0s53ZcdTAwMWZi2Tf6XCL8Q4HxnXMv/+dTXHUwMDBmUWeKXHUwMDAwKvnm+CVwXHUwMDFmcLH1Ia1cdIc0z8sxY0k1/IzYXHUwMDE2/dw9UUqSXHUwMDFje1WslDuGuXhCkaeqLfN5/jazbKyVW2WZlmlMrc/kjVx0I7QpXHUwMDFmKYRlZFmmXHUwMDFmRsNeTa5cdTAwMTGb3lhcItRRKqpFXGbz+P0thnhcdTAwMGLja8ha8fuRLD1D3YaKoCqo/atk1vBcZlW0oLXnxYvbKFx1MDAwYmxUPqRJXGaSXHUwMDE43GM7KG9UfVx1MDAxNrotr01kLYC1SSSXUyqyXHUwMDBi+VeuKlx1MDAxN1stITLUMVx1MDAwNaxcZklVu5+k54YybmBvOTKCXHUwMDBiLGq8g8CX8jshZtTEkFx1MDAwMtzi1YSZlanubE8w37Laq1xm9lx1MDAwNb1Xz/eJ1qO9racr+lWx6G1nXHUwMDEwh1r1jfPFVzT7fOEtXFx/4tNJk1x1MDAwN76oLU6Q65TZLtldvP54K2fFYy2W8cg42Vf4XHLAoNjKNnA9dY9noIeLTf922Mk7bt02WFsj6r5JXFzrXG7rXc37WYFAwmVcdTAwMGLbVe4wKIIgXHUwMDE08Fx1MDAxN1x1MDAwM1xuqUBzN75eXHUwMDE38zVK8vc6MTG5XHUwMDE1LVp+v45cXEM83Yd/4uA/YkNl0HSnXHUwMDE5PSS/+6fy11aWQEbwPY/Tf7Q/Ulx1MDAxMVx1MDAxY17V+Vx1MDAxNG9cdTAwMTmJXHUwMDE0RNCkgEldnWHKjUecuJaF3NRZeiBcdTAwMTb4oFKHWLBcdTAwMWJfXHUwMDE1aGOoN4yXWVdMeVx1MDAwZVlQ93WTXn0/8cV9hZmaw2YrILQh5Fx1MDAwZXN67UhcdTAwMTJGXHUwMDAxa9VtxLtWJfjt9ynIQliHSlxcaH/aXHUwMDFhM3pFpDl/n1pcdTAwMWXjX35t08nIJFx1MDAwZsqIYJ2a7Olsr4WGJFx1MDAxY21DXCKRhGdrMlCuPDODtq57VumYXHUwMDE39YHqQoJdfcZN8p1cdTAwMDSTrrBBX1x1MDAwZSno+Vx1MDAwNaL99GFmUyc2Ysbbylx1MDAwNYmrRXGac0lyP44hY/xEgVxiplx1MDAxZicuzWTpXHUwMDE4btyM02tcdTAwMGVnXHUwMDAyNDBcdTAwMTlcdTAwMWFH71MqNndmeL5cdTAwMWQ72zf2YcAkoZZwXHUwMDA3JYJWo1x1MDAwYs5InoBqMzutm1x1MDAxOVx1MDAwZpzK9ouNXHUwMDFhnfJ8zYlcdTAwMTc+nmOyta/ETFx1MDAxZqGQ1uiUx7dgL6xZm1xcYFsyXHUwMDEx3+k+uuZ2aLfCfDToXHUwMDBmJlx1MDAwMTPNslx1MDAwZlx1MDAxN8FcdTAwMTgwfMOw99v+msuamK9QeOU5u0yYpDjz2fswP8ujJviPV45WOVx1MDAxNFGPV1x1MDAxYordRt6bQC57TuBcdTAwMDSCw1x1MDAxNzOJXHUwMDFj4jOhXGJPLPPyTJJ58TfVujH++1xmyjjCuke1XHUwMDFmt/5cdTAwMWZd+X/jad9cdTAwMWNb1tpP2qL8h/ytIy3O30c6XHUwMDE1JlC4NJ7EQrNuarWoalx1MDAwM+tjXHUwMDE2ydv8m5eJWb/kP6wrl89I8zZ71bZDsGvw2UW2LLj6YydOXHUwMDE4iMZcdTAwMWJcdMVr9Vx1MDAxMe1cdTAwMTU8kVx1MDAxY+UpTfC1Q+tTTMqSgvDDVcNzilsxPIcuiXz9foRrYtCPXHUwMDBmxC5M/m1SlFT3UK6S91x1MDAxYtrtsTeNOmFHnJJyXHUwMDE1WP5YK8F3SzuY2u/l9iakeEpersBcdTAwMGUs9cXAXHUwMDFiP5jYhKRhmmLvWcNe94RHgExcdTAwMDe2XHUwMDE09LiiXHUwMDBiXHUwMDEytKWVXHUwMDE3Ruq5+PVQXHUwMDE3jepqW21cdTAwMWJLJKjH0qNaQHiVJOxmXHUwMDEyZnBcdTAwMDdcckg5p0xccmrZXHSNYTvGMC5YO6bMWjJcYmPTnFx1MDAwMFx1MDAxMNt1WH3f/bVcdTAwMWXM/PllXHUwMDBl+lx1MDAxZDMmuGaUOr8h6tz6ZLZaprrCXG78uNaXa5uDUFx1MDAwM1x1MDAwM5jalsy/y1x1MDAxZoEnXHUwMDEzLyrD0a9IXHUwMDFlJURDaFx1MDAwNEDdeNR5alx1MDAwZSOp84dcdTAwMWZcYtVrXHUwMDA3lvCfNbuBr3J4S8VrTURtOCeDXHUwMDE4/2beXHUwMDE2mVx0bbavhS+tuHT6r8dWwVf/vFeQf1x1MDAwZuBccmKWfb8lXGZt6emRo1x1MDAxOcZlyq+/30DmXHUwMDAz5OBlW9N5tclcdTAwMTEnt5gvkrhcdTAwMWPU+ZtIyMkxVsivWL5DJlx1MDAwZfZA//Mo9Ve1cy6LNsBqpldbXHUwMDFh+Y5Oolx1MDAxNntcdTAwMWb3koVcdTAwMTenXHUwMDFlXHUwMDEwZzbNP+roVzSZXHUwMDBlVDTd9/jwPeeNulwiUI1cIlx1MDAwZVx1MDAxNZXEXHUwMDFmxlxcw3qzYY6ZXHUwMDE4Zlx1MDAxYidWvJxcdTAwMTNlnO5cdTAwMDJcdTAwMTUyNS1nMJU2LIKB/tkvJlWFXHUwMDFkgrUgXHUwMDFkam5T5vX0VmzZXHUwMDAw0o85XHUwMDA33XUtXi3QXHUwMDE2YP3rdFxmqFV8ocRcdTAwMTn48ie37K+XKCrHt6bQXHUwMDBiXGa63lx1MDAxNaN/vlx1MDAwN3Np3Fx1MDAxOLRcdTAwMGVVqEYywXSP2KKhLJhcdTAwMWZe8XdcdTAwMGWgu6f7ta5cdTAwMDRcdTAwMDf62YFcdTAwMDGa3q6lxLTw9Vx1MDAxY1HlXGbdXGKOvs57xogjXCKoTzLiWNx8vpViRbFcdTAwMTQqQjBBWOayrkuyr5dcdTAwMDCwXHUwMDFjOH7EqrnYxePz/eMstMBcdTAwMTGfv2lcdTAwMTRDXHUwMDAzWYlk1b8q1mU89NLr77Rl28RcdTAwMTQ9Z8pcdTAwMWVOXHUwMDAxXVx1MDAwMVJ4V84/9eZcdTAwMWbg+NS2XHUwMDAyXHUwMDAyJZzuXvnvXHUwMDFl5P/m0IO+mVx1MDAxN6nROoqY3Cdbo1Ext0FcYpf6wOr7UkZcdENeSUO1W2fhXHUwMDEyOPNnVVU6nSRQM99SvUffJ29r1GdcdTAwMDFWTVx1MDAxNbujXHUwMDFhNvk57I3PRp1cdTAwMWVcdTAwMWaw5tRcdTAwMGX22o86oZDx+HW5LE7tzqeCesouXHUwMDAwTPcmmH14XHUwMDFlnlx1MDAwZXr3QVx1MDAxZcM9Y5c1XHUwMDE5/1x1MDAxMf76WVA5XHUwMDE1hyRCL1xcL/Q4XGbg+tKJdO5cXFx1MDAxOf3ZXHUwMDFhXHUwMDBmbcThr1x1MDAwZqD8ObbFZySCNaLmoKomZlxuqdRcdTAwMWVcdTAwMTPkz1RZz8BSXGKyiVx1MDAwZlx1MDAxNJxtiSeLmMm/wrZDkClMPNLh08HBXHUwMDEwSlx1MDAxMttcdTAwMWYrXHUwMDAwYGYs8Fx1MDAxMr7B97n8I5+kfNHE4Ux+u7PuXHUwMDFj2lxiQlx1MDAxOc37+O1cdTAwMTJI6lx1MDAwMGHfZ7HhX8ZcdTAwMGWHobU6vZ1E75h/ylx1MDAxMV3bmD+ZxNfr+tW+XGKbctgx4U6ccUeGfEApgFxu+v5cdTAwMDbK73nBk9XQgkQg8aJ1pZXvdoWAOVx1MDAxNn+bsf9eR/Y1hYL7XHRvsIY4647zXHUwMDE0XHUwMDE20z/3nH5bmOzy/zuv/z3XJzpo/+YlhPBDsaJcdTAwMDRTK39lXHUwMDE2sDtxTrJcdTAwMGK92p6Kdlx1MDAwNMlcdTAwMTEvQWBBjVmfkvvdvCW9hvoluHSAxs7kgzh9lXnanPFcdTAwMDNpgqR320Mj3tW3Xa+uNk3L9OuuecEvl3ZsUJpcdTAwMWQhXHUwMDAxZPVAXHUwMDEwwuZLrlx0maBcdTAwMDRDbTJRcvZxQZAtU9NJ8bdf11xcZ1xmJfaKyMX30fvO+NuY6+lcdTAwMDZcdTAwMDFcdTAwMTZK/JdcdTAwMTFSw1x1MDAwZaRPpVx1MDAxMaFcdTAwMTRcdTAwMTdtXHUwMDFiRsxcdTAwMWJcdTAwMGbOjjP0XHUwMDAx8Vx1MDAwMrmzgvcxrtvY2Vx1MDAxOT1cdTAwMDBcdTAwMTGZ29c8V2iiX362nuqyvoN4/WyA5JHcfj5cdTAwMWPxaaSjXHUwMDFiXHUwMDFl3nm9dVxcyUTxqvVlv9Yr39bkn9rPWVx1MDAwNOGWsP9cdTAwMTNcdTAwMWSvXHLr9PlCaFxm3lg351x1MDAxOYCz4Wf9woJcdTAwMTfIl5bKVHyHmDj6l6DTrvyd8W5CLPm8krD4MkZX/bJ5kWhcdTAwMDeiwL5dXCJcbqtcdTAwMGX0LfzP8+Cdz9zGNbX56tbH57XuV7GabVx1MDAwMZNfpZtcdTAwMWZcdTAwMTH3XHUwMDE3xYdmT1xun7K3mNnIXHUwMDE3lYA3J1x1MDAwMFx1MDAwMV2v/tZYzt+XsFx1MDAxOHyaXHUwMDBme4q86X5f0X/3XHUwMDBm72MyS/1pfS5cXCNKQqQsuufdzEHXXHUwMDA1Oaee9ObjOG7NXHUwMDA0Uz7FiVx1MDAxNUpFmZ5cdTAwMTJT2NCM8l2rrFx1MDAxNGKgdEGvuFx1MDAxNbvOoPB9wmJjfn6yn+dcdTAwMDLZPLNtXHUwMDE2zVi6XHUwMDEwXHUwMDA0SHAzMKGjTMLrXHUwMDA3wryeXHUwMDAzPPNl5pzvplx1MDAxYfjYu1mxdrOpOFx1MDAxNVx1MDAwNX8tYTZcYtmoa3qkMz42lJ2eXHUwMDAxnSbFXHUwMDAy3OhcdTAwMTaQdCXp1N9cdTAwMDbO0MxcXOw1XHUwMDAyXHUwMDAyoVaFdO1qXHUwMDExa38mLFx1MDAxNaVcdTAwMDM6XHUwMDEz2liIXG6Sd039bavwQUvt7J+ihX9XdfN1kkZnZvFcdTAwMTfTpsBJoM2BMFx1MDAwYmVcdTAwMGLUUTM14NTnXHUwMDFkKkj4QbNcZk0oNv5VnlpcdTAwMTZcdTAwMWZ2Llx1MDAwN6TL1/Hu+/59kkv0/4KZrJrvxr2Jl6VcdTAwMDSdXGLnnFnLmY9xcadcdTAwMDBKjy18XHUwMDA1Xlx065+oftlcdTAwMDaL4puHV1x1MDAxOVx1MDAxZnRsU4f3I5fVZMMq8WTTWFx1MDAxZlx1MDAwNTLQPy3O+D9h68hcdTAwMDc1XHUwMDFlXHUwMDE0nMCZiFx1MDAxNrDDucT7yEk2coznXGYxY1x1MDAxMsg3Z+CBn1xuqFDZ4WtcdTAwMDfAq2ZvjW4sK8OpXHT+X/T9feyWc5ZvvMmmgu2oKaZ9+lx1MDAwNqJcdTAwMDbdYGpcdTAwMTcl0ajFd1QjXGaQeo3588CTg7+4fyvIuVtXvvFFtTlgkCWjtFx1MDAwMlx1MDAwNdf+nf1gN7aqv6juJzOesGJMhaCGne788efF+lx1MDAxONpMvka3/es7q77vdTouXHUwMDExqVFcdTAwMDZbT8vrt+1k1WijXHUwMDAzzY3oN0lcdTAwMWZK+GJ7NWtcdTAwMGUhlLK4m+f7XHUwMDE3UtxcdTAwMTPWXHUwMDA2Q/JLcGpcdTAwMGaMmGA846BRXHR85Vx1MDAxZFx1MDAxMFx1MDAxOfxcdTAwMDZcdTAwMDUk6mBcdTAwMTLSymHTY0YyUFx1MDAwZSi6zDtyVVx1MDAwMVlkcd0xXHUwMDBi7Vx1MDAwYlx1MDAwMatcdTAwMDAmt6ySanpus+xZ7Vx1MDAxMmyqMixzXHUwMDA2XHUwMDExJraa9oTsXHUwMDAzXHUwMDA2dsbzb1ximp+c7YBBcFx1MDAwM5n3tFx1MDAwMJ2JrtXun0w4ukY6isud8IlXXHUwMDFmRIElUcK3uy1eZibkKj81947RXHUwMDAxXHUwMDE3/3qkgJ03geTLMnVcdTAwMWGVgsxcdTAwMDRcdTAwMDTVXHUwMDBilpx51i6WK/6gN1xikymP4UuzNzqIpYQoXHUwMDE3MGW1lCl5P9nbVatcdTAwMDJcdTAwMDdccja88NzLzvWWXHUwMDBiXG43dEQynKxN3PrfmE7kPv/ol4RcdTAwMTlcdTAwMWKYl4ApXHUwMDE20ofCXHUwMDBiTFx1MDAwNFwi7Fx1MDAwNK5cdTAwMGb3sYZcdTAwMWL/dFx1MDAxMcEgn7ZcdTAwMWHFdLhkiZ4wcXOJXHUwMDE1XHUwMDBmnzbTOKb5UpNcdTAwMTksxdhTrbxcdTAwMWFf8/Jp/jeatr7U3+xcdTAwMWNNUmePhl5u5HAq9TR+Plos6rDY3N9cXDWyW/nnQzfVrm04NlHK8FhMXHUwMDFl+pH+pvlcdTAwMDPQjDhf+XVcdTAwMWOyMWxcblx1MDAxYVx1MDAwN+JJeVlsyqXPXHUwMDBll6PQsS/yzUNlY1x1MDAxZM5cdTAwMWWHduaMVkVcdTAwMDbLXHUwMDE5MIxcdTAwMDYrSDVcdTAwMTat9ue5z6s4W/NNXG5ebFxmrfvwXHUwMDBmyEW797dcdTAwMWNlzlx1MDAxOL/08/xcbo0/3lx1MDAxYzhcdTAwMTGe8n4uIFx1MDAxYi9k8kSs2Wg8XCKH8lf4qFx1MDAxY+7XeUa8NIjlzlx1MDAwMlx1MDAwZnmBeaplbS8oXlrd16r9zGJcdTAwMDCAs/By8YfthpKJf19JY881XHUwMDE2m7k1UL7GTG5U4M9z5KY6XFxS/HhSYLHUILPjjlxmnUPmpENN9oAojCNil5D2P83dhNf1R8h2ZH7wqTqo7uXj57flXHUwMDE0Z9Fv+45cdTAwMWI3Ldt/1fKYzb8yL13evmzTR3nV68vOoqythT87fVxcYX12MMFzXHUwMDAwTtzFXHUwMDE4IPORjGjPXHUwMDE0Qu3AJay/qHvu+7BY/vRcdTAwMDP7Pl79XHUwMDE0XHUwMDFmzknuOe+uIECs+Fx1MDAxNF9AkOjHZVx1MDAwNWszXHUwMDE3LnbdmsDtOk7l+qAroSG+57z7vtlcdTAwMDO5XHUwMDEzXHK4XHUwMDEy3VxmzXnC9YxltvNA0sQm8IQ+I3jYXFzJj2VBgUNd6TV5LffFRVx1MDAxMGsv2Fx1MDAwNc7++6UoLDkwdv1mvVxuXHUwMDBiabdqQtKo3bxa9qS5i2Zb81wi0iBlaHb08v5NcPhvbGzVgalnrZNyXFyRX21PwFx1MDAxYvz+sypKeq1Wwlx1MDAwMHW1Y7OEXeUlSKA6tkd2+eGnjlx1MDAxNoDL9nC2mo3gg4tryfVcdTAwMWJJJlx0mlxyIdH42OykKajT8YtcdTAwMTMspJuOitrzfsTc+OaL2Zp9SVx1MDAwMNQ6jDnGXz/3VrRcdTAwMTbsoNKSTFx0XHUwMDA0LOlLlD9cdTAwMTbaZKfXv/B1zsvMeJWHbvPWOmbSfkRjSlx1MDAxOTNxy8tLzF1Y1YaXXHUwMDE3rSWHXHUwMDFhTcbnrZU2pDNcdTAwMWYvXHUwMDBlWrS6Jlx1MDAxOO3XKFx1MDAwZo5cdTAwMDcpsmlcdTAwMWX+e1x1MDAxY6j58q84gPDvXHUwMDA3wWdW4OzJstqSn4XYfOJ0XHUwMDFkmy9YXFxA8ItcYlx1MDAxM1x1MDAwNVx1MDAxZkW8sPJaf7JcdTAwMWVVuUrxdHItmSAmXHUwMDE2NCNiLLrVkTTuXHUwMDEzv+liyW69cLVC+1x1MDAwZZ+7XHUwMDBlkqk9oVqbXHUwMDFihGg81ELwcbm5JVjqoFx0g0shXGYqXlx1MDAwMlvmkZF1R9vYkMqcXHUwMDBiXFzyOelzh9vPKdlcdTAwMTOWUULAcMRH6USybExP/YAtlC+g/FxySjufIZqFhKZSXHUwMDE5zUFUPC6Xq+bZVdlcdTAwMDJax/CuV/DX+dwq3tC5z2XdrVx1MDAwYpNXp1x1MDAwMJv7jU/V81Bwa1x1MDAwNtGpb0zJPLlBY//kyn1FIFx1MDAwZTnDYGG5aXLLJl47+1x0oOflaFx1MDAxNnGZO1x1MDAxNVRWrVlX5mJcdTAwMWYqqCdR2mv+XHJcdTAwMWLeoJ+xmH6P4nbl1CFxk1VVhME1XHUwMDE02taOIEJcdTAwMGV33qU3fO5IUGlcdTAwMWbES0l4JE/ht0uhXHL/MEnYb2z71ozi4pXdXHUwMDBixfRze29AXHTa7sUjsDzLnv9Y7Vx1MDAxN2ptZMa+fJpa++Y/XHUwMDAxTFxcd9WIOeJtPpkqXHUwMDAyobDwszK5sMHp0ZdPXHUwMDFhmlxiUK4yoP0mXCJMXHUwMDE4XGKu0M/Hodo+dylcdTAwMDdspT742PdW3etPhYwo6FJi91x1MDAwNid689qaOpQ6mrLJNez+/kp80Fx1MDAxNPw/1qf+h1x1MDAxZE4uif7mgrJcdTAwMDJnfshWam0zWmaLjZ52zJjCtjPO6/MkXHUwMDEw7EWQ8MNuV1x1MDAwZZ6v2d+hduxrbELdQWtcZlx1MDAxOEm+RVx1MDAwNZ06elx1MDAwNbYvmFx1MDAxN1x1MDAwMyXCa49qqsmycL3r41d61emkXHUwMDAykL6/9DXr22aSr2DZ53NHMqPUqIBcdTAwMGLn91x1MDAxMSrr3MlcdTAwMDWl3lx1MDAwMtPRL1x1MDAxYnK5ZFx1MDAwN1x1MDAwYr+85mZssENJ4y/3an9kRlx1MDAxM/E57/d74zkzOVx1MDAwMsftLZQt0cz0UY+a5TxcckJxYNdaOVeaZ32zP1x1MDAwM1x1MDAxY7dMRrJcdTAwMTXnPC+EbL5BYCf3Ts3DweoqfFx0xPjpIT5tXHUwMDFjhWL8wGtcdTAwMTCbYzowslx1MDAwMO1cdTAwMTS6yb47OWPwgsg2YMxbYtCj/pRoraCf3ELtTPguXHUwMDA1XHUwMDAzjzXbsW6ZXHUwMDEyrCapXHUwMDExZDG0wVxmzP11zP1FoK5EXuPwySGZoZfaZPSHXHUwMDFj3cQ0M+La56rthlx1MDAxM0vDeGT0ur9jTbjKiDI7R8aITGarXHUwMDBiNc7c41xmsnt5pFx1MDAxMpZkQyw071x0QDW96Vx1MDAxY1x1MDAwNbNcIiv+Ulx1MDAxN3nKmFx1MDAwNlJnIyh9rFx1MDAxYui5MVSX/7nQtmt/O1x1MDAwMleFxsT6c1xcpOhm/7ufXHUwMDFjaKfmlXZcdTAwMDPaXHUwMDE2XHUwMDEy6Jq95FjI49PDg7+5XHUwMDAxwZqlXHUwMDEy5Tp4KrFcdTAwMGZAI/g3XHUwMDE5J7GVJKPatq1kbfmkj5aUZ+nl38fFd15jWP2rLZv0vnspxKfMl1x1MDAxMET0ToDxpLVE82lPynK9XHUwMDE3PKNcdTAwMWFRXHUwMDFieWrrb/hcdTAwMWLXwZWepNe64t969lx1MDAxYldcdTAwMTHIUUf48iaJtfbnS/ax1G2wcfqxXHUwMDBm4Oe4olZlJv6sXHUwMDAzypyyY0rMUVx0OqphPiBcbtNcdTAwMDHgoWzYXGK+XHUwMDAxrMk+7jG+UKFcdTAwMTPtcyFcYjMp/fVHzM7cmlPyXHUwMDBmXlx1MDAxNOtrtY+AI/xizLp19y7C2tlcdTAwMGKqfrCNX1x1MDAwZfNVLt+25Z95lX0u3+IgKVB5OStcdTAwMGVo7flt+8NVXHUwMDE4XHUwMDFmb+Nduz+Sn9NKoXxwJvR7/LNDn4fjz7jRtCRjfpnug0ctmebnXHUwMDBlxJC4IP02d5rNSpCysXv/XHUwMDE04/BcdTAwMTWjaudM7jVcdTAwMTg7Vlx1MDAwMNQr8O+HptNfXHUwMDEzf4uHV9Jxl7NticE4vUxcYt1cXFx1MDAwN+k/3PhcdTAwMTYq1yNaV81cdTAwMWHFxNj3Z6e03ZZcXCyP6KXHXHUwMDFmqFx1MDAxONAs/G9xUOew+6dcdTAwMGZPoFx1MDAxMDRGeMSJP3IlaldLakYjWtfDQTNcdTAwMDNOf2NzZusnfPGpXHTF0cyOUCtcdTAwMTeEztGsXHUwMDE2YDeWPXHlQzpcdTAwMWV++4Kkoc1cdTAwMTg8N+eqLyRuU2SjN7nwXHUwMDA0RVx1MDAwZebPfmMl57NcdTAwMTRcdTAwMDPSMqa64TIj2FiNoFx1MDAxOZ1+zYfWXHUwMDA0n3VcclXNWvzhczAo9avF2mS9T1x1MDAxNi+eipnqLzPl2Vx1MDAxYYjrKysuVjRKKaGNQFx1MDAwN2BcdTAwMDMvLEhp7XFcdTAwMTaUuFx1MDAwYvLw41x1MDAxZS+B02Zyy0K6U0nxRyxcdTAwMTPCvHpuT4KsbGFFjFx1MDAwMk7gUVVBkfPllK5cYqRcdTAwMTW6LOg3rFx1MDAxY7NcdTAwMDRcdTAwMDQ3/3Vg//knXHUwMDA2hj5qglxy61x1MDAwZY313HWzVbOVXHUwMDAx+7BcdTAwMDXBUZI5QyaW+jqWlH5Xh2NcdTAwMDLaP3s3gfJI/7tz6nI1ysd7QsOIsn8z9Jhwxrswimb/7qxcdTAwMTM/72jpXo5O2JjeMtTyO0zeUC4x58tve5VX8ve590ToMTMmW1xiUstcdTAwMDNcdTAwMDWe0du18OWtwpqAjC1K4YX6T5B/9X/ji39jjm0raHtUN3S1wJAjXHUwMDE57q6TT7NcdTAwMDaLkzE8cTZJ4HM8UHKqdDxdkFx1MDAxM89oQfEk6dyUXHUwMDA1SGA/L8SZVDy7XHUwMDFky+aTvXWv1k9cInNn9Vx1MDAxOE0ynVx1MDAxNeyPsek6SKJgzvauf0xNXHUwMDA0dutMJWyqZ4VeKcM+nd7shlwiXHUwMDEyXFxcZmyofnZFXsDwVuVcdTAwMDDuXHUwMDAy2fIt9IhcdTAwMTSUO1x1MDAwZSnr3Y0o9+pcdTAwMTFLZJsjnnynjd0kyTTTj7NcdTAwMWOLcOIq23fRXHUwMDE20yq+XHUwMDBlLCdgi8+fgzKA7NKhJlPV21x1MDAxM7e+f5LiZ3Z+LGy0/JXwzKSsR6VVXGZcdTAwMDRbTVx1MDAxMna4Ma2+StvD+lx1MDAwNcmRP8zCXHUwMDE18VJCxllkhafcXHUwMDA3XHUwMDAy9LbsXG5cdTAwMWHgeMJxz9+KgaFcdTAwMGL4IVx1MDAxYTfXPSGetSS3NeDPqFx1MDAxOCMvQ0Wzu3mR5DNcXHnjTJzoi/ZcdTAwMTjHuk0pfEtfK2vR+fGVXHUwMDBlaYHNmDtcdCNcdTAwMWKYuDLJS1ivXHUwMDE0lXfsR4iOgf0kbEw+c/1HQWM0XHUwMDAyv21cdTAwMDdJM0m5XHUwMDFja1x1MDAwNOlv71x1MDAwNddcXILhNqmtXHTLRLvC5Vx1MDAwN3lh8/ubhCmyOb7AnYf3tGS0j+tcdTAwMTj8r/OK2VDQ9S5cdTAwMTeV7cv066/qkuZcdTAwMDS/af/arTSdd9IgisGCke9HXHUwMDEyocyI1YkwfUjej0qOzWy7XHUwMDE3xFxu1zVcdTAwMTj4XCJPn6shXHUwMDE1R99TQNk83PE4qcdTp6X3z2LhfDSnUnzTfZJGmM5nc3BNn+XYWjY0JONcdTAwMTltX5eiVzWn4NHnu/b+YtRw/Cev/u18M5CGzUvF6nR+WF/U91x1MDAwMbFcYj1j1sD+u1x1MDAwNMoqjFpXkLaRXdNMK85pKY6beVx1MDAxM4f5vKyhsSYp8q41sJGZxKF8ZlxyW5FJJv4y5/lHTCg+5EbCXHUwMDE0UGdq/t/9c3VsXVx1MDAwNNhcdTAwMTHlaVx1MDAwZoP6KCxPtTVFn6HKUvtcdTAwMGJcdTAwMGVcdTAwMDNcdTAwMTerQfV4yD4xr7Z7WblVSektJ/YqXHUwMDExJV9+vkDGY3e7vqFp+8t6psFiXq90KKRcdTAwMWF7e6bSWa+qUz53dWUof1x1MDAxZVx1MDAwZmXJqdSg0oX1XHUwMDExhJpcdTAwMWSTU1i/fS82XHUwMDBildfhXHUwMDA0bCbsP9KN8yiwject3cXs/ySeb8jeXHUwMDBm7YWnuVx1MDAwNqPav97J03OedrUqaqLHL4i7UHUph+tZsvNf/YfNLmdW+70qXHUwMDEwr47uKI1qTtsjWJygWDQloNrRTuei7XMgXHUwMDE5YP5yhezAlaF+lFx1MDAxYthcdTAwMDJcdTAwMWQxXHUwMDE3cHEpSlx1MDAxNGmzb0xcdTAwMDdD7OvXaFNjXHUwMDExNs6v5Fx1MDAwNlx0xDl8yWXhy+DTgFx1MDAxZsLvTEJcdTAwMDZ8XHSTXHUwMDBmd1x1MDAxNTtbbbs4XHUwMDE44yVd4ZM8wOdya9RtonhAji5zz+NcdTAwMWSd7JjVNC9cdTAwMWEg5jK1ytx5Y3KmOvrNanstXHUwMDFhlJ+YYeVvekKUnf3uXHUwMDFkXHUwMDFi5kiJnlx1MDAxYe+jVsw/N7v/UJBcdFwiXHUwMDA2RUzwczVU2NAqyNyK2v6daJ9ag/JgeVK1OnOT67U09udcdTAwMDKoXHUwMDA23i2PsJCiPjOZUjrg15xTuXJXX+Tn9/X3NniDXGJcdTAwMTj+cdSveuBMRDA11t7IV5mbqzlP762NzOuYQKDzVk5C+MTbdaHH1/X1i/NRspWC14SWdv3txCBmc7xccsHy0IeLh1xmzsbbdOzje1xm5fnlpjSII1x0Q4T5MFak96VcdTAwMTVnOM80lzVZpJhNQKs5demzS0Xx+VxmXHUwMDA2Klx1MDAxOJ5ccnPxVlxcT0BcdTAwMTWI9mSFYk3q9Z/rh//owX6u/6px02dLU1hr61Fll5tcdTAwMDfGSo1IxmFl5ypcdTAwMTCyJrvwc8L7ZyBFwLTlXHUwMDFkO+HHXlx1MDAwNZyNR0JpxSTNcVxyNadMS1xmXHUwMDE3PT9dv2l8zmbDKWaVRfYmk728oqryTluvfz+ZbCHRvkBxdJ1Vglx1MDAxMFEop1x1MDAwM8e7eFxu3H+tmWRZ0Vx1MDAxMllcdTAwMTUzgWfqQ2rrSn6u1bw1i1x1MDAwMZ79Q1x1MDAxOYv2zVNvXHUwMDFibEi6irub+GlN/PLKwpzp7H00XG5T+moy/1x1MDAwZVXba1RcdTAwMTakQjU/zy1XXHTRQVxud8ljudJcdTAwMTFYrD9keeV2u7tfaFx1MDAwN+HP7fZuuLiH0Fx1MDAwZkpyXHUwMDAxiTjEdTf3b68gyuBcdTAwMWHtNlxmLNxtg3lcZll4v1x1MDAxYVx1MDAxMGUrXFw88dXkorIz63dmp7vk+0VRNy5B51xmXHUwMDFkXHUwMDE0c1m6m3fRNfei2mmCXHUwMDA0blx1MDAwYt9daVx1MDAxZpwzkVx1MDAxZLNcdTAwMTA312r9mHFfWdM5T7r9sZK2nHZcdTAwMTGTarVl5PJr+WmqNN/vW5vwXHUwMDA1plx1MDAxMWJcXJqjVWTSXG5cYl/Ayzo14K3q5uRcdTAwMDKaPVx1MDAxYpNcdTAwMWP7XHUwMDE2o0mKQXj5JuBcdTAwMDBf+3/3XHUwMDAzVlx1MDAxM9oz11bpSFx1MDAxMsd263Gr9ucg6JTR3v3rYyXdj1wiXHUwMDE0XHUwMDExXHUwMDE3slx1MDAwNM7yyUVG/arSXHTc+1x1MDAxNMRKz67sstDOKsYmZdN6K8a2RrNNOc6AXHUwMDAyj30qTPdjRk4qv5D+d6efwsJOffNcdTAwMTktQpLTh3P+81x1MDAxMPPzXHUwMDAxP6JcdTAwMTBcdTAwMDZDxZD10E+v2Ti0Y7OXwCn+LtVZb6Sq9SlVd1xysfgkXHUwMDAyXHUwMDFlkVx1MDAwMFlYjPFPo3hcYqWmTGyLm+PyQOPRXVx0XHUwMDFkJ0qk4iDkbCdDwZRcdTAwMDFcdTAwMWZmrKhVrEGKxn4sSYlaXHUwMDE1a9/V2uI69+t7Ub90nfX0j/7p4inMqMGJSocxRzn+RmWJXHUwMDFkT1x06DmN7jxcdTAwMTQo1DPl71x1MDAxYtz7P/PP4Vx1MDAwN+K0XHUwMDA3XHUwMDA0WnT8ZK3NdM5cdTAwMDc4rkpoqMOu3vo6mVx1MDAxNyU9fnBcdTAwMDFcdTAwMWPabN1GXHUwMDEy/4ev91ZwXHUwMDFjabptXHUwMDFmXGJcdTAwMDa0MqFcdTAwMDFCa+FcdTAwMTFaXHUwMDEzWj39Qc13rzfzXHUwMDFibXRVd7FcYkbu2CszXCKSXHUwMDEwflxcXHUwMDA36OHYX1x1MDAxZLyiS5N5XFyMd68r0Uiy8sxcdTAwMTdcdTAwMTH9v3qSjzWUmIt9JmarXHUwMDE23uBbIKHz3WuJS5Kp4K//4m/2w1x1MDAwMZLwXHUwMDA1nrRcdTAwMWQq6NDokbjsXHUwMDA3SobE7ZjRv67592v5z/47UzhcdTAwMWFcdCdcbtfMXzSLWaHDLVr4m1x1MDAxMX6C0ZnlXHUwMDAwXp5BXHUwMDBlglFGlbJdTs2gwu9SfqVlJl3CR7TuXjlcdTAwMWHzSj05WFb1vjlr21xigf/CXHUwMDAx6FkneumJ7I3fXHUwMDE3PJne8WHKnIAvM/VcZnP8XHUwMDE0+/cmL5VcdTAwMGJfw11dekDubSnmtSq1fz1cYofmgSyGO48k0FRcdTAwMWTnNI+KU1x1MDAwN6i/6jTxVX1t0DPkN1x1MDAxM4JSMvfXV/mV/SDdOvqucbaDX7YyxUwssZRcdTAwMWKZ73xcdTAwMDd300FcdTAwMWJcdTAwMDV1X9Z1fd4xmMRTRlx1MDAxYfs4pHiZn5ZWLqrxjlx1MDAxNifF32Ppr7nMPErtVF7P8aNf1VCCJVx1MDAxNET8XHUwMDE4qm1QNHxcdTAwMDBcdTAwMTiPXCKVT1x1MDAwNNvI39qlXHJcdTAwMTVrbuWOgETNujo4wJOK2lx0XHR2035cdTAwMDPsMLe/Z1x1MDAxMPZyXlx1MDAwNI7IpmtOan1aVIRn871cdTAwMDZ/OYtOTbCtXiVcdTAwMWVDsYBcdTAwMDbZRDMzq7ZFmuJIbJnTZKq/eVx1MDAwNK82Wlx1MDAxYcpcdTAwMGJegVxy+Z5cdTAwMGYx4oJgMczpRKPNT92VbuK+QnnR3KR/0D2On+73XfUtXHUwMDFlilx1MDAwNDSpYrmy/sqC3+tcdTAwMTH5XHUwMDA0zqJ9+Vx1MDAxMaautFx1MDAxMYri6i/A0Fx1MDAxNVx1MDAxOIjzpty1fv21Z6x7gse40JI5XHUwMDE5ZTPwKaW8SHGg6DnE+a+4omaJeTVcdTAwMTH3ZVmjb6lcdTAwMTGAti7H95+mJbFcdTAwMTDSSD7PjmrIp86CJK0h+tSmVDvamJrTcX8trMTJsUoo+C7GtP8qN1x1MDAxNjCxWFx1MDAwNMFXfVx1MDAxNoz5oH9bYW/On6XKVlx1MDAxOVx1MDAwMUbH5SdcdTAwMWEop57BcHqMnFx1MDAxMOmY2qz9ia/Ea6I1biPkQ1x1MDAxNXW5SifF5G/eQiEjw8V8XHUwMDFmyV5QXHUwMDAzXHUwMDAxXHUwMDA3xzVaMFx1MDAxMnpp8XV6cDeeRs1foslqqy1FWE9UyutcdTAwMWRcdTAwMWRcdTAwMGZcdTAwMGa8maI2tCujqtJcdTAwMWRTLnxZMXxcXFx1MDAwN6V4+JtDXHUwMDAxgDZcdTAwMDW22sOEXHUwMDA1VnVm3Fx1MDAxYlx1MDAxYyRcdTAwMWQ8NPKct1x1MDAwMVU40PzsbE3VkFx1MDAwNPd6doneXHUwMDEz8ohoYmVcdTAwMTTFaNpRuX6RWXuxXHUwMDBl1lgyZbZsYI0hmoZ4ilx1MDAxYpon8F/NgmH/XHUwMDE47us2b7ZcdTAwMThHaVx1MDAxOXR0RIrwm+a8RVx1MDAxYVwiXHUwMDAx2ZfHqDWRuGxcdTAwMTVcdTAwMGJsaS3TRNOosGdQMlt18pBcdTAwMTZAlXtDSaf6WyCqsFx1MDAxYrzgltxcdTAwMDJcdTAwMTXnx/7MXHUwMDE5ztZQ+LK1XHUwMDEzVHm5nCROXHUwMDE3qEzQ7EhRXHUwMDAzXGKwTdhPwaOnrY5cdTAwMTBtPsvI62pcdTAwMWbU/Cz8hluGN5BcdTAwMDNcYkNY2FxiXHUwMDFiI5qmN/xcdTAwMWZnmlx1MDAwMCeIXHUwMDFm7tXpPJOtrFEjXHUwMDExJizxfoHA6EhGXHUwMDA2ikN8f3KD10ok4iS/ijyV7Vx1MDAwM95QJbN4fyNtpNjPhDeXosx+XG73qOnkyNs2p3L77PTlKCXXj+ycPnRh7kyhZoWrrlBarjDtO+jsYpVcdTAwMDJnbGX6Qyuzp9vOhuPtZyO0XHUwMDA028v4uVx1MDAxMC47QlO4RVm/ppP7RINDzUFb9sSibjrr5pFcdTAwMGVcdHPk/CiO60SCgVx1MDAwME6euYNcIpvOXHUwMDE4Jc57+rnPXZVcbopv83W2TFx1MDAxOF3ANiQlLlwirFx1MDAwNL96lMkgwc3fqJ6Euzv4WYlcdLwwusEupSGXrUFhXHUwMDE1PyW1YpQswKZy6EP4v4fOkyFkmHKg4un7rlx0XHSfbbq8dKKZzN9kz1x1MDAxZlb6XFz4S1x1MDAxM6rkXGbEXVx1MDAwM/ErROBP6iHSXGar6+bSUWfD9fVBXHJBXHUwMDE3R4xM97BmTPal44JSScbj30zwXHUwMDExXHUwMDE0ZOghyp2xm1x1MDAxYlDYXHUwMDE0WJXCVvfcIzF3/FjwPlx1MDAxMFHt5Jr+weYompRU5t63s9TJkmJu+bjW2Z2aiZtPhegpQJZcdTAwMDeMl1x1MDAwNiBde0LNhef+Vy1Ttd+/vzpcdTAwMTeETDr0O5VcbnFcdTAwMDf2KFSD7i04w1jossvq9qWuXFymlIrBfqKw1uOLwquXsZ+yQlx1MDAwN1DsXHUwMDAwKFx1MDAxZLuUiqhcdTAwMTeVpobzmc+xTuxHqWtcdTAwMTA6MeF0u/3ls8VvXm++XHUwMDEyzW4qSaVwqopcdTAwMTlcdTAwMWRiUl8h4T7E373TvqDvsVZcXE1cdTAwMWQ8fGsuXHUwMDE1Wn1B527XjHKMhOSCPjT3lLuYNfqOnMqyylxca96BP1x1MDAxMVx1MDAxMW9VXHUwMDE3uM6D5Fx1MDAwNfvDPKC2rM9cIpqN/ON61v/e1vM7qp57kV10f8/LM+xfn/smd0qXjuTrb9abvnLwbMT9ZVLNt1x1MDAwZmPROLj++J+/Jt/coFx1MDAxYoelkv23fYZDSFx1MDAwNU/kS76D7pmfqMKRXvNcdTAwMWHMX3Pji7zWXHUwMDAy3M9cdTAwMWO+Lm9cdTAwMWOjspu3XHUwMDFkJ+VCXHUwMDBi7cz+iqpcdTAwMTRFUlx1MDAwZatcdTAwMWY7XHUwMDE1SHwoW1V4hLhcdTAwMTV0Pkf5XHUwMDAwpuk6JVx1MDAwMKtzW/3reb057qJhad/s+0WUXHUwMDExNkI6PbbdXHUwMDE4XHUwMDFiPtIldJ9r+yvoXHUwMDAzfZ/+6yTW1l5OQD7JXHUwMDE1pWhHuGiaZmX1pl7TwXxrXHUwMDAyOI79yYKLULnlN3mnmGaYb7PB8FvAXCI3uVx1MDAwNe9qXHUwMDA0fI6SNujEPLr/7MXB4789rVx1MDAxY2SCeDu6QvXl4oosXHUwMDFjKW1cYsy2pSdB7lx1MDAwN1x1MDAxNOgqc1irvmmgXHQ9P7LgSlx1MDAwNbZnaN+QlcxIdWdcdTAwMGUgMcyF3Y5xqYK1XHUwMDBlUCOrpjqWzLr6ScfQ7Vx1MDAxNpu/XHUwMDFhXHUwMDAyQeFwrbajopZ+OlObIdbV/m6ktuFcdTAwMTRX/DTOy+Hwxz/JPPZaRJrc970+ZHztKcPQx33CsagyKccr06ZiXCJ32JfYlbktl33aM15RwVx1MDAxNMl/olxmv+7FdkZ1X1xmffhirfd1I78hxjRcdTAwMTRcdTAwMDDzl6Zcblxm1vCmXHUwMDFmeupcdTAwMTPXN3pcdTAwMDJh9SH9mInyYW5cdTAwMDfZTVSRS4JFXFxD71VcdTAwMDMv5Czgm/NcdTAwMTNPqyhcdTAwMWGNWTO1nS8vzeJcdTAwMDNcdTAwMDFcdTAwMTly2C4zxnYhU1/Xca6vXHUwMDE2MjopXGIoXHUwMDE16k9cbuZcdFx1MDAxNZ9v4LFmPlxi5J7QJnmIV1x1MDAxY2ZmacpcdTAwMTnWXHUwMDFk4/h81kS6XGLx3Fx1MDAxOGK7XGZcdTAwMTbjxba1ZUz7XFxexDUolIPR55S/WjO77rgrhVC1mFx1MDAxZkzfq1wim2fFzU2zIeWq9Hfd/dZcdTAwMDF+rmNad1x1MDAxYVx07MRdNFx1MDAwMH/SXaDa8Nm8PVx1MDAwNspcZlx1MDAxNfz5IYlJIf8tr/wvLr78X49cdTAwMTZcdLDFy21bP1x1MDAwNE1cdTAwMWX5XCKPlVx1MDAwN3Y8/YNyNP7cjYrqplx1MDAwNH7vXHUwMDEwQbd11/NS/1x1MDAxYy+SICVcdTAwMTLeXHUwMDFmP3hTj4Y3cVx1MDAwZWLfdJgyN2xcIvaUoVmbaT5DdEmc5lZcdPSqrELY4Vx1MDAxNSO+hoN/XHUwMDE0jkOFy4GkXHUwMDE16yM7mMGYXHUwMDFhm5LUU43iXHUwMDEybFx1MDAwM51Ru9qm8lx1MDAwZk/AhyexmWpcdTAwMWX3UCTTRrT8n8Im5JtcZlqKXHUwMDE3MlxybFZcdTAwMTW00VPZnUy6nI/yWzY/XHUwMDExgHyiSOGc1cVVw1DnvDnZMVx1MDAxZMS2sTn1OJpwYWe4Mlx1MDAxOGR63UNcdTAwMDNcdTAwMDFNqVx1MDAwMPff611cdTAwMGZcciVcIohNgP7+UWbH9mxcdTAwMTL95vCSXHUwMDBieEtg1vNjWiks4PuIlSNcdTAwMDLecEtJVKTtZZsrvuNcdTAwMDVcdTAwMWKPJfXBOezQbp09qVx1MDAwMjNuPCNrkr6xUKy/jsvZTye76Ct/3JnEnubL9MlEK8e6aaDVZpWDx0mJPEvLXHUwMDBlXHUwMDE0iyiKQlx1MDAxMZxHXHUwMDAxp5T8M/yCrjCh0N2gwvQ1kVi9oEBdp14+OfNb9GxcdTAwMTG2i/uQgqzIMP6gKJhGhbxcdTAwMDDZo9D/fc6xiMnffdV5Kbj7cqPVnVVcdTAwMTRcbtxES4Nxb8kkwShTs676NHqvb4Jt6OvkW8CQxe32yJjxnO9mxaKEnlx1MDAwN0jyXHUwMDE3RlGlbvSfdnfCXGZcdTAwMWKR1zqwXHUwMDEyzlQ/XHTKsWJNJ9pcdTAwMDGTWSY6ipLrP1r/XHUwMDBixOpew9qMm1ekXGJLjSTlpadem6Uv28tplVwitlx1MDAxOdrLKLC6aOiCVdndOS9fSVxuQLl2Vcago1x1MDAwM1x1MDAxMOycJ4lcdTAwMGazYOFcdTAwMGWxn54hWVx1MDAxYavfl1rZffX1d12hjM6c61wiPDVVnFx1MDAxYsoupDjm8kJ9QtStrM9leHBcdTAwMTd9b1x0p/FcdTAwMTR7NVx1MDAwMXORgCZ8U6VcdTAwMDOT009J6Vx1MDAwZTaX+cltiLz6bCxcdTAwMDQ2+TzHd7WaXHUwMDFjc+NSn2VNkqAvIFORgSivXHUwMDBi+1x1MDAxOYJ42ScmJ9kpx8VrilDj8YTuNfZcdTAwMTeYXGbZyGqX+Ca345WdYNC6342mXHUwMDEzXlx1MDAxNlx1MDAwYlx1MDAxN+xWK8OfsFx1MDAxZiWpK8B/zjJcdTAwMTRu+UJcdTAwMWKv/FLp+tu/5uwhYaEt/62Pp1ahXHUwMDFhTnFtPNSjxzJcbkhrKY6QXHUwMDA2bykyq1xmw1SM0Fx1MDAwYnZgz+1cdTAwMTZDP0Lt2pn+5IDmXHUwMDFmZYJcdTAwMWRyNrg0rYtlN/9XbWWs/a9cdTAwMWWH3/GrWJtylFx1MDAwN2l+SrDpjuhYtVx1MDAxOODZRiX2RmlcdTAwMTfF8Vx1MDAwZvySNpaKV2tFgFx1MDAxMsFbRfuJ9r1cdTAwMDF9KvROXHUwMDEzTyFcdTAwMGabXHUwMDEws1xmqpZcdTAwMWZ8mJ7FaP9CxK4ku6lo/4dcdTAwMGXxhf7MUVxiN883IFx1MDAwYiq+XHUwMDE2p9pM1PzOy1x1MDAxYZnKklx1MDAxZWZcdTAwMDKujnCeTsFRQVfpmEpq09K1h+L8pC1fb2a6hYog6JmsXHUwMDAy34bKqHJmgMz7rGvDb6xcIoNcdTAwMWWkI/pJN6XTTmQxqczgsELw2KmO2tZTZ55E1arPk4TZhWhNLeGxuoBbzkRWXHUwMDAwyPS7dWBcdTAwMDJUOjfenVxih03rKttkdmQvt1x1MDAwMFZaW0xAN3xFXHTn/ZtcdTAwMTcoYFFmzdN9lKCpXHUwMDFh65hcdTAwMTMgz8m8gJg9JVlTXHUwMDEzlzyBoi9dXHUwMDFl4kJcdTAwMWbWQWZcdTAwMTk9XHJt20pcdTAwMWLoVdll2SjA01xiXHUwMDAwXFwv61x1MDAwMSyH08TmVGJtWL+G6EfUuzRcZlx1MDAwMFx1MDAwMZ5cZt0nUPZcZiEsSq/R7b9cdTAwMTPdxXxcdTAwMTikNMdOhFx1MDAwMyfgsJL5cubBITr0XHUwMDE1qFx1MDAxMI5cdTAwMWJj+/iMd5VZierRZj4wRsuVgkWMQuIkLpE2emDbXHUwMDBik67l0Fx1MDAwZojanVx1MDAwMH1HvHmWpHSKjyWZ/15fYezH395cdTAwMGZC3tZcdTAwMTWbYMzASadyzChcdTAwMDJcdTAwMTfsRu+LnTJcbqNcdTAwMDTTXCKodivfXHUwMDEwYTC1xmMtqqGmr+wh9fat2Vx1MDAxOL1cdTAwMTDdbIvcPdhcdTAwMWKThaKW0NY3XHUwMDEykKns62FcdTAwMThMPGWwXHUwMDFjzkVV5JRm+3xHqZ2uQ1xuvd5cdGGLP2JtM1x1MDAxMTJcdTAwMTRxJeB9TjZJ2TZPx1x1MDAwZvRwdTriKOPxgbWrLsD688kubHjpRomaVSDhUFqP85VBXCI7gCNLZUWa79hvfnGFqeu3lbd6XCLkb3nUTqUhwKtcdTAwMDVcdTAwMGLA+jNccp5cdTAwMWI9XHUwMDBl8y+QfZZccp9cdTAwMWaik79Pk54pp95agaVT7HJX891cdTAwMTVcdTAwMGVIgOy0eIBBzJ/6U8d1Q77Vw1H9RdhY493nMr7aWX7BKNaap4DbYXyRhVx1MDAxMdHEVnEv7DPxYFxyO2NKZ1x1MDAxZFx1MDAxY6610Vcltex5henaz1x1MDAwNWRs72Gv2JPkm5ZjXGaKmYbpiIR4huZcdTAwMWKjXGblXHUwMDFmYmOQkIPO4H5ccq93tdj/r+cvs000pUHpsiqhglx1MDAxOUKDkfb2XHUwMDE0XHUwMDA3xs3POoKatTrZKlx1MDAxYTCJXHUwMDE5r1EoJ1fMgj1ik1x1MDAxN9klXHUwMDE42Ngg8IPkUtGNLGtEXHUwMDEzW8nNr2tGN/TTRtXWwtFcdTAwMDfcn3Ih08J1htBcZlRcdTAwMDFMrsNcdTAwMTK5+NatjrVI2Nd5g+Rww8a4I3kz/fK+O1x1MDAxNy4x74aaZUXQnZFuc7dy6cJcdTAwMGXKgTdDXHUwMDAyXHUwMDAy4j+4yavSIPnrd9nQZd1bmVx1MDAwM5s9d9lSXHUwMDBlTFx1MDAxNqMlijNcdTAwMTAgv1xiMDFaXHUwMDAx0JVP/018bvVDIc9mgm3qXHUwMDE5r5I2XHUwMDA1hXdcdTAwMWREfSc46Xc1jzioXHUwMDA1Vfxy3cS+5lx1MDAxNj6u8iiOP8/W/jjwVGQzXHUwMDFk7lx1MDAwYoNbk5Fs54tInlx1MDAwM1x1MDAxN/VjKlx1MDAxZLbGULDrXHUwMDFlIaLA8UhgUZVcdTAwMWHhSF3vVEdyJ3b66Yu84pa5XHUwMDExXj1NsFx1MDAxZmLY0Sg6M2tcdTAwMTks+PLzgoBVXlwi9i1IXlx1MDAxN2L2h0/CXHUwMDEwN8lIZvtKXHUwMDEzXHUwMDFlt1x1MDAxZfCJblx1MDAxMjMuirlcdTAwMDRqpbTkVUZCg1xybO5cdTAwMGbkl8ncXHUwMDE0/Ux1Vqw3yl02gr5eloZJlEOJl5fzYGCSvjJcdTAwMGWbkHeuceLAZPaKlpktrPfXXHUwMDEwk0Wdzl+2svk6ePVcdTAwMTJcYnYgMk5uZT9cdTAwMWSWN6hcXFx1MDAwNZTqkKxcdTAwMWVcdTAwMTh/81N4XHUwMDA2M7FpO45BXHUwMDE4qUJrhF6dgsvtcy4h4ClcdTAwMDZQ795cZmBSgs9lQWhcdTAwMTDzeimaelaNRapwXHUwMDFm26PlkjlcYvK1coHLKVx1MDAwNW/qtYl1OFx1MDAwNZiSPFxuvV5cdTAwMTbwLlx1MDAwMX7xmVltQJq2YXxcdTAwMDfJwyZUW2yMJ8H8fdn9yc9cdTAwMDJkVGCns4tuO+41b1XI2NPfWeRr4NmmIC2INVx1MDAwMkeP/MDNz/mEhnBIuL29u5TFflx1MDAwNIbtXHUwMDAx8O86p+Ph/+rIYFx1MDAxMHuTgFx1MDAxNindqFx1MDAwYlx1MDAwMs49+pOBTbaC0S572/d5Ia+yl9X3pVx1MDAxMbRcdTAwMTnXXHUwMDEwPJxdVNZcdTAwMWVT4I3uPVx1MDAxMlx1MDAxNyXeMInNiO/ZyFx1MDAxY8zeXHUwMDEze23et3RcdTAwMTCZyTRcdTAwMWbdIN4vW802XCInO0PdfsOJj26XQLRSPDZ2UJSw2+LmXHUwMDAzvFx1MDAxNKT1j3RcdTAwMDF1tlwiYF75xS2Ktstyd/Vh3F/FrdOGS6mbhWdQgG47XHUwMDFi6PPFbVx1MDAxObzLlXpSXHUwMDFlP1x1MDAwN5XA+jens8OTOVx1MDAxNOm2kHrVStyEcGOMYkK2XHUwMDE4wNOvOIrGx7DFvJFcdTAwMTb2k1x1MDAxYmzOQuivYDRanbdJpO+EnprrZpX2SdfqQq5cdTAwMGIsfMzyXHUwMDFjXHUwMDE0kP3LL380XHUwMDBiXG5sXHUwMDAy8z3SW9I3XtnAeJRcdTAwMTVDPf0xMZllSVx1MDAwNIPHtVx1MDAwMG39r74mrr/KXHUwMDA0XHUwMDE5MfP8IKBcdTAwMDOQs1x1MDAwNHOi9LpCzJKy90By61wiR1x1MDAxYj7N7dnbm0HFv1x1MDAxZVZcZnlcdTAwMWV4j/fgk0ZvXHUwMDFhKmyYXHSakbFXhWa1XHUwMDFmqlxyMP/V21xcajS8jMRHXHUwMDE4/+5Wt1BcIo9TscNN7/XsLqQ5q2yIXHUwMDEyk4FcdTAwMWKkXHUwMDE5u0RVxrObd1xcct1cYqzKhFqjNX8ul1xiPkG8g1x1MDAxZqTOfNhcdTAwMTTJXHUwMDFk3zetQH8kXHUwMDAxWL2JPVx1MDAxYjo6ezdwM0WwvplX849qqZFcdOUrj0SSofSapo1cdTAwMWKo5Vx1MDAwM01cdTAwMTGxyeq/OuKmjVx1MDAxOa1cdTAwMTHl/l60WJTJ59GD+evduous+uXCXHUwMDFl1r++7NxcdTAwMDdgjCZl6/x/7YV8oS/2qknxtTsvXHUwMDA2w1xigeZ6sG7OWCw2fZTZajZcdTAwMWSyov2c9Ekum1x1MDAwNUjCJfZwV6j9hK1SZKv1KXdjXHUwMDA06TvRg7ZzLdeKuVx0wfCZ3pFh+5iv6Vx1MDAxZqbCPUi2uMBcdTAwMTZTxFx1MDAxYuBRNjWwn6ZcdTAwMTC3YN6yzj0w94zeyIU0/9GNj3520/CJKM8jQERZwTZsrtbWQ4xRXHUwMDE13d/xXHUwMDE1xqKlyFRmLncnXHUwMDE3qzDxRfBcZnE7XHUwMDA0nczx7lx1MDAwNoP98NIqSZlcdTAwMWKuXGJcdTAwMTdYp9hjtFx0/Xev0lx1MDAxYkjb3C60XGZS/DlcdTAwMDRvVtuuONHmPWSxuTGfpXueXHUwMDAxTz0gRFxitv7rXHUwMDFmWS7jflx1MDAxOUyj6CUnmPpcdTAwMWW/sbgqunQ8hVx1MDAwZe2f2eDjwlx1MDAwMYqPTjSLtcaL8NLI31x1MDAxZVT43N41iuMq1tFcdEUrI0OInPFTsi9DKFj5rfQ/Q5lIXHUwMDFhIGv0XZlvQsWFc9douYeJ8TX4ZrKKXHUwMDE2m8HYOFx1MDAwMFx1MDAxOUQt7bh/n+y2V1fhLFb1+tvtLLU7XHUwMDFjzOJcdTAwMTfO21moLMs3r1xm24KVJVx0k66ylrqEjFx1MDAxMt4+nVx1MDAxZtF3s1xi11orgZC9XCLdXHUwMDEyVYxFXHUwMDExxOdPtVf2pJxEwFx1MDAxN6dQQW+iLqVaXHUwMDE4XHUwMDFkuPw1+3bkTkAjQsa3XFw7zCo8cel/9da+8YQptt+pXHUwMDA2gcBYxlxcSdxTY5Rrod9TXHUwMDE2f8mll1x1MDAxZMqZbjfZIGXdXHUwMDBlalrbkspJpau8hi5cdTAwMDTCXHUwMDBlXHQxdkNwcsTbQv9xXHUwMDE4rm9wj36c0rV59m9aPaV7XHUwMDBiRajUxMb5h1wimq1cdTAwMTS6dlx1MDAwYuHTfFOQZDruPc/IJVx1MDAxY4rI62IhXHUwMDBiMlXEhHraXHUwMDBlfOHNPGK8d1x1MDAxN+A1tWtcYpzfiuKlOvpQXHUwMDBm5+PBU/M5tmbr+rdcdTAwMDU18aH4N15RK3/y9ygpuT0q8lx1MDAxN+ikJ0LQiFx1MDAwZvFdsrHJvcFcdTAwMGKjX8+0JpSxMqlcXM2KMMrY1Vxi7pNwfG+DorCLc82uWeQlmGUlZLpHP75cdTAwMDZcdTAwMDOIQTYwXCLbXYWFjz90k0ZcdTAwMDE2+VdT/VdcdTAwMWJcdTAwMTVOXHJcdTAwMDFtXHTMpUXgOPqHrIPDu8vUtFx1MDAwN03qyl4jgaTJkFx1MDAwZlx1MDAxOeQkRey/eceaI1pQtd21vzs3XHUwMDFlRI9TXHUwMDA36ZRcdTAwMWGA90p3qLsjTVx1MDAwYqJcdTAwMDEosUMzzp7OJpWvYOBPXHUwMDE2iZfXkk/f7dFW2pDGXGZpp2W+l1x1MDAxNcKQZVeB90vFvTSb3DnTW2NLMk9KgL9cdTAwMDVcdTAwMDTFIVx1MDAxOT6XZGid9sxcdTAwMDZDnWuwXHUwMDBmkVx1MDAwM0tMSzBNtc9dRDZReYLtXHUwMDBl2mM/XHUwMDE54emVJvi19W9+nMCAfoz/rLFJ7D9dunpoXHUwMDAx95NRfOn8Ylx1MDAxOMvQOLFcdTAwMTKrxlBtQe3lXHUwMDBm13qSlCCsl1x1MDAxYi5vXHUwMDBmTufGwKu88bJORc2c0lx0XHUwMDEys1W1786oTFwiXGKiI3i/VvfAXHRdizvK0/L1XHUwMDBmJYJcdTAwMWQ8kC0uOmavlKKvUnRGT8nHJ3K/v3ltyPejyTnTXHUwMDE03JLhTSBooDYnuFFY/848pNvQSkrriHFYJUk/e7X+dUJ08YjaMv+UXnbqdLGPjr7PWZBL7q9Xe1x1MDAwNn6qVfX02GtcZq9XXHUwMDEyXzzp84tcZmx6Kc5AzKDUXHUwMDFiyYAwL975XHUwMDAze+omOVx1MDAxNHXoXHUwMDAw9ePzzFpcYj1cdTAwMWJcdTAwMTTGgKCvzfvbyzXgpKSCUXfm+oSZS1x1MDAxND9V6F3fv0bUdvp2fJrlXHUwMDE2htSwcKuO5XS296GisU1uvK9cdTAwMGKN/6LkXHUwMDE0kz++ijKzIGI4jzC0pVxiXlx1MDAwMMDS8VCTXFwwsPmgzFWM6+R804ghf7OS2dLxdSrKmaSnP/CTZ3lcdTAwMDZJXHSxjn1cZt1m9Vx1MDAwMFx1MDAxMfJcdTAwMDCsXHUwMDFmXHUwMDE3KZF0v/zAZ19RNFJU6KVjgrBcdTAwMGUtLtj3qUJmXCJcdTAwMDOhcztcdTAwMDcrNr6tllYgvc5/cFx1MDAxNFqZ8DxHfIWLwdKaXHLnXHUwMDFjoVx1MDAwMluFgMBcdTAwMWWAdlcuUkJWIb+za0EsfoH/57lZwfx9XG4sXHUwMDE2otlsxj+R5ZNNXCKlwHnZXHUwMDAyzV5cXFx1MDAwNFx0/Vx1MDAwNVx1MDAxMy1UXHUwMDFl0yTwXHUwMDEwi9SGXHUwMDE3XHUwMDE0XHUwMDExq6R4VKmmgVx1MDAwYsbX+l6M+DxcdTAwMTGfVVx1MDAwM1xyn2xcdTAwMWJdzGZO1ENDXHUwMDE1P2yF0a1qzNZcYnkplZjUZTxcdTAwMDd3WmejfFx1MDAxONJgvExcZs/+ut7U5TOJ+1NrqNcvhG5cdTAwMTNT1FrBXHUwMDA3T/xcdTAwMDPL1/dcbrxcdTAwMWSahlx1MDAxNWHqWIP3VUxcdTAwMTkz7H1HsbD7xfvih4BcdTAwMDeqcivGkTTt6I6ZWUaZXHSNljMkcJNcdTAwMWM78Fx1MDAxMntjXHUwMDA26Gyg8lrC4cI5SFjuXHUwMDBl+Zo/iLWDT2dcZnuIdH97vThcXOYwXHUwMDE0QYNcdTAwMTh/+6pcdTAwMTMs7q/fs7xNg0/KKobF0lfYMj5cdTAwMGI58mTjwoWp5PFa93EosVx1MDAxMtatsvj3XHUwMDEwIbSfY/pScpTto6/99XhcdTAwMGbyXHUwMDAxyFLH/TBcIlxyTVPPS/mLpi7eXHUwMDBl2vzhMHV+qsXlblx1MDAwZsO+VNRcdTAwMDBq85tO4HCmke9p6YjkdpWPXHUwMDA3SeX0SfxcdTAwMDe1LVx1MDAxM+u9UCHN7E6vJz86QVx1MDAwMz5N0o2NXHUwMDFlNL9XXHUwMDFiaYuSlNFKXHUwMDFlT1x1MDAwZVx1MDAwMTV5+UvPatjJXHUwMDAyRfJkXHUwMDA3qHZcdTAwMTCiZXXb6pyKMmXGyJn4VFx1MDAxYlxmXHUwMDFk2fb09r/th89rcP7V+1x1MDAxN1x1MDAwYqZ+KVx1MDAxNEvqXHSVj7Kmd7pHJbLEXHUwMDE3ie3pSrJn/lx1MDAwNYbRxyDWo1x1MDAwNPNcdTAwMDTMwJKKUfddYVx1MDAwNMBcbmmvrT5GzCWfKSguXHUwMDAwf38zXHUwMDE3tsSJz41cdTAwMDFcdTAwMTJcdTAwMThE2DOjTPLqm5NcdTAwMDVQXHUwMDFk6ikxXHUwMDAx1WG34q9GJV5cdTAwMTl2Z2Q6qtVcdTAwMWSbas95IS+GK1x1MDAwYi1sbv1wujFHzPFDXf+6O4x92ThcdTAwMTMx4ntTunr2XHUwMDA2daur3H1cdTAwMDLcKn5cdTAwMTbIlWtcdTAwMDZ6jEJcdTAwMWLUZ0XUXHUwMDAxlyPM7/Wf7qWyelxidmNigPjjXHUwMDAx3IzWMJ+LXHI7WkW6IZI9n1Fkue7N6eTvVWFcdTAwMGX7wY5pXHUwMDE0vUowa3v+KKbwLlZcdTAwMTSJidXkgTzspyNcdTAwMWJ2xbpkzWivrDDkS+21jr5x9mWdOud84lx1MDAxNF5cZi2taJeehySZXHUwMDAzpcGkSYZcIkUgwv7rpclFh9tcdTAwMDG0bkXjLlxuNHhcdTAwMDZcdTAwMWFcdTAwMDYy5Ui69IhxsGgnrYpbXHUwMDFmNkZhzFx1MDAxMKNSXHUwMDE2OuNPgicnfFx1MDAxZDVcbl9+4O9cbp5gXHUwMDE2rqKGuapE14+bM4RVV1nuymf+u1xmK1x1MDAwZX7TsVx1MDAxNOmnXHUwMDFk2jE7q+TlnFLNYcU78VhlKv/Xulxu/WrZeH4tXHUwMDE0XHUwMDA0jaeGVsPBXHUwMDFm5NthXGJoXHUwMDExkIS4zb/lrvdrZV3/U1x1MDAxZjjjXHUwMDExx+9cdTAwMDLxXHUwMDE5nEpcdNntXHUwMDEzMTBNXHUwMDAzzVx1MDAwMlx1MDAxNCB+L6PwWvy2XjpcdTAwMDeL97Ry9q+P5bDYXrD3dTW5vVx1MDAxNThEVGLcnWjze9tZfFbLU/1cdTAwMTJcdTAwMDWsNs6EXHUwMDBmmMuOkeJKnd5cdTAwMGVcdTAwMTj/NZpOP6XBzzRmqa2N0Vx1MDAxN2GvRrlKYTY/g2CCb1ZEMrjul3dcdTAwMDTCXHUwMDEz66SJTYtcYnPmXHUwMDFj1m/KTiHd9VeAQKnqkL9aNm9QpCv+ye8z0jbH/00/qCEp0C72XHUwMDE2PH9cIiOdcyA0pHD5e276WEs8tWdbXHUwMDFjR7WecFCg/DnYjqzjXHUwMDFkPVbBXHUwMDAzUlwidl9XlrjO7LNOjudp5u579HIlRYBEXHUwMDAzRVx1MDAxYsdcdTAwMTFcdTAwMDTEZzYlW6tnXHUwMDFj1/q0XHTlYLM7bPiva1qOyVlBtprDgN4nr1x0TYR2nytDREhcdTAwMWL33z5lLII3XHUwMDFjne1cblf/yr9Zk2P9fjaERbNcdTAwMTJ96qxgIFx1MDAxNLqh/WdcdTAwMGZcdTAwMDHc6VnBXHUwMDFlXHUwMDA1XGL5XCJ8TMtcdTAwMGXcJ1I6k1x1MDAxZaD5c2D+ZrX+68plddBxSuWNWFx1MDAwM9Ltz43/JvgnJDNcdTAwMTSJdXGa+mhcdTAwMDPtdmAqezrv67G4pNawjFQs93NcdTAwMTk3S1x1MDAxNuhHjdUj/+xcdTAwMDT5xDhJICTnQKJdY+dTh1xi5oOglYB2XHUwMDE49FamsVx1MDAwMuupa6L+XHUwMDFm/jrAmr/aelx0rJNCoHYgXsPra2ulUbn4wM+/T2wpX2e1M6xcdTAwMDS6Y5f5Xv58w2RCXHUwMDFhw3JP/CGhXHUwMDA2y8WNYGIrrG7ZqPtcdTAwMWJ7yonfn5vS8uDc7Y5YXHUwMDAz93XIX5533aRcdLlcdTAwMDB9ssJcdTAwMTHcQOi9+jlcdTAwMWOhXFzCwFxyZN//uVx1MDAwMp55heuaXHLLJVxuQ6SK2spmM435jVRq162SqmPgqL4p5Iiy0Fx1MDAwM0TA3j5UXVx1MDAxN0Vzf7wtRlitbLW0rXQh31xufPeGrFlcdTAwMGLmXHUwMDFi9VWIOXCVsFxiY/riXHUwMDAxacn4o1x1MDAxZOKAXHUwMDE0a1xuMmhcdTAwMWJ+XFyGf/E52n6VMC9cYlx1MDAxZHZpYnhCXFxiuWaPIFu9ODZcYpehhHdcInswl7H4rs4+U3lsXHUwMDEznlx1MDAwMT5sQ7dIjSNHQz5m9XfyXHTXXZ5cdTAwMTfQplHCPFxiNmVcdTAwMTTKnzqgPEFcdTAwMDXtvF5zTv2R2SekXHUwMDA17LP6ufbnfVx1MDAxZlx1MDAxZfuxZVSsQFtcdTAwMTKMzJ374/P27HVt9fXyzdBFXHUwMDE2I5JcdTAwMTRcdTAwMTNunbmcjy3hhnz5XCJcdTAwMDJcdTAwMDPi8yO8rzTu9oBcdTAwMDZ6hu3T2WFSTyVcdTAwMWZ+XHUwMDE2tTiYh+DzWPBcIqB/N0+erqbJwfggV5kvXHUwMDAwalx1MDAwNvjvXHUwMDFidp+/++8u3F9cdTAwMDL0r39cdTAwMTJatVx1MDAwNqtHL1x1MDAxNVx1MDAxMIG2ey5zMlx1MDAwNPOUvqVcdTAwMWQy33aSYI3IOoZcZsd3O1pMLi9cdTAwMDRcdTAwMTBtiaYnLiBu8sDFliXs2W9pjULyZOcmv4/rXHUwMDFjXHJcdTAwMWZcdTAwMDNxPv7agjHZbiO7XHUwMDE5IePCoK2dkYp93Kxoc2d1Tlx1MDAxYlx1MDAwNFAvXHUwMDA3mlx1MDAwZZ81rtyFcsLfvn4jSYC4XHUwMDAx+2JcdTAwMTdcdTAwMDHmjibyR1UmxqZOXHUwMDFmXHUwMDAxrILEL690XHUwMDFmS+xcdTAwMWJOXHUwMDAztj/mcvlGXGawN6dpsDc9U9dtXHUwMDA1srLbXHUwMDBlo0hI/mdfVlxme3/7bW1uIVt0XHUwMDAwWHjpy6+VXHUwMDFlVLQu/GXNXHUwMDE1Pl7QPaUyK2hXckJF2ou/euJcXGOBYK5LwNZQ7ZKz6U6mVbCgwmP0XG5KsZIpgk9cdTAwMTL9yFx1MDAwMWBcdTAwMTDUQL/NtHR65TOcJuumuULryt4xulZcdTAwMDekSvs3U1wiXHUwMDE1eiEnhppuXHUwMDAyXHUwMDA1irJZK1hAKTGvR1N9OXZXgFx1MDAxMeQ4r1x1MDAxNGSPvI1Tma5EvOVcdTAwMDDpmyrYw86lyeS0/js21ewmvonBNNp+fVx1MDAxMlxcjbZOgeByZjzgavO+XHUwMDFjgXFcdTAwMTDFUzVd8OP6i15cdTAwMGa0T6Z90jvm1rO7YZaByHXmPNp+j4Lnolx1MDAxY1+pgER+1Vg2XdbSsvDNsdjrQE+sU3W8XHUwMDA071X1ktP2uej3WVx1MDAxM5f5PdBcZlVd1elyg0pccljdxFx1MDAwZVx1MDAxMe2i2W5XMsD381x1MDAxYlx1MDAxOWyZ6LxfqeOGXHQosDVcdTAwMTlcdTAwMGIpL1x1MDAxNtiz94XLXHUwMDA1MiAztVx1MDAxZVx1MDAwMFptQ0nkc2eTlo7ptjmHXHUwMDA0g1x1MDAxZlx1MDAxNG5p2sNfmf/AZVF93U5cdTAwMDT9VoyV/itNdtCafHxcIsQyS9jOVKOHk531d4dL3jz1+XPTw1x1MDAxZYCezz5ETaiMmCeAb4NcdTAwMDXLgNYo4mhcdTAwMGIlXGaHslx1MDAwNN5kZjV85kRcdTAwMTJcdTAwMDRgpzpuLcg7ecw+2pLkWqFcdTAwMGa/rOSYOuvAVVx1MDAwYvJT707ckJxcdTAwMDRknkZcdPGIfbnwNXf83sPA7M5cbtH4ReBeOVtwZ+3/WSe8zTr3N6Mz+ILdbm3Fo0Xdp5W2TeO+oSBcdTAwMWXgXHRT5U6WVOStWpebjflcdTAwMTHS9luzup9Csd9cdTAwMWRUc2+C55jV7MRqUbC4eCr+bP5cdTAwMWROZHf5bdGiXdRcdTAwMTeIXHUwMDBittBcdTAwMWFHkZDMpTBcdTAwMWTU/C6aXG77/n1q4H2Kmuh6epjdXHUwMDAzObBcdTAwMTi4votcXEb4mVx1MDAwZiy5v2JBXHUwMDE0nHmH25PZO1x1MDAxOFx1MDAxZFR5e/2R5+hZpzScXHUwMDE4XHUwMDFh58O5XHUwMDFjd4gqN2E8XHUwMDA2kyAutKr1fO2iQpjiWFl/ckT260Im45BDp7nGvlxmYo/XVelZaVx1MDAwYlx1MDAxM+yua8zDrlx1MDAxZr1cdTAwMDHo3lx1MDAwNbiNZ5+CXGZcdTAwMDOxXHUwMDFhXHUwMDE4N1XdSYxcdTAwMTZrIVx1MDAwMubPZ7fotqDQblx1MDAxYi35N1x1MDAwZTeqzyaK3UlcdTAwMDfxb1x1MDAxMJjyXHUwMDE3Ylx1MDAwM1R+XGJ1nybiuWdcdTAwMTEr9NcgJbqNKWCVOthcdTAwMTPBQGxn956z/MX5MdGWI+54XHUwMDE3QTN1tMC46FG08eikWY3atMKCgLVcdTAwMTfK3FW4Oj/kZW59YX7GV797lfuqXHUwMDEyq4JcdTAwMTP9XHUwMDE0Ps8p3aa4m/ZFMksg7sZcdTAwMWVyVFx1MDAwNsZMP3YoXHUwMDExXHUwMDA3+rWiXGLmelx1MDAxNYHsXCJt6/nS9/bLtHyjoMfLXGLahEqw5SlwbVxcvKZZfENcdTAwMGVWeVx1MDAxMVx1MDAxZIw1e1x1MDAwN0yytnJcIvp6t1x1MDAxM8VcdTAwMTSkwt60XHUwMDBlmkv7N39cdTAwMWNkXHUwMDFi7rRry/hcdTAwMWTGXHUwMDEw1/ZcdTAwMTU7w0uU5XFcdTAwMDLp/7VvovwzK7jR9qZL+fS1XCJcdTAwMWVcdTAwMTZxs+OqV1NcdTAwMTbKdzFusKJQXHUwMDAzvCxTzIoq0/zmtfgjk1x1MDAxMbqx7e+3VpLv6iNk7dv37z4rRZtq/mpvXHUwMDFkrruV4e7+mTmcto6+fWDDh5TdPkT5icMk3uHO1vy/Tcys+L6L83Shrop9vCl2f1x1MDAxZrvIiiNcdTAwMGbO7rurK1FM6KJJ7Vx1MDAwZaXKnyPqwlZtxlx1MDAxNPLxNtv07S2S464mL1gpRsBCXHUwMDBlNIHKoVx1MDAwNFx1MDAwYsZcdTAwMDJcdTAwMDKYJ60sSlx1MDAxNVKduU2qwNs0/lx1MDAxYqSUNVx1MDAwMv9jQti4nia2LfxcdTAwMDOKJ9HMIUTqel313VxcOzAmsH3VKMK8XHUwMDE5IVLJYkqBLk0gXHUwMDE42Pi/Z1x1MDAwMmdtMntZrlx1MDAxZFpAePjauG8kwMO0XHUwMDEymarCXHUwMDAyXHUwMDE59XRee/uHbkO9dkgoJTitiS2YX51cdTAwMGWg/sbzJ8DB+ZyqZaj1kJxcdTAwMGKUXHUwMDA3RLBVJuueXHUwMDBmt5GjilwiTVxurlx1MDAwNJBfPobjmVEt31x1MDAwMosznG+D8UzdZ1wiVzptxpSfgdOR3PyRO9ngqFDHoVjy4sY37atmXHUwMDEykC2VWdlwoGBcdTAwMDVWfd+c7V1cdTAwMTTyo1PQy89cdTAwMWNkkM+cy4JPuVx1MDAxZjZcdTAwMWRxbVx1MDAxMSM8y7A1Lrig1l9cdTAwMGbM9d/4XHUwMDE1LVx1MDAwNO59XHUwMDE4w3HIytLnMrhF/e78w1b+gFeHLFq+iYhcdTAwMTFcdTAwMTU0oY9LINPJu/tcdTAwMWa9UNz/WOdjTlXOXHUwMDE3vyqgeC7tkn1KJOo1SVBuU8B2k1x1MDAxNZy9SZTsXHUwMDFm/jvezt9A7uDHqFx1MDAxMy9cdKUkbZTzzVx1MDAxZnqDQ/lcdTAwMTN8U3ZVd2XARv/JjULyIce2Pca318FR6+uFlWHfXHUwMDE2/adcdTAwMTKvjyPFvmFy0jhcdTAwMTW3mfpL8T5K3jAr+1x1MDAxY3EvdtmJuoRI0U1JuVx1MDAwZv6lXHUwMDFjnUjqXHUwMDE5dyzNfGSuk4c8JHSOqpLU7JpcdTAwMWE2tDPlXFyfO43y8Fx1MDAxNX5f4NlcdTAwMThJ+q4mgIFUWFpMXUlmbsiSy0dOjp45b8vSXGJVm9j4QCl78/GVnyl4kpa4XHUwMDEzNVLfdy7pyI6wiaNAwczOn+FcXFx1MDAxZW9cdTAwMTT3OLrhsf/uoLb9nTOs9LZcdTAwMWQtZihU9GZs7mSEQFY3PoZcdTAwMTS5ff5uw9tcbsbVOLtcdTAwMDdF77NwQzNf11x1MDAwNySjLCvHXHUwMDA00Nrky8VYrVxih6ojUl9cdTAwMTfRnujxb05cdFx1MDAxM92u0oN4XHUwMDBiKFBV/4ouXHUwMDA1P+GlUtN0YuM1byOK4OFcdTAwMWPehTV6cui4/rNHkVx1MDAxMlx0d1v4cKOcWGb9XGLpXHUwMDEyXG5cdTAwMDBcdTAwMDBO4pXiTdbZVmdMzWBWn5qYrTVFmjc2lFx1MDAwZuxdc1FcdTAwMDNcdTAwMDOtqi52ILto3k79y2xLY1amJVZInYhcInDvVXmJRzrQXHUwMDEwh12Xar+/ve5cdTAwMDT9ZGRFcXYve7WzXG7hXHUwMDEw6CDlKFx1MDAxNU+Z0U1cIppBlMxcdTAwMTj8N2viefw9vJV/3etDpPOfXHUwMDFh+VRcdTAwMGZzXGaVd80p0vhWIzVcIiVRIC4hXHUwMDAwjHiv63eFkthcdTAwMDZehWS/tHR4utnX7YXFZmSFdyZcdTAwMWJqxEHOt7yDmlxiuYpxPk6An8CnXHUwMDBlT5Z+eSHlzT5cYnyLkSExyWz4Kz3beai+1pb+RskzJ+s044FNU5LWJVx1MDAwNr1CdI4nyHng962YUfdIXHUwMDAy2lx1MDAwN1voNrW6469Hc+V7Xm+BXG5RJfRpP121VVx1MDAwMvttmP78XHUwMDExW9xcdTAwMTAyXHUwMDFjkCVcdTAwMTbOVlx0MK/k7YDhK4HiN9pZ3b4ptEIy1Fl1Spe//UpcdPsomHThrpxJJCCYt1x1MDAxZekpXHUwMDA28cJeXHUwMDEzsFPvkpRcdTAwMTjs0NhbqDSz/fo/kp+gkMPaWyFcdTAwMTSSXHUwMDBmRFZcdTAwMTeTXHUwMDAxtN0pXGaD+9OvXHRcIktcdTAwMTTefGe12J+8gNnujj7Xrlx1MDAwNY8sYewjX397O8Q+srEt+Fx1MDAxN+E7XHSROFx1MDAxZotnzlOJXHUwMDE2csNybGk+XHUwMDA1f9bN/sNrf8OpUYjSXHUwMDEwXHUwMDAzts/2Idk4/jDo5004rzdYJNHxXHUwMDAzLHcnXHUwMDFmaOf3uVx1MDAxOZ5ccqlcXKPZl6g4XHUwMDEzXtflwINcdTAwMDRhR0BZJrdfqNJvknBQriiXJ4CBaEqQUT9zUSiJqDbH+0qq4Fx1MDAxZoLyXHUwMDAyQVx0fyaL70V9RU1cdTAwMWFcIm1GXCKhyzuUWqB30aehXHUwMDEyXHUwMDAz4lx1MDAwMrSjPpGju1CEbGm+KuNccouLwNFDyVGuXHUwMDFjdP6fM+dE8a83fNuvXHUwMDE3n7pcdTAwMTGyP3ma5Jeg1pFM66eQXHUwMDFlTnmpRVx0vn4zgb7Vd3GEvlCUSzGzijWa+Ytm1FxmMFx1MDAwNDU3Ry2LS+ylbnMt05z/XHUwMDA2XHUwMDFjXHUwMDE1m9eQS0pTbWrFpV80N42IttZZna+qQlx1MDAxMDL8XHUwMDAx1iXQXHUwMDAzZZaoqPPzq8GLwKzJ3z11XHRVU9dcdTAwMTb9+Fx1MDAxYuinQU7dLCZBWrY65PV/+vhave1Ot2rOs+701ZFcdTAwMWTP2fiZ7DXbSIRtd2WAzkVcdTAwMWVRdM5cdTAwMWJcdTAwMDa//tK67lx1MDAxNFXetOqU7meylVx1MDAwNVx1MDAxZnW9XHUwMDA1y1x1MDAxNpiNp+B5r4FcdTAwMWOiKVx1MDAwNNR2lnRcdTAwMWG20Fx1MDAxMVx1MDAwMOZMzbQpR+9BXG70gE1cdTAwMGU7rpx5vVx1MDAxYVx1MDAxYoOD7bFxw5nyvfF+xmjbXHUwMDA1vTi5zCxHv4hLU8NgXqbES0Ce3Fx1MDAxMbN77tbj8auiVNt8XHUwMDFixIpcdTAwMGVe0CCKPjPTx0qMUkVcdTAwMGVoJ1wie5G8US1cdTAwMWKw3zROvfD8de+v/aypj0O8XHUwMDAxXHUwMDFlJe/RgDNfKp4ws+hcdTAwMWY6fkW4OUQzJSdh9Mch6yVcdTAwMWbHgVx1MDAwMVJdfYXq/aBcdTAwMDOdfI1EdFkkXHUwMDE0pCBukkN2XHUwMDBi4ary3G4g5q+RW6w4dTR97SpKXHUwMDBliO55KPttXHUwMDFmqUNcdTAwMWV/wW1U+0xqd3XQ6pc8wIDoglx1MDAxZYcw4+g+4GLJflxmryk8kUc7OzL4XHUwMDBmjYMkXHUwMDAy2sjGfewzV7HyZaxcdTAwMDX22i1IqEMlXHUwMDFhZUUt5MDd+b9m4zGj6rIslaRwv1alwmXpjlx1MDAwZbF9sZQnXHUwMDE5e1pPNPPkV1x1MDAwMTBNut1Uq0dxhjaUvDdfnkg+aip3ae2bXHUwMDAxOeglolx1MDAxM77A5lhZI0r8d4HAWCd0p4dmx6KqtbyaR6nc8KrJxn+e5Yuuf7UmXHRcdTAwMDCJRZ2BlDp2LnPbsqhccudcdTAwMDCTmmjbXHUwMDAws/6muKhcdTAwMTfLP6lTaHd5LVwia1xyT6BcIlEzXHUwMDFl01Wq4m3Ji3p3X45b0uVcdTAwMDEohuFcdTAwMTjG9Vx1MDAxZDYw9umvXHUwMDE3nslM88Riyy4ghj+O1HdQXFz2XHUwMDE3/oA4NmouRvdy8/OkpvllOHNpQv2e3Z7SoLPyiDf1yTtuRrpmQVwid3zC4HfwfnSZoDBcdTAwMWLaUe9cdTAwMWbpwbIshdD+XHUwMDAwXHUwMDAyrP/jZJbewybiToGLRDissJflx2FZXHUwMDEzoc6FmW/6Sjf2zGNQtGFQsmFBzZHbl39cdTAwMWLbcbrf6TPin5nb+Fx1MDAxMsWo1ECI84fWQzKlsvxTW2dbqpvpuIZQ81x1MDAxZFx1MDAwMVx1MDAxYp0tw1x1MDAxZIWFvVx1MDAxN3aqJGlcdTAwMDDkXHUwMDAx4Fx1MDAwMqqdWLU+XHRcdTAwMDNOiXiId9FOvFx1MDAwMMVcdTAwMDKsvfpmXGInXCKNkEXUXHUwMDFiiNpAXCJRllaog+veXHUwMDBmq5LvN7/jfJXI7je68aBcdEFI2Vx1MDAxNNlUXVx1MDAwN5FcdTAwMDHjXGZcdTAwMWZEdPRcdTAwMWbcXGZcdTAwMDdcIsSNXeCNXHUwMDE4Z6Y4S/jPNnK5XHUwMDAwmukraFx1MDAwMFx1MDAxOGeCWrLGc43YYKFcdTAwMGZfUjNH+Fx1MDAxYVx1MDAxZf/rLJXDhP6Zue14XGJcdTAwMDVX42pNUuKqSUiZ7YfBXHUwMDFmkOxcdTAwMGVcYiV3jii6azIh4boqXHUwMDFikVxm+2GiXHUwMDE1qkhcdTAwMDVcdTAwMTFhrfWKcaeayctcdTAwMDe7PY4gn1Chl7dJj1x1MDAxNyfgqN/4UyrtJ5InVD/90F+Zg1x1MDAxMFxiTbNcdTAwMDGVkyr3I1iNOs51o1G3naJPXHUwMDE2SvHPQN4llmV7NShLXHUwMDA0OFxmil2NUWJjTVggc5m//qOcYrpcdTAwMDKaXHUwMDA0SJxcdTAwMDHANPYutLw3zJWJPEjieVx1MDAwZVx1MDAwZXulyyZE+cm9IF1cdTAwMDGxMV4hgi/W1Fx1MDAxNqAyXHUwMDA3XHUwMDE0YvUtqEgs7Va8yMl4rZ2Tf21cdTAwMDZcdTAwMTJcdTAwMWJcdTAwMTVcdTAwMTR0/lx1MDAwMtlTf0RQ7DYm91xciK5UJ4Ysm4/lnjVXXHUwMDA00WSxwvdUXHUwMDAyZrjhsFx1MDAxYWjHZ0fKXHUwMDFhqITe1oHjxHKNXHUwMDExvFx1MDAxOMq/0oq36fL97OcmyIJ3LthcdTAwMTRcZpiNsNZcdE8olOVrRe3Rs1x1MDAxN6+7fZnh81x1MDAwZlx1MDAxYr8/XHUwMDBlp0efP0ngub1cdTAwMDM6ZFpcdTAwMWVokp2Mz0c733yd+SCLpOE+f4ek/vyASGlcdTAwMTOu5Fx1MDAwZcmXP6CPx9A3eLN1LFx1MDAxM8A4UyBIkl9cdJ6qXGY8bspcdTAwMDZwKf5Cf03VZ1xyXG5cdTAwMTQy3VxcXHUwMDA3n2KyXuI3pEr+Y+XPvGMq8FJ4PKC3XHUwMDBll9VtXHUwMDE4KC+gSyb3eya8j8nsUM97jbghYqjk8sBcdTAwMTiq81ekpeE3x9MsT7+GKVwiXHUwMDE3IPA1qpn7XHUwMDE1//LDl1x1MDAxNm9ed7XM8Ue9KDTPXHUwMDEz4iCe0nE1XFz6r9yNyL9/fOPcXHUwMDEyVZKZ0PWpmo/bauJh21x0orzhYFx1MDAwMib85lwiXGJcdTAwMDTZsihRU5LNNlx1MDAxYmE07PGGXGL6XFzwQrphPa7JMNxK4epccriaV91mc0J4l2lcbqTEJfrrZ/fKl1ZZZ0muqSPDlPGzxvDQxeN0J0aC5Fx1MDAxZYVR01x1MDAxZPtcdTAwMTFat1x1MDAxN1x1MDAwMio7RWtcdTAwMDMp7lx1MDAwMT6hOulOhWjOajLhL5tcdTAwMDaBmeqCcHY6XHUwMDA3L50+Q02Ddz54vcz5Y5G/e2h4auUtIUiWRrRPlGOPjeNcdTAwMGJWPz9x2zhq4lxicfK6yy9YYYFtaS1cYshkheZ2OPw6UZa0ZLKtYnE/9VRwUlivx0LPebldir+Tz1lfSM3rYaXfzNNy9kEjJZBsvTJcdTAwMDWKUnf6z4Q5i971MUu1hed+87fmT/FpPMlcdTAwMDPoXHUwMDEyJuGXnT5Ao/qPXHUwMDFlK01UpYL3N1Y07F28PPEkL7P9XHUwMDExQOvk/Ka/8fjYknLD51x1MDAwN49YMdiGXHUwMDBi9eL1dCyUOsjVuOJqO19cdTAwMTXNnJfDXHUwMDE5j8QwxqBAS5ZVrpuE70pyTFx1MDAwM350K8kj9Tio4ulcZlxmqr0ja92bTbI3k/h+Nf6WXHUwMDA2XfVcInrth/yG4DJauihBklx1MDAxOcdTPSw0XHUwMDFmjZu8qVJcdTAwMTMzYKOQ7Vx1MDAxOLUgyYF2odlanVxiTdqARostZFx1MDAxN5+fYkZsqvr3OUJVmtv/zJVcIi+v9veg01x1MDAxM9VS0rqLdlxmKvXtWFx1MDAwZUpcZtPhQ4X8gFx1MDAxYtFcdTAwMTBDh8AyNU2I+Fxy0W3/+Fx1MDAxNYd0mJP8XVx1MDAwNiqw985cdTAwMTlcdTAwMGUzXYDJOKP5YFLy1zovRlx1MDAxMNbYXHUwMDE29MrS9XDKo5orbuNcdTAwMWNMfd4nNK3mXHUwMDE5fJRcdTAwMGL31IDUtVx1MDAwZsRcdTAwMTWG9tfLj/7cTUgwg0u47qo7f0BGa9/C8ezATtfigHfkw05cXPnvUlx1MDAxZsr6XHUwMDBi9dWO2uhNsznmekruXHUwMDBlTp/VovTpU66UxoRd00FcdTAwMDZ4guJcbsxEfbZcdTAwMDFFfDJ0RFP0rKx/+uU6Omk64aJcdTAwMWSfXHUwMDFkjWWhdsEwL71cdTAwMDRz1YqVsV/XYftcdTAwMThPJJ5l0+PWPnxlzaSPaPdiwbXN849oflx1MDAxMlx1MDAwM+739CQoJTjy5aEgsSC4rzVcdTAwMDHYR3NcdTAwMTAwtFxyvDZcdTAwMDDPXGa0wjhuj0jgpWK88Fx1MDAwNNjI0u1BSCXRtlxu9dGljbrg7IHPjkjRZo7U8/lcdTAwMDTMXCKzWEi7R6Rdplx1MDAxM1x1MDAwNMHH+1x1MDAxMebGXHUwMDA3cFx1MDAxY4ZiLbDXXHUwMDFiXHUwMDBiwdPI1Fx1MDAxOapcdTAwMTD0VWOszXKHNN+YXHUwMDFjS9bGaVpcbqS/uvLMM45ujXdj55u4XHUwMDFiQ1x1MDAwMZV+xVxuSX4huk9u3vRJf2B9aru9cTPIe9z8Wlx1MDAwZoiXVXhyPCZcdTAwMTZ6k90qybDO7f7/+zvBhybJq8tcdTAwMDJ0zjlcdTAwMGZE81x1MDAwMYOERndcdTAwMTmHXHUwMDEx3PdcdTAwMGZDcVlcdTAwMDLFj4IhXHUwMDFk5DamXHUwMDE29tvtTuCOapmHanb5KuOyqPTy+kl3OLSZhuE0XHUwMDFmXHUwMDBiaiajflxupFx1MDAxZi5AnWdmUlx1MDAxMTOCXCLg1VoxQrqzT1x1MDAwZuRcdTAwMTlNoFx1MDAwMKF8XHUwMDA0znY4hUe9V4+YXHUwMDExLVx1MDAwMZp88D2j8GdA2PDUXHUwMDEw9ntqIZue2pdJY2F8bFx1MDAwNfGtO1x1MDAwZbeLMNXwUWwh2ehtx3R3Op86XHUwMDA1T4G/XHUwMDFhs1U8TOHu7TO5Vlx1MDAxNKfx//5Ph9eH/aOw2VHmXHUwMDBl+XmhfjGjnlFy83qQq3zgRSzQuLD78Vxuj4pCsjOOkThrXHUwMDA02GzFa1x1MDAwZXE1UNT37yX9PcWsbVxyuVO0WVxuUXahxOivhu+qay1cdTAwMTJcXMPAXHUwMDEwm6lrSYrjh/XkeUzPjVj2Xmolx+yab1jc86VcdTAwMWR5v+gkzoyf/Fx1MDAwYo+NvfuY+5NFs7pLhnBcdTAwMDL6Or9kJvXkqGMoiFx1MDAwMctcdTAwMTjm14bWclvrLLTBt7zu28ZjRHJcdTAwMDCxv59VqNDsXHUwMDEymipcYpPM0H2mQjRTK+/8xSll+69cZtrUqOW15mr7bWWIXHUwMDFju09yh1OXXHUwMDE0XHUwMDExXHUwMDE3pzNGXHUwMDEyZbeB3SVAVWlJN59ET0Hs/Iuw1uV8rkA77Fxm2tq4MfKiwFBcdTAwMTb7yYBtf21cdTAwMWbGkiAnPIZ1NZIpp9mxvMBpdmQkO5RT7DBfXHUwMDAy5lx1MDAwYkY3vlxiJlrup2xZVlxculCvhWqeRjjD0atcZozlJcSe9OvvbYg6xrnP5pTqriSyUpxcdTAwMDWKyKw4fZ6wtOFcdTAwMWNRoZI5V/zq5aTGpcT6oM1QTFx1MDAxNjlURjk5fu+wNrmDd4uQ6M9U8Tia/NT1xLpcdTAwMDPaL+ySzFx1MDAxNotcdTAwMDez/djXOq3c/6PrPJYkVJos/UAsUFx0JEu01ppcdTAwMWRaa0jE0zd1u2ds5p87ZWUlXHUwMDE2VZlcdTAwMDTufs5cdTAwMTdEhO+VvzHk6yRcdTAwMTi4XG5cdTAwMTDmUFx1MDAwM4q9Qn3/5u6bw07A4o1Q5WzEvLdhzOK0hkH+yvaRo6fUZqyl/t4yu4qMXCJ/XCJJ7LdcdTAwMTW0OdOv8ulcdTAwMWMmyeCsq3y5Za66wzUrMqwtf5WCgCi3M0vhPKm2XHUwMDE1io28/yy1vEbpKStcXFgrXHUwMDEyM8+eq45+8zE66FtcckItXHUwMDEyZD2jdFxyUGgusIN25lUgz3Qm4FaUfuxO5tiYmsr+sJleXHUwMDBln1tRhax2Kt2c3v9cdTAwMDPd7UlAQTDBVD/nXHUwMDA256Dxj1Fa6sPGfl83aVx1MDAxNDommTDY96qN0OzkYDzST1x1MDAxOGOzgnuL1E3Z815+8tdcdTAwMDTL5JOxmjLh21x1MDAxY5ZHpqRaclM3aVx1MDAxMDFj2EWZc7SHUYBcdTAwMWYrXHUwMDFh/cSOgOfgsG+qklju6ljvXHUwMDE4tUiPz89cdTAwMDRvXHUwMDA07Vx1MDAxYVx1MDAxZKeg1FdrVSbYXFxOajGUqM9xXHUwMDFkXGaR1XZ7Zlry7ofnpjJnt6HraHqjgujmRFgqlGOtI1x1MDAwZk+X+ll0XHUwMDAya2BcdTAwMWQ5QV5cdTAwMTX4/ZA0b+7C/SvPcjVi71x1MDAwMPTa9tlu2jW9luJTVMTW3/TjpHpK8awwg/h1U4akXG5XXHUwMDE1Q/lcdTAwMGXTMi07xvExZL5ZrD2Hyb/eV53GbkHFXHUwMDFjea9u4W/00Hb4vGFcdTAwMTSmXHUwMDFmupxmYIvDbn58XHUwMDExecqUX/89vlx1MDAwMu2NMUlsLjLGz9lplEvSXzUgeKc0f1x1MDAxM4ia6MnuXHUwMDAwln121vR5Jb3gWFx1MDAwNL6CXHUwMDFifNhXs1x1MDAwNcrxXHUwMDFirNI8TqhccupvJ0uE6FG3atrlhVxcuDz8sy5swMPGIyggpWxcdTAwMGJcdTAwMWaj9DeLr1+fQ5LlnVx1MDAxMX9LXHUwMDE4c2ZWdHZcdTAwMDdJxT+JSStcdTAwMDSoJdBcdTAwMWGqaUxcdTAwMWSWaVxyiedUXHKaXs7EuFx1MDAwNOtYbnRfl9t1xdzRI1x1MDAwMyzn3Vx1MDAwN1ZuXHUwMDBmJTzzgrtzJ9pnTvNzV1p0hapXYl6LWMu+vlxiXHUwMDFk1zdcYnJ6hrtcclxyhZVcdTAwMDRcdTAwMDWVJ++B3pFjXGaj1lx1MDAxNlEmXHUwMDFmrai8K4Ro5NHWikB4flCn65YtIDLeXHUwMDAwNmNS5MZ0ikrWXCKC9Fx1MDAwMf+18ne9zT1cdTAwMTUkI1x1MDAwNFx1MDAxMzi6jZRcdTAwMTNEto1rXHUwMDExY8VcdTAwMTdYzvDPVFx1MDAxNYWov4ArXHT0XHUwMDE0WUxUxFk2UUpcbj1cdTAwMWJcdTAwMDRiRFA0zs/4srJcYkU+Wse0ylx1MDAxZE1MJpaiJyHWL9bo1lq5XqXc31x1MDAwNFx1MDAwM+91bJog5CnNXCJJXHUwMDFlcZus9F5cdTAwMDBcdTAwMTZcXF9V06RcdTAwMWXOL2GsXHUwMDFh15+u7/yqL1xyLvzrXHUwMDAzsZsrXHUwMDAz/Vwi+ftr21x0gnxabuG4PbRKubwgzae1rtG8yZVCYzchUZonJ3OcTD2eTSR2+3iyX1xypPpwiU7OJVx1MDAwNf9cdTAwMTSCXHUwMDA3Oob2JVx1MDAwNlx1MDAxOFwikVP5f/XRXHUwMDEyU2qN+J7yt8lsrtzylCHwIGqHSdFty5JWRZdARFx1MDAwNstSjWWjk1x1MDAxY9em8Fx1MDAxMCH+RUz7+e59/qlqYNu9QzaS21VFoVHlxGo0vTbmUXbkZVxmh6/h135cdTAwMTiJps5cdTAwMGX3sXY6XHUwMDFmOP6dYck9rvyg8TIh3WONXHUwMDA1nTVkXHUwMDE26qdccmxEiV0wXHUwMDAwbk3IR3tjXHLpNPDN4a82SFxc3TjPtYbc9GF5VdzpXyzSIVOwXCJFsFVcdTAwMTFcdTAwMWOt35RfxPdUs/uCXFyEsGLToeNpK1x1MDAxY1xcSnNXq5C2WbROTlx1MDAxNzwl4dd8XHUwMDEyWMxcdTAwMTRcdTAwMTOVpoTNgTdcdTAwMTkwvprMWqbUfkhRNrJM3tt3X8Y/9e5Ul0dcdTAwMTPyXHUwMDE3cerIi5R9QOPmxpM8UPdB+u7630GHfe/bmMBcdTAwMTVcdTAwMTcyXHUwMDFmY9dVkD+vb/L5ylv0IFx1MDAxZCxbPFx1MDAxOeTdXHJhwORcdTAwMWHbnIhcdTAwMDJtb8rOeST1nFx1MDAwZSlcdTAwMGaTZ7P7xHx/XHUwMDE4XHUwMDAzY4ShL1xixYHnwKS/W19UaEt6XHUwMDA0spjMl7XQZv1V7lx1MDAwZlx1MDAxZlRZ83VcdTAwMTmhXHUwMDA291x1MDAxM8xjflQ2sC6SIEPa329cdTAwMTIrh6e62T6NsNleMFx1MDAxYYNSz1x1MDAxZpx7giRR7sX8vs5ccqTeXCJcdTAwMTD3gPW7wFx1MDAwNdbzhlx1MDAwNG122euLXHUwMDBiXHUwMDFitlx1MDAxY5d4PC5x+1x1MDAwZdC/xk9K/TTv/P2NVZvUXHUwMDE1sPDiXHUwMDE03zfjwEX6NVxie1x1MDAwNPRcZozKXHQvyIZ8dS3qVavSiMXshFx1MDAwMSD6Snyggfuiz3UplTNTx+35lm97n9mua3YpzlQwLkVcdTAwMTT07pW9XHUwMDE2UJlXrsM0XHUwMDBiXGZkhKODmFx1MDAxNHMgXHLhZ9ff+oFcdTAwMTmLT7HYNlx1MDAxYTnwnkulsLpmmnTT+P1blFSwn+7LuEInMu+FqJVMiE9K+q0sU1wi7cUsI61BwTXOoquqJmFcdTAwMTFvTo36g+76TD+qOFhcdTAwMTlbLp9Gwyk9qj1XwHTmvH1tZNXSTqQ6l7DMhk2RfuqHsN+k61x1MDAwMfaEXHUwMDEweKtHXHUwMDFlXHUwMDAy0Ejvqe83vaczR72Rq1xynm7PYtVtn2eE4ZhwWEDjNlxmfOFcdTAwMTJPjGBcbpXbXy21p2K/+5jSti+AQ8ifMNdcdTAwMWTP5TqQXGKVXHUwMDA041h+XHUwMDAyXCJb/9PfgKoy91xydcdcdTAwMTNkRFYvyqterfBcYm1zXFwzz2PgXHUwMDAy+p9XI1bf+LyxVVBt2YJ22T+ZLFsyWPtbPvY5IfRcdTAwMDNcdTAwMTSxwO+tiqOqXHUwMDFi6GY0yqs5XHUwMDFiV1x1MDAwZUeTrFrjXnN5+J50KCe0xMch6OOj3+yxy1x1MDAwNcrHuNlFaVx1MDAxMSXGXHUwMDAw+9ymZ15W2lx1MDAwZYBcdTAwMWbPNyfSJcMvyDbZ+6n4mF2RX2z8ylx1MDAwMjtC8nVcdTAwMDbLq8ho/P/Tw41BT4xcdTAwMWYpeppKXHUwMDBm29zuk1GfTKjN+U+PV1ZcdTAwMDRPr8c/sEQrfcfbynI4XFyS/Z1EbfD3vuKXXHUwMDA0zJ/cboWc6dfbyr9U1+lz19tcdTAwMWLFXHUwMDE5XHUwMDE2l7Ezf0p8dJVcdTAwMWXuqGVvXHUwMDA3vSM/rkdsQdiyveOtno5UXHUwMDFh2zyUgfXKdvrgS5M8KLTf7Fx1MDAxY46LxuCKTKubrNO0jq5G2aPzuVx1MDAxNo26rM4qXHUwMDFlSPNcdTAwMWVcYk1cdTAwMWLLdr5pffXSRsJOrauUiIM3WE1cZsgxnzb8cFx1MDAxYU9HhVx1MDAwN15cdTAwMTVcclRjteqanHbfN7lcdTAwMTksxVx1MDAxZcBgXHUwMDFkXHUwMDE2XHUwMDE1yFx1MDAxN2euQLro7reX1KpGMGC9XoFvtlxiXHSylbnLIfwyXHStfFx1MDAxZbG6IZm23Fx1MDAwZfFcdTAwMTFQJNeVVJhjtjlcdTAwMDLhltdcdTAwMGVphla90XIp9dam01ftv2MyX0NNuFx1MDAwYnfsOFx1MDAwND4lQlx1MDAxZSpzZcf8eibjmXBOXHUwMDAyVlpAuXHxflx1MDAwM/VMZjK2VUffQ7tJyGPr9K3YjHlcdTAwMDHmd1VvgodxOPXg3K/Tv71ZP/Xx6U1cdTAwMTlcdTAwMDRi53E10NJtSmWl01x1MDAxMnucRmBcdTAwMTLJ4tBcdTAwMDF9+6BcdTAwMWOkYyRdkLneSj6r/lx1MDAxZKxXXHUwMDFi8s6cwi/+uUryWm6FWHchuV6qi63ntK0vXHUwMDEztlx1MDAwZZSSXHUwMDAw1dIwyWDFrFx1MDAwNyr2RVxcm/iFXGLxf9Sr6D9jjCE55i8/aVx1MDAxY1x1MDAxOZDMhFx1MDAxNEpcdTAwMTJccumvLVx1MDAwMF0lXHUwMDE0XHUwMDFipq3b5ppJXHUwMDE44u+gXGJcdTAwMWLdXSlcdTAwMTlcdTAwMTT3/DvnbEHMsftazfAxkUHqRc1IqbtIp4z5yjThXHUwMDBmy0D8Yk3hTmiIfPq5XGaVh0frXHUwMDE1UJh2jpdcdFx1MDAxNuA402I//tb/nVx1MDAwNajyRyf0M2SFjb5mmFxuaKlcdTAwMGVxXHUwMDBmLVnvyFx1MDAwMYvLXHUwMDAxXHUwMDE01Fx1MDAwZcbF2iD1NarC+OSqxF68STZcbmNuPp83R3VRXatkuLA4OFx1MDAxMy/9Rk2LLDr3cmcumGdie2uRk99cdTAwMDOCiVx1MDAxMHuVnfjR/JturVx1MDAwZmCX/vNpKUed4+gt+1x1MDAxMdjQVGl1xvR36CFcdTAwMTEgSDtcdTAwMTdcdTAwMTSQg25mtVx1MDAxM3bdbFx1MDAwMEpcdTAwMTOPwZPdKZvgoDn6Q+FcdPG0e1x1MDAxMsFcZq3KXHUwMDBmxME6hMI9XGK7bk2+tynkXHUwMDFiw7V/ayDgTXJAXHUwMDAzIFwi2NnYRlx1MDAxMs1m/V6hN4bFZZVcdTAwMWOPQ8lfL1x1MDAwMM42LLfUOZOOWfBLvdKMf1x1MDAxYkVcdTAwMTfbR3FcdTAwMGZcdTAwMDX8qcPmd1Bzg/XtW9eqKEFZU2TcLz9cdTAwMGVYQfx4IdehVFTKhvrsT1x1MDAxYeyOl25VUPxAfFx1MDAxZDkv/5s/lMiMRH8hniyHyHIu0krL8mK/ILD+VtKvXHUwMDE1QVx1MDAwMXjV56pvYGnVVyfPxlx1MDAwMlbAXHUwMDFhjOHbiHTvq4j7XHUwMDE2yu+WhbBcdTAwMWSQ5s9cdTAwMTbiLu3bXHUwMDE2WYnuJTRs1KNx/lx1MDAxYazvXHUwMDA1/qJcdTAwMWbfNy5SclDV64C0Rza1XHUwMDFki/1pSutcdTAwMDJ5sIkrf3b16569V1x1MDAwMLWmwlx1MDAxZDjmXHUwMDAxov/Tw32kXHUwMDAxqSjoLSvp45x4XHUwMDAxa7zJTiojLL5cdTAwMTXhpXtZxVx1MDAxZaD5SyZOvKPM33LNXHUwMDAzXXFmirnabVx1MDAxOdeYNNLyRWEjOa0ldi1cdTAwMTlcdTAwMGJcdTAwMTT5hkblV1+pXHUwMDFm91x1MDAwZVwiPmDeTSpcdTAwMGVTbukjMFx1MDAxZv7OeIJ7+yye70XnTj1cbtJlYueEy/N0VIRmuGvkX3ctSFx1MDAwMFx1MDAxNDE6KtRcdTAwMDVrQuxcdTAwMGbXq7ghreegKss7XHUwMDEwrpImRoBqoGhbNGvba7tNXGJcctRcdTAwMTJyvlx1MDAxNapcZrxcdTAwMDMkcXqooCDQp9ySjs+7XHUwMDE5RzN8Vdzn3axJfeNcckhaXHUwMDFihLKLdvqUyVKTLH+YWFx1MDAxM0A2ZjmF2jV3Ve365NpIykA0wbeRdmpDQ89xq1x1MDAxMp3BSmmPXsxcdTAwMTj6TaZcdTAwMTm9c/FP41xcICV5671cblhSlVx1MDAwYv7XsEGxmCNcdTAwMWTVwCxyQb6SL1pcZrpU/TUtXG4kVuQzJqFcdTAwMDJK5MtcdTAwMTAmXHUwMDEzXHUwMDAxO66ld2e4ed87klx1MDAwZprbXHUwMDBl5Zu1aTm35lu1+nzQoZ9jzJNqsN20RXkvLu9cdTAwMGbM85ywlMnbWy9XusfheEOISPffj1tD9bGAl6VfXHUwMDA26YGkhPGo4KRDuvgkclNcdTAwMWNcdTAwMDdcdTAwMTRVWaHbO3++9ue371x1MDAxN5fITnLdJexcdTAwMWOWOE4q5pqR1LWeuzi0ckNjNm7jiSk8XHUwMDAyXHUwMDBiVWaa0z6S68mpt1+81uFcdTAwMTmL+Fx05ud1jYXDTFfZiri6ODdcdTAwMWGYX1x1MDAwMLavYYyAbcRQTVxcXHJfXHUwMDE3lVx1MDAwYtlJQCX/Y07kyyCneN//xCYsr1x0m1xibFP01lx1MDAxZLDxZ7p4ht8/zW/8Zlx1MDAxMbH+NbhxXHUwMDFiof574DY6f0vdXHUwMDE3dlx1MDAwM1x1MDAxZZ9FXGKEXHUwMDFkTkpcdTAwMTWrxvBcdTAwMDat9rimllx1MDAxZXXjqGSMKv5cdTAwMWLwcVLH4Scjj1x1MDAxM6hmwYK38cZcdTAwMWEukC2nuvldrlx1MDAwNWPsqWd5XG5aMzrHQiq6XHUwMDE2OIko7bB8WYKAwOp3sCoge7JcdTAwMWNdXHUwMDBlwWnUVFG1XHUwMDFla7LGLbpcdTAwMDCKIHxcdTAwMGZ8N5FcdTAwMDYsXHUwMDA2efRcdTAwMDRyXGJnhYXDXHUwMDEwI31cdTAwMDPttFx1MDAxNNF7ejtnfa3fXHUwMDFkk4JPWuBa6IOiXHUwMDEz91JlYZs/y49cdTAwMWXBqk5FQ4xCkDXlXHUwMDE2XHUwMDEyXHUwMDBigS38+pBcdTAwMDXs+SCGaSyvk6ZcdTAwMWFRsPSxyEegQi1v5CMmOYnZTNlcdTAwMGL6he/Lhpz2gqCH3Fx07u0nV93imN3Y2WRcdTAwMTP1LzGxiVx1MDAxNVx1MDAxM66TVt2cMlx1MDAxY/W+65izd9WBPiaKonCRXFwqrFx1MDAwNIPwLX+FS9GuO2pNI1Q2g3fXXHRzi9Dl6ilah1xiXHUwMDA0pSPC+C1LX/qzXHUwMDE0RVEtfkImp/vjM4TrRpF0bFx0XHUwMDFm+yBcdTAwMThViFx1MDAwNNhPwGdHrmhcdTAwMTDoi1B+3XSN5PvDJeyuqlxuz1x1MDAxNVRcdTAwMWOOJ+RrkT39dGFcXGvluVx1MDAwNEmk1Fx1MDAxNzeP+lwi8lx1MDAxYaVkjCClOVx1MDAxZFaA5jqjy5pDlXuhclx1MDAwNjj7iuR8XHUwMDA341vPbsxcdTAwMDXI51x1MDAwNZbylq+59U6RLnZMbeN+9nNcdTAwMDdA0v+LR/5H3/dKbeCK+lx1MDAwNk9sQC+QP9RrNFx1MDAwMV2iT0O6gcr6QGHb6DBJfmn/9Vx1MDAxZI1AXHUwMDBi9GVcdTAwMTjrOb/o6vwwpMf3kX8mj3e0+FVqiCN6VVInL7tcdTAwMTCVQav1Q93VrHLh3s/ItOS4wPp++lx1MDAxMTmB13TVXHUwMDEzlCBcdTAwMWUouatcdTAwMWNcdTAwMTHpjL+9U4I8R2E0NVxyXHKg7IzS7VdcZqD6g1WamLAlciTiXHUwMDEykML4mzAxibFWrKo9t2sjeG1QXHUwMDAzkWxuv3ptqFV2gVFcdTAwMDNcdTAwMTN0vrs2dKTVRHXRrV7Dqlx0WqD/hlxiXG5ZRFhQaIREXHUwMDAx5V1B26LPk6DBPUuRu5qs3LJ+OoE1gJa6TEXLKCyS5rfCXHUwMDE42lxu2IW3XG5fIbX0/vo6NZyf92VcdTAwMWZN59bvTLbeWl1cdTAwMTRxUd2unjly417kxDZuXHUwMDE4Z/E2wLAwxmj+XHUwMDE4LGA88fY9p3Qgf9hduVRgXHUwMDE0qkJHM2NLXHUwMDE1PDjLMFSBcc5no1xch2rZVFx1MDAxNvRzXHUwMDEyRnuwjfnxRO1cdTAwMTiucMOtXG70i9NcdTAwMDD7rM4gXHUwMDE4z/6l3aMnOlx1MDAxM/81JmtcdTAwMTFtgEzNXHUwMDEzv5lcdTAwMWNq2pyLr7dmXHUwMDFmRlJcdTAwMWVcdTAwMTb3XTJcdTAwMDVwXHUwMDA39iA471x1MDAxZbZcblx1MDAxYkZkPIbXdb7t4DvmVe7+JstcdTAwMTPWOPrZo1x1MDAxZI+SXHUwMDA1mpZOceZw671b3dXvnmBbeXkpYoKgz+1cdTAwMWHtPYFqXHUwMDEy2kdsjpA1TGNcIpCy/HdegZ6SamPLXHUwMDE0odTtXHUwMDE5RlZ8OU1cdTAwMTJcdTAwMTdvaO3HSK5AVy8v677RU8VFjHhcdTAwMDS0R9qZL/5qqeySblx1MDAxM1ZcdTAwMWZn94B6g5Xv97InXHUwMDBiXHUwMDE36U//eVE+KGxnWE1LjjpJ4YznKXo+8yRcXIfz3/UoXFy4iTKmlHfx0i8rk3FcdTAwMThUmFPhhcYuP0Iv9JtXjEtcdTAwMGJt/jlEXHUwMDFjUr/3hlZcdTAwMWQ8dW+hMzmbXCL+ef5A5pF23YFzi5lcdTAwMWZtv3vFtS+OXHUwMDE1XHUwMDE24VdGXHL0gnZ0XHUwMDFlbHX7JpzS6/XwXHUwMDFidFx1MDAwZbuSycnDIPLV/SFNQ0hUXHUwMDFmllPt46GzzKGNfFx1MDAxNJnIZ8tcdTAwMTk+IOOnQMt6TCmR0O9N/5osNHBcdTAwMTHJXHUwMDBivNNt5tic1fzXejBcdTAwMGae8ndcdTAwMWXrvWeVjEk6pVx1MDAxNXOqmoArXHUwMDBijNl1x2C8XG5cYnznLpI2X2NSSrYrTfPqL2BSxF+XdlrrzUuRrs7eXHUwMDFhOZRg8tynn9mO4NRBo9V581x1MDAwZYyCXHUwMDE2Udko3518hDX0VpLf66ZhjLriSek4/PqNwJF6oWukhe+UXHUwMDFk96mrQtxYWIDz63M8a/K6dav/XHUwMDExqWM5XFxMXHUwMDAwhYGNbLjt86OBwt+uXGJcdTAwMDb3X6+wj0ziaE6YXHUwMDA2xNAwvL/uiFxiXHUwMDEyQ3FOaPTjRs5lx1x1MDAxN39WQ+J+kFx1MDAwYnHBaLrZdlHqcd14kWhXX20jmohlKlx1MDAwNl6dV1x1MDAwNvH8J8tslJtWXFyqyLjPLuzUR6voXHUwMDE02WL0lWLIPJWj2Vi+ttt8+eqf+Zijp1xmWu7yervu/eVcdTAwMWRuMFwi+KvCp5r1m2X5L4LWTu5cdTAwMGXQXHUwMDEylZJM00rJ1lrZ2qSgwHlzgVx1MDAxNoWsO6AsvyD9hJrrwCXl71x1MDAwMjFvxpd4i1bM79wsuHpd18xL+rg0IVx1MDAxZqOslqAqy1P8m8/b5W7Gzmye8KtcdTAwMTS6JqS+tURcdTAwMTE84GEuLmbk6Xmxi+gpl9VcdTAwMTVKnY59XHUwMDA0O9NAdsvRp+R4jFx1MDAwMW39dNY8XHUwMDA1NphcdTAwMDSHmar2YuiYIWdmXGYrm0PvKGwytTXEr5Kg1vtv395cdTAwMDBcdTAwMTCaLWR0XHUwMDFh+6RcdTAwMTMqfEzx4/HLzfev5cqYYJjhyCM+tOGOmFPnWedcdTAwMDf+a4uCXHUwMDE2XHUwMDAz53xWL+fQSDZ8qVx1MDAwMYtcdTAwMDHzqT61lFxi36eGv41r6E/STLjGRojemq9BXHUwMDBiXHUwMDE1zJO2O153/at2oOrOjGCQgySHWVx1MDAxNq2bV5DZ6fFXVoswQeJcdTAwMDKy16kvvGXDhPKbw1x1MDAwNlx1MDAwNII6RC8+vlx1MDAwM0VcdTAwMTdXP1SfbKH3olx1MDAwNzdkXHTa+WN+Z03ncp/Qw4vnkq9oPdyQpnqk1nKi7E8onzriXHUwMDE2ZIJqP3CajEb+7OTAYl3vfz6BUV5dUVx1MDAwMq6dzX055OhHzLZflFx1MDAxYipcdTAwMDZJxGvjNaF29V5mlV5+lFLD/MeeyJp1rvVXijO8XHUwMDE3XHUwMDAwSvy75qbN9Y/mRkdcdTAwMDE9k1x1MDAwNYSqXHUwMDEyzHPPXHUwMDE5rFwiIETx+8QkQLKkjaKVs+XV5OhcdTAwMWH8jFx1MDAxMse2Ve5ueOZOffviXFxcdTAwMTckQ1x1MDAxN1x1MDAxNtVcdTAwMTZAdGdLTS1b+eb4UU8wXHUwMDEw4NDciS9050asSypcbnRQcqpcdTAwMWYgtUFcdTAwMDBYyVxuo73/K2ysXHUwMDE5jn+LW0lcdTAwMWV+k35hJePIVV10XlJ7dS1OncVcdTAwMTUhNIFze0G5LGRjXHUwMDA2iVx1MDAwNMlcdTAwMTZcZuRquVx1MDAxZlx1MDAxYuAgM6tvlStkXHUwMDEy7rfAlP3VdI+K1o6TpkVcdTAwMWE2VCajXFyHvz3qXHUwMDE1xCqo7nra8lx1MDAwYmVcdTAwMTF8PT7oXGJcdTAwMDVgwVx1MDAxMVxyUzKrtMtQbX41Z2FOISSG3fqbb9ieyZ7Ul1x1MDAwMPH0PlTa8ntBXbFcdTAwMTmNwjVcdTAwMGL7wvdcdTAwMTmzfWxve5nLcVx1MDAxMFx1MDAxOVmUe1x1MDAxNVnHlyWYRpWdbu+FkFwiuDtcdTAwMWP/xMNObv7mXHUwMDA0/Vx1MDAxYiuvZFx1MDAwM0FnXFxwYLOZKsJcdTAwMTZcdTAwMWJhp1x1MDAxM7u7irFcdTAwMTPTKVx1MDAwMDz+XHUwMDEylVxuUpTJX/RnyHioX3BcdTAwMWTsPp+nLHPc5Fx1MDAxYqBku3FcdTAwMWR/12VcdTAwMTdXvEHJoUPdXHUwMDA3Yqu5q53n7+ju6Po11qJ0kPzdaDJcXNuwhvWxTYTzW5G/3cd4ya58S1x1MDAwZbKq+jrdXpxO/YmVmK3KoUOcb9RcdTAwMDXmPqTYcC86XHUwMDAwu4lcZjXAXHUwMDE5MUDYXCKLXZ6gbpRWIShe128z6MjzXHUwMDAzXHUwMDBm2KTZXHUwMDA0O2u/LZriL8Li1J5aXHUwMDAxt37Q6rjwNO/Vf5/f0ZCNXHUwMDE27qZcYsJjeWNLU6hpjmcmekFUSveXJpd0KNaHXHUwMDA0O/JcdTAwMDLzyJdl3Ya3vcstXHRQaYPtaaVAPPZaWVdcdTAwMTfpWCHekqQk3vmZjNDhfMsgtbqpXHUwMDE4J+DP+yGOTF3rPK2tTf0miFpcdTAwMWVnnmvHqlx1MDAxY1s9fVx1MDAxZMblXHUwMDFlNGDmaEo6RytCtDP8waVbjdZcdTAwMGLI0V/vaFxcXHUwMDA2UOVcdFx1MDAxNKffv7N+ws6sSE51VOZcdTAwMTVK5zdrplx1MDAxZczR+tPDqDO/a0DDXHUwMDFmylx1MDAxZFxy7q0vWtSoXHUwMDA1RVFcdTAwMTJFyzbHe5vLVmyWKFx1MDAxZXp94DX27rJstPzMiSyB21X7lEB2rr9cIjtBNnpjQaNcdTAwMTZcXOJbTVx1MDAxMtXid1vgxcTTaNNcdTAwMTTeRdUloXSP1utcdTAwMTaUWUwwXHUwMDA0IYhcbnljfMVYXHUwMDAwO1x1MDAxZKZsR1xcZzt7VNVcdTAwMGVekKtdmt3mzlx1MDAxN8lcdTAwMDJF6i5cdTAwMDb4O1x1MDAwYuH8UK1156jZJmy8gnzUi13MkLST81x1MDAwYsy7/jdu5pBH+cZRYHT4Klxun8g2kzHZUlx1MDAxMm1cdTAwMWYh4lx1MDAwZtkoW8bhg60kyWTjL56dRP9gXHUwMDEwlbwuSZtLcc3V/iPS+lx0Klx1MDAxNq2Q81G0RDcuM1x1MDAxNXWz48N21JiQyC7MsdfxXG7jXGJcdTAwMGZcdTAwMDO7ftuQ1Vx0XHUwMDAzmVx1MDAxMq8jYFn0XHUwMDAyZJukQPizrzDztGlBP295Ly10/KjRi2ZcdTAwMTWIJLZH/J1cdTAwMTNX01q8wD/3m5XYXHUwMDAy6b8uYYrdw6+epqpvPu7ZwmNhjcFwTdAtXHUwMDBlcd7KPFxypjyaoqY9TePD/X3WXHUwMDA3WeZcdTAwMWU8dFx1MDAxOdij2SVcdTAwMTiA1GaRXHLnm6IvZ2/Cf5273Fhmiyid10gnQPxjpaCnSoVLis8v6PDGyC7GvFx1MDAxZCPE5tTE8ZnoJPLjaHI/X1x1MDAwNuLbqe7s41x1MDAxMs/IluozXHUwMDE1qHFw2KLONVx1MDAxNjVHXHUwMDFhd44snVlvTMLypcg1wF/AyuMw5Vx1MDAxZiixXHUwMDA1xzFpk9JcZlx1MDAwMlxmXHUwMDFj7Fx0MsOtOXFcZjpcdTAwMTNcdTAwMTd5XHUwMDBm/lp8TrMyt5E8XHUwMDEx8lx0gHZcdTAwMGVcdTAwMTb8usgk/6LWTVxmXHUwMDFjQuWiU4z6YeJUKrJcdTAwMTVD+Tzuflx1MDAxMeu/Kmth+ib3ty7+kq2WXHUwMDA1XHUwMDE5Vlx1MDAxYqfqKsDHqLvWjIJrMqKK41x1MDAxYvj+zf+IVfiLzN2RJ2HUXHUwMDFj3MLcmGRsPvJcdTAwMDE3XHUwMDAwaDmu7TVccoAgXHUwMDE1KcJL75uljzVHaJFcYvFtIVx1MDAxYqliwbDrbdvI0chLSlx1MDAxNnuvze9o9Fx1MDAxOFHd2Mt1O8xL4GLxrek70oZfQnj1K3fm7WyMlqFcdTAwMTWCQ3vNVi3XbiC1yXk6O00wX2fkMGlcdTAwMDIuZnP311x1MDAwNGHlv1x1MDAxZdib8tbm4lx1MDAxN37Iflx1MDAxY7+BwNq/6lx1MDAxYk5cdTAwMWKRJH2OOVxiMWngV+bAO9TKXHLpXkY4k1P3Up6kT7CykqDDm72AXHUwMDE0azDZTN1Yr8uYcFx1MDAxYuf7krqLPkNy1SV2Q0x9iWCZh8KohVWpR5f9lCFcYrvzU1Yyrrd9+Fx1MDAxMHjsXHUwMDAx2KWbXHUwMDE3XHUwMDFh+yZcdTAwMTZcdTAwMWJHoNbkSUxkXHUwMDA2O+HNRlx1MDAxOO5+k8WV5+Hfg1x1MDAxZJRcdTAwMDTNT1wivj5cbmwgq1x1MDAxOcUm/s1GW4FcdTAwMTO/lU8uVqCKxVx1MDAxNMcygVx1MDAxN6r9LVx1MDAxN4dcdTAwMDSBXHUwMDA1U1XSXHUwMDE2potcdTAwMDdiUVx1MDAxY7i8XHUwMDE57sdR/8s85qmmXHUwMDE0XHUwMDA1t/881zm5ylx1MDAwNC++aUmJ7lwiXHUwMDEzXHUwMDE4clh4nVx1MDAwMejROfCVTbAujFx1MDAxMYVE8OQhS4KwkttV+fqeXvAtXHUwMDE1X/x9jL1GXHUwMDFmalNx+YpDepR5kfxcdTAwMWTnROgvha/exzWHL3J327qJRE6/nJnV9Krgi93HPsGSRkBRrWzewM36SV5/XHUwMDFj22LZot7eXHUwMDFhh+BcdTAwMDL6en6I+1qsTtIyjbNcdTAwMTAwsCfWU6o8V2VgOnRcdTAwMTNcdTAwMDTf3lx1MDAwZbWD56FWoFx1MDAwMu1cdTAwMTTX72GmZnavplxmcvXvLitUXHJ5L0C9hZ2jzp9edJe2a9NcdTAwMGL69ad8VNJVmNYoP/i/92LSnK4ugVx1MDAwMGXxSStZXHUwMDAyMOpcdTAwMWOFnysle1x1MDAxM/fH6GS0wn1cdTAwMDaFuYtTRz64mrv87Vx1MDAwZvF08kchPoAvfHNcdTAwMDZB4IKg9lx1MDAwMSY8fnYq51x1MDAwMsehpefZXHUwMDA3XHUwMDAxVcNFcVnAXHUwMDExXHUwMDAxf8gxzFx1MDAxZY5cXFx1MDAxZPPUVNFdq+7DmEH1tTa6XHUwMDA3u+8kKSTItlx1MDAxYftEcNFPvJCghumF1GBcdTAwMDHE0ydN9XvFniZcdFx1MDAxMDvm8C6nm8zHsXWzvWuBvWbrvI3yOfGtXHUwMDA0T/GzcoJcdTAwMDQw2vY8vmQ/JfnxNZpcdTAwMWM1pEHzxLWmfpVU2IWPTFTwquCPUCWCU+qnXHUwMDAxXo1JNUYx5l87z3MsR7hjvD7EPK5BLqGon1x1MDAwZidcdTAwMTCZfpF8cm9oQs5uXHUwMDAy4Fx1MDAwYir8+zJcdTAwMTTB1oWvOj8m7lx0XFwz86O0fFx1MDAwMsnmwPMj9um58pxs7CjBmlZlNv7hKChcdTAwMWVF5u1cdTAwMTJcbv9cdTAwMDZcdTAwMTGBNbSzeG56OKFcdTAwMTbA/JiQ1cfBXG7b4Fx1MDAxNDfG+dpZSzNIlrHuQUXlXHUwMDA0ss9cdTAwMTVqK/lOQuqp0CT+tE9FtuPcXGKv8FpH6HxGXHUwMDFiMjBUwIbR/JFmleiOM1x1MDAwZk88v4Y7Oc5V7lx1MDAxZLD/dY9oy9eqXHUwMDBlR6/tq0xjZzlrZTz+o1x1MDAwM2PtqFx1MDAwMZvvQIv52t5/fVmPXHRKZIxLwlx1MDAwMtmyprxzn1x1MDAwMcVcdTAwMGZ3jlx1MDAwNj5cdTAwMTGe6va7flFfzy1hXjbu2DUybqYyU1x1MDAxNbRdXfRAmvhg3t55ToL+oVx1MDAxMf7oIJrKXHUwMDExXHUwMDAxny5ALNRgoGFi8llKXHUwMDA0V1/xgEja5q1yacC+NmTJXHUwMDA0zVwiI3dcclx0vKtcdTAwMWY09krNYOnu3lcllp6UWuLXdFx1MDAwNWTCXHUwMDA08dLQf1x1MDAxZqnYqKa56dJFZb6rdq5ac2mBl6q271xmVM5toSxcdTAwMDT5IVOYuuor3X5DrcpJWpNKbShjp13A6NHe8ZAhXHUwMDE4RVx1MDAxZNTJbFPq1FxcXHUwMDA1XHLg10ug9o/WSerOLVx1MDAxZuxEQ1x1MDAxMpL0cGYqzO1nSV5cdTAwMDawXHUwMDA0WOt+jI41aXWxmvtcIvVAQ49tYywg4b/7N+VcZsrAvSBcdTAwMGX0p2eTrZ+BSvNYWOpaWlx0rlb64MhvOD6w2DFuXHUwMDAwi5lqgEIhRlxuf1x1MDAwYuxcdTAwMDfvhEfgXGKgc6aN3ELirMxTdDgoYaxfrcvKmHNcdTAwMGZvXHUwMDE0XZXKs4qRv41VmM90rUlSkc3faaHqLrhYXHUwMDA2h4zG/NKe/aU7e+hwKrhMXHUwMDE2RzpqQlx1MDAxYfK6yJiq5Z9wRd/8xHdrjo9DzsdcdTAwMDJXf4/7mpRcdTAwMTKGqy5FXSx3hqVcdTAwMTK307lvm/qwXHUwMDAzXHUwMDFkzKOx05/fyzyhms/QnW5IqolcdTAwMDMyL4L4OMYyxFx1MDAwM1x0xNQ0xVx1MDAxZDc7WofnmUB8p2glQveWp5h/uVx1MDAwZS1aKVx1MDAxNVwipFx1MDAwMXI62dM8u/i67zfuXHK6zIe74kM6XHUwMDEx39FY2lx1MDAxY0FcdTAwMDbU6d9cdTAwMWFSP77duVx1MDAwM8rrZnQmsabfulx1MDAxN6WPILagwNXao1x1MDAwM7VzsdywjkpcdTAwMTH5gXpyXHUwMDFi3dpcdTAwMTFcdTAwMTKE1lx1MDAxYUJ9eoJGc9mp1SqHXHUwMDE49YT03POkZVDYOaR1gHl9dErS6PLl91hhzs1cdTAwMTJ9WHfjXHUwMDAzldrmrZRcdTAwMWY0folcdTAwMDSIIdXb6VWEZZ2dgKijwadK1JnsJfJA/tEmlZ/UWHnNXHUwMDFky2VF8ZXc+fw2sWBzsZeV0fz08kxcYuX7LSc64rJ5b4Vr6iFQIFx1MDAwM5/i1Vx1MDAxOfnnfEdsXHUwMDA11dJErb/Fs/6xXHUwMDAzNFx0XHUwMDAyRLnJYkCE3DNBXHUwMDE089mPXHUwMDFlXCLRdEs6tP8sXHUwMDE0/Mxu9zhcdTAwMGKtgWiKgSZDhOmFdG3HSKvzJoV5YdJbXHUwMDE3alwib1x1MDAxOOpnPl8mg3FcdTAwMTNWaluV7Dc/Xod3hrGVXHUwMDFh4p6QTfLYdJd1YOGX4FBcdTAwMTjLrpNcdTAwMTgqotT13mQnrFx1MDAxM1x1MDAxOaxcdTAwMWZQrVx1MDAwM1x1MDAxMsT9bcZM20Rcbv35XHUwMDE58c/cP2JcdTAwMTOkzMHKXHUwMDBiZN9e0Fx1MDAxNrJcdTAwMDEgXHUwMDEwXHUwMDE0ulxyq59cdTAwMDTI8flvnPLZq5RcdTAwMWaNsr/HU0mCUcf69LusUc9ao1x1MDAwYspcdTAwMDMmXHUwMDAyo4RNM+taXHUwMDA3wrqU/T5vPr86Tnfg4YZp0W9T7Vx1MDAxYj6+uo6aqbGbJTvqO9KgVEaUzlx1MDAxNW8vZzA4TpHDn6OFnSt+zX1iy1x1MDAwZlXmotow2VT4XHUwMDFjwMomNfRC5H1YLmZFXHUwMDFiqVx1MDAxZVpcdTAwMTNvSYu3ODDWuDJVqrlbvayn9ceGp6BcdTAwMWQ+vFLd4qhcdTAwMDPnidywI17Edlx1MDAwNlxyKbaXWmbIpeSal3ZmbiQpIcj5uHkm0cwj5IKL9sBuqlx1MDAxYYwoNfVcclx1MDAwMztcdTAwMWNuNsLnnGdk3SFvmbJcdTAwMTJcdTAwMDNgXHUwMDFm+nWCvpQsy1x1MDAwNn02Y2tcdTAwMTWmmqxcdTAwMDBDzPrhsO5UOOZNfCrZXHUwMDBietXfgK6mL6/Cx1x1MDAwMVx1MDAxNaY1ZzZEa1x1MDAwMECS1+fVvob661x1MDAxNcdcdTAwMWXBoFx1MDAwNTNJfD2DV3IqasK4U3p76biamjY5UUJdi0TuQNP9UrD8gOnAn5K/5Vx1MDAxNsTW+1x1MDAwM9M0w+BLTvudv492O4cgXHUwMDAxxl01ijRcdTAwMTDVg3yy1ePJXCI3J7NvTHch0kaD9M0l20hshJCXXcVwn+2vK3zV9c1wkU++I1x1MDAxMo7/se0vjECZSNpZ3SDIOHVyO1Ow/lCwq4CB3qeDlcFjwVxcK1x1MDAwZZhkTv3CdGXcZUH2NoXIX3KPkv2WebZusiVX8tlsdm+rXHUwMDExSlx1MDAxN1W6Y6CAXHUwMDAyVCRcdTAwMWJElW9qb1KcvobkKrO8d2i8fS6GXfVm2Vx1MDAxNvziNpHoXGa8XHUwMDAxe9RcdTAwMWImbHn/7+eRyPllXHUwMDEw64izIVx1MDAwNthcdTAwMTLM0fLzJin49Cqjil/Ydn6LXHLDOlW6dtewXHRhXHUwMDA3vlx1MDAwMGZcclx1MDAwYlx1MDAwMi34tY+ww3CrMpnzrbVv6MrChuhpWO0ose6v33FcdTAwMGJSXHKiWUVcdTAwMDJqXHUwMDE5XHUwMDFlVDrwhIq20NlnqTTYgooyds42dc5Z+uOEQa1+V9VKqKuMxcePTGFOgv7HXHUwMDE1w01DJVZg1eBcdTAwMWG5XHUwMDAw7S+tilxyzzFLop1P53yrXHInZf1hLSRcdTAwMWZ4XHUwMDE1Ja7mvvv8XHUwMDAxT6DjN703SihNQ3dcdTAwMThxYlRcdTAwMTJAXHUwMDFi1pVQ9Nz/abCpXHUwMDA10dMhXHUwMDFle6qrt1SDcEFLSX2qhbNHXHUwMDAx+lSB8c/+llx1MDAxYlx1MDAxNTOxmL2s4lx1MDAxZc1cbvWz+kV2htu05URcdTAwMWbahku68c6L21x1MDAwZsPS5YFCOjlQP5t0p1xuXHUwMDExN/mqXHUwMDFmMFx1MDAxZvzkNL52l+bmU2q/r0POrMNSue5cdTAwMTk16fQr3/3ep6ee4i/Qxyz4dXrqXHUwMDE4P2lcdTAwMDRuXHUwMDA26rrq8/lwpiNcdTAwMWF64lx1MDAxYVx1MDAwMVwimfFtXG4pg7uS5UYuVr5hy373PICppKCIXHUwMDFlsUGR+2WCXHUwMDExnlx1MDAwM57SosVGPY6pZ3bKmaHxJbRxsGhcdTAwMTOrXHUwMDA1XHUwMDFhOYuKyFW/Op1cdTAwMDNal1fn71x1MDAwM7pw01x1MDAwMClIpjjHXFz0oUFcZsva9zmB3cl8XHUwMDE3o0FcdTAwMDbckYfox1SjvK1cbsH287r/cfz5SPt51Fx1MDAxYVx0Y1e/fTPv5YznsVx1MDAxZYt94GLSXHUwMDA19Oeo/FxyNpg2uCBcdTAwMTfI722rrvfXcuXYy09SJ1EgXdlp7fpJb341XHUwMDEzXHUwMDA3nWl4o6k+aC8gIVx1MDAxM74sTVvywZ6hXHUwMDFiXG5qXCLHZOrcIUc7QS2yqkw9VIXbKJFIRT7yhT7ew3qpXHUwMDAzjVxcPvr3Llxcn9hve46skX0qJTxo+1x1MDAxZWipVJcwzkKFz68/kv2UXHUwMDEyOFx1MDAwMMXMfnB9Wf30U4af3tOHvvndNZ38XHUwMDAwsOYmlVx1MDAwM2hdqfuKLs34g1x1MDAxYu30yYKYtU7zQNWBNXB4b7ikXUI6MYty0lxmJ27el3+Gp2WXI1x1MDAxYvn+9eR6pv42XHUwMDFmar7DKdddnL46nE02zezhOtBjXHUwMDE3/p1+m/FeX1Ofu4BcZrL5pf5/z9lV5VEy94XTrWPC71h8aFx1MDAxMPyG4DNcZjSsdJjtsKvzWNJcdTAwMTfqse3KXHUwMDE2XHUwMDFmkNBcdTAwMTKg3iEjQHRcXCpTXHUwMDE5tdrpXHUwMDE5K4ynZFx1MDAwMFx1MDAwNT1FcZfyl79V7nBjJv2uplx1MDAwZVx1MDAwMWCoO45cdTAwMWZ169JcdTAwMWLkQ2WShbHI5yewXHUwMDE4JEWpN1RFXvHZwmLfSlx1MDAxYd68Uy1qJ/exXHUwMDEzKvf3sF9cdTAwMDNcdTAwMWbZ8H3Jx3eYXHUwMDFmgHygk7ryp2C6NiRENflcdTAwMTBcdTAwMDW8XHUwMDE3+lx1MDAxYYJbXCJcdTAwMWTcKWozwlwiQDuk8Dt+r+etLK35aFx1MDAxOWBcbmb5vaifjplPcbk8nM9/a9FcdTAwMDRcdTAwMDCZsUpKQILveFx1MDAxMUZccpBcdTAwMTWMXHUwMDA3/OtJV9pcYlx0XG6AXCJvXHUwMDEy/XrHgFx1MDAwYiB6+p0ulNQwxa7F6Fx1MDAxOVxyp4mRvGqVoXL8nL3FZyVcdTAwMGZcdTAwMDaZ51x1MDAxY1HfiH+uQ8T7siHiy1x1MDAxOXclXHUwMDAxN6WBs8DggkPnoqtbXHUwMDFilli5XHUwMDAwpa8vj0Dt70tbJFx1MDAxNUs32daZri0qIVn4PGlvYIliSGPcdk7zRN/Qp2Vj/OKm4mvBh08yTlx1MDAwMIAh/UTtgS8s4T2wNy2ekKDcJ7rMS6NmkVPYXHUwMDE1X3FcdTAwMTF7Rj7D2UZBPtrOMLnwynmnxE5xKkjhWOPFd+gog35cdTAwMDK8qVx1MDAwNMipSpvYJ0rK4kpcdTAwMWOUNvNuvL+pXHUwMDFkhf3CxFxiWKT5ojxZRd/BcDNjo4nUOEuaP4WveueuXHUwMDA2ilCh66T3WF9cdTAwMGV/YMd7XHUwMDFhXHQqjI+u9M7feVx1MDAwZe+Q0sDvMna5rVxmwFx1MDAxZK5cdTAwMWMlIUhGrd663pJcdTAwMTFbXHUwMDFi0zb+Uv1sPXSqTdVcXGPMrFx1MDAwZZ1cdTAwMDal2UPpaeJYXHUwMDE0uClm5UBcdTAwMDRb6ouxgW/ZanMlpWO+5Fx1MDAxNJYtvvpqXCJUQL0kXHUwMDAxXHUwMDA0tNtPMm2NXHUwMDFiYVmgXHUwMDFk6M1b97NWk9in2PHwmTTurue0kVvn8kydhVx1MDAwNePfQvtNaPqUzSMrXHUwMDFmx1x1MDAxNWNH/Vx1MDAwNOiIPXtk+dl6PFx1MDAxMVx1MDAxOV6rxjWp8JWCgG8tWFx1MDAwN0203TCDbYU+kXHv+J5439dLXFxE0eWnolx1MDAxMEFimEbFXHRcZpjbqDtuyOxAXHUwMDFhsv/qVMDvceMhabIyV9xcdTAwMTh/Zyk7W+1cdTAwMDZGnlx1MDAwNGPclGXuXHUwMDFjffA3v6M+56nEnJOC2H+nLVx1MDAwNPt/IVuEw2iMTcU2sppz3ih9XHUwMDA0nupO2YpcdTAwMDdcdTAwMDa3bbaGvlxmXHKAJ1x0qJd3TTuZVagwXHUwMDFiIVx0XGaCq1x1MDAwNDuNw/rjtVx1MDAwMlxioG2OudBq+JhcdTAwMWEzXHUwMDEyoDeexW4g6uBk4tE5MVKXdqWiTyRcdTAwMTQ6wVx1MDAwNrRYXZl6QM5O4fcxXHUwMDE3pkmn2rLKXHUwMDE1xIKwd9U4XG5TLnn/dsdcdTAwMTLn9k1QKy1dXHKzy+Jfs65wOPqLXHUwMDA2g1x1MDAxY+MvmedAa6PeXHUwMDE3XHR1cSxcdTAwMGKv5z11zlhcdTAwMTRcdTAwMDRfw9bPj+XY36hcdTAwMTRx132m9Vx06WlcdTAwMWVcdTAwMTe4l4WGsU+hhlx1MDAwNtVofuDyXHUwMDEwgEhOyLdcdTAwMTUsQJVcdTAwMTdtN1x1MDAxZT7tezLCnEhcdTAwMGZnJ1x1MDAxZbxGXHUwMDEzkLR0XFz59clMm5VcdTAwMTJT1Oz5+neJIGPdIHhcdTAwMTKHcY+XvVp/XHUwMDBl8/QnprZ8VJogkHL2aIab8vP6viOx4rNrv2o7s09Q5UVl5GdMtorI5Zpn17JWP8usXVxcXHUwMDE5XHKUjMLT/u0nzJLS87qsXHUwMDFmpzHNN65cdTAwMWSzPmHVlJdHXHUwMDA2m0vZXHUwMDFlQFxiuS+PcklAqStkXHUwMDA3l0mtjq7J7Hmy7FxmZpJWVaVora1fXFwhvJMkn4FcdTAwMWIhSFxydH66jfSwe1ntw1x1MDAxYZyrXHUwMDBm2fMvp9lXh3fF4IAgL7hW6pv8KzFcdTAwMWFxd1vcXHUwMDBiblx1MDAxY8CBqsqzXFwtXlxcPLvk2ZvPXHUwMDA3dlx1MDAwYlxyXk/HuFJcdTAwMDZcdTAwMWG/XHTzL1vtsMrS8qcuWPaLJlf+2DKql6FcdTAwMDJLXHUwMDAyz1x1MDAwMTdE66SprJfPVU1cdTAwMGKj/Fx1MDAwYopnllx1MDAwNKE9JrVrL/yD8Vx1MDAwN1x1MDAxZb/gXHRcdTAwMGLw9OJ0UGKXe13opo2RyZJcdTAwMGLsJHiLbyt3Z2yY8lx1MDAxY62ItuXfZFlcdONzXHUwMDExYu3tY6aUJN3FooUr5LxjPDD5029cdTAwMTTAgHXCzFxc28atpdiRcKFLXHUwMDAxqJK/mM6KW2JcdTAwMWVJ/HrRLkb8gbWBZyt81FxcLNyH0ffVor/1jr8wt0P90SC8NCb/Ictgs7xrt6dcdTAwMWM3luaqvtNcdTAwMWT/nC72Iey1YIZ4tORe3Jyqpy1cIqRcckknpINIXHUwMDBmlFx1MDAwMrNLXG5f96fRrVx1MDAxYuJhyF+SXHUwMDFi/9DtNCRsMlx1MDAxZNm0i1x1MDAwZVxuwpKmyFRcdTAwMDPj/3mOVnn+8caW5er8joKjgVx1MDAwMuxcdTAwMDRcdTAwMDWGZHeu4p5V9MJcdGRwdylbcG664LonxXelXHUwMDFlXHUwMDEwcECw2odccl6a8Fx1MDAxMc2kVc41I+3iyaDwq1x1MDAxZS9cdTAwMTNv2q+W1P6AJc6BXHL5NF/IgoedXVx1MDAwM/at71xuvolcdTAwMTm9xySxzPnL3ysvoaotNK+a7PaBwNtA9fpcdTAwMDAsUdxZUT38wlx1MDAxNcJ3XHUwMDFif0YpViy2zXPyb18r/F3qXGabu3HBjyBcZoFosjyiMO3v0TynXCJcdTAwMTefXHUwMDFlcVx1MDAxZOdslCrgsktNXFxcdTAwMDBoay2pTH5DeHh2uLSd7mbBv/pcdTAwMTPn5idH0bDT2/vplFNcbtWPXHUwMDE3N5trKvFmXHUwMDFjXHJBa06RdpHJo+FYYVx1MDAwMp53olC+VX9Irsw5dJlKby6Xv8HsrTmipWlAeGlcdTAwMDDQXHIusp+07jmaXGZcdTAwMDdeXG6gmVImXHUwMDBlYFx1MDAxNK7H5lx1MDAxZlx1MDAwZVlV26uNOu40j9IrLvlcdTAwMGJrQiZcdTAwMTgoXHUwMDFiY96uZvdAprzs8rveNGtcdK67tVOkuc5lXHUwMDAwMa71n1JQi63wqFx1MDAwZUf82OU03Ijd0Ww98Y7VK+fk32bpTozoWTo05jXgm1ufOVGl7t9cdTAwMWWpMlxyVJJcdTAwMDJKerBcdTAwMGLecsxUXHI+ZbO3XHUwMDE25KlcdTAwMWasy+dcdTAwMDRcdTAwMDYuXGaphtTjcO26sVx1MDAxZutcdTAwMWFKwqbBK1GSm9xcdTAwMWKiaUYxXHUwMDE4XpMkLFHa6zQgY5A4aVx1MDAxYkRlxNmVy1LxXHUwMDA1jmfb1lx1MDAxMPGskktcdTAwMTTo/mPF8M3rzc+z7YC8T1x0oYjTJ8GURiFcdTAwMTLJm/1cdTAwMDOGS/RW/4orgsTJv35vNJlsQabXXHUwMDE5oEY9msD1hur70X/A3sNcdMOl8Fx1MDAxYVxczjxcXF23TTNa1dWitKA8VIbN5cLue7m+dVA7JPLk4TzLXHUwMDA15EdcdTAwMTQ1XFzKfM3jReBcdTAwMWVcdTAwMTeIeEOifFx1MDAxZk6gSVx1MDAwNE9cdTAwMWW1O9hxIN4nXHUwMDE2tpSS9mu0caJBTnfyuLLBnVH2i7Bi9nvf51x1MDAxNc3yV8fo+lL6X8jEhODqLzZskzwsJbRQsX1Ra1x1MDAxODWzok+Zvc5cdTAwMTTBfe5B+77JdITRTlx1MDAwMmBcXCNEvFx1MDAwN6q/8FEhJO1wXHUwMDAwmWxcck2fXCJF+L/XYOjNdX42S1x1MDAwNjVcclx1MDAwNFx1MDAxOTL7hYs+QTtcdTAwMTTLv6CVwW0oXHUwMDFlyYeo+b5We5xaY74nL9ZcdTAwMDanNJ8hXHUwMDA1P8IrxXgvKFrcKvFS3DytXvOkV0uXxavb3kU3Jkl+sN5hVJ8oXHUwMDFlM+qs13mTyNY1XG7IOTs6/VvQYPCrbHhcdTAwMTedbKF/hcFnI1x1MDAwYjC7XHUwMDAz7rJcdTAwMGJ0Nk1bN2DoRLbUQatcZjfcPZryWS02Mq7GXGIywJruk/Z4UO92L0irXqtslj+afCpcdTAwMGbmwPjTXHUwMDE403ZLYGK9KarLP8ilToPF1evsu8xcdTAwMDChIWjwwlxuy59oRVxc6OFgJfEu8MuHXHSVkaE0dWpTcO5JjFx1MDAxN6X6UUffXG6UXFxcdTAwMWPJR71qmlx1MDAwN3ZcdTAwMWWvXHSJXHUwMDE1vi6qXHUwMDFhhlx1MDAwMYJvXHUwMDAx9NVbXHUwMDA1XHUwMDExUOiokXmQmZ+tyIZIh+LFVEh31bpgtlx1MDAwNy2H9P5lbaiVXHUwMDFmzvl9po9cdTAwMDNcdTAwMDXdXG7d1aDN51x1MDAxOeWflLqF5LLlXG6YXHUwMDA1Y8uOg4Zlmj5XT25hXluf38dmXGJcdTAwMTT7sFx1MDAxNmCxlJFN1GfLIP5cdTAwMTWKl0/U0Vx1MDAxY1x1MDAxNWpjJ6c9iVx1MDAxYSZfmEtr9Fx1MDAxZCj8wd9cdTAwMDLSXHUwMDBm6sZkXHUwMDFhXuYvQFx1MDAxNFx1MDAxMtU0ZeLKclx1MDAxOMxnN3PkfFx1MDAxZZs+qU0lylx1MDAxYpJcdTAwMGXZUHo+xpfK3Vx1MDAwNN1QrPnfgTRA52FC3lx1MDAwMshcdTAwMGLC2nu79E1I+W59uD34hVx1MDAwMmNcdTAwMDHli3vFulx1MDAxMFxchNjqmnUzwP7YKv+5vJRcdTAwMWVQMZ+U8o1f++BcdTAwMWHAz9pcdOHaXHUwMDEy6+9cZqm4Vn9IpOm+XHUwMDFmSsxgzb9cIoeO7yf2lCtqsaXn7DO9XHUwMDBlb23d+lwiqypcdTAwMTmgv0eRm1x1MDAxZmG8PSiJXHUwMDFi2Ga2drNqNpBq0H5cdTAwMTifXHUwMDFjXCJtqD3Pb3HfOlx1MDAxYXdlXeXhpKHgv61O2vTX9buAhkJHgLqsXHUwMDFiXHUwMDA2V42iuubC/i1cdTAwMTnmeMTvwb5o+zd//Fx1MDAxYeOGg1xcUVYhymVccshcdTAwMTZlS7tcdTAwMDCeM2i5rntx2Y6K5+CaakU8jvFMJbmtcdi5w29cdTAwMWJ5xOamNFx1MDAxZlx1MDAxZpdcdTAwMTjzhDyXyehcdTAwMDG9W1NDlOKd/nlcdTAwMDNzIFxudVx1MDAxY1GgIKNtXHUwMDA2wJ9cdTAwMDaLPq2re+78r/Wiz+3QoWu06mskXHRQxPHXXHUwMDA2Z4OXRN+mIGliTs9bhNRKMVBfN1x1MDAwZlx1MDAwZoNcdTAwMTFn4tlccuKoinl2JNWyXHUwMDEy1Lhyo3VT+yC7XHUwMDE3f1XGcVx1MDAwNvLVnnxcdTAwMDVJhFx1MDAwMHJnXpds3WKZSVKuoDBcdTAwMGWyzFx1MDAwNHF0W0fPaUNcdTAwMDdcdTAwMTiMXHUwMDE1JGSYm1x1MDAxZEnBx8KkQIefPcpcdTAwMGXVSONcdTAwMTdcdTAwMGI7PoEndJM0kViWJD8/XHUwMDFhRcMtNSzRXHUwMDEypzS4opMt8TKcv2iz+Fx1MDAwNME4MTs2UHLFXHUwMDAz7Zp4XHUwMDAyuOUqh/NXXFyJ52beyv5bkn/2r7hcYtIq7rdcdTAwMTbAXHUwMDE1OvnikEZcdTAwMTfOXHUwMDBi8axxsFx1MDAxZDPjN6m/XHUwMDFmPyiXl9lcclx1MDAxM9Y55S1udJq8XHUwMDA3z0hcdTAwMTaSVHFGfVx1MDAxN8tW2Vx1MDAwZkFNcVx1MDAwZlx1MDAxNZdNlkuf2VxuaLPWW374ILdPeb2g75iTbmjoSfg9oaeBat1kJGezO51cdTAwMDO9sNZDj1x1MDAwNCjByGpycbjSx66yit2lXHUwMDEznVhcdTAwMTGhXHUwMDA0SFx1MDAwMy2XRoSzXHUwMDFmKN6YuCZcYpxX5Fxm3y+0XG43P563iVPI8l7IZFxmXHUwMDE35KU6ilJLJW5zonwh3s1cdTAwMGJB3lx1MDAxOMjYa2yo3k3C+u5aqH/sZSRcdTAwMDFK+2nWObWJXHUwMDExNWzSOPv+flx1MDAwNXPb0V9cdTAwMWPjXHUwMDA1XHUwMDBmPXdcXHBcdTAwMTiP3abYXGJcdTAwMWVcdTAwMWKcm79GrIqT639cdTAwMGb/yOZkdeipW1x1MDAwMFuf9THHXHUwMDBm9Vx1MDAwMcl5XGbShfu6SzhcdTAwMGYoPf7C0p5cYn/8akD88XchUi1MUjm/KYBPjIdibtLYa1WzQM5cdTAwMDCwLnVtRlxyJLyE3YCe/lxiu+WSWf3W+FxurX8rT1x1MDAwNqX70ftO7vpfZ7qZXHUwMDEywrnI2N6+f0NLXHUwMDE0a2W4N3RK91x1MDAwMCzqrIPgbb0xR6c/muqzdlx1MDAwNlx1MDAxMKqeNKncXHUwMDBmglx1MDAwNy6TXGJyiedTqc5JwvUpsMW2RfQ5KVx1MDAwN8tcdTAwMGWpLdCWXGJkJX2z1Fx1MDAxMlx1MDAxYZF4lcIyL+xnSltcdTAwMDVGVoXbnmNR96pTPFx1MDAwMC+1Q+RcdTAwMDDYPMEuv0jOIJHgpf2SyFx1MDAwZUGByH2eOJJmXHUwMDBmMuDi9lx1MDAxNbxs0iVL7bH9PH5cdTAwMThcdTAwMGI37oGrXHUwMDBinzA3Z+tcblx1MDAwN0GDSM8h9LRcdTAwMTRW88SQXHUwMDFhg/noV2zTpb6FlvVyp+Txbj1IUZrcXHUwMDEz8jm0XHUwMDEyuJ5lPy46bJhydvO3XHUwMDAy+F5Ei3HUx1x1MDAwNebiyFZcdTAwMTPUzlx1MDAxYszMeFx1MDAwMGjSLGg6o1x0+St+QXDcueBA5krbnf9F01msOctsUfiCXHUwMDE44DbEJbhcdTAwMDSZXHUwMDEx3F2v/tDfc/5RpyVpZNda74Jilyvw9ffMoJpJXGaWNXCUMJ9Fr5qW9jSJpLxcdTAwMDbVNOvrgHac9zbqPziXQlx1MDAwMDRccvbfnDUwXFzZdvaTc7iDsu1cdTAwMDO8Mv+6uZqyUVtxulx1MDAwN9OtKplcdTAwMDbdylx1MDAwM/dThK72f892/1hGXHUwMDEzmDfSOVx1MDAxN1VlIOWkWFxuRGu0iZE7fpSxhXr3nktcdTAwMWNlja+hOlx1MDAxZl9FRlxyMtRcIjFSolx1MDAwMopcdTAwMDHbwX0+wHFiXe7AfipqiViN7+pcInwsUjJIko1Pmlx1MDAwNmtu+GCykLc0ypP1XGYjxNeTk7n44Vxi3s9kKvdcdTAwMTS64eS9XHUwMDFl1MLj6C1+snDeRFx1MDAwYlx1MDAxZZBcdTAwMTHowY9cdTAwMDNcdTAwMDFT8NWTVzbH11tcdTAwMTJQXFxCXHUwMDEwmj9bstpcdTAwMDG+P4tcdTAwMDPXS5BBR+DcOvHX3JpcIqKtwFx1MDAwZdNCl6NYblo5Lv1cdTAwMTd8TCfuNO9h52o2YTaH9+xR8I7prFx1MDAxMvS1eVx1MDAwZo1cdTAwMTdd1rFond9EiVx1MDAxNZXFk1NcdTAwMDZcdTAwMGZcdTAwMTnrTJLI6U/bmYFcdTAwMDTh5akonM1cdTAwMTVH6H89g/v9XHUwMDFlOPLGWVx1MDAwMVx1MDAxM5JbXTBMY1cmXHUwMDBl34JaXGLMzvM7fWxcdTAwMGXSqeYv3ufUXHUwMDA03p2qJ63UrYkuXGI78lxi2Fx1MDAxMVxm2MrdNjJcdTAwMTJfqsqrZjcmcZ3yYVx1MDAwM26Xqu5w9EP57GtcbpxCQ3G1piqurX6USJvqgdFzWVZlycmDoexcdTAwMDbcktaIzc7+XHUwMDAzapuNXHUwMDBmlKNcdTAwMTaEpaS7c5KLWrW9SmrnxNlXJW1GlPLyz1xmXHUwMDEyfVxm85ZcdTAwMGZebKVkcvFoNv+cXHUwMDFhlJZR+HklM9ZUwY/oXHUwMDE2tiVccm9cdTAwMWX7pKDesaWPXHUwMDAzmHkomlxmSXFcdTAwMTkrt2+m7o+Px0dcbiwxrfllXHUwMDE3l7dcdTAwMTgm0ab4RqxD14jBopg4Tb1Oh2hAaW608/NP+flo10dZ7s9cIlx1MDAwZWDyd1x1MDAwYl90NFn46uGWlpTCSf1hJHFcdTAwMDfuy0hC4TPJXHUwMDAy+X23XHUwMDEzxydrPLJVhaCGI0C7XqqaODelQ5d8XGZhSzI/XSjNzdd1Mlx1MDAxY6yNtTNzcLY/8Cyo5ps9KLGXJlErtPpbtudKmYBm2Jt2uy1cdTAwMWRvaHfL1KZ+cNPfMZDkwoFcdTAwMThUXHUwMDA2+M35XHUwMDAxjKE15d9cdTAwMTFx7t+O7uhQyV+5uciuMbRcZvWQlNNccuJJvLCYf3l6/zQoPmLYXHUwMDE0XHUwMDE54rWmZ1x1MDAxOdWozD6Sdp9cdTAwMWPQMnZ1XHUwMDA02K7WcM284lpcdTAwMDMt/otJkeKoN8Zy/Fx1MDAxZeBcdTAwMWQ/WYBC6T5cdTAwMDfK5ZJfKVx1MDAxYajVXHTSXHUwMDBl9sdM1UjuRot9nb/FXrL9t37B+rJuOSuQXHUwMDFlqFd5XHUwMDFhXHUwMDA1w1x1MDAxM3qz0ZNzXHUwMDBlXCJkXHUwMDE4hlHayTQ755njjoo2848xaYFoV/SXauOkbFx1MDAxNM6uSDKnXHUwMDEwmevq+FxcxoNcdTAwMTikenCNRIMlS6M1XHUwMDAwoDJcdTAwMTBcdTAwMTRSqW7NStBpXHUwMDFl6+5cdTAwMWP8KMCznjn0YmxR21x0XHUwMDE2bpA6ZDRnJHqIQ0OZZ6iYJLG5X8ZYUjtOUVx1MDAwMsMwJSN0gv31zFx1MDAwNP/WYd9cclx1MDAwMzxcdTAwMTN+XHUwMDE1NnrbPNAul5Z90c1cdTAwMTGdIG/hi1x1MDAxOLqKjlx1MDAxMNgx28BTXHUwMDA2XHUwMDExgdbxXHUwMDAz3kL4IClcdTAwMGXy1P5m88RcdTAwMTbadopL6NU1e2uf8LSv7aJcdTAwMTJcdTAwMTkg+f/mVE7VxFx1MDAwMeW4I5bc7FwiXGJaOXjFXGJioo+JoV1O0q36XHUwMDE17uybqaROz09cdTAwMTJcdTAwMTXNl2MyMutcdTAwMDFwXHUwMDA334CNk2TTd5Q7kVayNVx1MDAwNVx1MDAxMbnTikCNXHUwMDFizVx1MDAxZWFcdTAwMGZFm2dL0GVdYX7H3WzhKqGXTZpnXHUwMDA02Vx1MDAxZSDzljQkdre1g1x1MDAwZjJ8q0uNqKje72rpXHUwMDE3Tk5+SGt8e5e7VM+4XGJLXHUwMDBmJdZaTXB8fcUlk+kyhFxcu8NufM2alKVQ61x1MDAwNm6tXHUwMDE4ma/wtlx0evnjXHUwMDBmXGZcdTAwMWWfg0xcdTAwMWIknVxm61C2XHUwMDFjgeSeXHUwMDBlXHUwMDFlWlxiXHUwMDEy9zq1nUcrXHUwMDAyXHUwMDFiLEPKLqM43Tw6op3J5Takzi87WHTxO1x1MDAxYseKmYurkFx1MDAxZEb07su3VP/xmmHzXHUwMDAzXGKGhlx1MDAxM/ItQoH1J2xj7vzorK06NItu57p1XHUwMDEw2NyaXHUwMDFjpsWPSjPxNqKO/sREIPkjXHUwMDA1RDW8IfTvw0aRiKhcdTAwMTbDSTKaXHUwMDE5bVJztphyczto/tckXHUwMDE5dEHJ9TevQoWjJVx1MDAxZlx1MDAxOOa311t2wVx1MDAwYvI0U1bBqWkkclUqQyq6ynf3eVx1MDAxOHVcYrLEXHUwMDAxXHUwMDE5gfhcdTAwMDXh/I9cIuuyhqWk2FrQ2fBzXHUwMDFlN77Dad5cdTAwMThfm1G+vOjbnFxc+FH3XHUwMDFkRqBJ1/aIyJdrTrVp20biOUfJpm5cXEr3XHUwMDE0ujpTmWhpeb6RlFx1MDAwMcGsT8ZO12Rht3lUP4inz8pcdCgpKc9GPZxcYmqavlx1MDAwNFKKUV5yI1x1MDAwMp6EvWq/uip8PED6loO3fFX9VW133u0wmJvUXHUwMDExZHa9hLw2bVxccDlmo+7xKVx1MDAxZFx1MDAxYlx1MDAxMffXZ7f8XHUwMDEy4S6lq/m3RUzqq3GrfKZ5aaXY2bMgs0x43IfVelx1MDAxOe5cdTAwMWTuuVx1MDAwZr1cdTAwMDZJVJoo0l1cdTAwMTCyNeC/hs/NU9CW+91qTFx1MDAwNrGB6l27PUGuOOfpOHqSrOGCbZ9cdTAwMWPm1q5cXD6Q6Pj2XHUwMDBiUGBS/vZt7144tl1m+evbTPsjXHUwMDBm6Vx1MDAxZmyglp1/is9cdTAwMTKvxZH3X8rXyo1z8Vr4NaZcdTAwMWPOovGOblxiTneZYV82y+OYwVx1MDAwNLLKUYG7VouA4nnKgadcdTAwMTK8U1x1MDAxNkW2Y7fZMDSjN41cdTAwMDFrzVA+MUGk/tjKgcVLjywhRYRBXHUwMDBi/p5RhkNbNaHtZPUzXHUwMDEznE2814tcdTAwMWWei+b9glWywUsvcVx1MDAwZXGtlGRcdTAwMWZXqfWwNu7Xr6SjWo4pla5itMIkvsWxXHUwMDA3y0t8z/e3XCLaWPTEjERUeCtcdTAwMTVpKU1XMpRvQdDXrW5cdTAwMDfuXHJcdTAwMDOJsbRcdTAwMTQuVodcdTAwMWJcdTAwMTSkl1x1MDAxY3yiYYlcdTAwMTniM1WPRKN70PlcdTAwMWSP4Wx0TfPLXHUwMDEzwGOJOn+CakYvXHUwMDEy9Vx1MDAwM/iRtzPwW6fI2k5qKsfPlfxCZEpcdTAwMTKFXGI86/iQq2r8hNJxXHUwMDAyx/u8QaSpV80mzseQwnFXcpjph2z6lW/622psdWaQenawJj5vUItcdTAwMDDno0DLXHUwMDFiiy6IgaRdxr+nVfKI8eZK8//zbuOIZ382QOcguO/gtcs8iahYwldi1LY4VJ8vlXfWNeKC6oHCXHUwMDAwi8s5e4gvXHUwMDFkXHUwMDFjvUMkJWQgLVx1MDAxNMpt9yPHMlx1MDAxYvj7nVx1MDAxYd9+/c9cdTAwMTNaXHUwMDBihKy5y0dcdTAwMDWTOE2buFx1MDAxNqHC249cZt3TXHUwMDE4fZFg3822XGKajVxcMZ5U3ST2slxiukPM0+s6f0/fpq7fLbF2g0wnXG6d/vQ9RE6m11u46cmmm1x1MDAxNYtcdTAwMWU/XHUwMDA075EopnRRIMqMsMLPxGmYzETrY0QzXHUwMDFjYVx1MDAxY1x1MDAxM/1dS9o0oihcdTAwMDBAkb5cbq1aK3Oe7G8y/dYoVFOdXHUwMDE53NBcdTAwMWI2XHUwMDE2MkLsqS8q28Mqtib4lOxcdTAwMDOWoG19YTtRSZpcdTAwMGWMjqdcXEtP9NhzscyMXHUwMDFk2+VPssJw7zZcdTAwMDeP0PFyXHUwMDFmIGNcdTAwMDKEsyX+umtcdTAwMTOds+5QPrcy6o1v0uPnr6VcdTAwMDOCsiqlazK+XGaKXVx1MDAxY2hSy1hcdTAwMWJcIvvqhlx1MDAwNvibTeEyiVxyUmVcdTAwMTBMklx1MDAwNFooeT3grNfnrLRccn6XwM/chYpcdTAwMGImZCPvkGz6OVxyyLWzL4+u91x1MDAxYn3eoHSVb4zjuLNcdTAwMWbZSpJUvGWYID++NVxiiim2x9DPXHUwMDA1WMWsv2uPI51hobIpXGKFzTCCkH3cmotliD3W01xm93y6QapK9ky9uEZnh+9rXHUwMDFlQWUyOtAzzCd8RkqIXHUwMDE1vcfMXHUwMDBmq1RcdTAwMTnrUu3s9dnVJmM2Ou6BM1x1MDAxZJG3ZzRskzPZP1x1MDAwM4Awxkei0UK6KVFif1xuS/JmRcdcdTAwMGLvxlxiR5p+PSVcdTAwMDfOO1x1MDAwMLpcdTAwMWaLXHSQyqQhh6rBxt5cdTAwMDBcdTAwMTmyWe3+XXBXhmY6sWdEq3JcdTAwMTVTxkrNRaiOj9NcdTAwMWGHtYbkXHUwMDA3XHUwMDFkg8d6avq2iFWuXHUwMDE3I960w5I8XHUwMDA2mdxhwkjiXHUwMDFifzZBpIWBi63J/b5+XHUwMDFieNl+xpm+fz943lx1MDAwMFx1MDAxNyNcdTAwMWbU1jqctfdVIGBcdTAwMTX341x1MDAxNZb6xE9cdTAwMWEq1rdcdTAwMDBUY53ckFx1MDAxMIdcZo1cdTAwMTE9tjD6PfugXHUwMDEw6tjARno7XHLJgJqszVx1MDAxMEOR5+hcdTAwMDJxorTH8lx1MDAwYt59S1x1MDAwNPai6KzljOogqq7dXHUwMDBlszGDxUM9ddpcdTAwMDLNvatcdTAwMTWDb+JcdTAwMTm3vK43XGZZXfj5MYeitGlcdTAwMWJ6a6uDJVxcjDhcdTAwMDFcdTAwMGLNIFx1MDAxYlx1MDAwNWJcdTAwMTgwLrU+anJ5K3aKUeCy/Jlb+K/VIGubXHUwMDE2XHUwMDE4y1x1MDAwZmpYNeJcdTAwMGVql/PLulx1MDAwMmX28M1cdTAwMTDKN7jev3t60O6AM1xcwyNJfHKkceFQJlx1MDAxN/VcdTAwMDOCbiFxXqB8qNTdrFx1MDAxNdCHXnqPPNSgwvP5XHUwMDBllClcdTAwMWFr+tdVTFGJXHUwMDBmv1DgiiMpQmT5XHUwMDE2XSgvUvs32vszplx1MDAwZesxhUXF0PiROPLbeZ5kU0KZwDSShXmzk6u2JMi2v5QsdNPvd29Ii50xO8xcclx1MDAxMWTL33zCnyRcdTAwMTi1j92Pc+hJuysp1kuysNOCZkR6lKK/bNYtkGwsJJGFN0uKmj+YI1JLXGJe/NePXCJXlc22rHsjSVj73mAxms2E1l/fU1x1MDAxOKl+guQkNuVx0b3tXkKFef5UfP9phc1CjVx1MDAwMkSOQeb8SStajbPIXHUwMDEx81x1MDAxMfGhXHUwMDE0/3PGMKqlSsIg98jshDMsdN5cdTAwMDFcdTAwMTWsxSQ1J8t34PowuZFcdTAwMDG7r5rYUMQh71ZkMG4uRlx1MDAxMdqhWDKvokqdfies5XBcdTAwMGUy5PvELa7143dvPm9QXHUwMDE0XHUwMDFhr7vzYdVdOPu1sSZcdTAwMDDevdDHqD2bdtK7fCbd4SbcrVx1MDAwMOxJtn5d6lx1MDAwM2114y005CDPXHUwMDE4/iWM6I2OdnpcdTAwMTlTXHUwMDA11jzc5+ezToCNMlmrXHUwMDAzXHUwMDBiaM1UaIHL1VBfXFzr1lx1MDAwYiBni1xy7lx1MDAxMlAlgj1cdTAwMDXZXHUwMDFk1zuLXHUwMDFhn2eQ8m+9yVx1MDAwYlwiwJJMLfC8NjlLba5cdTAwMDSeo16fuvraI9z6XHLoYFx1MDAwMFx1MDAxMVxyV6kmi0hQv+czXHUwMDEx7c7/OuKQMF+Mk3pCxphcdTAwMDdcdTAwMWVAWnu1XHUwMDE2+7RcdTAwMWG96DPxL+xcdTAwMTOSz1x1MDAwNDFY+1x1MDAxN1x1MDAxM2xYWYnMWn1IJ97OXHUwMDE08MTEfkApMu2e5/Xf1Fxu6lx1MDAxZamnxzF0XHUwMDE0IMrX7FRcdTAwMDFcdTAwMWN2f34+hU12iEvXc7CShYJRjCS0mCQopc++Jc11qetcdTAwMDFcdTAwMDKuca/WcVx1MDAwNHvNJ5ZcdTAwMWJcdTAwMTakecMvPdu9ks+9Y/RcdTAwMWRnlCn5a4BdSFx1MDAwMvhMTGpcdTAwMWJwXHUwMDFkfT+K+Fx1MDAxOEPbJUHcpkG0bVWB83g7XCLCO/wslVx1MDAxMzaXUFx1MDAxMN5cdTAwMGXkNFOpyHHf7ZVUXHUwMDAzSt/cNlmwpDvqpUq6XG5zyVx1MDAxNzNoXHUwMDAyplx1MDAwNe89a5r19apuiyvWUKs3UnbfWzS12iVMfLmoYKG9XG5cdTAwMDf+roW3ZPlcdTAwMWKoMMFl1lfxq8akzV1WXHUwMDFknkdcdTAwMTeCkFx1MDAxMoWyQ6xcdTAwMDCd9Fx1MDAxMUZvpPou5Io6XHUwMDFk+ytyLFIjpP/NSYnwOzGtKnVcdTAwMTEwofvooY/0+IJRlk89XHUwMDFibv11x043szO2l/V1t3+5bbhVXHUwMDAzx7Dz5bZQXHUwMDExLVx1MDAwZqHngpmPQvborlx1MDAxYSXgK8v+XHUwMDAyXHKLrcJcdTAwMDFj0Uj7/axFgzw2hqW9q/r7WVx1MDAxNFx1MDAxYlJYXHUwMDFmbzht9lqdM2dPZKw7n14s4W9hXHUwMDAwsymhUt/CfuBcdTAwMTGQXHUwMDE1oC2+5Fx1MDAxOEmXc1x1MDAxM1x1MDAxZLlcdTAwMDb1eo6uXHUwMDBmSVxiKnC7ulx1MDAwYlczKubMU+lK0ntd0zlvUpatY3BcdTAwMWXQwOhYebTnb4Jcbo9cdTAwMTXT+4czh4DzXHRcdTAwMGJTP1xyJ/PUXHUwMDA1XGI9IKZnXHUwMDAwmUZRKq3B0VFg1ts+XHUwMDA1aiCEXHUwMDBlhSdFX+03f9lgS9+irZzywrBcZtGujkMyXHUwMDExh1m/XHUwMDBiXHUwMDFij1x1MDAwMKU246C4XHUwMDEyfUepnHxcdTAwMDYyzVxuXHUwMDBi97i/amifjVx1MDAwMonv8bpj3JNn6VpsmC5kONBi8fhSmpexLK1EenhHT2xcdTAwMDbNxjrcrjHCkzi3dCqEKMGRbVx1MDAwMCCYXHUwMDAxXHKQOtJcdTAwMDS2raaZamZ08lx1MDAwM1clfVx1MDAwMeG/e1x1MDAwNn7Q2mGe7+v271x1MDAxZVx1MDAxZqNcdTAwMTMmuYqAYVxmvI22n6ot5WT4PK3b2cFJt9A1XHUwMDBire+OXHUwMDFlmi4gSCyPVfY6sr4pXHUwMDEzj1x1MDAwM3Hr5oirp9ZcdTAwMWVRdU2UVs1cdTAwMDfQ8OegUG1QLr5cdTAwMTmdvTJRXHUwMDAy7SrigjMnVjdcdTAwMTCPID1TXHUwMDAxVdOn5DlcdTAwMWUqXHR5eFx1MDAxOVx1MDAxMHlcdTAwMTKDtyvGe0N9VtaegHHRc3mOTdg30F/YT7mzk6JA8DpcdTAwMDEw+1xm/o8gNPF7gcU9XHSbODmLmP+eoHRpaiqwPdXnlFx1MDAxON661ZD6oCRcdTAwMTAks1REYdb8+aQ/3+6iLvpqRij4l8G9QeNQM3dX9MORaXlcdTAwMGJcdTAwMGZn929CZE1ykVx1MDAxMeReMbl2yM+PXHUwMDFkl8Pyebcy5CC30eM4qFx1MDAwNFx1MDAxZFx1MDAxNlRcdTAwMDTKglS8adJcdTAwMTi6xIRcdTAwMDLd3Nn28OL84LI+ijR0XbGtq4z0Vb9Dd9CRrFx1MDAwMD5Tf04k5HCqk7BovF8nRZi/e2u6mVDvXHUwMDAxjYHwPr+YKDJcdTAwMWSWiLNbdMPt8/LejVUjaejYxFx1MDAxN5+A3JCwKMHaUVx1MDAwM+O1TPLOqKM8XHUwMDE4XHUwMDBikC6qlm9nitFQJj/FXHUwMDA0/NFRQNSnJ1xcYze7W716lWcgXHUwMDBlS0lcdTAwMTdqoJV0XHUwMDEyqdmMeofi+XkhXHUwMDExflp+YVx1MDAxYVonM/44XHUwMDA1v9JcdTAwMDdcdTAwMTcgTHaVeDK68FFl0uPVXGKtRE8wJ1bGPjr3jFx1MDAwNtzpXHUwMDE1cH+eXHUwMDBmxYzEg8yg81x1MDAwYn0szGE140sw9Wo69Uo6naq8J6Kfl/KKh+T6ifG8mkK3npRjlc1Jxo6t0Fx1MDAxZPNnXHLIjp/sXHUwMDEw5vhS+bI5Uo/qXHUwMDA0TeeHyVx1MDAwZWacJm5fNpL6wD1cdTAwMDVhXHUwMDE5iGFPk+dOS1vmrV2fz+fSw/DswFxyXHUwMDFmg1x1MDAxZlx1MDAxZCWBs/BsmfasnWuMlFpt5pOilDjF5jDsLyhpLWZh6tfQgfjNaoqKskXYqfjwJVb73GbuxHXtXHUwMDFjh+bijFY+XHUwMDBmvCisREE3RiFcImbyJVKtP8lTuWJ2L9l3snJ8d9yjXCI6l6dIX1x1MDAxN1x1MDAwNb0zJrHZgYt8XHUwMDFmWu3ST1d8xmDKZLxcdTAwMGXOhoh1+yd7XHUwMDEytsVXrmp/M3Hkwlx1MDAxNdXEbVxmUVUnWmnBXHUwMDA0Xlxc+0CM7/+yxmUnS0JwXHUwMDAzgkNizk9VXHUwMDFkobok29xsuJxXiD2PXHUwMDFkkfnROqVu++pcdTAwMWJw8/JFUGalaEpaNlTWeVx1MDAxN2Te/O3gXGK/8am2W0PYouRcdTAwMWWQXHUwMDBmUMwvxD1Uo1x1MDAwNzq4/Vx1MDAxMmRMQCDewVx1MDAxNzOf+Cn1XHUwMDE2iN+c1NrMXHUwMDFkw712yy/s5/YnQpShlS03eZhSXFzneWCPXHUwMDAzJXtcdTAwMGZJOzzXXHUwMDE27lx1MDAwNtPtXHUwMDFhkaiAUG50xFq5Jlx1MDAwZdxcdTAwMTJV4F9cdTAwMTSVya/neaZY6kpcdTAwMDPsIILlllCX1G+QXvHnldilXo5kuVx1MDAxOPFcdTAwMWV7TqtG8M1cdTAwMWZucz5cdTAwMGLb2WjuXFyvNPjIXHUwMDAzKkRtTWpL/EWCXHUwMDE0UI/jx39rtaGsy1x1MDAxMEGy66Dj3zOkMUZxNEdQXFxcdTAwMDZSdZ7GcjemYtPZbSdcdTAwMDO4KFx1MDAxYVx1MDAwMq/DrOzOd4HXQeWffP/5qm3NeDr/66dcZvmyWeOB1PnQQlx1MDAxNFxiLHlC0K5ccrbGU/+yrDjvXiczebqwbqVsit2eYl3PXHUwMDBi8fHKiYPSXHUwMDA2lFx1MDAxMqtcdTAwMTmJa6PU6I3aXHUwMDBlzVx1MDAxN1x1MDAxNvZWc0tA2y9gJW2CwJpjXHUwMDAyXHUwMDEzVFx1MDAxMVx1MDAxZJ/pOCz8+FD2b10gP09aZ4KMx8tcdTAwMDNoIVx1MDAxZnhypYfm3FOa5mtcdTAwMWGgKiNaXHUwMDA3W0WJNdts4Fx1MDAxZVpMXHUwMDEw53dcXDwvKoBh+5azp+Z9rJoySlVcdTAwMTlQp+DnW/e+J8Vw3Fx1MDAwZnFps1x1MDAwMPDRXHUwMDBitCt2XVxiP7ilo8735+xfVfnWXlx1MDAxMf1MdbqI62+e8Vx1MDAxNqE7XHUwMDEwecF12/ZJTuFEU1x1MDAxNm/9XHUwMDFhbPk+pqVVXHUwMDFh+m6RkiqNTbJ4XCLyuifUscPaXHUwMDAxX4uYsYe/SJq0XHUwMDBmM7j1/jg1+DFLt1iZWz4pZF02reb6e53X0JTtzPZ/mFlcZlx1MDAxOVL1uVVqkX4qhlmcrVxcwvClY865VmCGhUsqXHKl8UuNI2r4IPn2gtrnmt8oJFxcbyYn8GVcdTAwMWG410tQX+igZDbGM+rVoDdTx5qDO2bwzE5EuPRcdTAwMWE6xsDEXHUwMDFkOptcdTAwMTjowiHAmihcdTAwMWFEXpOmqlwisa6w7Fx1MDAxMbf8nnQp8kS0XHUwMDEwXGaEuylcdTAwMTAqudy0XHUwMDE4h5mKUfUnUomXcUOx8dNFyCdTYl5ccuU7StdcdTAwMTb6XHI54kIoMzxt1CFjmuxlnFxcPtJXMpCOXHUwMDExMFavXHUwMDFmht1S75yi3YXeVKut7Fx1MDAwYvpCWrXHerEzINVvZbLJ/anGSGZxJlx1MDAwNzLj77m66mVcIo3ghuncm+hcdTAwMTb0qlx1MDAxOJ06snGHS/PmLm1bZyq3K6vnso6fMqlewqFMXHUwMDBmTMOlqHqA1DmuXHUwMDBiXHRcdTAwMTdBx29cdTAwMGZ73V5cXJKFIVxiX1x1MDAxN1x1MDAxYdHqRZljKeymlj+/XHUwMDFhrZyXMlx1MDAwMVx1MDAwZqrEfTJbM8s2Y4u8UbVVy9/loeQtwDedV1x1MDAwMc9Axl+7J+RWb+JcYvJa66xv9iPpV57bsVx1MDAxN5vYU+3izu3cXGY/4ovU1uCNglx1MDAwNMwraT6A81x1MDAxZFtcdTAwMDLmr72Yh+S1LlNktWpKJnQ76XDUiFx1MDAxNSicznqC7JlcdTAwMGV9quhEXHKd+dRvd2BolFx1MDAwYpxcdKnyXHUwMDE5n0G5LsbLnFx1MDAwNdHw12dcdTAwMWFcdTAwMGLCZKN+QWN/1fxfXHUwMDA2y2i8WVjzoUb4/XHG/bJKbCjqPczZYSOHUFx1MDAxZSHjyPFcdTAwMWI9XHUwMDBm+Vx1MDAwMJ/nXHUwMDAweFx1MDAxOIap8DX9e/mEUiMrJ7XMXHUwMDFlYJfLim18mFs6MVx1MDAwM8tMXHUwMDA1lVxyUZetvUnIUVvgp7dcdTAwMDbE1FaLXHUwMDE3+s/I4f2zpfQlsE9D7Ce+TC+5K2udXHUwMDBmXHUwMDE1/nfN05HJXHUwMDA3ZPLxR9SB7GCuS/RcdTAwMWTiwXPYM+I2xaFcIvjgx0/6+Fd9OlvpqDCrn/hcdTAwMDZcdTAwMDB6XHSOtU8uMamA42NJxTL9v8dY2KOlXHUwMDAysZeyUPhRgFxcxDfcQ09sXHRcdTAwMDf1nns3keLi2daet3RCOVx1MDAwNzNcdTAwMWTpcHhcdTAwMDBnNCthZnolxkN0+P36Y1x1MDAxMe7IJXZcclx1MDAwNn9cdTAwMWRGT4DHrSZ1gb7tgn5cdTAwMTdcdTAwMTj4XHUwMDFjXHUwMDA3aIVcXM2CXHUwMDAw/1x1MDAwYjUxV29VOIIqm4o3mbFcdTAwMDPiVIKBZk9Khv6AkPv8TYhbXHUwMDFkxFm7XelcdTAwMTg+d9J+XFzv+iqyYrTTaZNtKCAuXHUwMDA32qRV+lx0+9fUSFx1MDAxOaziiJ7cJPBcdTAwMThcdTAwMWVmLFx1MDAxMJp0cDMnNqJxXFwhXHUwMDA0nNh708jaXCKBYnh6XHUwMDFkXHUwMDA3m4NcdTAwMGLbt75lXHUwMDFhsV35XHUwMDFia1x1MDAwMsxT41x1MDAwNYKpPiqX40SLenb9XHUwMDE00rrOYydZnNgy8H/9XHUwMDA1Rlx1MDAxN4G/XHUwMDEw9ljBl+8hXHUwMDA208fxt1x1MDAxMWT9s1x1MDAxMNmUQ6D4vv7mXGZVonIwXFyXsf/cyZvwxCo6rFx1MDAxZeBx5+GYXCJd06BlhzlcdMTwxOtMXHUwMDE2gi9cdTAwMTPnXHUwMDFmd6dcdTAwMDfOV0Hwi68kNyf8d35JnrtK9OeLXHTBXHUwMDFmPY5zkF+qnLp0LmNHV55lXltLinPHqXs9TEr+XYRjuu20QUdsZr30y0eF0Sa4M1X9ZKB8m3S0RU/Wm/F0LUu6XHUwMDAwjLBRWmDOS8VcdTAwMWO5we5cdTAwMTHjRotcdTAwMGVccuyst225XGI2MkZcdTAwMDdcdTAwMDZcIkFBXHUwMDA1nXmnNpO3h2AzTtz4XHUwMDEyM6JcdTAwMDNQvchUbvZTXmGbMbax+G9cdTAwMTQuibL9iITIL1StlfzKN7RuXHJ0alx1MDAxZO/r7n29UKs1KEdySlxiLmvTaW5cdTAwMGan9t9wLTOriu3kavGGr8o1f3k/wS+F+61cdTAwMWZH/bCRSpZcctxcdTAwMDPuXHUwMDAw+Jdq21TiMI8/svU1XGJGVHSOyTJsXGKIisSZlV3YVvaR0FxyXz055uT8PoNofov96F5dlPTKT0+zmrhcdTAwMGbrXGImf0tcdTAwMThX4UeUOjzjX1I51kLtn8FPXHUwMDExXHUwMDA0YFx1MDAwYtsyTC1Sep1WXHUwMDE3ODX1lzaGvy6CwPvD7E34fZRPqMrfxFx1MDAxMbfEdP1Y19+YocO2WvL6PZYl/+D4XHUwMDFl9Hy2k6npnK8menR2ZtgohFxcXHUwMDE0xFx1MDAwNceV+yMz2dCgYVGo11+ufn1cZvA/XHUwMDE3ztvsi0XVRLjTiv5mMYv+XHUwMDFhXHUwMDFjglx1MDAxNi98NjVcdTAwMTlhXGKI3NAoNlx02oSAXWZkhVx1MDAwMoN/x4CwvWnk73lMXHUwMDAxknbvsuMtfb5PiPTddK+Sd96NWZgpXHUwMDE0fLKtlTw6XHUwMDE4R2E2XHUwMDEwSkQ31FIgXHUwMDE4z/evrDwjueLQulx1MDAwZTKcZVx1MDAwM7D03lx1MDAxYThjyHI8oaFos7NcdTAwMDVcYoakxLbBd6p6RGOfp/5822vm6zLoe/+XpL65XHUwMDAy2p9cdTAwMWVocYzToue/Zlx1MDAwMG7TT/uktaF+YTSo0sG/TVx1MDAxZVx1MDAwMl9atiEs3fmMTeyo0HVcdTAwMWZeTqpSODlLyIf3yFx1MDAxY0bRVTb6J42nXHUwMDBmS/hMub5JXHUwMDE4Qj/8XHUwMDAxU2ApR7k7tWUnyFxuYduF8KB/j1U30fWQXHUwMDFmqPndulx1MDAxM1xcXHUwMDA2rVx1MDAxYvGUXHJ/vWZLXHRh8+Bk+1x1MDAxNiyKY9tcbitcdTAwMDdBL5VcdTAwMWFcdTAwMDPeXHUwMDFi4GpEnZlypNROPzRm297hXHUwMDE3ztbD3PZfL9q/eaJ7XHUwMDFm+l5m5P5cdTAwMTTpXHUwMDAw5+87pLxcdTAwMDGtWVx1MDAxY2D1dfUpY8uxuYVU8VMo7zaZULCezu9HwSGIa/ijYa1wXHUwMDEw9DjhaOO8J3LL4HF2hFx1MDAxZYOCVNG5qNx+OSrSaHZcdTAwMTRNWZ5cdTAwMTRcdTAwMTafUuZBlWu3RVx1MDAxMliplI9I6EruNCDYk73RXHUwMDE5w1x1MDAwYjMpMXnekuNcdTAwMDRykJLb1JTZcniHyUtH0/dHinWCsD9ikb/6QC9S6Fx1MDAxNYWzh+BSd2i/TagpkPIgOVBlfFVKZqJcdD7oglx1MDAxNFx1MDAwM3jJ15gjf7qFbHRPXGY64lun0rVcdTAwMTdqMvLIcpVcdTAwMWHJdSuDvlx1MDAxMYN8Vf+yXHUwMDBiXHUwMDBiR16GXHUwMDFhfv1L8p5zXHUwMDAzfOM/O3ozljCqRJ6UXGZ4c1pw/eDBXHUwMDE3e2ZiXHUwMDFlTHJtVaT8WXnmuGZcdTAwMDeL00dcdTAwMWRcdTAwMDLNj3IllkK/8PtNu+T3eZKmh3808tZBuyBcdTAwMTDf6lxyxVx1MDAxMN9cdTAwMWWuVYdJXHIoq05m8/xcZvHuryRcYqM18lx1MDAxZMg08d9cdTAwMWNHT3S1XHUwMDEyjfNZPSVFXHUwMDBlhfKchD1OmIbxVnaIP1a0nkdcdTAwMTfENHvFSoh5eeBcdTAwMDNcdTAwMTHxifIuZzpcdTAwMDDulH3cOkGo3KtShupcdTAwMTKRdLeuxlx1MDAxMC+QQZHGsmvRwcWXsW92M1x1MDAwYqIvy9GYzL8l56Cjri85XHUwMDEymstyuvVcdTAwMWSvdoItMtjndk94P5lcdTAwMDKYXHUwMDA17zitebCwXHUwMDE4zr1Qo6g14Vx1MDAxYUNVY99kOepSx75a0fxcdTAwMTm1JXGJqfTUyZ6F81x1MDAwZWDWXHUwMDFluVx05rl0qu+6sIVcdTAwMWJcdTAwMWanS7nefXptzFx1MDAwMy+h/3Hn7iajYkomXseVXHUwMDEy541oVbOlVKdcdTAwMTnVNla9TLvjz9q0n4ZtY1x1MDAwMuJBu8YktijPV0regNIqq7iLdrG1lM8r9ZJcdTAwMDQxOzReTfqY+TtcdTAwMDH5nIOOYN/CJdfZgFx1MDAwZb9cdTAwMWWAUG5cdTAwMDfaJv/IJHffXHUwMDE0hn1mXHUwMDFhIV2ylMNnVIRcdTAwMTCZXHUwMDFie79UXHUwMDA1NFx0klx1MDAwNDRcbij0XHUwMDE0rPxcdTAwMGaXXHUwMDFifnkvur+FSLEpaXHFQXRPsVtrrM26lyhNy1x1MDAwNmhMWSDj/KnKadT2XHUwMDBin2CAY9dcdTAwMTJp0aUmXHUwMDE4nNV831x1MDAxYzaSXG6+M/TXV1n5PC78715b51x1MDAwNSpcdTAwMWaq+8om6caBX/862c8k/Fx1MDAxNtCwhI5Z37w+20nBy6IpS5vBKNxcdTAwMWH2xIZi0XewsHUzvM1cdTAwMDV2XHUwMDFmonHDS4iJx7FcdTAwMWKmbGV2rfT4XFxmUMxcdTAwMTFevZ9wXHUwMDFjOU1cdTAwMTJcdTAwMTJMR8TKXHUwMDAwY+lcZvryeEjMkt61tvldXHUwMDFjXGZcdTAwMTFNI5aZrz9UXHUwMDE4dcqKh3gtniyI/WEq4s1t/Vx1MDAwNEnCnU0zalLbmHaEJVVBs/ipXHUwMDE1ZNqKM61nK3yJ6VSHkudZXHUwMDFjXHUwMDE4puiWkHzbvMWG5G7m+uvkxoli0IYn+LFcXMRcdTAwMDPRK8GWbJBFKLmhXHUwMDFhqj53KmA0unNs5m3kZ0n+nlx1MDAwM1iF19R1W2pb4cVcYn0wXSPLKL+EXHUwMDBl41x0hqj+2W6ikyBAJ+BcdTAwMDNcdTAwMTTc61x1MDAwMX3xt36HXHUwMDE5XHUwMDA1XCLUr/Li6r95Xs4nXHUwMDAzSXZcdTAwMDdcdTAwMWZank/I/FVzxNbHW4f293i11/GiyvUs1T63T7FcdTAwMDfGj1x1MDAxZe9k9PnN2Fx1MDAxMlx1MDAwMGImqFx1MDAxZNDfXHUwMDAz12h6yC1/YUBcdTAwMTFJ/TwmQlx1MDAwNe9r2FxiTCeZWfdcdTAwMTVIXHUwMDE1Z1x1MDAxZTuGtjjBQntcdTAwMDTTypqAkD57kFx1MDAxNnaw0j732rnCc6B5zZ7294Mjzz7TvFx0W5m1XHLqUeczf9FobZegXHUwMDE5hFx1MDAwNfyqqWovtiPXtIyX6zJSnMit9Fx1MDAxZFx1MDAxMvudMKnoeswmhMFcdTAwMDRk+1JcdTAwMTgkl62jVTmkOrh9LPCqrSdOpWVH8Odk13bIRStcIs22c7M6daUy+DXTqa7Kz1xuZOuFXHUwMDE4N/SH/+vkWzNcdTAwMWHHMautiT3ycfgxXHUwMDE4KnGDX5BF3IqWXHUwMDE4XHUwMDAxxUGtToWZ6PcrT5JfUkWbLeG7f2Bcblx1MDAwN+imXHUwMDFi/Mb9Upi3XGK7T3Rp4JK5XHUwMDFmRbNcdTAwMTLBS1hcdTAwMWHn6UwusL/FNX+cXHUwMDFlT2X1XHUwMDE11XVccl+ZuzPFtn3odFx1MDAwYt009Lj3S81cdTAwMTHlbeqtdWXCVVwi8S8p6/7ZoXq1SfbehulcdTAwMGZDloRu1/a8PuCa8OPZ/S0vmV+4sUSvKO1cdTAwMTmfMTek5O2Judo2Xk6vIFfATFf3XHUwMDBi7dqZlLMwmlYhJnFcdTAwMTPY9Wb6mZBcdTAwMDDBNCzMU6qMS2JTqua8k0Vt59uubzcmkDWiXHUwMDE1YGTS5DUlm4pcdTAwMDaiXHUwMDFhwXNLYz6MVVxmrz/8bvI5d5lUUvNVL+rohnb6ne3sXG7nmaNcdTAwMTBFXHUwMDEzXHUwMDE3v+Coh2DZOTNcdTAwMWRcdTAwMTN/9OPes9tcYipMyDnDtjSLw6NcdTAwMDHySrzKIc/9Zlx1MDAxMP/couHKd9fN6F56pabWwlf/maqdKG5cdTAwMWNcdTAwMTKmXHUwMDEzRS+61Fx1MDAwMib2XG695LyiK1x0b19lso9cdTAwMDd7hoTgtC/pXHUwMDExZVhiXHUwMDA2+o2q6yvB0YdcdTAwMTNcdTAwMWNcIo6IlkVcdTAwMTWblj9+f8/ouCRLuP1d58jNSOqYg1x1MDAxOGbCaHn3SZ1yKymNZdbQf+I+2JJ8+6C3LFx1MDAxZKN3XHUwMDFhnlx1MDAwZmOFN0HEZVx1MDAxNGZmSmBcdTAwMDbH6+nmgmkyRVx1MDAxOF9cdTAwMDB39FZcdTAwMTB7111Is+OGXHUwMDA3fJ1cdTAwMWEnXHUwMDE4sWrkNm7XSZFqTfH5XHUwMDEyoNStyM//5Vx1MDAxYt99v1x1MDAwNGxVPyMxelx1MDAwM/ef7dZcdTAwMTKrXHUwMDBmqXCe9IFVPDx1t5Ljbfo9llx1MDAxZiiOKao4qa9G582YrF8lVZvwN2l7XHUwMDE0RNjjVFx1MDAwNEOcKOLOMVxm2z9g6shcdTAwMDHsPH+Y11lcdTAwMTZHJr0mXHUwMDE5spZTXHUwMDFiYaNoXCJcdTAwMDcmOXpGydh5nnBM7+STwoRZWNKDXHUwMDAyfVfD/DDkZSqWXHUwMDFmT9xBoC/AsbVcdTAwMDBE3XpcdTAwMTfEfSHRQ2rch15JPjHMqXbXZqm9XHUwMDA2ZOSzJ5X+W1x1MDAwZlx1MDAxMitualD726eROFwiRVwiXCJcci5cdTAwMDdQQExHXHUwMDAyXFxggi5ipsifgUSlv1x1MDAwNTOHmnxBjbqsglB+bkApc7gsQDZG9YlcdTAwMDNcdTAwMTn5smhRfVFcdTAwMTD+wlx1MDAwM1x1MDAxOEpOXHUwMDAzXHIvXHUwMDExXHUwMDFk9Fx1MDAxY4E8JqFcdTAwMTiSXHUwMDFjzMlcdTAwMDGCMODwnlOg9KFgpHesjXVIqLfXLy9cdTAwMWY2je/aQyPH8yB24UImQjtcYmV3p9B124gjMLbe5kiYXHJcdTAwMDOCXHUwMDAwXG5cdTAwMDIgzy5cdTAwMWb0cn9cdTAwMDHfXHUwMDFhPoVnjlx1MDAxZjmQUZVcdTAwMTdIoFx1MDAwN1xib/wxgNTzZlr4pnJhOLloXHUwMDBmlv6raYuaTiY6T+LppT/ysMA3+J7yb0PoZpXbiukxi6mcwS9fYpmCb1c0e0ZcdTAwMDKLK26eebdF/CGy2Vx1MDAwMixcdTAwMDCHXGJcdTAwMTH6ccKbee2Av1LnXHUwMDA0XG61hJukLS6zOWeMXVx0uOlz6eNKtEhybtrNbEHV1UyuXHUwMDFhY2skXG5cdFx1MDAxZEnAn6KkZ1x1MDAwZuXgJEj3uZ2z3/BY8MlNTvCgra2Pzd6dOs+ATVx1MDAxYb9OY3X7pMckZ95J3LOY/9GJ1Vx1MDAwNJFcdTAwMWZp+WVkxemjXGZcdTAwMGbotH9sOmqxm1x1MDAxOHadtq31XHUwMDA0sq1cdTAwMWJcYl6czXGA5yU3JGJcdTAwMWNcdTAwMDe2o+s1/3DiTGH3XHUwMDA0L0vy5NFcdTAwMTfoXHUwMDAztdRTZLn720y9ciOzO8SIfK5KXHJ/nqKZXHUwMDEw2COkemFUoDixJ4RN7aBjy3WDTclTqUtcdTAwMTQoUM2G03NS51mCT1GWJIxcdTAwMDHgvN2ZZidcdTAwMTOcsu+w16GxUkhPz8VahuFcdTAwMTjG9Vx1MDAxZPariCyIRJt65666iCFcdTAwMTeWXHUwMDE1JkHRr3Yv6KCczvyBevfDs1orQrtcdTAwMWLOmookqE30m/nF57ew+9iQ61O9VEOtJJVccs2WqHMzLMZ6QfPU+TYzzpaC81xiZ7/V3FdhZ4r969pun1LdXGaKM1x1MDAwNufHiO7Etb1bT63vOcBcdTAwMWP/XHKQVZmuXHUwMDEzVEO1qY3gyzwyz+Ahc3/wXHUwMDFklNXP+bvaq2JcZq1lqdHRiIPR+nc4NbD2lrJ20nv7kFx1MDAwYq44UF9cdTAwMGa6/TF6/rtC5Vx1MDAwNexbXozQvfBrhqerhbWX/7F/YeVcdKs1XHUwMDA2LM+fpzXu9G6gXHUwMDBibvJcZmSOXHUwMDFhevDNTFwijZDKujcmLHdcdTAwMDVqiers5WBFXFx+c3H+O0dVXHL/tl6mkX7BitSWbuhMjCOUXGJIWnVWenNU8HlcdTAwMDfouDqc4fBcdTAwMDJmKp7W3fSTsylr4C7WVM3r5ft+xef+RehxKVx1MDAxNJe2yKQrb3dcdTAwMDZcXFGUVElh00woR43rXqzZXHUwMDAxoEjqNWRMXHUwMDEwfc+OrD8542vShEaDa8BfvNW/XHUwMDA1K1x1MDAxOVxmJdtcZodns5/RXHUwMDEwKkDhU1x1MDAxYttK/jRN5lxiMGtqn8ZaXHUwMDAzI4+H5lko/kDaPs/sRWZcdTAwMGZp2LKII/ZcdTAwMGY7XHUwMDE4OSjrXHUwMDFmKs1cdTAwMTBMN2HOTJM4nrTLWkOeXHUwMDA02yBcdTAwMTdOXHUwMDE4oshXXHUwMDBlLi/cnk5NhdKNO4fjWnb6tbhcdTAwMTk2l4+DXHUwMDAyRVFgXHUwMDAzhFr3XHUwMDAwXHUwMDEwvnP+g6M9XHUwMDBiemyrudpcdTAwMDGCNFx0WErrWmvPWvKWXHUwMDBlt9/YfVx1MDAxMpHOwqlLzdVkJVx1MDAxOdcuesF7XG5/coCBdKZqXHUwMDFmXHUwMDBl2/uDt61he57HNXTHRK3TsS32XHJcdTAwMTBJs+mYZPytgeCxvJGvW/usot4/6CtxSX07XHUwMDE5IYVcdTAwMTM45rD5XHUwMDBlz07dJ5BcdTAwMDBzaqJpk2GdXHUwMDAxXSz75zlcdTAwMGXopnzdtj05Qii6sq/eXHUwMDFkhZNcdTAwMTnAWq/dXHUwMDBij4O+ffqMNFx1MDAwMUpcdTAwMDX/WlXfmPVK2GuWcUT9tUX9duprglx1MDAxZLOVf1x1MDAxM3i6sFx1MDAxNUkvoNL1lYMzXGbBs+XKKZgmgmrNxJ8jvn40XHUwMDA0XHUwMDFj62+J/maYZ22wXHUwMDE5im+Ela10l586m1x1MDAwYlljoWvT+Fx1MDAxMp41hVxcb0LHXHUwMDEyyPg21TrXR2ru4e844YRcdTAwMDbY4Fxivlx1MDAxZidcdTAwMDdcdTAwMWNi2IZfXHUwMDFmXHUwMDFjXHUwMDBi7ykn3G4yXHUwMDA2mllcdTAwMTGPt875X/1UXHUwMDFmXCLv6jI3R5f0aT1mhN9HJvyiXHUwMDE3K1x1MDAwMFx1MDAxN16BRqBlwlx1MDAxMEPEsMamrWNcZnpcdTAwMGX5u25FXphmslibXqv8XHUwMDFldrhibP43V4BSdcqdX1wijq5pjm1yaVx1MDAxOD2YlvFoXHUwMDA0sFx1MDAxOO+RXHUwMDFjL82oSqM/XHUwMDEwPpIoWlx1MDAwZUEuP1T4h40+JVxcXHUwMDFioiDTXHUwMDEzz+evxComXHUwMDAyOXSpXHUwMDE4g1Byt+ueXHUwMDFjzy+R0zIn/+pRzXHpWMfjj4u8Utc1JU1IST8oYGE6iqtcdTAwMDPco4xDY0y3+9TyPeR2xFxi6WBW5opVNbb5iPezjTBNpplcdTAwMDCr6NguWsFcdTAwMTHlOrP2Yr7iL2mUnIVubmZR3WbigSihXHUwMDEy6lx1MDAxMUHJlrbjelx1MDAwYpdY5Ep6vpykXHUwMDEw2lx1MDAxOd+8urjFPYG5qiS1bXrPyudcdTAwMDHT3cO/N1x1MDAxN56SeMjDnf9Mj+SqNrpcdTAwMGKtPXfLrLbcYWNq4XDcp1x1MDAxYbR/5ayHTW5cdTAwMTBtN5N8XHUwMDFliopFXHUwMDFiUVx1MDAxY1x1MDAwMVx1MDAxOVEj0FBcdTAwMTSUzoVGv1x1MDAxYVx1MDAwZVx1MDAwYijAXHUwMDA0YKB7x9aFyFx1MDAwNPD17Mf5mGnq225lv8FAXHUwMDE5LZXdaeJnP9H5IelcdTAwMWNBXHUwMDAzxCixJSzCqvmaXHTFSC5gt6dSjkokcC92ctLux1fa4ydcYmRcdTAwMDH6LVx1MDAwZaQzvis9xptziNAxXHUwMDE3XHUwMDA3nFx1MDAxZt9cdTAwMDOee1wiy1x1MDAwMVx1MDAwMo+dsPu8eV9435b4fkW1VH6CordcdTAwMTjXr9TnXHUwMDBmV/erITdlKpyRecH0euxVSlx1MDAxNDuzXHUwMDEzv1xcXHTgTq9Hl7mpN+LCXHUwMDA3anbu72CjMGvRhylcdTAwMWPbXHUwMDEwuZrekJ/6hZZ+hPEk7LH9j6cqXHUwMDBms8n6ekVLjPtcdTAwMDFcdTAwMTE+MHEnZFx1MDAxNlx1MDAxOVx1MDAxMTk2TKBcdTAwMDTV2pjPXHUwMDFh4+2dar5++4fl6rQ8LpGXS2EmRU9Jb8ZcYvcmuDmiIFxuPUVcdDFoal4vh7/mo1pUiMjObmfoi0jrpj1CLPsrIFRbXHUwMDFkIVBopd+X6FmOs92uNlx1MDAxMG1cZoQztS7zXHLbMFx1MDAwM7+Hha6fd7xR+Vx1MDAwNO9MxL+ud+Bh0M1cdTAwMTL/gJjAXHUwMDAxXHUwMDAwwCmm/Fxm9f1cdTAwMWFNwlx1MDAxN2ozSUIgt/Kn6Lgnw0SOIPxzXHUwMDEyh+g0flx1MDAwMX7wjI3R1ftcdTAwMTWGcZLPXHUwMDAxXHUwMDEwfIj3/dRcdTAwMTRBLTKtl/lmI9yNd9hcdTAwMWOxe8p2/4tiR5SzXGYjo1x1MDAwNK3/YJimSr/apsT/9VeFrv5cYjdBgZGfw7K37Pel46tcdTAwMTZAo2tCb+D73cs7rNxusJEnwGAjXHUwMDFlhlx1MDAwNlx1MDAxNehN9EvTXHUwMDFjvFIyXG6wJzm6UmmqlygxmFx1MDAwZl/hOZtSk2VcdTAwMWX6tzBatJh42crOcr+Er7+/8IJPXHUwMDEyU8iiul1cdTAwMTLt5tqTwlx1MDAxNyBcYlx1MDAwMc7yPFx0sTSmKars8/ebXHUwMDAzsSxRrs0uXHUwMDA2s1CfwCT/tl1rNmRqk30owCB5XHUwMDFkaCHCXHUwMDEw9Vx1MDAwZU87MCHJWJRdoi1bk0nUXHUwMDExkY2mXHUwMDBlvzZejyVFXHUwMDA0XHUwMDAxwMZcdTAwMDVcdTAwMDCEMe+maLPieyDtKXG7m1wifr9Apl9cdTAwMDGtg1x1MDAwNEed5lxy2JzcXHUwMDE1ra+6hKGEdJps/2KP2dk7XHUwMDFiy5DQmNXfXCLDVsJG+Yh8wfcmbmhH4bLsjpDf2/LojKpcdTAwMTX491x1MDAwNVSFXHUwMDFjcP87KE1kOdpcdTAwMTNEyF1XezX3jYVcZjbT/ozvpjyxp6BA2/fM3LLl1/SgjVte7tQlz3cg4mc6O50zOFx1MDAxN6DiYNLFYfyo86Wt9a0tl42GlNY9Vb1PfUi16+XSJDyUkZ9cdTAwMDKgXHUwMDE5+VFcdTAwMDZbLiUsJWlcdTAwMDK74piDNyC2T2Nuclx1MDAxOffHVZzlcJ5cdTAwMTRLhlx1MDAwMMxQXHUwMDA0W51cdTAwMTTrtlx1MDAxMU0tXHUwMDFjuVx1MDAwNG9/5Fx1MDAxN+XXNVxuZJKdV/Exv6hcdTAwMTP7XCJcIn8h/vdrtVRcdTAwMGb3YHdCdHotdjtcdTAwMWFGiErEtmvK2FxydaojqtKj3vuuQ7rNXHUwMDEwXHUwMDFhrbr6cG/oJoRvqoh4dKKExZN42Vx1MDAwNSfl+GAq3XuZ+Zcu7Fx1MDAxZsr164/rW0NnkmO3Rb8w08hR3GajmVx1MDAwN9pnk7SO6yP5jTKzY7n9TTNiXHUwMDFkXFyCUvgq+Fxc6WYuqZj//HWAXHUwMDE5XHUwMDFlPlx1MDAwZlx1MDAwNmpcdTAwMTLSI1x1MDAwZoLx8PIjt0D9YvVSmD6WekroYFh6/T1GldSjxlx1MDAxYVx1MDAxYnbgNFx1MDAwYs1E3o6fzLPiXG56JStcdTAwMTZTq4Qj6zFcdTAwMTZYvY83MSquVlx1MDAxONp9I9isuLM76eohJ1u+XHUwMDBieJC0evuUU1x1MDAxZfWThcLRV99cYr6hts6Afq+uJIqwMVx1MDAwNzAlwTDCyVx1MDAxYV4jVTR0/8Tn+lM8oYLS0oR5WU/oYzTeIfkmJoNOXHUwMDFm+suqvHXogsPH3YVcdTAwMTNwoFx1MDAxOYj6izdcdTAwMTSrqYPRx+VcdTAwMWWvSL2UWnDZx/wl4VavXGar1cImNVx0Qusyn2ZcIoVcdTAwMDBCaZFrUmf3z5tP64DxaTLwXG78UrtJ3Fx1MDAwMO+PY6BRRjdcZrckSXvjXHUwMDAzwdE6b0ivWMwyh3BvlHXv611cdTAwMWY/sS9cdTAwMDcgYj9eVaFXvj1EXHUwMDBmTkjhU+TYXHUwMDA3eX76aVG4Tyy9/lx1MDAxMFx1MDAxY6dcbjRqMOHVo/90oGcnrVx1MDAxY+Of0v/cPC+qq9qOlvkkSpIgntufSVx1MDAxMu+n1qpPQKFcdTAwMTO5sFx1MDAwZlx1MDAxNjP6iZxb7vVcdTAwMDdcdTAwMDElWuWkloq+XHUwMDFmXGJm5yp3XHUwMDEwXHUwMDE4/myK/+x2XHJcdTAwMThEXHUwMDAywkVSXHUwMDAx1VxiXHUwMDE38Pc3XHUwMDFmx5SQKO4wXHUwMDA2XHUwMDA3LFxiISEkkiBWXHUwMDAys6Q5u2h07elQos3fpUmMXHUwMDFjcrCmNZcqo8LJYVx1MDAwYtPYZ6JIXGZcdTAwMGVBwFx1MDAxZueU6lx1MDAxNihcdTAwMGZBeIZcdTAwMDGNZoWO1zpcdTAwMTTymaNAUsaZKObiNTSY4d/SXHJcdTAwMDWwxfRcdTAwMWI6lq5i2U2ikp9w/sxEopn0O4do4Vx1MDAwNFx00fBaXHLQ27LcRv+LwN9TN3CsfXHg21x1MDAwNoxcdTAwMDX90ICQXHUwMDE4pdhdJFx1MDAxMr1cdEJ5sCiKilwiMvNcdTAwMTlI1SCOyd5s52Vb41Bu2JD0V5DSxsIu9nXdVoj0M8+PS5m/JGDycUCXXHUwMDBmSGxcdTAwMWZcdTAwMGXaxJI3vaK3mDU0dNmDVFxmuVx1MDAxObV/+lx1MDAxMt8zXHUwMDA2UltWs6l0l+pccrjsXHUwMDAxXHUwMDAxrfb9qNqNL0e/ktVcdTAwMTGgXHUwMDE07WjqV/kzbybs84VcdTAwMDRcdTAwMWLBhVx1MDAwYrPYYORYUoxcIk2s/O2cpfOq51x1MDAwMz1cdTAwMWRcdTAwMTBS6qhHbI78sKaBlbxYn9ZcdTAwMTSv1vLxo9NnkEM9Jd6/8vJHj1xczH2LmneOrnItrsxMznFIzjm1iO61z0JcdTAwMTUqsVuRkV9cdTAwMWUp9i9NYIWlaF/GX9jorEG6ZM7STi27weaJsXFMOFxcpVx1MDAxNdIgSO1BkLb9XHUwMDBiXHUwMDEztoNjNipwfrOy9LFcYlx1MDAxNIPrXpT3fp+1quQ2690yeZ1CpTXNX8Tps+prKC9uNFx1MDAxZqffmHiO+kxgM017c0Gqr9XJR8VFcpQoNJcg26jBXGaLw1x1MDAwN3NAgYT7+1x1MDAxZZa018Xjs+G2tVwiJiVQZYiXXHUwMDFkckZcdTAwMWZDPYUrcVx1MDAxZlxysVx1MDAxNENiXHUwMDAxXHUwMDFirZtPjPPRXHUwMDE0V/9MWyp6n8V7XntcdTAwMTa7vlZcdTAwMWJcdK5D46EgbGFNdXVWjMW5NVXZRIZcdTAwMTVtXHUwMDE5xFqHgNppfLNAXHUwMDA36Izz0ffUXHUwMDEx41JT4i9DXHUwMDFhcFx04OxxuUJEaIhM+SW/bFx1MDAwZWOEXHUwMDE4lSNQUG7srGhFUlx1MDAxNO5JilNXZLmMqbO0jz5cdTAwMWbD0lx1MDAxMre+5U1jar3H1zNcdTAwMTev/nBPy41peEj9RszRXHUwMDFkl0JcdTAwMDe68q2EXCKbN1x1MDAxZKH7PtQ59DXub1ZcdTAwMTQ2clx1MDAxYyAhiVx1MDAwNud7v6qjtlxmTW1ztGXvhlx1MDAxZf2e2MZcYsOMdr5cdTAwMWZlsqd3nFrWvoo1XHUwMDFijaq5cNvf3OaT+og1yF9cdTAwMTe0OX6n1jVUJolrmUJ49lOXavdT2ragUtZ75OolVPyOWfSnjb8wXHUwMDAyM0aWZVx1MDAwNORvg1x0sTf6g2BcdTAwMDSbuj6D11x1MDAxOMSZXGLckvazL7vG+/H89GiD99W7O042v1x1MDAxNZb2aVxyXHUwMDE3sVlcdTAwMTVrgD9cboPebjNcdTAwMTNb5NyxXHUwMDE1UcmEdIu821x1MDAxMa1UiPJb8ccpRjTzIFx1MDAwZsZcdTAwMDBcdTAwMTRcdTAwMWRGrVx1MDAwMFx1MDAwNy1E+KWgv2RCfuPk9Vx1MDAxNmeEkirNXHUwMDAwujNcdTAwMWLzPoHByUBA11x1MDAwYjWohppVpa1ltElobYiWMCP6fqeCi9C7ILberel98CZcdTAwMWHufj97XHUwMDE4xZL8glx1MDAxYsvNw2/kNbKRrKrx0qCkuGVcdTAwMTnaxGdcdTAwMDVcXH1A1a8jZlx1MDAwNpfg+CT7YutcdTAwMTKtXHUwMDE34XFER/+KmMV3YWF3KMNcdTAwMTduhFx1MDAxZmF9aqJcdTAwMTbI31uEXHUwMDFlrrLRXHUwMDEzjzij7T+WstusyPp59Vx1MDAxY1x1MDAwNWhL3fBQ7KA9dDdcdTAwMGXoK1x1MDAxMNz+xp6XUXYxhFRY0FxmqWSZWXXP7+PqKyRB40nO9jlI44/SeVx1MDAwNNbJXHQh6vBLuEBiXlx1MDAxNL1cdTAwMWYvlPf3XHUwMDFk53p828VjwSPzXGZcdTAwMWbhl1x1MDAwYjNPjOzv+X5cdTAwMTg8VLRcZlx1MDAxMVx1MDAxOMo/XHUwMDE0sljlu0Fkj51cdTAwMGbslZ1CqKZ1ZK5UXHUwMDE5jelcYuxcdTAwMGbD2fxNXFxcdTAwMTEtbJijSmp1ab+Pq7Uv+aiqd+qXQndRWVxublx1MDAxMPFmXHUwMDAxUCj/1X0h/bAlXHUwMDAz/7ZAubM93+xAXHUwMDE2UrBlOkGyXHUwMDE4jK1cdTAwMWO7jCk4XHUwMDBllObcP1x1MDAxNePAadpKYpZ8XHL6dy8r8rTfcKXB2qhcdTAwMDZW/1x1MDAxZk/nreAoXHUwMDEwXHUwMDA00Vx1MDAwZlwiwLtcdTAwMTDvjbCCXGbvhPd8/bHJ5VrtaOiuqifBtLLrilxcYZ2Sh2nlXHUwMDEw8ZFzT3bTXYzhXHUwMDAyTZ3AbbRjLXxs0vnoOlrlwv1x5SeP5FxcladcdTAwMGZcIrjFXHUwMDEwXHUwMDA2qPK07LHebVxmnntnzZj2Vp9Ess2Jwt/MNKSCiVx1MDAxZFsxJNtcdTAwMTd/sb/okIhTy7nVXHUwMDE2pjfQdr05XHUwMDAxIXlcYsOAKyqMPlx1MDAwYqquXHUwMDEwdCRcXHxWqyfvp8lmXHUwMDBl357U10FcdTAwMDGFblx1MDAxZIWdx89cdTAwMTj0gVrp0ZhJ+1xiUaKc6Je3XHUwMDA2/udcIorFtN1Zb1x1MDAxMT/p6YRDlLLEnaNm2Vx1MDAxYnE7fUV1/29cdTAwMGXrdtlJPqN8XHUwMDA18SRWcvea8CbZalxyOWLI5oRFXHUwMDFha+l4h6pcdTAwMWRlmXQ41Z2wLpCbXHUwMDAzLPF0b7XTkCtUyM2/ttQq8Obpb3lEsdiifz+sXHUwMDFmSH/CMoR+tlnkXHUwMDE5yux4XG6IjFx1MDAwMIku+SyHQle9VtbqmfSLXHL8XmvrP2C6P6+celx1MDAwZrStLW1MRZjNXHUwMDA0g+O4qWm074jUmrCM6/B+VVx1MDAxZmTpuHWC7EDfS1Cw+EW8zqR0vFx1MDAxNd+eWlx1MDAxOa5Q3JGws1xiXHUwMDA2Llx1MDAxMt+Mv8NZbvvbXHUwMDA25mtJ2aBxn9RcdTAwMTeoJcvoq/3B8WJKYaO8xFxm6qRzhkqKyVJJXlx1MDAwNEqXnYf8qFx1MDAxY1xuKX2ALFvme+5cdTAwMGKic4BrXHUwMDAx9GM7uEV3409cdTAwMWKZdlxmguxYdZWse1x1MDAxZULCbKGK+3lcdTAwMTB9aCfYXG7GXHUwMDE3Slxicz84e3O+0Vx1MDAxNX8urs5ccol3ZsZcdTAwMDJcdTAwMDDKXHUwMDA30uKvzlx1MDAxN1x1MDAxZWKvYiR9fdFEiVx1MDAwZahJxjPwQORve13xi+yqaatqMy9cdTAwMTJcYlxmpepcdTAwMGK1UzFcdTAwMWNj9LTK5ThE5JlGXHUwMDE1pXnSNFxczkGwj3N4Ln9cdTAwMDKhO/imf+220sUnZbCqUJjT+2F+oIatYsr5rvFxtF/RXHUwMDFlyJbal+pNnVx1MDAxMC3DjVx1MDAxNlfmaitQTEFIpVx1MDAxOSpvXHUwMDA1t1GdksRbhjhOXGbCM0M4c6ogXHUwMDFj/qQ8hs6UfeZ7xlfOTOZMTVa9Mr/jKiXprKpDdkpsuKtJuYHxXHUwMDAxIZgw/lx1MDAwNcielM5C/2Zau6aO45ORf1xiyo71kseEXHUwMDE4XkFcXPFr+VvpwM1tRs1y6svtWNJjKItElZuVvKzWk+Rgwmsl2orCP1Xz8lx0XrVcdTAwMTJx6+Nwo9aVvduFyHpnXHUwMDAwJ7l+jFx1MDAxZp5lTqMh0lx1MDAwNa2MXHRjzFdcdTAwMDVcdTAwMGVZlq5SUlLQieNcdTAwMTeGqKnGntLBi65dNCakft17pSGvh0Xy/adcdTAwMDQ7hFx1MDAwM92pf5PZfyo6aTn0XHRexphcdTAwMTTPn4PTq9DVpa5cbkI62oxWmHDI8siLr4NUXHUwMDAzqc+SrEifXHUwMDE1XHUwMDE4jLRcIiNcdTAwMDKphYJYKqZcYoSFc5lQPYlcdTAwMTiPXHUwMDE2XVRcdTAwMDb8eINcdTAwMDHt4dspI1xuXHUwMDFhYlx1MDAxZmfIP2xcdTAwMTXWXCLNYL9wXHSqPi1su38jPlx1MDAwNSjNiTCPh7yR/WRcXH2LYZ1FUCmHg59s12h17Fx1MDAxMF/AUjDUYVDRqlx1MDAxOZ9Y5mpv7qAsYkNEXHUwMDE5l9dcdTAwMGJcdTAwMWNRcI9TfjrmXHUwMDBmXHUwMDFiak2HNTjF7KVOXHUwMDAyPvJEK1x1MDAxM1xyXFyFq1/U2KNPwrs/N6LCse//asz+OGmrIJJwVSvzKMTWfVxyXCIuatuWvi7vXHUwMDFhXadqXHUwMDA13KN/hICDuE41blnM04HwanfkTvhTZsnJu9TzIVx1MDAxNj8uaXKa+/P4nVx1MDAxMKRcdTAwMTlmXHUwMDE0nVxcXHUwMDA2ibbJaYPR3Z33xd9cdTAwMTg0XHUwMDAxO3KigNaJd+9cdTAwMWJcdTAwMDCrv4FcdTAwMDXUXHUwMDFiU1xcKGnAMydjLen3kbmNXHRcdTAwMTLQ7aLubTnYbNKyvoG+XHUwMDBmSaa5nn6iYmPsQXtMy7vBNbtTXHUwMDFiZmMgpPPI/27LaFtcdTAwMTB130rZ4LpHNqXtXFzKglx1MDAxY1x1MDAxYnTY2Fx1MDAxMWHD25bx2H3Twlx1MDAwNJNX0Fe3Xlx1MDAxM1x0qkOAPFhMNide38tcdTAwMWVhajBPZFx1MDAxOcUjoyGFlICPY8lcdTAwMTmWkWv5VX7sKkCQXHUwMDBi75W0MjpKXHUwMDEw3Vx1MDAxZOdrXHUwMDAwaVx1MDAxOKX1ynOtWJhcZlfkRbhcdTAwMDJcdTAwMWP6VlwiUaUjXHUwMDA27bPq7uTcLvP8XHUwMDFjlFk2XHUwMDBmXHUwMDFmXFzAVCXTYWRcdTAwMWJcdTAwMWFd3ldcdTAwMDGMTufqXHUwMDEwUbPWLFx1MDAxN1x1MDAxNmVls8XQx5fYXHUwMDE1xFXv4+m2/HdL7U/9fDSFXHUwMDAz3SE3XHUwMDFhLFx1MDAwYu3r5lxmUDThmUaPuONcdTAwMWWjL51a5CpAXHUwMDAwdlx1MDAxOJSA9iNLXurfXHUwMDExXCLUtqt/Z5S9VuRQpmBAXHUwMDAwkd9cdTAwMDFE0VxcfzJcYlx1MDAxNTiXKOdEmrXSUjtGnlDCRPmIvM7zXCInt1x1MDAxM7vQOry+nGeyqXiupSBV83JmWSlervAznEHl+v6ZcYpI2oeg2YbZ221yZd1cZlx009bUq6a/n1x1MDAwM1x1MDAxMnIuOFifi1x1MDAxZsJcdTAwMGbwrFlcdTAwMTDFfLPuce1yM7kthLt8pUeFPHLIT+ZPNipu7dtcbmjiiZdS9Vx1MDAwZSFcZsyo3LikXpf0XCKy11x1MDAwNZzHxU3HvKJtUph6cGnUhkXI2m/odlx1MDAwNOfr/6hqe1Z7XHUwMDE4Y7qh0ud3e1x1MDAwMMxuaSZ8XFzaiT8qk31ahd06+8CB9LxcdTAwMTnK8JPlx+A2ZFx1MDAxNKhZk1eW9YqCrVx1MDAxMfdmM6iyaKuiOVx1MDAxMMFaSC9JQXY0XHUwMDAy87FQSjpcdTAwMGX8/lx1MDAxMuSZ19jc7lx1MDAwM2Hublx1MDAxNypJe4NdOVx1MDAxYVx1MDAxZjnFVesjLlx1MDAxZvzj+sBkZFx0lG1cdTAwMDN+ObAoKFb1XHUwMDEy3ZK6kuoo6WhSVE3TdvlNedXMXHUwMDA3XHUwMDAxh8u8XG5Y57KljPf63L61n6srmlx1MDAxY1x1MDAxZsThJXer1Vx1MDAxMapXJyNRVFx1MDAxNqWIPsFcdTAwMWH24lx1MDAxYybNcz96uG4wbFbQm1ZueVx1MDAwN+g8M+FcdTAwMDGCXFxcdTAwMWFn/oRTXbvJciFuJSXKknnq+3c/15Wa1bnGg+Pw5dRguJRw29p3gd6CXHUwMDEzzpotQ6o4VeriINHxXG4wn9QkXHUwMDFl7vRNUnjzdVTjVPF0O/9hXnJcdTAwMDYzXYVCI6zkw234j6d5TUqQMtJPg8diJ1tcdTAwMWLDULHPRFx1MDAxM0I6dfRYj5BWtL0ooF+VXHUwMDA2gKZcdTAwMGL14FbSfEMlXHJek1x1MDAwZVx1MDAwZlxykJ02+7tYeLvf9/LAMFxyXHUwMDFliUdrdavlflxiw/kx741epbBcdTAwMWZg+6ulKlx1MDAxOJDn8XZlXpzaflx1MDAxY5xcdTAwMTbL+cnMMPEkveXyftCLJog2h3rvUdJ7m9GPUGGfPYKibsrszmFcdTAwMTjA7kauiE6G4WNcdTAwMWZIU1xmnmcyeNZSvp+sNK1GjoBcdTAwMDe/K/BHXYlcdTAwMDZcdTAwMWNl+j64Kkp1ddqEen7K3KtCvehcdTAwMDFTr5z2Kut5Mr9YT4b4caAhT81iXCKEXHUwMDExze9cdTAwMTRPk1x1MDAxNs6EMr0/Vv/1ljEvunJ7MnLP15Sc7XN3O5iykjRcdTAwMDX0acJcdTAwMDEkXHUwMDFibfhBINe3TcxcdTAwMTGKqI5ykFKMUlx1MDAxMaLbWOFcdTAwMWHf6ihyvGdfc3vgWThcdTAwMDbujCjfLW6afnCgXHUwMDFjlVx1MDAxOOZcdTAwMDfDiFx1MDAxNlx1MDAxMlx1MDAxNOVHhsw35zfuXHT7I4vJr8l/sMt9KotcdTAwMDNlm9xqONqM1rclXHUwMDFl4b9wQWc03G4qd5kzuq54XHUwMDAy6T9cdTAwMTBEcVxmsIRyXHUwMDE0XHUwMDAxsFxcMXJcdTAwMGX3tXjw5Vx1MDAxNvLpbjiFWVx1MDAwM3NcctJluF4wnbY6Q3CFiD7P81x1MDAwNdN2XGKi7bi21EQvq9QsnNDueVuchlxyTah5/Ys5dVx1MDAwN1x1MDAwNV2RWUfgXS36mX/3tPuKL1x1MDAwZoLKclx06lBcdTAwMWH2hTo18dtcdTAwMDGnnZ5XKl56zVx1MDAwM195trs5oVfnJMFcdTAwMDZltZJz4iUrXHUwMDFlNrdQJPFTqX1cdTAwMWSdrziNz1x1MDAxNdWC9ZNQ6cyZzvo1sFx1MDAxNGVcdTAwMDFSKIaqtIaDXHUwMDExUEh8fur3XHUwMDA0XHSBtVx1MDAxN1x1MDAwN/JPcZHZt3LEXHUwMDE2ksvpjbhcdTAwMTZcdTAwMDBpudDlXHL/OivLdFx1MDAxZN7sXFy+bbmM0j9NUVx1MDAwMEtcdTAwMTTXiq/KgYq3mi5r/1Xw6KB3Z/tcYl6jJiNVglx1MDAxNadDnF9httHC64r+TPEjn0ohnzqb/LpcdTAwMTEjb/Wsvb3bOs/2XHUwMDE0afyBvSU7Jlx1MDAxMVx0u5ajSlx1MDAwNiWZXHR3yNBcXLdcdTAwMTN2XHUwMDFhs6GJOFPmm1x1MDAwNr1As1fPXGJuvi2+iKbz69ZccnfdWKY1U5GMv4ErRU7fvdqbNM2gllxclY1O22FcdTAwMDReglx1MDAxYcJ9P8/PwkTOnCyOsHVfRJ7gXHTVPtdcdTAwMWQz8u/iW+Jqvlx1MDAwZlx1MDAwYpy8nUWaM8yhP7zI1ZBNXHUwMDBiXHUwMDE4Yt08nmP2ot7wI3P1mP5EZ0ZcdTAwMDPmXG7SUIpUk1x1MDAxMiGlXHUwMDFhOJ+14Fx1MDAxNKdcdTAwMDD3RW8hi8rPp8xcdTAwMTU9m08qd6GlXHUwMDBixcv/Rlv2RUhcdTAwMTY5z+nlJUXbs/xcdTAwMTZcdTAwMDQmmFx1MDAwN6iI/Fx1MDAxMpvh4PFIg72N+Fx1MDAxM8wnmZnWp070XHUwMDEyOtWCPy2u4uiI+9ZcdTAwMTRlpMKI7oM9VVDkJvtuXVx1MDAwNG2Qs4ZcdTAwMDXWeykmcWfIdyWedy7kRDaYo7+fT/o9XHUwMDE19MBIhExcdTAwMDdov1x1MDAxNG9sXHUwMDFifXPphlx1MDAxMEhgmlx1MDAwNq/4qbSSgotv3aml3Nbe2WllXHUwMDEyqouYa+GFXHUwMDFkXHUwMDFmJWWTMvo3wlx1MDAxNVOrwWhvPGRcdTAwMTVd7Fx1MDAwYq3ZXHUwMDFlLY1vifqpTVxckduN7y+EXHUwMDAwiGNhxzdcdTAwMGbHNU/c00Uk6dNdi1xygOl2XHUwMDEyXCJfn1x1MDAxZmpcXLFHiuJsf6qvj1x1MDAxM1x1MDAwMlx1MDAwNdNJWM9EbvXc0MIkV1VnbFSfzt3rWGQ6XHUwMDEzhDc0izSnWcbzXHUwMDBievGY2TKVXHUwMDAwXHUwMDAz+3T4/jdrIPtcdTAwMDLlgI/1Vlx1MDAwNL9x3maPasKXzaSnLWmPnzpcdTAwMTTnNy1kzui1uVx1MDAxONm2iuBqrbRrPeOFXHUwMDAwuFx1MDAwMd6CXHUwMDEyW17l8vjuT7yepdzWuIhuUvs3r03kXHUwMDAxXHUwMDEzw9vDpOlf+7OTX96JYfB7UaeoP1iphVx1MDAwNmk88qtBzFx1MDAwNc0nvoRcdTAwMTege2FfXCJoSlx1MDAwMVdevkI3XGZDzVx1MDAxObtqrDpZz6CIvvZcdTAwMDBcdGavXHUwMDE2cV7G1S5Kmyb1XHUwMDFmg1xuX5dcdTAwMGbbXHUwMDA3pUm6PbHIdCpdMTpcdTAwMDLnXHUwMDFmo+Nmc3LxaF5vSMyFz1x1MDAwN9bzXyeRyFwi9qa+pkmmbCk4PlxiyzrLKtpf38umXHUwMDEzPaWfmn8xXHUwMDFiRdHVPMpjS1dcdTAwMTKAXHUwMDE496orz8bubVx1MDAxMj+pXHUwMDE1NsvcLp+wkrybLvpvPVxmO1Blvac+2zKz61xidyyqWlx1MDAwNfr33TO125RnYVx1MDAxZjZcdTAwMWHTKEW9UMJCgVx1MDAxOSTAltX4jc9Pmn2xL1u0Pyeiwd2U55Ht2bE2t0JcdTAwMDGg3P5cdTAwMWJRYld79CTSnX2DiVNEzFx1MDAxYVxiXHUwMDFjXHUwMDEz8+CFVU5JZ2qNhrGjoVK4Y+M6vCujJZS+mU4l/LPmblRcdTAwMDF6K1xczUywPkVZve1cdTAwMTEkbtUxXHUwMDE3kPqFXGZNVFxyi1x1MDAxMVV9XHUwMDExcUBcdTAwMThcdTAwMDZcYnTfSuM2m5gmXHUwMDE024LXKzHjYEf+rFx1MDAxNaG2snJcYjvvdFeFypDtLYbLtkygtutcdTAwMTRcdTAwMWVcdTAwMWHGIFx1MDAxY/2JXHJTclx1MDAxNN07ulx1MDAwYpC5QTvJnElSXHUwMDFloJiX1s3Zzlx1MDAwMmxmrjfJf7jTtXX5ZOftI+6rs0dw9HdcdTAwMTK4J6hvg6XuXHUwMDExoJ9X+u1iyPJGx/N6Nr94V3VcdTAwMTeXVXqbWsnehlfFTd53R8dSXHUwMDFly1x1MDAxZEzZk8+gV2vgglJcdTAwMTWp9lGpb0cwbE/d++VMRncj+V6V38tcdTAwMDVQV0wtXHUwMDBlRL4lQUchq1x1MDAwNkgsk1x1MDAxZmv++bzpmc5cdTAwMDblXHUwMDEx36QzyJDpWGz4XHTCiz7+7kzIsslcbmHP0Me3XHUwMDExzv2K10ckXHUwMDFlqfHoXHUwMDFlemJ41Fx1MDAxMolXLvSNR65gJUlcdTAwMTnI+Nd2vob59lx1MDAwN17//azS8/m1XHUwMDAyZ1Ka8+vPXHUwMDE0XHUwMDBmXHUwMDA3gVx1MDAxONW2wS6jkiffsGF8jGdp4Ycs/XNcImY0KfpQfIqhLi4j66LyXHUwMDFl57SFp1x1MDAwMZRGm2hcdTAwMDXda8/T1c895zr0XHUwMDFi+L013Fx1MDAxOegxLX0yhKdccru9bF/7q1x1MDAxZlx1MDAwZv6gIPc389RThIrD3KSNL9xEXHUwMDAyv2ugg1xypalcdTAwMGaJTlx1MDAxY1x1MDAxYUPihcyk8feKpkbPylols2vqXHUwMDE5dTjKjlxm9Z5cdTAwMTY2VG79XFwoXHUwMDE4siPc0adoKnlOrzdOyVx0jISAR3SlR7/w0FJcdTAwMTBcXIDNLrR1dShQoMqN5X+lNZeITnuS7M6lyOlcdTAwMDQ6tKHhKz2O7lx1MDAwM1FfXHUwMDEyXu2AUJl+4e+vI/j+JfuUsodky1x1MDAxYrB8XHUwMDAwrcGOXHUwMDBlaMbXokCLtVx1MDAxMjNfzOROeXG210yBO3r1pJdlzlx1MDAwNlF7QXAtyS3ZXHUwMDAz1euLMG88O1HTb/NcdTAwMTRu0S9cZtW83Vx1MDAxZEnRXHUwMDEzp6qetL5fSlx1MDAwMM2IhVZTJEyx9U03dPzCXHUwMDA0nerD63tvwne/3MvbkjxJXnIhiybZYbhmMT182DLp5lx1MDAwMdVcdTAwMTYkXHUwMDE4JmyPzPuMfOMqSlx1MDAxNZdeZW1YJ1xyNFx1MDAxODRhbsvn0zz4tHXenP82rZjWyfFdXGZk1Xpgx5p5yFx1MDAxYVxuYVx1MDAwM+/X3U9aK1DM81xcK5e5gXlcdTAwMDVcdTAwMDdcdTAwMTbkZ+rzJd+RKEf/9uTK7sKSW0RbXHUwMDE35f6c7VVcdTAwMTjB8SPUNK+fxejtxCs0lvss4kWK1VxcXHUwMDE1KvdcdTAwMTlGlFx1MDAwNMBb4szhYYrje6CdM2rpkNz3XGK9TpJo1/roZNRXQqnaiFx1MDAxY/dcdTAwMDdcdTAwMDFcdTAwMTebM9tgcV5rbI9QoFhXufBp36FxdEiXulxc7lx1MDAxYVx1MDAxZHlcdTAwMDSpy2Ge7WlZOVx1MDAxMs+g9TdcdTAwMWaLb8wr11x1MDAxNyer+bKJ97dcdTAwMDRsM1x1MDAwYuH7WkFKJv1iVqpsTdOlKlxcfzB8XHKOXHUwMDE3SjXhvtZcdTAwMTNcdTAwMTQnmXFMjfM40aB/4lxuKVxuS1x1MDAwNbu4SFVMXGaOaU/yUNFIve5eoyTmXHUwMDEyj2FcdTAwMDLPs8IyYcBOXHUwMDEyXHUwMDAyXGJoynNcdTAwMDA903+XOo1cdTAwMWR7RejcRvjpsdHCXHUwMDAzi+hIV95fx0G/PUo2XHUwMDFm4KtnaerCpNDEplx1MDAxY/PqXHUwMDBmaNevRVx1MDAxOcTrdVx1MDAwZYdf9FtcdTAwMDKDSHDt3+FCK1x1MDAxNGO++J1cdTAwMWN0mlXQW6yL+1x1MDAxYoHBTbboXHUwMDE5Ic9E72bHN1+Z1/xq0O1Pkcsw6zdDbPVZnsa0J7c6h8xQ71x1MDAxOYl+4Fx1MDAwNDy1S/PkPZPR66lcdTAwMGZv2jXlJFxmlsmXwY3vdaw8lT5cdTAwMDKiK1LTXHUwMDFhXHUwMDE2hKpcdTAwMThGYVjVXHUwMDExRN85XHUwMDAw435cdTAwMDSMdCeorVx1MDAwMflcdTAwMTIrQq8mXGY+k1PauVx1MDAwM1x1MDAxNVx1MDAwYlx1MDAwM9U0XHUwMDFhkaeTzdO+VFxcaqxPIZqb+HVcdTAwMDGs2iQgqZymOlx1MDAxOCnCmeiHdYVUop9cclxcz1jO4rrGpzLmYphcclSj6Fx1MDAxNZrwfI2pPs9cdTAwMTBhwFx1MDAwM31TX+LFhUtcdTAwMDNcdTAwMTPyZ8acwdZrnTR6Plx0XHUwMDA3bcJcdTAwMWRdzKfJd7DQi3sh9sWjozLtajt9czFcbnxcdTAwMWPPXHUwMDE3mfwjXHUwMDExxC3FkFx1MDAwNYaZXG63mP51LZFGyJwqcVx1MDAxY1x1MDAwN+zeM1x1MDAwN2605EclQ8utp7NQpnr9NWXwjV/IXHUwMDA3x5RcdTAwMTll8kDTVSZcdTAwMWV3v/L8XHUwMDE4rNdSKlCbjV56iqpZb++PXYRcclxuXtlvmvNTf4koMiWMWPAvlSiRYzvb17CZpM5CaN/sPN7XpkliL/tcdTAwMTZWimixT1x1MDAwM2BcdTAwMDHqlJM2V9lcdTAwMTK61F41Qcx5quGGVFx1MDAxOTKOZZr5aoLGtZ50x1x1MDAxYnyC31x1MDAxMFx1MDAwM6Z5edf72PLnmSjBZ7M+gcvkoTlDfLJqL1x1MDAwZVlcdTAwMTRBWdNcYiq2/We++qPejyWJX91981x1MDAxZVx1MDAxMVx1MDAxOWLAobzneblcblx1MDAxOYcpK6iPauTyXHUwMDE0RVlixDCgmHT0i+dcdTAwMWPSMs9zXHUwMDE2ddJshSgjLnb4qFx1MDAxOC09ZVx0SuGLooBOO3cvZzdOgu2FXHUwMDExqnivXHUwMDEwXGLfyP3lhlxcKdgkXHUwMDAyXCLYumLYdT6xXq1Mxp0/df20mvdTT1x1MDAwMeEuJ88yRpB4Z+lcXLk8Zbus2UrNddRaWnZcdTAwMTS1/K7y8IXNPjRcYnnp2d1YtGb+dLjFw6/cuVxuJ7WSZJmpXHUwMDFhXHUwMDA2YcopTYOsss1/vjhfXHUwMDFmXGaG7Irm89bprvBqbKd6XHUwMDBiSGRcYlx1MDAwMlx1MDAwNJZcdTAwMDdEOGZzjCks54eGgiYuXHUwMDFhT0e7xvQjXHUwMDE02DNvQF/Lc1x1MDAwMEGqPKG9+0Sd2Vx0Izu3+2GbXGKQ7mlUVJaiN2CEc/o2l9mzJmZPfVx1MDAxMd6cXHUwMDFm73Ho73b4o/xcdTAwMTHW87PecFx1MDAwMyGS2ai6pZr7kc2OKbVsw0pFaZ9qdY3IPlxyXHUwMDBl91x1MDAwMfKPT/dTibjkvsZ32mPl94vSPN51W8qOmiFLZFxcxrg2XHUwMDA2TVlvQtLPXHUwMDFhIPMoOuxcdTAwMDdcdTAwMDOcJL+oPzznkIUkXHTth9O056ujVEvsnrvsnuHlw2JJfs5PykBcdTAwMDU16jFFXG6tV+ba63DyOkrp5e5QMz631aFEWDNGTJ/Xy1x1MDAxMoW1TFx1MDAxMynu6HdcdTAwMWUobVx1MDAwNzBcdTAwMDbGz7qLXHRXaaklPMpcZo5V+lxuoafr/H6dllx1MDAwYv6JKvA7c1BBoITFWpaHvaK2otddaC2Is1xu31mj1Evq7+wu6Ot8Qjk2RdOIl5eUlFtcYu2Z+SZ1XHUwMDE1KDfpu8I8X1x1MDAxY4KPN6PpTjDN1jAhXHUwMDA0hqhcdTAwMThcdTAwMTFX4CtOksmCmqi9MbmnavX9jDXbPWllsWJVPPtiXHUwMDE2c2+EXG6hYUKXzXBjM+BcdTAwMDCext93jJUmK17p39/19WrtUnhcdTAwMDN1XHUwMDE0wf5KI199XHUwMDFjXHUwMDEyguXgUCNaXHUwMDAwXHUwMDAw3lx1MDAxY9RcdTAwMWbB6lBXY/ZXgKtcdJXKXlrRmbHVOFx1MDAxY1bePPQgPb6jnl900dhiVe1cdTAwMGK1JnXZur73nYSrU2WHn0hcdTAwMGYgVOGSzP7No6L8XHUwMDAzccUjPsVaSTZh3ZhI7lxiadxQ+5X97TddVsW2XGJf1Fx1MDAwZtWP3Ljs6lx1MDAxMyo08MRcdTAwMWH1XWZcdTAwMTNcdTAwMTVzXHTou2tcdTAwMGVcdTAwMDNcYlxyQ/eTv1f1Z+RvMVx1MDAwMkqyVOv2Yfw4Y1x1MDAxMiWOXHUwMDA1YtpcXEv2ttBcdTAwMWOz1sEw/33DzJaaV1x1MDAxMlx1MDAxZOlnXHUwMDA0vieyXHUwMDFhj8tcdTAwMWNcdTAwMTWE9W5XXHUwMDFkvT9lXfpp0L/hd1x1MDAwNZxcdTAwMDL8MNo8abFlWpiRXHUwMDFlxs2mtNJQbOxcdTAwMDZXyPBbySvwrFxuXHUwMDFlQVx1MDAxNaAn0lR/XHUwMDE5skxcdTAwMDFOReSN2WA7O8JDP0q4OnurI+MxNnTi9/uQZlpcdTAwMDY6J0tIJi0sTpJSXHUwMDFlvdic81lcdTAwMWTVs/aumrSSlqkqa7QknO1cdTAwMWardXbrXHUwMDFihlx1MDAwZjtBnTOk2r7v81x1MDAxZIqVa+C8XHUwMDA1X4vvs5JHWj5cdTAwMDVcdTAwMDLAU64hmm5NxMRupDgrpySpXVx1MDAwMlx1MDAxOY52quZcdTAwMDaKecnJMEB/h9vRNCg/IE2ENqdNPvRcdTAwMWTVz1bPdDU8XHUwMDFjwpn6oKph9eFcdTAwMDBa81x1MDAwZixcdTAwMTFeXHUwMDA2cO/Nc/PQzHbwm1tPS6whuVrSk2/nKNNcdTAwMDAulj7HvLA6XHUwMDAziUiheNxcdNw5nW2bW8NHdqxcdTAwMTTjlJ/Ims3lXHUwMDAx62DBXHUwMDFhV9ldvnmiKE9zXHUwMDFmbCqYn6pDLvoxXHUwMDE0TLDAXHUwMDFmqlx1MDAxYXX8d19cdTAwMTGrfctcdTAwMWRVXmaEgPpiXHUwMDEzm2eKosig543VKyTR1Js5XHUwMDE2O+H2kpyD2eKJ2/8zeNNHYLBcZpBATK5cdTAwMWRcdTAwMDLD0pfbXHUwMDE1XHUwMDEzXHJcdTAwMDY2XHUwMDFheO9dWsm3sG1BXFy4XHUwMDA2lq7RNTUs8L5BufqcYILUW1+GIePI4bF9KIVcdTAwMTWNJCqHXHUwMDFid7Ugsybfflf3OuFcdTAwMDcmkyjLaPRcdTAwMTJSQ2pk/u9AXHUwMDE3JqxcbqU1W1x1MDAwZe1cdTAwMDeVK1qHXHUwMDAyXG7hcLHEwrLbfT6ZayA/XHUwMDBmMedcdTAwMTT9fFx1MDAxYq88N1x1MDAxMPacXHUwMDE1xcpcdTAwMWNcdTAwMDQ0U5mo7kFcIrzdRsZlQidcdTAwMGJzOEamSTDXiUflXHUwMDE3+Vx1MDAxZMXw+66QXHUwMDAzikCHamdg27ZBirOPbZ3Kj4lk6i6RurJSP81A1efghsGksPyR3VpXNSumXHUwMDEwt3E//Ob+nm9nXHUwMDBmeedWgNE4XG7a/n5BeSH9fljE57UkrrantVPvvEZcdTAwMTZ3XHUwMDAyTFx1MDAxMj1erGqVRFx1MDAwMlx1MDAxYeZF9rxcdTAwMWJTmyydz5guOl1d2mbhP1CUVmRV2ldcdTAwMWJcdTAwMWFcIntQ7Vx1MDAxZadVcWgv8rq/e17j1Vx1MDAxNMpNZUSWqXR/LlwihaNypzBcZohcdTAwMDCbXHUwMDEyxmyf2j3ILUhcdTAwMTmKrFx1MDAwMeNcdTAwMWb1dzPKx5ReXHUwMDA1akYjXHUwMDBix8VcdTAwMTjbrFYywewhMp5jmSd9XHUwMDBiXHUwMDAz295cYiRSOlx1MDAwMJbCfFspuPlAXVAgq6WgejeP2Cq9NVx1MDAxNJaqRqGP2rqFOW59YzRcdNVcdTAwMDBErLtcdTAwMDaHUaQj8c+zXG7uYPfKXHUwMDA2l1x1MDAxOZuRtUHCXCKGQuTfzVx1MDAwZWm3dOKOSUhcdTAwMTBcXH5tXHUwMDExylx1MDAwM8E8XHUwMDE2QV/fKIbv1Fx1MDAxMpfF4NKb9nw/vSNcdTAwMTf7mcyXbtcuOvfxzcOd3ojsj9K/SyxliZpI8qONOy/VXHUwMDFhY5hRN1mofGKcXHUwMDEwM9QoZbNcdTAwMTk5w9CgXGZcdTAwMTPKLlx1MDAwNPY0MfOswJXbJVxifFNccs3X69auVycrXHUwMDAyRl5yNHhUSMNei3XmYDeJXHUwMDA2XHUwMDBmXHUwMDA33OKykEInWPFA0pF1MHJ1yPBgXlxydnN0XHUwMDAwKFx1MDAwNEolMlx1MDAxY6Gy01x1MDAwYkYyxlx1MDAwZi1cdTAwMWWeirfrs3k2QV+Ixb1cXHuWvYdje9aVXHUwMDBlXHUwMDFi8kWEkmZcdTAwMWJCWKHYqo2WTJCcep1PxOXxXHUwMDBm8Fx1MDAwMtL8gLJsg1x1MDAxNyvJafbl1qVcdTAwMDNcdTAwMTLHypDfXHUwMDEyrlxi0Kb57zrAnm2zvzNcdTAwMWRcdTAwMDFTfzukzabUgK5Jglx1MDAxNNPWjVx1MDAxZUyVXHUwMDE3XHUwMDE3Pow34LExeL1+hVxi3b5BUXzaJ1x1MDAxN1hb05OD34sxRcGKmLo7Jt996j7KvMkgjv9cdTAwMWR1XHUwMDE45SV4aN9GQUzx5sRI/FGD2fGG8i1cdTAwMTizuJzKLLX1kTFb13WqfCVcdTAwMTFcdTAwMWEq9Tvr/Fx1MDAwNlx1MDAxNu3ddP5WpbnVP3mDplx1MDAwZm1ccnxV85K2u1xi9ndKYE1cXIjz9yNsLFx1MDAxMlB/mLvZMs91tphgnlx1MDAxZCSQ+deJ5qPkudBrQZD9Ka7SXHUwMDFjSjQ09LRBdtiYpi9uJIr3ZVx1MDAxZnX21XzGXHUwMDFmvbw169rVXHRcdFx1MDAxY1+8cYHkVOyT8LnYQ/Dn89nuxs/HXHUwMDE1/iT0dbGMXHUwMDE3/UJKJ4Q3ZbqRcLDFXHUwMDA2yZ66YS00kb5cdTAwMTTXwquZvWxccvowwjOiU1x1MDAxNDHLob9vpfKAvOnPul7vSbFcdTAwMWKol1x1MDAxMfzefz6/oqT7Oy5b/EGpvfdWU3anNjPCIFx1MDAwMDQ2RenU6HNcXI+/YpdpqDJcdTAwMDafNoJSXHUwMDEz0X/xvV9cdTAwMTmdWzKPQ5LwXHUwMDE1nVxis9KjyuZcdTAwMDL2fF1CyiHCiVN1taqay7CMgd+o/CRYc6E1kFx1MDAwYlwiXHUwMDE24Ztpblx1MDAwMnB591c4zGk63ZdcZsE8+lx1MDAwMlx1MDAwZVOC13WBbU6C5Fx1MDAxMTOvjpFGK9L0QfZcdTAwMTIhr5/+KLiery+mxlx0gpNVeWPRKY3xLnqO+rN+/6Llt35hg2hcdTAwMGXT3bNyVlndb423XHUwMDAwP4AxLlx1MDAwYs7AzUI0Sqj7g14myI9YlFNcdTAwMTdja1x1MDAwN2maJFx1MDAwYltFvWeiXHUwMDE12fzopUpgXHUwMDA1RYElfmFUWsVcdTAwMGZIhj5cdTAwMDR+idBcYldcdTAwMWVt37/jM4SKwZLURDZrQXTpN56qwlfVUyN3XHUwMDFmnGDoXHJdhLKgPta4aOdcdCeLXHUwMDFhXGbuz349kFx1MDAxY9HCXHUwMDBlRzbzKFGT4l+xklcuOWLF1j2DjMh0YZ1KZM2MrmDLUo/s2LLXhSA6Wp8uj18ppIjA1Xj93cCp4cRKUuSRNCay+LLCUyf7JyXvOm1d4/eC01x1MDAxM73tOlx1MDAwYpZp1mppJcz1wcuswrSf8Fx1MDAxNc5Pn1x1MDAxM46kOrf9iX/fXHUwMDExtppcdTAwMTJyKvSzfFx1MDAwNEG+OSpVtU7Tz1x1MDAxN9NcdTAwMTTGXHUwMDE1yYe7f1x1MDAwNpZJI5nXdN7GZ0vArPNmxP1cdTAwMWJl1UxvJy2saVtcdTAwMTD5SjPT5Fx1MDAxOe4h9FWqpNGnvIhcdTAwMTNb+v1a9lVIZVx1MDAxN9yvyrAs7mOpeWaLj2vk6qIpu9h3pODUXHUwMDFm5136vVxiRaLyqrrx+TmN3FOzaTY3elx1MDAwYt3rI/bNstXCIPKRQjCG0sdqu/VcdTAwMGZbsc3aXHUwMDBi0Fxih9iTusJ3mt2nXG6CRfSHXG7kRKLm/FKY/p6QloBcdTAwMWRdXGZcdTAwMGUhY6o1wexzN8uLXHUwMDBla273eOlcdTAwMTTA50ouznGMXHUwMDE21vQxXHUwMDBlzpDT/JZcdTAwMDWYYaTbd2Eo2aqffbd5qiHZXG79XHUwMDE1716K8SaKXHUwMDBiY/h3jVx1MDAxZk1cdTAwMDIgKpxcdTAwMDdcdTAwMWaczvTMrJj7smzwpoDv8oaxXHUwMDA2yd9cdTAwMGJGMKrLRjEn8Vx1MDAxMvKk0+YrJlx1MDAxMq1cdTAwMTjf2Si4JXh14941MHd9LML2fFx1MDAxOelwXHUwMDE5qeU9+FF1/Fx1MDAxYtR3vDRRYLuVy3xBXHUwMDAywlx1MDAwMcFcdTAwMGK3br1moDtfXohM5bVcdTAwMTRZdfKylcCiwFx1MDAwME+ugUmUcVS+t49uhNviX4zG+99ZI5GqOEl7yiRzXHUwMDA2KKpbsvLtjKeJM4B4m4rRdfvXS/Qr/NxphV1t+8pcdTAwMWU4XGbKvaxcXDn4wDKqXv5E4XZR+jCPU1x1MDAwZkClfmZee+aw1DxV1fXlp0DHXGbLXHUwMDFkg1x1MDAwMaRcdTAwMGbDp4uCTuDH6cZ/XHUwMDFjVYlSINDgglur0eDrLFx1MDAxNI2JinDSXHUwMDBiXHLspVxcM3aZpZ9cdTAwMDd05p06xVx1MDAxN4780jdcdTAwMTBzbZXyaiOrsF08XHUwMDE0R2UqdoTV/nfvrOb5zCagO1x1MDAwMTRRMrSdiTLS+XXSx5jpXHUwMDA1+JacN7qirqqOXHUwMDFjXHUwMDE0jVxmXHUwMDFm6IowrDZcdTAwMTbAlslyXHTGaEbkXHUwMDE2mtYr7i+x81xmpFx0LX+DhFx1MDAwMeO76otpm2NcdTAwMTO07EE+7Vx1MDAwMaa7x7tNoj9Xgrd8XHUwMDEwV1x1MDAxZLmxn81cdTAwMTKWqrvxvzP1h1x1MDAwN6d9RqePXHUwMDE01Op+9FL8734hpV647TUokNxdXHUwMDFi9pPP2n2Y6Vx1MDAxZSbqh42Ey7A1PVOEiNtcdTAwMTlcdTAwMWWQ5EPzdbRcdTAwMTc/XGaaxOFsle+y2TRk1CkzVMIpgW/dXGJ5Tv62fVx1MDAwZvpcdTAwMWIyz2r1tlxiipfH8W1+Tlxm9ko/z3rX4WJXvlxyXHUwMDFl8UNcdTAwMDRcdTAwMDchXHUwMDFh5ywxXHUwMDEw8IZ2b+BcdTAwMDH5wSlJJp+eXHUwMDA2XHUwMDE0XCJ/ntqxjJcyXHUwMDAx7TP65uNoXHUwMDBmQKJ+wmH8sZNDLJ9uXHUwMDA2lbOhJXR2XFz3dNhRXHTUqFtcdTAwMWQ6roq9xIaasMRcdTAwMTZf7qRcdTAwMWODtEVcdTAwMGUtXHUwMDEzrJoqW7+vtHPOnCZcdTAwMWHlt1x1MDAxNf9yddWpiVunXHUwMDA0wEo83DBrYlx1MDAwZpFaV1CmrmQlVXBcdTAwMTVcdTAwMTXIiIOfjUeqXHUwMDE444eF0ozgVVxuuqgxS0xcdTAwMDGROb/ruLT46L+lIVQkVqEkVvtwWPuOXHUwMDFkg441KFx1MDAxYitcdTAwMDU0XHUwMDE3rFNcdTAwMTdcdTAwMWKumYl3XHUwMDAxXHUwMDE5ajdcdTAwMWWUdD9ailx1MDAxM1NlfualbWz0YrDMWqZANnAgTGzH/Fx1MDAxYUy3XFx5xzZlwzizbq5ml3W4grA7Mt+pO3w/XHR2ilwiWGPPeDv5MVfX1sEvY+VcdTAwMWLYxZ9Q3Xeejrfu1qZcdTAwMWZ7tM6GXCL5XHUwMDEzt2HYmiyZzlx1MDAwMTynZMx+j1x1MDAwMeh2v89cdTAwMWLmxEsjJj28XHUwMDE21oL9RcDgqV2j8DLL/GJcdTAwMTSGYHxiuO811Vx1MDAwMXS/uT5cdTAwMDIvhWFKqtqtyFx1MDAwN628f6KNjdNZ6LPfbbFhl3xm/lBcdTAwMWWmkyr/ZCUk3Mw93qGvlUSViGOnS5knXHUwMDA3rN4hXHUwMDA3zE2dQW30z+h9SVx1MDAxMpF7XHUwMDBmJZVcdTAwMWR7RYXg1lx1MDAxN+mb8DnwO965XHUwMDFmmi7HXHUwMDAwV9yVcjO0X7WR+Z16XHUwMDFjIC0j/PD8oFx1MDAxYfn0X3rOePOnpjBB2t5cdTAwMTLcx0V/9V/DXHUwMDEwXHUwMDA0QfJcdTAwMGJMrmCzUJ5cdTAwMTC8WVL3aJeYliBfnz6FYp62zVx1MDAwNnyzWVHYgnjYtmVhxOFvVEvppSZYb1x1MDAxZmdcZk1vtS3HqOsqgvc3XHUwMDAwKsRcdTAwMWJcdTAwMDRcdTAwMDStXHUwMDEyhFx1MDAxNEbDlJ6VXHUwMDE4wbNtklxyWucnL89QtyWejYtcYvApSpJlV7rzoj1cdTAwMWM8w6lcdTAwMTP9nb0+wsx4L+3CcEn/N1xyXHLMXHUwMDA20EA+XHUwMDE5KI1WiVx1MDAxYyPZdCx8QPVIOmPouH5Uqe4nXHUwMDFiwkfz3Y/CoSlCMvtvZ2Xw6fOLoY7ZPTvyqH37XHUwMDFigb75u0mJvVxuXHUwMDAw7IhFYqvijWqDsdg/XHUwMDEy+8iUOLuq6Wjr9X09NTGgN1x1MDAxMc98XHUwMDA2acZo0GtOquqCVPtsf2uQmdI1U2mdXHUwMDFie5bYpNZcdTAwMDG0prkxd3acWUp3Njn9W3mCXHUwMDFk9ZRUavhq+3Q+XGJ8XHUwMDA2XHUwMDFi+Vx1MDAxYlx1MDAwN2fWY2VK9lx1MDAxZdYs/uA1nU1a83BU7S/sm01XSWi5atXj8lxcfFx1MDAwZYtcdTAwMDVcdTAwMDLnhjCxkoHEXHUwMDE5XHUwMDA1XHUwMDBmxEH0didcdTAwMWbet8bJ5Troi8yzUlx1MDAxNkXASlx1MDAxMlx1MDAwMlx1MDAwYi1qy6BsabdEvlx1MDAwMlx1MDAxM0TTkbOgfvB/JvFKaUl9XHUwMDBmXHUwMDBiy5u/Z22ex3jyypa8MzIv6sZzXHUwMDExmJ3wVc5INYdwyTeh3DXPe1xiJ4+nNuRDqC0hw7dcdTAwMDAqeIgyl+ow6OgsXHUwMDAzg2C3ZElCjuw6IWxcdTAwMTi7TTnQtK0qv1x1MDAwMyQwXl9cdTAwMTayXHUwMDA0u7xrwN6yXHUwMDFms34h0lx1MDAwYj7BlOVIXHUwMDAy8K+LXHUwMDBiJFxuglx1MDAwMM6tjVx1MDAwM5d+wmDQbFx1MDAxZGVwXHUwMDFlXFztfSFcdTAwMWaAvcRreubDa9o6nttriTtcdTAwMWbAOCiusSHz5cZDU1x1MDAxZFx1MDAxZMJRqUjBpSzIK+ai8T3EqsDxtV6eQSwxMr0pj39nevaIwVx1MDAxOFx1MDAxNl2AX1x1MDAxZTDlIco0LMna3fxwMVx1MDAxMcB8O38wdY6warFT4VPGjC5RfCXl0MpcXDJHl+3HXHUwMDE2yZtDcdHwXHUwMDAzXHUwMDA3XHUwMDE3pzhcdTAwMTenSpNygFJHflx1MDAxOVx1MDAxZOJcdTAwMWPYqb8qXFxcbkzW4I2bllHC1d+sLFVvzfJcdTAwMDK7KZ/40jqU4HmqdvPqu1xibH19XHUwMDA1X7Q+teJGhZ1cdTAwMWWwQ57DeU5cdTAwMDEnXyz97kBcdTAwMWO0n23kxNidJetcdTAwMDZhNqpcYpqtp+vv5FuysppcdTAwMDfES1FcdTAwMWLbMVx1MDAwMG9ubtDeZyX/629cdLL/XHUwMDFhpSClLFQ4jbR/SrqWcfOpvthPkFxyPjCDOPlGVdFzR/lWKl2dTdL/Zq5cdTAwMTe4iYOIKtXX0cE8yujssaNcdTAwMDEyrsEsXHJcdTAwMTB92piT/OEz16zrVW9hXHUwMDEzXHUwMDE0m6/CXHUwMDFlvuso6lxy21x1MDAxOHO1nKRcZmTDuDgz0bzM4Fx1MDAxOdlI5C5cdTAwMTOOqlhkyaNstFx1MDAxY3lcdTAwMTZVXHUwMDFm9qaDyjXi+MlDTzdcdTAwMTNcdTAwMGVwXHUwMDE4XHUwMDE37MPD1kHBXHRcYlxiry3Ig1x1MDAxZUVcdTAwMTLRXHUwMDA3YdXGi9Ox5fXqclx1MDAxNolmWjMnRSn27HKleK1NNUfQzvJgUZLhr8jog0FMjl835dZFXHUwMDA04f9OvIjcLnwyiLze8tEgdfrFQVx1MDAwMP2kSy5A4EJcZrn1Z2xQOW7FPI17I1x1MDAxZr5dUaR4mVx1MDAxZTBiXGaokZqkxqogRo+CXGJccr7Yxawsr6vFXHUwMDBmXHUwMDA1bjePKHBcdTAwMTimoSnjLzb3Ul6Ik+mM2Vd4Xp6yNZOYToh+TvjUkC3kfmY89Y1pL/yEXHUwMDFiY+Z1my58uVx1MDAwZkhK5+zEafZYulx1MDAwNMyla1xcXHUwMDFi2SZE6YU7QX5oXHUwMDAzK4uiyPMuXHUwMDFlq1x1MDAxOVwi4rZcdTAwMWbJi0jrrr6a+5jjfJc3XHUwMDEzXHUwMDEzXHUwMDE1XHUwMDA20p9MmU/4a25cdTAwMWJcdExcdTAwMWb7+6ZcbkO41Fx1MDAxMyjTSbGTn/lLoKwp86h0P89PUNq1iT+owT9cYnRcdTAwMDJgn1x1MDAwMof8wyhDkFWv1lx1MDAxOWVe03KK3ddcdTAwMWbqxsJ3P9mf35fx8/bVbVu2d1xmXHUwMDFkkVx1MDAxZYHBX9CgXHSxpSr+Nlx1MDAxZYdgnPRMtv9q/773m2jjOZhi6CWN3UVcdTAwMDLY0+5cdTAwMWSKouerOSBtyk9Qd1A+rF11TOov3ddocuH+WU5cdTAwMDZcdTAwMDSV41x1MDAwYpl/t/Qo06rA+Ia21ZF1lFxy9j12XFyobNtjMlx1MDAxM2/l28M36m76w4HIKd+fJFx1MDAxYs76XVx1MDAwM0Sy8Ks5Wym+dkfBzd3IXFxPOpZCyFx1MDAxZmicOlxiU5tcdTAwMDalXHUwMDAxsFx1MDAwNEhcdTAwMTJcdTAwMWGCPtW438BMXHUwMDAzLFx1MDAxN/dWXHUwMDFlb8A5/kZsU9ntSOhcdTAwMTcxXHUwMDBijEjo5URhXHUwMDFmd1x1MDAxY1TlxGf/n9dS1kO7xlx1MDAxYbhAhPM6f9qaZKHLXHUwMDAzz1x1MDAxNsxLp5dVI7BMpDPphW35JfxBP1x1MDAxYlxc84GEyL2w2M99SvdcdTAwMDSNqkVcdTAwMWJ1SzGB7TtcdTAwMDams53zXXtcdTAwMTCJlDOxa7F1OpRtWLlcdTAwMTVYqkzOw1xyM1hcYj1mrSD1jEZccpOHhlcraFx1MDAxNbRLSFxupvN+6Xa+bG6i3ImzkM9cdTAwMWXKh1Iz1bJcdTAwMWVcdTAwMThcdTAwMTCFvFx1MDAxMYxzeuVl6JyuXHUwMDE437ikZanhPrDYeNJ061J/P8wye8KdxNGv43Tvu35U21x1MDAxMJmy4YOk2eeakYKfSvVrbSRKcKxbKshpaM0/kivsZKBRmvTMlc6h+HrcMtj4XHUwMDAxXHUwMDFk8Iu8Xac3Plx1MDAwNHdJzix7XHUwMDFiwZs+4Fx1MDAwMz3R1a+VXHUwMDFmblx1MDAxM1x1MDAwMeu3XHUwMDFi+m6IMVx1MDAwNHWo8G+Y9CxcdTAwMWPfXHUwMDE2YIiZfPOS2ot/N6ZF6+JrTnVGXG7HXFz8JFx1MDAxM8pb5Fx1MDAwNfJjQ1x1MDAxMntzhWJjZP5FXHUwMDFl9uqRZf1+l3D3etI34yDuqVv9IMbb9GuKcYlcdTAwMTJXXHUwMDAyhe5J1F1JmoPOuyT6yG5XNDZcIkJcdTAwMDI89yNbqlwifTpv/u/cqC5cdTAwMDHLynI6gTdcdTAwMGL8qCPfMoRcdTAwMWM/NsNpzX1PsJAznp/sozI6TXHhXGYw/fnAW1R5K4phZFU/rP9KXGZcdTAwMTX/XHUwMDFkW2xvKUppiuCaRmRcdTAwMTY9tFx1MDAxY6VLvsyF2Eb9sZh+6tE820LQoI9yNGnL62DGLFx1MDAxM6tcdTAwMGLo/GWTqlx1MDAxMyFi+6h/51KYIYHjcZRcdTAwMTCpbVx1MDAxMlx1MDAxYkOUnTc1WVZcdTAwMTTQRZVnqIku31x1MDAwZtZcdTAwMWPygfjqkq+LO5PS9M2X5YFwwW5HvFx0NyrUpNKnXHUwMDBiXHUwMDExNlx1MDAwMja8P+6GSewojVkzvYhcdTAwMDZgSf05PM5JaLlcdTAwMGXSNYWXlXtfv0jYm/dM6sMs9f5cdTAwMWRs08zUUSVcclxmXHUwMDFhn+91uPqLNu422IaAVJVrP657g/WtXG5cdTAwMTSLe74yasnHNfdcdTAwMDE2IH/2h0eF4OL+Qj24sIJcYslsxHzjNiFcdTAwMTHqOpJ+L0bq+kJfXHUwMDBlrlx1MDAxY1x1MDAwMH+zY+pcdTAwMWFyVJR2XHUwMDFmZURmXHUwMDE1bbhcdTAwMDS7+bNhZdGzLDxHykJcdTAwMTUhaItcdTAwMWNcdTAwMDOowVx1MDAwNn9Thc80N7pcdTAwMGZcdTAwMWHnL8B3RWHx6d9ZRsJcdTAwMGZcXM6TXHUwMDAyRfv9hMaTZP3Zns6mXHRQXTOZxeRgV+09r3P6XHUwMDFidUIqXHLZXHUwMDA2u36OXHUwMDFm8LOYu/5cdTAwMDL1goqcb1x1MDAxZr6c/3rfXHUwMDFhNcHk/+yLXHUwMDBlQaq5nLeTfmqSvVxu9dhcdTAwMDP1mnQ5tHXtlCf2ycpzXbn+lyBcdTAwMWbSVFx1MDAxMYNcdTAwMTKS2Ucq0m/TzMIzQ+I0VE7TtFxmNVx1MDAwNkvsJc3Iq+DJdf8uXHUwMDE0+2opXCJWZ2ZbXHKlPpfAIFXE5+wto9pZOSNV1N6x74w9XGbfolx1MDAwMFx1MDAwNfKrxmirtFKv0P4lf7oxP8pyXHUwMDFm3rcqXHUwMDAxXHUwMDAwXHUwMDAwX8tRxfgnuVxmcj9cdTAwMWOwYVx1MDAwNz9cdTAwMWSvSlx1MDAxZfWDgsB6W1+cwU8nW3Zy34Sq0MJVWrql7sSm368pXHUwMDFlzoVLXHUwMDFhslx1MDAxNV6RXHUwMDAzzG5SmtScab4/Qt1cYobkwbnk21x1MDAwM6lyUlxuY7r3/JOWoWhcdTAwMDJsSlx1MDAxNE5cdEdtO67FcKQm8ULOXHUwMDFmYaW7JVx1MDAxNDlq4tfoht44wXSzi0ryb6ZbXHUwMDAz40zK12QtMlx1MDAxMIl+XHUwMDFhXG5G1CglLiHgXGb27TUhlXvdgo2GmvLEmlx1MDAwYlx1MDAxMyaroaM8XHTpXHUwMDE2UemMKkS7T5LFbunsz0/ZXHUwMDAwXHUwMDE3jkSRqzJcdFx1MDAxMcE8YTpNkjUrMZUxn/QnXCLoXlKbMfqzlJhcdTAwMWFf74VcdTAwMTDE3ZJcdDbCla1bwyHj7WeAouR9t9rMsLAnXHUwMDA2xymTbfdcdTAwMTRH+ij5Wzk1e3VcdTAwMDLpVCX997yszbpcdTAwMWJrPPBO5jM62n83XHUwMDFmKatKeYjShFLN4zaSroZcImdcdTAwMTGxeVx1MDAxYvSr3n1cdTAwMTZcYmKb+kpti1x1MDAwZqt5XHUwMDA0vUNLuH7WL5+voVK/XHUwMDFiXHUwMDEzW+7TXHUwMDFiW1x1MDAwMH+BrSprvlxmK1xcc5n9iY5PWKZww5J/OmRyziu1h8ZHxmfo7SBcdTAwMTYlNVxcsLYq8uBdSMg+uFJgzJU9oaB2XHUwMDAyczlk9DxnUFx1MDAwZc5cdTAwMTJsdvvuXHUwMDFh9/f9vuFcbmtgOcOWivGEYEitxlG3dDKpxFx1MDAwMepcdTAwMWVKOaFcdTAwMDZMiVTRtC22IHrdf7iWvVxiZeqY0UCDXHUwMDE2ZyvH3G+9x6dcdTAwMWWrmCxeXHUwMDE2XHUwMDEytvxhM1x1MDAxNeNzS24ohpXNmnnxXHUwMDAyvVx1MDAwNy421dFcdTAwMWH+Nnr7idJcdTAwMDfDxlxyXHUwMDAzXHUwMDAwXHUwMDA0/XRCZSHgcmggM+isqDtWmO9WZlx1MDAwZSRl8Vx1MDAwZkEo4I+Calx1MDAxNV/aoXvrvYSBTj2b1ahq1VdZXHUwMDFho1x1MDAxYXGWXHUwMDEzaFx1MDAxYWPyiHWiLPrf75yxa1x1MDAwM9JcdTAwMTdcYsRcdTAwMDe7dWH5pFx1MDAwNWGSj1W4m7xcdTAwMDRWXHUwMDFhi1Tw2ZXWK1x1MDAxNs1uvUZEXHUwMDEzh9OP20M5a7jd3z7Z15gmdPzZftlcdTAwMWWdmiqLgVx1MDAxNNHd6XC/OF8pmj6byvX65le5eu7D55svauppv3RgXHLerrctXjZIWJRO+Jua6PSWQ0rUXHUwMDE5+Fx1MDAxYjlhPUI3zKSYQtCZ2lx1MDAwYsZcdTAwMTLtt0rshKfr4NlcZlOkRkak9Vx1MDAwZjbK8DPpaFjvUas8XVx1MDAxZM5iqHdC90bpg/O4tNpEXHUwMDFhOF6qsofHieYmoYudnuKaJE1dXCL7SUcmXGZZWsOmpIrlxqJcdTAwMDCugVx1MDAwZue3SziOxmFcdTAwMTQoQlxmjMi09r9cdTAwMTT82/Uutt5KiVx1MDAxMk9g2UrcLdU9XHUwMDBlzMLQLULSJFkk87v6XHUwMDA0/lU5hHzD61LGQYZG8EB+rNzxwdZcdTAwMTGX4aFs6Fx1MDAwMtZRIKqXXHRcdTAwMTT2KFx1MDAwZqPgWVxuQLmeQUQn3TZcdTAwMGbfXCJcdTAwMTg/nFK29uL1ylx1MDAwM2wrQ+bMW4qZj9pcYlv/Vk7gmvhoXGK8TCWNM6J863n533iJjYTfirr52fNAXHUwMDEwtM1o7+/pRJ0hgLndXHUwMDEzxFJcbjIkg1wiXdVNRcE2XHUwMDA0XHUwMDFkZHlI9S+sS0Mliynyo2FH46Iyu4xfQdMkuPVgzMJ32PZcdTAwMWEo8nBcdTAwMDd/6dFcdTAwMDJ+1yX/afOlmra9d1xmyKG/d7Ojv+d1dS9sXHUwMDFkKyH+eFx1MDAxOFWw2XBcdTAwMDOLqaFlhdmXkTRirzS8KI/rXGbzI7JcdTAwMGXkyVx1MDAxYjJ/Su1cdTAwMWVXR6bAUTq+eGp9IF2HXHUwMDA241x1MDAwN1x1MDAwNYe/+ExcdTAwMDNPjFx1MDAxZiSxuc5JQlx0v9j0oInLUafk2Vx1MDAxMWVcdTAwMWXhV55cdTAwMTNTn1x1MDAxN/P9UY1W2OpeKzp4Nj7yd1x1MDAwNMHjQ5/YbFx1MDAxZmPzR9qBufDb7fnk0y1+eSkh++uZXHUwMDAz3vVQ1ffD4CVXXHSLqHySXHUwMDEyi7LaOmqGt2DAXHUwMDFhqu5cdTAwMTFcbtM2XGai0VxcLNe2xfOT36jng0iWfII5XHUwMDFin3uceVwiXdHI4DDN3LqIj7tcdTAwMDStWFCFJX+UJICTN46xxMb58uaGxIhFLblNJ5IgV1x1MDAxN/lO+VU9RVgjTVx1MDAxNi/CJNpcdTAwMWE5XHUwMDFi4O/ZoVx1MDAwM+kyXHUwMDE2fVx1MDAwM3Ti7lx1MDAwNOJk9fgjJKPnzTxcdTAwMWJ/wtBcdTAwMTHLSKHbJ1xmXHUwMDEwQ/e2MFx1MDAwMpHeI8WJusbM/opCxSftQ/Xw/rGa1oUuS3xtfZYhfyOlm53wLvdp6TGOnT2/XHUwMDBmOSaot8DGod/TuuU6XHUwMDEy6ub8XHUwMDA0OoBJzYpmscLh46pypXW8XHUwMDE5L3FcdTAwMTQoS1xcm4ay5Vx1MDAxNGNOZTq1ilqApvDn4CBRmXoxXHUwMDA2VzZcdTAwMDHG777DJO1lo8raV5pcdTAwMWGL8lN7dSWlXHQyKnjptMvy/lx1MDAxZVx1MDAwNb7PyNHANbWfPYcopSCZn79CKm2T61x1MDAxYVx1MDAwM/JHJnWo/+g8Z2VaSkmxXHUwMDE5XGbEZpHmo5B5pvdefFxiY6vpSSDA91x1MDAxZIdpILZZa3z3XHUwMDE1rNOzQoSthtsnf/a/XHSBYrYuXHUwMDEyl1wiq1x1MDAxYz3IXG59Z1xiWT9S2SZ+/ptcdTAwMGL6V7FcdTAwMGWcf0d48ZdjXHUwMDE4jiOuoCTSvMxVwlxyXFxU4Ch7ns1QX0u3+Vx1MDAxNM99ZEz2h1tcdTAwMDPfqJO/f7G2f3kg+PHNniT4bFx0qS3AOi5ZXHUwMDEy17Ou71x0l+a8+/XC7/qbj6a862PMQInY2Fx1MDAxZitcItHvXHUwMDE3h9+GOsWPN8tIOP0+S1x1MDAxYma/m5Diuq3aTWVcdTAwMTimYoSf8Fx0vMQ5lybJwbtIOrM4vlx1MDAwMYzw+8D/XHUwMDE0T5ghtTrFfFxiXrE2iqdcdTAwMTSnVkVfpFCiK0I/704x5rbSUaZcYq//0eHh8Vx1MDAxNFx1MDAwNOTdyihpgD+2mVxu8Fx0e4Dt2ZaB+9aq1nq6R9fzlTZcdHlcZjT6NVKiO+VEMT1HINllXHUwMDA1YyR1ZSu8i9930HFReUn1TC/yIz9cdTAwMDC13tpcdTAwMWVJLYDELTx0MoXGXHUwMDA1tD1HzX3LZVxybVx1MDAxN2SWL3FcdTAwMWO0dGmZYLlcdTAwMWRcdTAwMWSxbcdcdTAwMGLx2erksVx1MDAxYduF4zjU/Fx1MDAxZM2mlFxuvo1sn32FXHUwMDBiPCS7xCqDyVx1MDAwZtZwMO9z9tNeUWJcdTAwMWJcZi32+8fWeSy5qmxB9INcdTAwMTjg3Vx1MDAxMC+8XHUwMDA3wVxm74T3fP2lz5u+juiIXHUwMDFlqCVU1M7MpSrtXHUwMDAyQTpcdTAwMDCcPlx1MDAxNnYwIUWLs37Wk0JcdTAwMWZcdTAwMTmlj0Znr3LRSS6TMud9aj2X2DVVcalcclx1MDAxYrCFg9bIXHUwMDAwyPqYW7aKi0VcdTAwMGUgiFx1MDAwZrTZKde0QERSiC+D9Mh8wS1cdTAwMDT+fe5cdTAwMTf1wJOx+1x1MDAwMJ3e0Ka4+7dkdWxccvlJXHUwMDAwgDovhKR7pTqelrK6+IxWzUy6UFx1MDAxM03EXHUwMDAxNiRcdTAwMDad3bdX6Dnl2qLHXupGXGLtvMaHLVx1MDAwZkq2T1xunbl17Z7SweKC47TAXHUwMDAyX7VcIvjJclx1MDAxNG5cdTAwMDHjVf+xo9hcdTAwMTafXHUwMDA0flx1MDAxZvSt/KPhXHUwMDAwr7b3+kN6b0xcdTAwMTFgv1x1MDAxY9emrM5cdTAwMTGU8ftqWElaT0pcdTAwMTlaXHUwMDA3amJEj1x1MDAwMmR/LVx1MDAwN9JuIVx1MDAwZVx1MDAxM1x1MDAwNb+dwo6lauNcdTAwMDLdS8K20KFcdTAwMWOEv9E2SudcdTAwMTd17pRcbr1cdTAwMWVX+Cdds7hS9MFcdTAwMWK7XHUwMDFkK5bg9e/6PN9cZimcoVx1MDAwN1ZY8s5cdTAwMDBcdTAwMTC54qCadYCBMYxnPj9cdTAwMWTue1x1MDAxZmArXHUwMDAxXHUwMDAwXHUwMDE00PywqO+E/v3pVy9cdTAwMDNZoVx1MDAwYtrjXHUwMDFiz7Rsllx1MDAwYlBxwMqo51wiZzlf6bfVLbJLXHUwMDFhxCMmx1fLLGQodqfHd55ap9t/frl8flx1MDAxZEUhXHUwMDFlI7/mQ1x1MDAwNpKmXGJe/5tcdTAwMWGpT429flx1MDAxZY3EXHUwMDFjxIMkWU/5Nr1dqrpmlP2Ut8NXcXI5QVx1MDAxMFx1MDAxYV9vQ7GxsCxZ485R8/DZTz5hy+qMfIgvXHUwMDFlYT+gn1x1MDAxMl/R8eRcdTAwMTaQ+Wj7XHUwMDA0RfYoYGrC52/VzkulO9rQW5srt93wyzhI5Zr2oFx1MDAxZp/zfECm58VWXqOXU/Lg63PXOl1cIjk3N9R/enXipT0uratDKPVrS4FcdTAwMTj7LnvE6C1NXGZjdWpn2lx1MDAxMorn0lx1MDAxNehLK7ziV104UFx1MDAxMdgnLNBcZlKVoKowalxy51BOOc7FqtCb23numIV6YMz2TVxyXHUwMDFkhlx1MDAxOdSKn1BCn5TofyhcdTAwMThIXHUwMDAxo9vWWlx1MDAxZlx1MDAxNPJcdTAwMTWPXHUwMDA3Vn9UafFsTaj1vVx1MDAxN5XGMbBpdFx1MDAwNbOUlFx1MDAwZr1cYou3+7cucZSZXeX2XHUwMDA3+fF/bIqStPBcdTAwMDHBXHUwMDAzujKJXHUwMDA1XHUwMDE5R4rXXHUwMDBl7Fxy68tcdTAwMDZcdTAwMDVcdTAwMTDQxDguXHUwMDEw62T2726vh8VcXOPTKaYnPzPNllx1MDAwM85M431KXCJjZPqJoyD1yVx1MDAwZlx1MDAxZXyqXHUwMDFllcWI9fCpoFx1MDAxN1xin16WOtpcdTAwMGK7Q6+SuFx1MDAwN93WfFx1MDAxN/0+Rk2V46OPqkRIcvDRsiBznWy6X2HmJ1x1MDAwM9aC4lx1MDAxMW46nJ/tV8d0ad8uLN0sWWNXICN6/sX3VcvNXp+DNJ2OnKugnKqUX9lYi26VkDxcdTAwMDVTUTpcckRcblx1MDAwNdBcdTAwMDbH97wzjZXroPySm1x1MDAwN1x1MDAwMbtcIr5oKkmQnzPkc1x1MDAwMsPR7lx1MDAwNc9oXHUwMDBiwVx1MDAwZjV2PsfIr3FMU9WeKfDGI2hUi8s5X9r4mVx1MDAxY1x1MDAwZc9OK0rlQuBD1lx1MDAxYWCe3/dtpm37XHUwMDAw5olllnxcdTAwMTMmhafGrT5cdTAwMWbderZRkPjM2LZccuol6Vx1MDAxMPxPYW5RXHUwMDA29Kiqt0xcdTAwMTZcdTAwMTLGwFx1MDAwM1x1MDAxMf5RQZA8UNq1vz9TXHUwMDExWvPbV5xcdTAwMDC8KN5SvKVcdTAwMDYo57GnXHUwMDE007BcdTAwMWI06JRCLovNiY5cdTAwMThcdTAwMTFonKNcdTAwMGYjymPA3GozOqhcdTAwMTLUeK7RloA8RGFge8pcIk19Zp76NLHSpy9cItS5XHUwMDBiR2NcdTAwMGZrPnBA8Vx1MDAxMVo+U0tXJXTf9Vx1MDAxNyaYLzZRNd/7UYq19lx1MDAxObDyjEVCtOjujVx1MDAwYs9cdTAwMWIrleCYo/z34a1cdTAwMTZ3dkar+bPpboE5L+yNY8pvZ8c7XHUwMDE4M3Xo+D35XHUwMDFlWO/BXCLIiIR5dtzCZJxiV1aCfeveKVpKiFxygn0rrFx1MDAxNYpHXHUwMDE2NT5KOeZcdTAwMGKGS8nlnatLXHUwMDBiLK83UmksXHUwMDBlN5++ZrhAqM3vm+7sZdpDx/0+XHUwMDE0wvRT/YPTeVx1MDAxMDWzPYxyqV7S4iFcdTAwMTGBRODi+GdOfvtjO3v0M7yOXGJcdTAwMWaPiz/QhT9cdTAwMTlpilVcdTAwMWOUXjxcdTAwMTNrXHUwMDAyjn72zHlcdTAwMDBcdTAwMDUrmkjpXHUwMDA0+JpcdTAwMDLn+1x1MDAxNbdwuFhr2C8x1ZJAVVx1MDAwN9agKiwvnn2VXHUwMDFmLpWu72tcdTAwMDNcdTAwMWKZvy/G0/NcdTAwMTG3n/rColvLykGEXHUwMDExwz5wUfZeTqvZW19AWFNcIlx1MDAwZrWftnJzwCmmSfs1XHUwMDBm+1Yh5pySQ9RcYvk7YKlcdTAwMTKC0CepXHUwMDEyo1x1MDAxMkNcZjmezceMniDJ3Vx1MDAxNteW6j5cdTAwMDRcXDpH9i+yXHUwMDFmJ3XqXHUwMDFmfudAXHUwMDEw2EHWbZxcIqZ0NTtcIlxcon2YXHUwMDFlXCJYulx1MDAwMOOb+D/FXHUwMDFl95cw0KFuicd8per6WGM5Op+RWtv0ijiOKZ9CvKa2XHUwMDE23O3m4al6VnT18eSMO/pM5Vx1MDAxYchdplwi8HvP7ZgyXHUwMDE0IWJcdTAwMGJcdTAwMDPjO4E8XHUwMDEyWnatls42XHUwMDEwq1x1MDAxOae2gvxbe8qB8zdcdTAwMDJTX9NgfG5cdTAwMDbChNVcdTAwMTSF/9UnXHUwMDFj+5wtSrcrg2eWoz5cdTAwMWRpw35cbsTmXHUwMDBiXHUwMDA2pD+t/bLm7LE1XGIuOory1MV07XDZafN3XnLsYILIpdko6M1bo6JOO+Y9PD/gosT+znUkQ5Tujlx1MDAxYVx1MDAwZc/3qraFXHUwMDBlZ5ZcdTAwMWTCQUHtdFb+XHUwMDE4n5/iJoP8zVx1MDAwNVx1MDAwYklj2sRmrelcXNPRXGbkx//eyITqcT7HssbnOj+ulNJGf6fimFx1MDAxNfr+XHUwMDAwpStyr0YrdDswcZMkQL5CbLN/85UkRJZ9KEWusSvMKl3332qE1LYlTFx1MDAxNYVQ2iuIY9+wwO/stv9cIuLtv9Ap0nTZ6+yMxc/pUEBcZkLLXHUwMDAzp31BJYLBvMFuK2vOoaL+u89qs17yXHUwMDE5Q6BogaBcdTAwMTNw9o1dXHUwMDA0wkBJ4Vxi0zRjSfLmfytcdTAwMDDmXHUwMDFialx1MDAxZbxVzUo8rHRO0La+nPz681x1MDAxZFx1MDAwNynSXHUwMDA3ulJVYFxu7Vxi2EqJ2Fx1MDAxYd/2vVx1MDAxYqhDjswyJNE3+FS3qohccuLR+s5dml1cdTAwMTcwXHUwMDE1XGKfJmTeXHUwMDE4p38/700s294q81x1MDAxNycseyXdzUipV8u+RLtIXHUwMDExTVx1MDAxZccx7lx1MDAwM3io0JNe7W8qXHUwMDFjfVOr7vzsQ9LQXmfeXHUwMDFhXsHJnVx1MDAwMmRcdTAwMGVcdTAwMDJP8as3iPZCiEPH7yeArNxcdTAwMTm1quZwNCdcdIPJXFxcdTAwMTTJiVLQe8Rm731cdTAwMWbuXHUwMDExq7dg+Vx1MDAwMVx1MDAxZlx1MDAxMVx1MDAwNjGrPrHS7ia1q/WpXHUwMDAz5NR2cWhqmojbm1x1MDAxMi1cYlx1MDAwM23hucri+FS9j/pj23FzidVspd9rZ0OLkpE14dnD1o9o6ySfZW70m4xAXHUwMDA1W89YxylgiWpPpVx1MDAxYTTl1eNyx8fqN4NsXlx1MDAxZIFsZP6+N1PNXHUwMDEzPXPpXHUwMDE4X8XNylRcdObqfk6839NCXHUwMDFi28vrWLIjYOfDXHUwMDBmwFx1MDAxOa44b1O4il1cdTAwMThZ/KJ0W/mp0o+pXHUwMDE4oMHDITf7tDi1fzmlwUZVcJk5Jf1lXHSTXHUwMDA2XHK2aDvO8SnIJFx1MDAxZFnxk4DVmuybxHmEo/qPXHUwMDFksFxu4rvtXHUwMDA1kXDtvUa5XHUwMDA3cKXUpX3eWUI6j8SqXHUwMDE2XHUwMDEzzr5Y+42Fkjli/ZDmXHUwMDFirZKQU4dpjaQ6i1xuXHUwMDFljVQ+04OQaPLkNtPLXHUwMDE5nIbZYC5B0nNzTvTRwyFcdTAwMGL0+1x1MDAxZKRB4nnKstJcdTAwMDW1v1x1MDAxN2VX3oFcZtGB21F661xu8aZcdTAwMTVcdTAwMGJcdTAwMDMhXHUwMDBifa9gV0X+fK/3S2vWTVx1MDAxZGqWrZtcdTAwMDFYXHRBYFx1MDAwMaY2MLpcIlx1MDAxMrLVXHJKXHUwMDFlXHUwMDFkXHUwMDFiVlx1MDAxZnGY0r9zSNGhbb0sXHUwMDFi/CTxUvnKNcF9mVh9KHu4en54mG2A7r5cYjGnn7atXHUwMDE0VS6O3JBcdTAwMGKga2aDXHUwMDA0V4TlhoqDh+ZknmecszuupT02noVWxy1cdTAwMTav+3M5bTTp44RLMrhcdTAwMTnVSqCLw2M6TuLrVEBcdTAwMTODraJcdTAwMTS5X86O19B53CaWXFy7+/vq/2+944H829qyy9qbbWGXbo5NMFx1MDAxYXtUIVx1MDAwN1x1MDAxMibPXHUwMDA3w5/koa06tV3BldWQXHR7YHn+8EHRb6HgrVx1MDAxY29cdTAwMDBcdTAwMGVvy69cckxa7LRcdTAwMTmxz1Fgfs1cdTAwMTVVYVFcdTAwMWXTRFx1MDAxYVx1MDAxYmpL9pNway6A5yO7YjGp9WiR8lxiXHUwMDA0P7FIO8rEPsal2l3Lnteb9fJyOUaq23PJ/lOSVD1ZXHUwMDA3ecs+tMKRd4l5XHUwMDAxM40wsu/Nm2ZcYvpEXHUwMDE5W5/mXG60qnVcdTAwMTmaR5ZcdTAwMGa108lXmDqhuIZSxLav8HLP/eroOGWnWIDFUpw7/1x1MDAxZOeTu7Y90Enj6lxie9irO1x1MDAxYzE/aKJRXc/Unlx1MDAxMIjD+Vx1MDAxMU+rI6DKpdRcdTAwMTmd/mJcdTAwMDbGgJDQKW9cZqmkz9rzQmT2d8Sqp1x1MDAwMlxy+lxunVx1MDAxOHWLSY/q6tTd+Vx1MDAwZtVUXHUwMDFiIf96XHUwMDE3siD6YDF63eDBkcdyXtRcdTAwMTFcdTAwMDExi11rS9qH7Fx1MDAxMMEv8LmTlWWM+ujzXHUwMDBifTRcbn5oc/Bi/8b60pZcdTAwMWNppfVxlFx1MDAwMvxcdTAwMWIvMldUWypeboBcdTAwMDH7b4iFx9HWkfpcckIlVFxuXHUwMDEwleOt61x1MDAxMVx1MDAxY1BcIm6tWlx1MDAxMMCAoaEgfkMputfSp6DhxkTqXHUwMDA12FxuX+5cdTAwMWL9db5rST/kJXdcdTAwMWVV8jx/6zTqOFwi3lx1MDAwYlxcdFx1MDAwYmFym1x0rKpDzrtVr8VDZn1hXHUwMDE4XHUwMDA2P1x1MDAxMkKt+frqzs/64W681FFpplx1MDAxMClxlTF9Z1CWXHUwMDFi+MV835eJayE3q3SIqf37Pu/EPbG+XHUwMDE1XG6zhlx1MDAwM5JcdTAwMDfzK4Vx47J6XkguVMmZqdnpXGZHx0mrQYNLaX9cdTAwMWbEV3zeScm4gz3NO7XA9paPfUho3zZ4tbFOKoG7sujS38m74W/Mklwi8pCti7VcdTAwMWXNNVx0Q3NcdTAwMWHgr1WwuN5cdTAwMDDGfmCC99mmlOctNG9RoVwi5lx1MDAxOVxciPftbKngr1x1MDAxY9KfJqWYi1x1MDAxYVGsa1x1MDAxNaE+58Ipcdjb3z9cdTAwMWZBpiWv2e/uplx1MDAxOVx1MDAxMLdcdTAwMTfI4yGLiF61jHRhRmqW95Bag8qQMaRlcztccmZcdTAwMTNcdTAwMTheXHUwMDAxv8xcdTAwMDSwd9LPzXeo8PJcdTAwMDdcdTAwMWJE6Isna8e7i3FcdTAwMDS+llNR8VKvlVx1MDAxYlx1MDAwMVx1MDAxN9y8tSq9+3eQwy9cbjlcdTAwMDZ/dGqEolx1MDAwZVZSk5TWd9DjNvLiUd/rsIjg/blG0oVcdTAwMTh+Q1PKSvKYbiAytrKitZmoM1x1MDAwMF/c4jepkmGCOFJY9L1F31x1MDAxNtJcdTAwMWJHXHUwMDEypMOD41x1MDAxOFx1MDAwN1SP2MOSo1x1MDAwZt+qriusaHCv46Xc0Fx1MDAwYn0rZUT+XHUwMDFhh4lPX4zUp55cdTAwMTa/JKVzPI9owzOhprJcdTAwMTDA1vezsVHW0ZQguIMg/1x1MDAxOP3zYVwikICUaHFcdD5cYlr4peFZMZTTRFx1MDAwN1x1MDAwYtzFjk52vXL6z49TTFx1MDAwNlalXHUwMDEzbtmkkXhn574gSMCgXHUwMDFjLbbvUyAmPL4z2+Ph7/abc7afWCmm/l3irC+SrHn6IctccjNTKrbol6+wcY0zhMd3QVdTZVY2XHUwMDA1XHUwMDA2lFFcdTAwMGbfM+15voC2M9RcdTAwMDHm79hcdTAwMDCA8tsuS1qc2Vx1MDAxZaiAg3qU2OmBbFxu2PhcdTAwMTGvaOh1XHUwMDE0aFx1MDAxZlx0rj9U+bnxTYVncoTKie75mJZ6gqaDxHFxLm+RhYUr84bbsKC1jNheIFx1MDAxZZFxQM5TLJdcdTAwMWNcdTAwMDC/M0XpsuaPXHUwMDAwc/oqXHUwMDE39e+EOq6eIbrcMzlLwynuJq8hZa+fXHUwMDExakK55VmG+37r77KHs1x1MDAwM542lZbfzJju+eYhX1x05Fx1MDAxYlx1MDAxYSF6XHUwMDBipIuv6Oq4u1x1MDAwMmKJdodqfCZcdTAwMGZeK6D7XG6nYztNXHUwMDFkn8iNMjFiXGZtqC1fXHUwMDE0Jpf1ynJVMFdcdH6TlvY4i6ogd/KCISjPXHUwMDFjXHUwMDE1O+kjeTbpZsVxt/vYyv2JMzo7SXlcdTAwMTeZT6T7xPU1l1/SjNR1a2Vsh6/ggFx1MDAwZY2fW1x1MDAxY1D3LcR4S35cdTAwMTd4t0RcdTAwMTHGmXIgXHUwMDAwgIGE+tNcdTAwMTm/uLVcdCzh7sq7nuCcN1x1MDAxYlp7UHPvm1x1MDAxNHmvzGSesNtccjxcdTAwMTlB1Fx1MDAxZZTeO76lvsdCXHUwMDExdH50XHUwMDEyXHUwMDEzx3mgw5VUwlDz2T3d+n1QY48sq4/7uPpbp2Xh7/cjiiMmXHUwMDFln2K9zebGduSricfTiCRgn4qZP/tcYjWYlqZieZDSk+Vlnu9m0+ye2rM281x1MDAxZDswXHJLnVx1MDAxNH7cetTtr59cdTAwMWF6+3w1o8n5uqB89Fx1MDAxNnOJRsmy/HDapy1HdEPRXHUwMDBm+UnTXHUwMDE2w8Y9kycuuXPWJSHZVyVserW3339SXHUwMDA18Daprq1G837K2Fx1MDAwN5ZcdTAwMTWaXHUwMDFmhU+0VtNcdTAwMDJcdTAwMGY393hHWFlTdGdd39RYkaRR/NdKdyzqYKzjkbW3kVVQllx1MDAxZsJcdTAwMGVl5flrZMtLunavVDpryuds0LandFx1MDAxMENcdTAwMTiSp7tcZtiZb7o4WVZGwlV679TXcEBcdTAwMDKxXHUwMDA0y/twepTKXHUwMDFj00W8XHUwMDE0XyHVbGBNi2I5yI2EcOjce0JqTdIw9t7JXHUwMDEz0UBcdTAwMGJcdTAwMDU4sVx1MDAwMnU+61x1MDAxNCHMRHxcdTAwMWMnS+RwT+tcdTAwMDLNZMNK1zyg811txqlcdTAwMWLJeoLuuFx1MDAxNlFcdTAwMDHAm9j+hIVcdTAwMTnAVkdcdTAwMTgnkXBHrLBcXFVcdTAwMTlCXHUwMDA0Q1BoXFxtdlnfXHKGSqhcdTAwMTF7u97mXHUwMDFjXHUwMDE0nlx1MDAxMqRHXHUwMDA22JJTtvbp/lx1MDAxNew5y1x1MDAxZfLJK4OOt++rRiFcdTAwMWQ1JFnXPPVcdTAwMTUpr183XHUwMDE56YTaqIxVav76+Ugt7INcdTAwMGY6S20m2Lz87Fx1MDAwNFuSlFx1MDAxNOmgcXvsXGJcbjj0XHUwMDE33SXzk1xyTjNX8oXW56vNcHdcdTAwMDdcdTAwMDf4ziPMz1x1MDAxNShrjXUhvEHjwcL1QGytbSzCTmFa2MFJRoSeW4U6R6VmRCsoSVx1MDAxMkXLvij8lVWNhUEyyNuuL0ByiFx1MDAwN1x1MDAxM4ZglGDLf3AudH5xXHUwMDFhM5aee5LKXHUwMDA1rXJcYlN/2OH2yZKGWIxcdTAwMDRccqJcdTAwMWNE7r+MmEFWuVwiXHUwMDAx2ifhROktUthcdTAwMWNcblxuXHUwMDE37zN9qc6mXHUwMDBiJpg2jKWDs55cdTAwMTRY2YP/5OdcdTAwMWLAOM6mb/TwXHUwMDE1xY075kBcdTAwMTVDgk9IUrVcdTAwMGbzXHLGXHUwMDE4jPj24rRcdTAwMTWeubZ3i+93+P18NZuLbSSWsSFxPne1N84maa7BN+a/MMlcdTAwMWVeZfa0zFx1MDAxZk46XHUwMDEz+8zK5y+TXHUwMDFhJiP1cD3eYNTkRt94esnGi75yt1x1MDAxNsVzdWmqt32RN6XmZUb/PClsxYRE++a5oUW5XHUwMDA1yUm3XHUwMDBmV4PqwKxcdTAwMWGnSllcdTAwMTVcdTAwMWHL7Sw0O4grI9lcdTAwMWZF5Vx1MDAxYVwiM1x1MDAxZN2yXHUwMDBll1x1MDAxOeF9YdSGyzKC7sHGNap13I7cnp38XHUwMDA3XHUwMDFlcqyaQXWK2K9/n06it1x1MDAwN51GOMFjWVZcdTAwMTjDg5KDXHUwMDBiiShaXHUwMDE2s0DW+JAmsszSs1x1MDAwNM1kSv7OXHUwMDAw6vZrXFyPw3WSxbI/sJM2XHUwMDAw3OBcXFx1MDAwNUNcdTAwMTRPzjjmdJ+I2b/e0qLDcfxcXC6j3IDzTLVvt67PR/EphoZxNPqM0Yym6adUXHUwMDEykyOw4lx1MDAwNGa0q2X14NVWNqEp5ustw4q/PfO9XHUwMDFlXCJcdTAwMDDNXHUwMDE2ltT2KLTPXHUwMDA2ksnUJvb8r1x1MDAwMMu+x7bNV+diQlx1MDAwM4Xj/EFcdD9cdG12LmHajjZcdTAwMGbOV9lE6nU+zm1DI+LYU1x1MDAwMUHQzEb1htFmUlTK0Mw2mY5cdTAwMDU120XpwtukwJFcdTAwMDdcdTAwMDDgr+2d0dpjhIel8Eog/HdcdTAwMGWO3JqH9n1dRsS8XHUwMDA0Rjq3aUJcdTAwMTeMKImoyFx1MDAxZklZ0r2RXCJwXHUwMDEyXHUwMDE59tPycjxcdTAwMDDCN2cu/mG9XHUwMDBm3PVIKp3cUsJcYucrd0W2r/f3jtui4k2oeHC/8zr9r6eWkyi6JTF9fsitf75+MXVILiPs5bcnyo1R7fRw41+JxVx1MDAwZlx1MDAwN1NVQiFLPFx1MDAxM3+aSfPrPnNwM0hcdTAwMWWuK9SfqrZRXHUwMDAzeFx1MDAwMrk3adlcbreARbVMRmDUwl2pe2xcdTAwMGLX9d9cdTAwMWHPWrtcdCm2lf1bI1x1MDAwNkEmvljOW2s9M//NOOv7YjU+xFx1MDAxZX6/VMpW59/nXGb1XHUwMDE1xZOdUpus9XXSI1x1MDAxZn6A9s/UnMTDKqFJRGbccMzPdLrY+qrn8j7+YYfndynfJNlHRlaUPVxi6UvfQFx1MDAxNL8+rVhcdTAwMTnHujbW3WB0XHUwMDAzXHUwMDE391x1MDAxMaa/mdVs91VcdTAwMGWiMXtcdTAwMGXS6d7of8mcJvdWXHUwMDE4M1x1MDAwZVx1MDAxYvlcdTAwMDZcdTAwMDbDxMPix+KwnVx0oHvfP1xyXHUwMDEy5Fx1MDAxNVxcXHUwMDA1pb3SO1x1MDAxODyeQVx1MDAxN9ItK2hMr69cXDGXUd4xNywlWFx1MDAxNiltXHUwMDE1krRXsyskUlx1MDAxNCiNMJFcdTAwMTRYXHUwMDAwXHUwMDFkodo3XHUwMDE5zFx0llx1MDAxYrZwW/Tx3Vx1MDAwYr7Jizf3WJ9n1lx1MDAwMYAgvydTM/khP6rNn1x1MDAxMVf9qCtJJiStqspVLDtcdTAwMTHk8aNcdTAwMTRcbkDhR8lcdTAwMTl/Y0TSvXdpf2tcdTAwMGLbXHUwMDFhxlx1MDAwN3d6PsaMzMJdj3zKqy0oMCtTisLchcVWj3LiwqVcdTAwMGbeKzFBR02x2YbtUPC1jkvWfVx1MDAxOWhccme/Ut9MXHUwMDE1flTJ5ziLoCgwTUMtXs1cYndp2Ptd84Noslx1MDAwMGjB9dObyOhhh2VuXHUwMDEzxVgz1GEr5WyXyF9cdTAwMDFjSG9KMcdIjawt/Vx1MDAxOLg2h5x+dmlcdTAwMGWOXGZsZ86LiVx1MDAxMS3hL66/XHUwMDBlOnnGKCCv+I8zz9ZcZqTAbjxcdTAwMTd8tX+AalfBt2YhiXL8wadY1YRg2E9XjNZcXH39UcU+XHUwMDFl5fVOx1NEfeR9k8bW1d4mos2DeVb6MCdccoTIvaTGcVZcdTAwMDL7XFw9/VSSXHUwMDFh2LR4jfuVP37cgFx1MDAwZlfdQFlcdTAwMTcsXHUwMDA0J7W9XHUwMDFmXHUwMDE2y1x1MDAwMbF5XHUwMDBizZlMj1xcqS1abUNOY1phxlx1MDAwZlxcMlx1MDAwMDN40ymglIiiQ/epTyrXZ3ubXjtHXCIhilx1MDAxN4zFt19vVeWnoujPUuhcdTAwMTFX8G8wzy1uOydMpVx0aEUuMlx1MDAxZShn64tDjiSXaVx1MDAxYatcdTAwMWM6XHUwMDEy/Chr92JNI0fYx4xcdTAwMTnuKFx1MDAxZDL86duSXHUwMDE364mi4PX7fr5cdTAwMDEzSb1cdTAwMTC4jWCLalx1MDAwZW7Bb2Rpt+/Qalx1MDAwNHyOOI7OKoJ8KUT9hVx1MDAxOWrVS2t8infOofvixFx1MDAxMTg38vlcdTAwMTFLkTBFJDEs6+v7sHKi6znJeUSjl1x1MDAwNFxi9PmCyN1cXG78K8fe+CU8Jz8gMSYnSTZcdTAwMDbF97eeOlx1MDAxYunV9pjO9+9Zcfzfflx1MDAxMFx1MDAxM69t/lx1MDAwM4YvXddccoik1GdJb1LAe6RcdTAwMWOJVyGF7vHXgnnYn1TPITFdLpyAvUFv3cunXHUwMDEymXe2Vmh3T7HsXHUwMDE1XHUwMDA1ZibDXHUwMDEx8s29XHUwMDBiXHUwMDFiczd11nX4qaKtMlx09ZUuV740R1x1MDAwMYtcdTAwMTNypWi9ZYpmwVPguon48lx1MDAxY1x1MDAxMVx1MDAwYlLKY5tsRFnCcN9NiJSKX210eLONvOSz1FFt41xuy974wCVPetzJdlxm4ZV1Xlwif5mww8jlhOSZ7YSWXHUwMDE5XHUwMDBmMqK3jZT+uuZTNVdcdTAwMTM7ulfJvWG4/VXMczCRVoC0O7BkaumLlq5oqJtcdTAwMWWRwjHUS6g8w8IpodQvXHUwMDFlTdjeLvtrXHUwMDFho1x1MDAwNGu50szNkzDClb7ezEF4Q9P4hmg1LKZv3sJKvvC6cbkrydKkm0judVx1MDAxNlx1MDAxNOqrndiGRVM8YVx1MDAwNFcnr+6ImzHRoaZLTvhwqd9SMFx1MDAxZVx1MDAxOYzfyYQ2kY9cdTAwMTKcN3Et0ONgvVx1MDAwNLqVxjJsIcJcdTAwMGZA/8B+bSCZcZmCc3+lgSZb2dYyRsuQmlxctibugD6sQCm11qVcdTAwMWFu+GbxvvQ+eDe892xR/0ScXHUwMDFm5l1PRdnL0L8z6s5MdyX1dedTXHUwMDE44lx1MDAxNHBtt0S2+Vx1MDAxY1x1MDAwMVx1MDAxYvWAXHUwMDA2XHUwMDFhXHRcZr0wNVx1MDAwM8Gk9yznoyhEpaliiiy/XfMhITFcYl7eXHUwMDBlXHUwMDFkXHUwMDA32F5rYpl+VMVcdTAwMDPLXHUwMDA1cfz4lVVOJlx1MDAxYj0jpG5cdTAwMTTEkW94k782acV5JHZcdTAwMTe8u79cdTAwMWJG09Dv1o+XXHUwMDA0w6FHXHUwMDE4SkpcdTAwMTd/wEO/zFx1MDAwZZ33hOrxNlNpJTbq53r9gVx1MDAxY/11U6YjRIZcblxiXHUwMDBmjCYpXHUwMDFkLFx1MDAwYlx1MDAwNKjl5XSJhXP/NLLX0F1uruPeflQ/ZlnxylLlWdS/M986k1x1MDAxYrsvJVx1MDAxM4lcdTAwMTeyK4Hb2ZGQLL3TKGujn1/vYudcdTAwMWLOsXCPqGFcdTAwMThaLl5bgVx1MDAwYtiJ731cdTAwMThcdTAwMDG/ett/ky6fiVx1MDAxNYnzRs6KomvNnClNxWFcdTAwMDeAsCejTZf4+NuLYK/wz4Fr8rdA9KxAjlx1MDAxYymjgV1y5ehzqshcZlx1MDAwZfLAmFxct8SgWeVcdTAwMTO8+aHflLWUi/1wMUlRXHUwMDEwWodcdTAwMDFcdTAwMDBa9VXj/UZcdTAwMTFXP7pcdTAwMWR2XHUwMDFkg5CYUMKHoySI7dpcdTAwMDZyiWUsrJiFXG7MxFx1MDAwZrvfuKUn1yNoRsw6XHUwMDA3SpIvXHIrSaa0T3+5b1n5V/FFTVx1MDAwNUsv/lxyaXCNgrRAoy5Mn1rY+19FyFx1MDAwYlx1MDAwMK9qY+pImqBcdTAwMGLzXHUwMDFlWuRcdTAwMDNWkVx1MDAwNfdU0KjSXHUwMDAyLj+EwLiX5dxfdbC48UmoXHKxqZx321x1MDAxZdzbOMZBXHUwMDExWUJcdTAwMWavXHUwMDA2g36mgyOtaFx1MDAxOYHZy8BcdTAwMDPge16JbVxmWHKwoGpcdTAwMTkxelx1MDAwMP70w1SOXHUwMDFiV7sozlQghWyfqtC8lK2bMfqFoiyPqlx1MDAwYlxu9Yws1KtcdTAwMDUlZZnak6hcdTAwMTQqXHUwMDEyiuGM67LA0EpQXHUwMDA1oXxcdTAwMWJxrnL3slx1MDAwNbS6nnl/7exzXHUwMDEwaeHoXHUwMDA1/1x1MDAwNP4s6FuUtoTb5ZIz0Fkxdo5xokc7SbxTmaLqQjWjr92bJMCPTmIy6zTHm1NS0klgRysvmcxcdTAwMDVcdTAwMTVgtN/M4KHcYL2QSqz4t7mFmztSnWllIHeT7bdcYleQPC7P1p/SXHUwMDE0vbZXXHUwMDExjOe8lupcdTAwMDCt7M1oPiT+ncJAlYf21pTi/TVcZq4mzVx1MDAxNVZPklx1MDAwNojESfZvXHUwMDExnclcdTAwMTNcdTAwMTZcdTAwMWJcIq1GtlKlXHUwMDE0zfh9YMCHvCCx0EtGMDvkmz6mqELi893SMbDEYr9cYt9cdTAwMGJNYIBcdTAwMTRtJSc/4jM8VG0yp0LAoUFOYY+3KGV1/L/+nVx1MDAxYky+XHUwMDAyRk8rcKblKr3vOm9BVdVbo6zMwdKjiFx1MDAxNtdo51x0XHUwMDA05n3liEFcZoPcw0/sXHUwMDBmuqN/XHUwMDFi4UMvf7Jdq4VnWklxYPbjNDg2wqVcdTAwMDJaXHUwMDA3aMItXHUwMDA1Olx1MDAwNH0x6cnx/Vx1MDAwMP3tNyuAXHUwMDE0XHSCISTcXHUwMDFihXW/SlK6iGojxTpAdNjBxidyvd9W9DfNXHUwMDEwXHUwMDFkh0UjXHUwMDBi7mdi8Z09SnBLXHUwMDE3sb3m7NqUpf6tR+63tIVxRCRcdTAwMGafzVx1MDAxYynwXkKa5lCrf1x1MDAxNEFvuqrI7Y+4V8L3lL/bWlxcUeqZ8Ve5wVu6Oll6ZphcdTAwMWLcYyBpoFtcdEs+wtBcdTAwMWViSNPCx+rwUoVcZvryZUFcdTAwMDNpeNswXHUwMDEw063JitTr+n6Gkee3nUvOt3o6guxzRchOwOI4JFND/WRiq6Yg1rVl5zz9q1x1MDAwM6dcdTAwMWZcdTAwMGaSeVx1MDAwZmIp9CNcdTAwMDHRXHUwMDA3m1x1MDAxZsmfRjcr1Fxc+XiKyPdcdTAwMWF1v6fFXHUwMDBlnnWKrCX246jG1lx1MDAxOS+I7nFiqbtbjmMoXHUwMDAzkbFcdTAwMWXwT2WCXeOYLlt+b/Wm0yS67YGAW1x1MDAwM/C6vi/rkoTJXHUwMDE4sD5cdTAwMTaIXUVfouLWI5SVqkG8yKJcdTAwMDSZvvTm1SdUX8NMXHRaXHUwMDE2+Zn9LsiVZesg+o1z3lx1MDAwNlefXVxy0SRCXHUwMDBl10Sw18qlXHUwMDAyYleMXHUwMDFkdlx1MDAxOHxcdTAwMDNcdTAwMTbjgFZcdTAwMTjHIFx1MDAxZt8rIJwhuiZcdTAwMDXYdLXvfKmeQ6orpMb+XtGjXpZjXHUwMDE3Olx1MDAwNigteJ5/UFrMXHUwMDA0cWxcdTAwMTlcdTAwMDAnrFjJvnO4XHUwMDExQ01cdTAwMDVcYjKBhv5cdTAwMTDOXHUwMDA3XHUwMDA33Dv27uulNrlid+c9ZiVcdPHz1CC7VuOnjdfeuFx1MDAxMf3N0uZV+daMm1x1MDAxZlx1MDAxZTBxmMZcdTAwMThcdTAwMTdcdTAwMDBpeY5cdTAwMWbgyiSQXHUwMDAw3Fx1MDAwN9AsOS6rY9WNv557LFx1MDAwNlx1MDAwMpvQXHUwMDFhWcxnXGJcdTAwMTRcdTAwMTA5XHUwMDAwXHUwMDA3XHUwMDA0XHUwMDFmfVxu3s2CzfXH8efiabVcdTAwMTdFIYDwjj1UynnkQ27L+q23rlx1MDAxYlx1MDAxMP5gaWlcdTAwMTgzcZlcdTAwMDGSbKfXXGL8IO/GW4NF7ThzZ+Rbd3zmXHUwMDFixl7MXHUwMDBiP4jI5vn3jiX4XHUwMDAzXHUwMDA3plwilfXjp7/d3HJcdTAwMThcdTAwMTeeg8jHdVxyrERcdTAwMGVNI1ttjXtprlx1MDAwMFx1MDAwZnq89blcdTAwMTJF3GtcdTAwMWNcdTAwMGIl+NX9O4PtynLH59lcdTAwMTNj9Z+SlCy2K513v5VcdTAwMTdcdTAwMTXmXHUwMDFhmr2SUTBcdTAwMDZcdTAwMTXFXHUwMDE2vTWKLyFyXHUwMDEw+3tf+eqOTcnNXHUwMDFlyHhU7eZcdTAwMTktwFx1MDAwM/ub+WZcdTAwMWEuX3zkLVwiTPPezEyOrX/GsfdIW3vgXHUwMDFkW0NzTmfv+J33takxU3Zhzlx1MDAxY9RuNpvJPe3FMWFcIjJuXHUwMDAxTStdUWx6XHUwMDE5I29eXHUwMDBlsTLXO1x1MDAxOH1Rb8BBUdPhuX6TWjCeXHUwMDE5e8KCIPjKfIS8XHTib/PJ5CNxS1rMRFx1MDAxOGH7ubRGWCFpqnQxQ5ZlXCLVm6sk+baUS6SLeYXoXFxakIwlXHUwMDAwXHUwMDFh/42T1lnVlaF3UlxmRlxir0l2+mJdtstcdTAwMTek+rUys4C+WFx1MDAxOcGROoA/p0C396lUfrNoLdhcYqbxcY5cIkmS22HEtW+1mYtaI4jcajjjOrb1VGG+h8Ryqt0pmlwioy6rPEReWKL5XHUwMDE4XlDiXHUwMDAwLW9LuCe0uD/6hVOZ/12/XHUwMDBmntX29/fUS1x1MDAwMkH2vJOhoN9cdTAwMTS5TIv+XHUwMDA1gZIpOvwxRqC9QOTNykkli7Gxcc2U0Vx1MDAxNHU+v19cdTAwMTCXwEiSt7mSPsP89WVcdTAwMTYqLlxyPW+XXHUwMDA10UNoLSs3tmJcdTAwMDH6IzZrTIUu+lx1MDAxNmn/XHJxjOo2y6X0/KWfqZWaOzKgNarRx4thoT8hX8Apn7BfUNzjLVwi2Fx1MDAxNlmc6WxcdTAwMDb84XWG4Vx1MDAxOMb1XHUwMDFkNlx1MDAxMJyuylx1MDAxZv1cdTAwMTHuJUButjQs3LD5XHUwMDFk38ZcdTAwMDf8XHUwMDE0M0ZcdTAwMWTW74ZTpfNN143Hn3W3vMPa3N8xXG5/m/tJS2RFpPuJcTJcdTAwMThVmdZdfLfbWbJ2KO4yXGKCOkiVfWJ4STr3pGb6XGZcdTAwMDXcUc9cdTAwMGVllsX7WShrY1x1MDAxMlx1MDAxMlBotfX0m/dGPHo/vlx1MDAxOFx1MDAxNFHlLzsjOE9Ccenu1fHH38jlrPsj6Wzh/tbvOJJjxtdcdTAwMWLEmdNhvsI6YIfejFx1MDAxYWm+4FnjX1OfU2yuiP7b71x1MDAxM2x9XHUwMDAwsVx1MDAxZVx1MDAxY2+cXkKj487r80B3XGIppFx1MDAxMrPVKVx1MDAwMdxLNZjdJ2loqVxuk4Vbslx1MDAwM1x1MDAwM/r32U/kRY/Gx1x1MDAxZStLXlx1MDAxY4hcdTAwMTdTRlx1MDAwNVwi97BcdTAwMDTHXHUwMDE1kC1o5jroXHUwMDAwXHUwMDFi+rhcdTAwMGZ9e2BNMn6Q5G/vS6BW1XhVXHUwMDA0WD1LnraNbyRhXHUwMDE1/1x1MDAxZLKtra4+RJsmJEWbxlx1MDAxN+927fa3mDNLfmzYoc9sXCK1OOJauPaOXHUwMDE5sDb/XHUwMDFkZFx1MDAwM3ntq+dBcOvUcZpkvlNcdTAwMWaVhk5cdTAwMTJPgWlccqv5eEUhO+VxXHUwMDFiwYVcdTAwMTFidU8106x/n/ml0p9Ahe0tyFkmiFwiVDtSSIQygXphnmOc5W9GYvAxKD7TXHUwMDA2hb8rqOCrTNe/ZmgvXHUwMDE4b1x1MDAxZFx1MDAxOcLjMuvzXHUwMDE2L8abTJ3rfdRcdTAwMGVvVSgrgVx1MDAxM1xubmM6JFx1MDAwMNhcdTAwMGbb46yjXHUwMDBmLeOdZ2I4/aRcdTAwMTb9ik7wd1x1MDAxNyls17huXHUwMDE3gzTqsfVrXHUwMDAydD9eU8Pk0lGa/rKby8z6xLXKadRgXGKRtys5p1xyJqlcdTAwMDBcdTAwMDAsM0PaMlx1MDAxMFx1MDAwZXxcdTAwMDSYc100Si8tXHUwMDBlq1x1MDAxNtNbXHUwMDAyfvi5s0pcdTAwMDJgechcdTAwMWT5M1x1MDAwNKr3MDBavZevXm1PwfUuovk+fPlJ6DxHmjlgMbP5XHTl0ZipxYb7rId+kFx1MDAxNtcnXHUwMDE011x1MDAwNzdWy8mG5Tduf3vw+8HQbDSxfVx1MDAwYjpcdTAwMWLCf2tMOoWFV6z1dFx1MDAxMOTvPMVBoJYpXHUwMDAwqDmRjXzDmVwiOTLkI85cdTAwMTYyTcvyr82RRpzOR4J185YvZ/BoXGI5rqP2XHUwMDAzMWigRFx1MDAxMXyhOVx1MDAxN1x1MDAxOTThyFx1MDAxNWC3Wu3KQlx1MDAxZFx1MDAxOaMq3Vx1MDAxZFx1MDAxY7FcdTAwMWbJb5Q0alxi7/yPX5++uvdcdTAwMTW8XGJDanfsqtl2fePsOXoun8KMkDw+N96Rs7mdnr7+kjdcdTAwMTIvSZGulFxcqd33mvw+XHUwMDE0tHxcYos1jOPY/Vx1MDAxMCrVXHUwMDFmKu9kJDFCXHUwMDBmL8dcdTAwMTRWx1x1MDAxM3tVXHUwMDEzxLB9jrBcdTAwMDWiXHUwMDEwRLXKXHUwMDFk/vxR8HlcdTAwMTO/SnJcdTAwMTlcdTAwMDZcdK+AMp48l+iv59L2t0LjKlx1MDAwNYbl+L0ln7W3PsQq/iuQpTRcdTAwMDduN4e1XHUwMDEz8E9GkLS05zRcbovZXTpcdTAwMGZcdTAwMDNcdTAwMTiz3aJ5LW1cdTAwMDWLk3Y3wiPHPTNofszjerNcdTAwMDIgklx1MDAwMC7JR1n8Vo43l0EgrqGTl6dhk1eoQCWoqHeIeFx1MDAxZmZdh7CG3iCpicmO/1PDqVx1MDAxN1XQjb4p2vykXHUwMDE0Z8THd3xrXHUwMDE4z1uEIFxm8yM0wV9rjq70mb1w2bSqXG7v7D+5KDtALVWKeP71rJc9XHUwMDFmZ1P41aDy5Vx0/cxcdTAwMGan49mO4ppekXzOblmQn8aueFKTMSmthLk9u0PgzUCgNMxvZil6PeSto29UVdBcdTAwMTG8dVa0yW1BJf2/z99cIn/rXGbz3rtcdTAwMTBBUfl873m9pMdcdTAwMTJjQ3tcdTAwMTBcdTAwMGJxXHUwMDE3kJp+XHUwMDAz9lx1MDAxOHaoXHUwMDFiOlx1MDAxZMNoW1x1MDAxYbxcdJ11eVBcXMMzSmKlXHUwMDA2XHUwMDFhOl5YT1x1MDAxM4UmvXJJ7/L0br4/pWJFXHUwMDE2XVxul2J3nDu+4qjv4Gk2+p+Zzr8wkf5Ow4arXG7eXHJ2cmyj6Vx1MDAwMsn5ZTrJr5xO5GXTdV48s14xZYmR0slUhVtBf1x1MDAxM3xbuLPXKGArwF/HfcVjmnjGtHFa2fmHPFx1MDAxOSm1hjHsYt2U0uh4XG5/S/uET9iLplx1MDAxNHY+YqGYgkXnvl3c31xm68Y7dCblKqi17GKjt7lcbvqlXHUwMDE4mY7pZd9HttnTMlx1MDAxOK+0gs9g7GBcYs1cdTAwMDE863y7XHUwMDFh4cpcdTAwMDK7tFx1MDAxM+ZLd8KV6/uTl1wio0s1XHUwMDEwQfatYkdQ9dz6XGYmYEss63mmXUBcdTAwMTCC5N9cXNKicSeg7tpcdTAwMWYhXHUwMDFllfFqKqZcdTAwMDNmNVxmgp/Sakg22klLakdcdTAwMWbU2lx1MDAwZeq2iyBcdTAwMTC0WVx1MDAxY8aVS2ZT9StccofRqmCaPNMsN1A4XGLKXHUwMDE2+kuphmSVjbe+QcMnSEkrc+LPa51vL7IuqaqDJ3jZcCZJR1x1MDAxOCS+iqK2M1x1MDAwN3XrPHOmVn0/8Vxu+aNSXHUwMDExsDtto8SF/dMlhNctlspVoP+yZ1x1MDAxZlx1MDAxZpBAr4n6qubjXHUwMDFj6Fx1MDAxZWLgsSxQmlx1MDAxZlx1MDAwM1x1MDAxNCtcdTAwMDbvKYhcZmFhVqjhRXBgfWtcdTAwMTmHp3TVv/8xJrBcdTAwMTaj19RaXG7Gl2Ra5s0o8fynLVx1MDAxMas4tuMrWlx1MDAxMa653XJuJEXXeF5cdTAwMTTz0JtcdTAwMDA2K8JSwqxcdTAwMWRcdTAwMThOl09zk7PEO4aUYpWH7MnuXHUwMDBlXcfx5TRLU1x1MDAwYkhRxVx1MDAwNOdsJCSm6Vx1MDAxYv5mtX1I6iVrXHUwMDFhrFKEzNeS27TYZlx1MDAxYVx1MDAxOJ/6elx1MDAwMvdN+Ox5cke8gGK69MQ+3u2u+5vJkviraeND0Fx1MDAxZK6do1/TfZ7nXHUwMDE1bVx1MDAwN1b9I2+EwVxu8NS0XHUwMDFmifAwsH9lXHUwMDEzxWzFXHLEcezif3lbydaTLzi/1lx1MDAwMIbZTkSQI7lcdTAwMTLflFx1MDAwMFx1MDAwNoJcdTAwMDCbbvexyFx1MDAwMVx1MDAxMlRcdTAwMDVDXG4nJWKGuvvV58i/XHUwMDE1qUqBtCNwXG70XHUwMDE3brC15kebP1xcIFx1MDAxZL+hXHUwMDFlpk1IauVAtcrRxMl9lX1SnFBPe1TmnPi7a0g0XHUwMDFhw1x1MDAxNnDJhYxcdTAwMGIrXHUwMDAy1ihcdTAwMDWbLY5Jus33qklCnWVcdTAwMDaD+jX8/Fx1MDAwZY/x3Fs/01x1MDAxMy+TQrNcdTAwMDSm5KpNy9xcdTAwMWT19is9rDdcdTAwMDfaQKvOc1Y5eea6T+VG3lx1MDAxZYrV+1x1MDAxYVJrXHUwMDEx5+WiTJ7pZaSLQjylgpxsZFx0n1x1MDAxNH5OmWlcdTAwMWFurlx1MDAwZmv60zSjXGK7Kzg8qi1G3mGmm1x1MDAwM4VcdTAwMTNcdTAwMDSvXHUwMDBmRCalpD9cdTAwMWbStSUwUFx1MDAxNOiMXHUwMDE0gD59TEJ/XHUwMDAz2MBLx/dxs1x1MDAwNFx1MDAwNMiOL15dqudk6y2I+eZ0gslEK0b/tOJqJW3OeZIgVN350cjE3W1Y9Vx1MDAwYjdr5i1JZ2m8N+n7kVx1MDAxNXBcdTAwMGaWL2QkRT9cdTAwMWKnXGJhq1HPXHUwMDE1l/AgXHUwMDE1Y4hcdTAwMTaQXHUwMDA2joNg5a9fXHUwMDEy55AuOVx1MDAxMVxuspdkR5uv73ZcdTAwMWFKzPN2wnnwNVGiqH7lnqdcdTAwMDQgJHo1nlx0q4YospEgIEavh3TbLEpVaTzeXFxcZt7Rvlx1MDAwZbifYKtgN0ryVVx1MDAxYlxc2i3CS1x1MDAxMaA8OtH4N0xMXHUwMDEwNP1j/XqT/3tv61x1MDAxM8miZlx1MDAxY8KutVSMXHUwMDFlZZV7XHUwMDEzhPN+rbJbq2tcdTAwMTLvayqbSMc6QH3LXHUwMDAylkTQZJDon4c2P1xyRGUqSJNcdTAwMTnmXG7nS6SZxNWv215cdTAwMTCDRThSpvSO8Pb61VZP/SVrwsrLXHUwMDE2sVx1MDAxYenh0M16OVxyuMlbXHUwMDBiXHUwMDA14rj23Vx1MDAxZop+TSQzx/pAZY1Vjk6+o/FfXHUwMDFmO/qYuJ13nuFjrVx1MDAwMlx1MDAxNfRnKFx1MDAwM/2yXHUwMDE4t2UnWCpBMjhtXHUwMDAwkMabXHTyNIm+XHUwMDE52/GDqefGXHUwMDFkTVx1MDAwNPeJlVJcZk3xWa2O/Fx1MDAxMIBpWlxyQqt6Z3ZXp7Sp+Ea1/9WztFVOfYiYUmuK1TMwR7i8SuFcdTAwMWb78q2vm08lXlRcdTAwMTAn9aqZRZFfJVx1MDAxYUJ9P1FBZmbZXHUwMDBlJYhcdTAwMGaSZ1x1MDAxOFx1MDAxZndcdTAwMWKQ6uVnq9a1vLlcdTAwMGaM+sfPRqiV3+agyKzYj/g44WU9XCIrJHC3OTT283G/zl9/3D+fjljP4dJ7jEKUVU9J41GmXHUwMDEzgJeNOsWNqi9cdTAwMTlXj7iTrKt/vE45scR0flxutY5cZjeNdU7zzVdzeFP6qVx1MDAxZij/XHUwMDE01LE7X5ipMJ6Bm/RcdTAwMWRSd04u4Vx1MDAxY/DscynEz/Pa5djDj1x1MDAwMUlcdTAwMTFcdTAwMTlonFx1MDAxMFx1MDAwZU7WXHUwMDEx3mzeW3qRXGbmkslZcrHRN84tnK75+XKAmH7r+FxygDL/QVx0XHL/61eneb1y8HOYXHUwMDA1/UfbVvpUTKC65domKWzyulxmaY6zbFDeX6BcdTAwMWNPXHUwMDBmhzJRUpUln1x1MDAwNS1eYkUxeHPG91FcYizWMY6J9qc4nHqOfZPwXHUwMDAxXHUwMDFjJ1vKP79/VUmzXGKTwflcdTAwMTdcdTAwMGVcdTAwMTOE0Kyy2DGIJKuXWXWJ0aOP3fydUFZcdK7b8J18S76i2Fx1MDAxMDOKlStUlaGsoT1mnciuOvmDb5KUt1x1MDAxY+7D2Pjm4Fx1MDAwM6JPXGbli/vd7t+8XHUwMDA1m6xnudPH7+ymgYRcdTAwMDYojKbp919ILDXRclvHTa+raVx1MDAxNrLI9bmu/tf/8tVAhCwsRiSceE+DXHUwMDFmLlx1MDAwNv7v5rb3aVx1MDAwMPNnlcikeU/Ftlx1MDAwMnN5p4H16zX4hPux7WVcdTAwMDZBcvJQQJV+vF7uav817Y5To1x1MDAxM8C+zExcdTAwMDFcdTAwMWaKwkj+XHUwMDAx8TuGhlU8g8BM8NNn3zieeG3Tc2X48Nf12s+Ul2VcdTAwMTcyYdB7r1xyOvM2MSZpIDf8XHUwMDFihihMU1x1MDAxMo+veXy0dCRGhXtcXMOqX2LHXHUwMDAw/vWZfNZ5cVx1MDAxOFxu2VY/ufyxXG6A6tP2vpvDnn/Bor4+ZjRwXHUwMDA0pGFuf0VaO1xi81xmgVx1MDAxYqOGjG+778rV28Dmg1x1MDAxN9M74/UsXV5ddXZcdTAwMDNzuSk9XHUwMDFkzdpcdTAwMTdldpL7Yepml4jeXHUwMDAw3TxcIuDnriVM1Oo2yGlHVE2ptLyx6odNXHUwMDE2+NlcdTAwMGaaeu9cdTAwMGXOxOlBlYd3oDClXHUwMDFlXHUwMDEwhKW+ij/zY+4qqryePORcdTAwMDEpqFx1MDAxYkalNE51MSrf63gzTVCzolx1MDAxNzvUXHUwMDE1XHUwMDAxXHUwMDFhXGLuV/l3RlxiXHUwMDFje85rhpPaTsObRDjmyt/yaO4oX7M8h1x1MDAxYdLtZjX2XHUwMDFleXdGeTVcdTAwMDZRWVxyXHUwMDFl/a0h2V36KUAo6rqsvn3TXHUwMDA1XHUwMDFiXir6xkBl+1x1MDAxME7MXHUwMDA2ddGCZjDSO9dO9Jig2X9cdTAwMTXSTGRj/NJqL/pv4lx1MDAwNLy3jDkvmVg5RvBcdTAwMTgoV6CwvryiOHlcdTAwMGJcdTAwMWPe1HnKsiVky6zfQP+VvocmLNZwXlx1MDAwN1rdmtTGlYViqCC4YNJcdTAwMDDAzeFcdTAwMDLj45T5PVwiXHKOX1BcdTAwMWKNJTtbLFx1MDAxMVPFg34subd1TFx1MDAxNrU/XHUwMDBiXHUwMDE4v1x1MDAwNS65PzkxyXSrXHSTdXr+qbWPt0OsqXBud1x0L1x1MDAwMEePjlx1MDAwMNtKXHUwMDFhRG6yeJT6XGJuXHUwMDEz5UXR229cYrXfrXyVpyWkdVx1MDAxM+434nmz9VX4XHUwMDEwWs75K4ifzJm2q3pvqHtcdTAwMWVccrWrsWQ44uwpfftdXlxuXHUwMDEyWvOttsG4XHUwMDFiXHUwMDE3XHUwMDE5vlx1MDAwNLdK4mpy8mVLgamLQ/XCg8JVs1x1MDAxOW1WuFx1MDAwNVxyXHUwMDExNeL7/nrJyofUXHUwMDE3nftjfVxulu8/0lx1MDAxZUPfXHUwMDA1LpZFlNzV+InCS8/AskvD51x1MDAxZMy2dXfxM4c2b1xi21LRljRg/dQhRVx1MDAxNZAl4Fxuv1x02jmuhrBezspnjMxPVq55fjNk/6ZcdTAwMDGbXHUwMDEys2lcdTAwMDYxM/R9XHUwMDBitHRcdTAwMWRoiyNcXHFb9fZicXayu/E3YaZcdTAwMWIghT1cdTAwMDIglS+nNafR2thMXHUwMDEy08xS2qXJ4nu9aNGoUNFOXHUwMDE46tF05DGFoN7aO69H9JiMkemS3SumqqXYVduVTk2dPDc+XHUwMDE4J6bIXHUwMDE5kOpXporciTyP2vNfbKhBXHK7+0yfXsvRtLR4YTykp+rz2uNcdTAwMDc/x1Cbckp2XHUwMDE3YVPbn1x1MDAwYqfhaIPIUl8kV8lcdTAwMDJvXHUwMDE3cPfYOKw3uDU1aFx1MDAwMPrXaYsn6KGbneGbq/JcdTAwMWJKzrNcdTAwMGIkIyN7oLdcdTAwMDQr2qXshKRcbr5HXG5cdTAwMDKH0Pd5qHhcdTAwMTRcdTAwMWIuQFxcmZnqXHUwMDBirc6pmMPzyJbONI5G0+aBpl2cXGa95GOdcVxm8WxSbN8vXG5cdTAwMDVcdTAwMGJcdCFcdTAwMGWdpHOFifa3z7W/9Td1XpbVfVx1MDAxZkd47auJUNdARn4ts1x1MDAwZVPxXHUwMDE3o6i9af3VNTEtM85fSttcdTAwMWat2NSfp1x1MDAxN3uSUFxm1z1Jfd1KVFx1MDAxYrqJ0/eEPyv/Wb/i9G1cdTAwMTEkLK/3XHUwMDE3XHUwMDE0aDaC79nkTvg2PavwzKhkkLygTTRcdTAwMTVPiqJcdTAwMTg22ZCImcA4XHUwMDA2XHUwMDBigUpRiGsmlFVGTXi0qqtwTDy6XHUwMDFlW2XDLGc98PbO4oLZXHIlQ5FLcSBnXHUwMDEzq1x1MDAwMY46K/WAlXxcdTAwMThlL4EnkXrd7bIo+qpcbuXUXHUwMDAyXHUwMDFmxclcdTAwMWaTxXw+RZWL/dhcdTAwMDSrLVx1MDAwNFwilYBcdTAwMDI/TkmTzL5Cy+Sy2sGXTjtroVx1MDAxN1x1MDAxN3iO+pvPZyH0+ebxXHUwMDFiuIMs2US2roWLsanjqNRcdTAwMWJcdFl3hE1cdTAwMDemi1x1MDAxM+Xgd0R0lbcyzTlgXG4trJebhcfNdmJqv+znXHUwMDFjXHUwMDE5PFr4ujmDXHUwMDA0fU1nkVx1MDAxNalfjlx1MDAwZsrKncJvXHUwMDA2+11cZkQr01xyQcBcdC4ntkwpYd0nypaHcWhcdTAwMTPgYchccoI4VvAm0mp6XHRWRb64f4U+aJ1reStcdTAwMTJcdTAwMTiAc/HFKuPQcVE/nH46fT2kulx1MDAxOMpcdTAwMWGjitOIN4JcdTAwMTRcdTAwMWLSV9dwgeRcdTAwMDIsN0dcdTAwMTSvzu36XHUwMDBlZ6tcXL/F1bGHRf1KV1x1MDAxZFx1MDAxZiZveIBbKPTtMfjdi1x1MDAwZkw1ntJAk/l3Klx1MDAxNOMr41x1MDAxZNerwHtdSG5cdTAwMTNki3DxmmdAb5B/2lx1MDAxZq86ubesj+NvafD4UjX31fHh9yZqu9KAP6ZcdTAwMWZcdTAwMDdraIfAjblfXGKMXG47iXC8g1x1MDAxZpogiMcnJHiUiDPtobOjv4Ncbn3TrYeuXHUwMDAyjNdNallm2Vx1MDAxZJNY3DdcdTAwMTefP1CP14dYz99LXHQrhdPw877utvmLwUqh4mJ670JjXHUwMDE1mupcdTAwMTVmsiakZumM5IBRumlNXHUwMDFmpkqzXHUwMDA3NX7OXHSVjVSuv2r0sWsrRWvhRJvOl5ZVrXdcbizznJRcdTAwMTdQXHUwMDE0pVxm5uPSiz/zcVx0XHUwMDE12ER0WqtU3UIteC9mZG9Gvq2pXHUwMDA3O1pcdTAwMTHEUpOYl0I0XHIlgYy4ot2eRCdcdTAwMGJcdTAwMDK+q3NcdTAwMWXuUpzyv9+OT/NcdTAwMWWeXHUwMDA3dlx1MDAwMvyOu/R3XHUwMDFjXHUwMDBlY+YppDQvXHUwMDA1RtHmI8pHT06c421Qzjq1NVx1MDAxYcWGp2Vfh2trXHUwMDE2PoBghWlZV3qmJliUrljmXG60IK9WaoGc6EhRXHUwMDA0yLHxeVx1MDAxN6nYLuBcdTAwMTdEXHUwMDE1bIui71x1MDAwNCWNOYg9i7BPP2ZcdTAwMWROb6lcdTAwMTd9QUjAqMS00YlcdTAwMTColedg4IuQPyT57rCGh/SzVNlcbp5FUdjOh79errpcbl8vmO+Yx2n9YDBcdTAwMDf1XHUwMDAw/mxcdTAwMTHJ8bxE7Olb6TBbVD2fXHUwMDA2ekY3eezERTn8flBIfl+glIOSUXd8XHUwMDFlXFzKXHUwMDE1XHUwMDEwL1x1MDAwN9Bz1NxcdTAwMTVGvlPIKCxt9u1cdTAwMTmJXHUwMDE3QbjhndMs6Wjb8VVcdTAwMTlM3Fxi4d6OillcdTAwMDN2a4RWXHUwMDE4a778XHUwMDExtWjU8TaMxXE8XHUwMDA0gzxcdTAwMTYyVlh6yy+UpGtuXHUwMDE4dYRu0U4gy8deTzpcdTAwMDJNs/s0lZZ0kbsmXHUwMDFlXk34RyjeoMLbw8ntQ7k3WD94WcmUvWWv0FxuXlxcXHUwMDA2aVwiV+X7lVx1MDAwMUHIM6GWt3xcdTAwMDVi+alcdTAwMGbhNUc9XHUwMDA0XHUwMDA0ICd1XHUwMDEy2sWj7mTtSFx1MDAwZuhzc3G0hXeyStRkQFbv8FFphDx7Kyds/VaWaHzsPI6eXsV7TWTU4Vx1MDAxYSd9mmOtPq8mUGtcdTAwMGa+k/e4jVJFNUjtVVx1MDAxNVx1MDAxNiNcdTAwMTC6u0D+zVx1MDAxOVx1MDAwYnbiRbK7fP71TuDnlvtGXeo7cYpzXHUwMDE3V3ShdM6/eDxBzuZu8DaJbHf3XHUwMDFkKuj8P47OW11OXHUwMDE4XG7CXHUwMDBmREFOJTnHJXfkJS85PL25dufC/lx1MDAxNklnZn4kdGIuYVx1MDAxZE+z09Y1ksPvXHUwMDE0r7DAnKcsuTVsxafKNsFeTFx1MDAxNE7ILab0/lxuhmiBOjqBWbZQXHUwMDA1e1LlaprcjF5hXHUwMDAzR1pcdTAwMGXWpVxyglx1MDAxNFx1MDAwNbzWXHUwMDExm50veI9cdTAwMWNcdTAwMTM9OHP2XHUwMDFhVmg0yJpcdTAwMTDdgaN2wU9MtN9KlKNsKLptnMB09mLPU7w4w+k3ci9iMjQpzj6Qn2pcdTAwMWWLzk9cZjtZTJLNp1x1MDAxZFx1MDAxOE6DKr47s95cbrOWzYxbMdtlilecXHUwMDFjXHUwMDFjrnPP39TlPYlcdTAwMWK12+DC63vh0HCcvlx1MDAwNDCGxcFHXHUwMDEynjGb8K9cbu7P3Fx1MDAxYz/AjI2B3Y532pCsgFPWb9eQNzY7iLRcdTAwMGU/kdhRP1x1MDAxMKzrKdjPXHUwMDE59HHvvFx1MDAxZHNd3eCXroBV0XWAa9uHuLYkX9bpuPr4PJ78/KbLg5ArbEyfT1x1MDAxNkTnXcehx8RcdTAwMGIuJf5XcexLRSvANVx1MDAxOJD2wvx9VCtBXHUwMDA1XHUwMDBl/1x0Uuu9KCvzyaNAr9WgSEieXHUwMDAwjYbuPI+zoMBcdTAwMTFcdTAwMDd+9+7vXFyZpFxyKLZXSVx1MDAwMFx1MDAxZNCObIdC8UJcckBcdTAwMTiVV9W9tFxuUClCsEbA+kF6O4+AqNJaXHUwMDFlXHUwMDA1XHUwMDAw6+WkN4ZWXG75PFD/y58jVNReXj5cXEjGXHUwMDFiWVv7XHUwMDAxnlwiQm7X11iltVx1MDAxNtgkTHvjoshU8tQ9saD3WczlzVx1MDAxNaHx6lT7d1kuUSfzSyjw9da6ZXHIquVcdTAwMWRNY9iJqjvn1lx1MDAxZVx1MDAwZiZwQ4SVK/dx+SbN/LFcdTAwMDWuRtxAe7226Fa7pY2e2HdL0biEeVG7XG6kRNbZ+GdcdTAwMTeHK+Gosfvicz1cbspbcemsoYCLb05k5r9OXHUwMDEwL1xctLDSXGJcdTAwMDB7QYDEM1x1MDAxYrHHxatUycCEy9p/dFx1MDAxN2q7WS98rohfXHUwMDFm6O03QVx1MDAxNFx1MDAxZsEqVC8ktGBG05huaij5XCJX/UCkOdnVXGLkQfxcdTAwMTnGrTchLNx4PzlhXHUwMDFkub1cdTAwMDBcdTAwMTZrrVx1MDAwNvbI5iNY8I9H0Yk85SOg66BTrm0kz1xi5XGtlOFcdTAwMWZcZlx1MDAxYUFcdTAwMWNdk04rLm3KI61cdTAwMDCG0Wpx4uaWclj+7oZcdTAwMWYuilhrXHUwMDA3uD/fXHUwMDBl2TxcbnhlPzZcdTAwMDTuk1x1MDAxNlxy5s2D9Ox2yrdb4fl34VtcdTAwMTPr0jDJ12hcdTAwMThySFx1MDAwM1x1MDAwN2bYVl9PN3vriPw5MK7quDDaal1cdTAwMDf8lVx1MDAxMPpZPuuwI5mRKkrMKlx1MDAxN0zS39pj6fCUXHUwMDBlRctfzTgv5Vx1MDAwZqxcdTAwMThccs7/enzxSFx1MDAxYTPu1aE8jUu+TJxJn+4kXHUwMDBlhHyaKLgo8yv7UZtKnOBM2YAjT9q6b581dc7w71x1MDAxYpi6aTnjXHUwMDA2XHRF7YRI3+rcllxyLVxiYLgnLkv+efg3dYqb/GFkcuLpJp37U/hmeZ9cdTAwMTIjXHUwMDFk3vg75Vx1MDAxN/RBTd3Sv4vLXHUwMDA3S6HOXHUwMDBluY40SdlvkoUx0shlZZRcdTAwMGW0hVAq+5+LTlx1MDAxY8mrs7DM4s9puP60dEj2jbat3oJcXH0+4siho3Q8f/0jJZwruEh42C3xukS5K4ORUfRYn1x1MDAwMUdcdTAwMDZMLjGyXHUwMDEw8NiypSdQoFx1MDAwNlxutm/hr8hcdTAwMTE6x5bC9Xni4rdcdTAwMWFJfPh2vzn9/nF+PZrD41x1MDAwN7ne59NcdTAwMDdZmEKGXHUwMDE0sF61Rm5pe8RsxiWikfyJofNAXHUwMDA0pzk4kJBh6q6vpTzfl3uJXHUwMDFidH87uq+Vylx1MDAxOFx1MDAxMWK/XHUwMDExI86jqipcbvuri4RxlEc2rou1UUkoy2ntvrVcbpRA21x1MDAwNHo/JbBE9XMzgTJcdTAwMWNcdTAwMTSVWtFzvJVn9v1C3WhVJ1x1MDAwZlxcNWfLYDLBKcw6vshZfYjaZZCyxiE/i3KKXHUwMDBinbfVzsMwTFx1MDAxZMLfKVF/K2yIXHUwMDE42lxcqmJvn0bw+X4vgLN2XHUwMDFkwsixmqRcdTAwMTRKev00IP3M2ddcdTAwMTGe5PqC2UblXHUwMDA3SV7GT/RcdTAwMGXvrPXBXHUwMDAzmV6h5Vgwc4V1vWWY96jLXHUwMDA0aZJcdTAwMDCwXHUwMDFh22F4s+1O19+QeOipKaVypHyFJ07w5Etwy0nASrNcZvNUr2SjwXxNtO3fuHw7ojY8tCa8ITdMQ7eurVx1MDAxZT9Px/8g1lx1MDAxMa+hWS+Lw2WNUKmKMu5cdTAwMDJ7sVxunHB4cb9cdTAwMWNQT/DcoPRIXHUwMDE2g/27Z+AqXHKfysyZYLvSlru0eSFcdTAwMDc4rurcp6dcdL+NTjZBizJqmiaDIcddXHUwMDFhQn5RZDJcblCbIDRcZm64cGFcdTAwMWRcdFx1MDAwM4I4b0TPKVx03UuRutSGXHUwMDE4XHKrLuyaXHTspJSGiEHGSmA35lx1MDAwNJvNS4w6y1xyLX2z6Y1cdTAwMDDe19jQ1adcdTAwMDJP8rjL+l7B6Vx1MDAwMZeAy/hcdTAwMTNcdTAwMWT/psxccjGV/bBcdTAwMDJZh9pRXHUwMDFhjW5W4J0x60MhZVx1MDAxN8+JrZrNl5+0hftcbphcdTAwMDTFI7LOc1x1MDAxZVx1MDAxNuHdXieudVfDrOFcdTAwMGKT+3jGvIB7XHUwMDA1M7n3LMk07bSJXHLdLFxm3fZcdTAwMWH7Jr+iflx1MDAxOHqX0IDDteDfj1x1MDAxZD6xYXb1KOsvJKfD1Co1XHUwMDExOmi/+9lcdTAwMDMsUcJ945hy5lDKYbiIXHUwMDBmXHUwMDFiT6tcdTAwMDZDMlx1MDAxONHxd3zdV5+Tv76231X7KLst5Jvxpr5r+eg7rlJcdTAwMWaCdU4lqbzlJj5nWlU7g8rEz371az0hU4DVXHUwMDFlUpbnXHUwMDE1mypcdTAwMDKjsaSSutSWZflp+Fx1MDAxMZymmJlcdTAwMTJCMUZOqlx1MDAxOflcdTAwMDDW75UjJDk+ctiGO1Sk82l395JeSDnArcXGW+eHxNVE/lx1MDAxYvAhXHUwMDExtvQwXHUwMDFlP1x1MDAwMeDAgFx1MDAxOC6Rj6YhkN5cdTAwMWb7/rZiskBQ3lJcdTAwMTd/uVms2ZjAxrr1bKRM4ySJXCKUPVx1MDAxNntoz9N1XHUwMDAw9ehcdTAwMWFXurtcbmjrQIQt5paAXHUwMDFjXHUwMDFmOIsgpNlRXHUwMDFkO3BrcKeWlU5dXHUwMDBiM+j9XHUwMDEw/zpcdTAwMDKfXHUwMDE4psj9+1x1MDAwYkIv0WXt89zSKX5iRLA4J2bH0LK/0Vx1MDAwMlK/KpneXHUwMDAyhXNcdTAwMDF3TnZcdTAwMWNPsFx1MDAwMmhcdTAwMTLN7TfW0FLjVkZqXHUwMDA3tFlLKkBvZ8woS3Cdz4tb5Vx1MDAxNv7vs0rxXHUwMDExisJFXHUwMDEyILDPWa85m8Pow8BbmIl9d8RcbkGHVFxcvidZOHtcdTAwMDfxKLxx/j6dIFx1MDAxYsdVzGHnU2xcdTAwMWHil1x1MDAxY6filCDL1GfyU1MonizWX8ZWe0I/P57mPbxXI5ani0k2rWla4yiqmntcXFJZ17Nvclx1MDAwNqkjL+ffebo5/1x1MDAxMmigh+D8w8XzWUlZ42J/mrhT/Fx1MDAxOVGWujlcdTAwMDVXI7qGiUdaNiHxZlx1MDAxMiXRyVx1MDAxNv0nvVx1MDAwN3OAOMfsLLTae4VhjftGs2JcdTAwMWQu5eTZk1BcIojPZvdjfJbrlHfv2Fx1MDAwNbCzktNcdTAwMDO8atf98Ninu16b8bRGb/LFXHUwMDBix5PgXHUwMDAzQV5MXHUwMDE3XHRcdTAwMDCRI8pRXHUwMDAwZ3rgX95YstVOXHUwMDBmRdFFsagjRy1DtFgv9dV7bOpvoGhRSio0XHUwMDBlXHUwMDAz2vZrMzun55jcIN/bJZeghWpcdTAwMTXaf933XHUwMDEz81xuRojU11x1MDAxY6lcdTAwMGZcdTAwMWNcdTAwMDQybZk7M1hcdTAwMGWk5sLf93KYxTJQ0mBb85N4tpZM7Vx1MDAwM1x1MDAxMVx1MDAxMVx1MDAxM31OjNz8a/naeZFlXHUwMDA1kddCdjpQUigqLEZcYvpKg/3Q1bSaXHUwMDEw9/tKl+40VVx1MDAwN778ll6KZtWrzjrP11x1MDAxONRt5MXx0IDPRUSkyZpcdTAwMTHSPpNccnhGyXk1V3xcdTAwMTRdXHUwMDAyjclcZrK/z1Q4KFxybPy6XHUwMDE1XHUwMDBmNJaKcp+2XHUwMDExp5vpZEP0kVx1MDAxZY7SKUpOJPf0XHUwMDFh1vogdWRN3b1RRHh36lwiXGbY94P9PNa9/V2xXHUwMDAxXG6ToNLSXHUwMDAzXHUwMDA2UrjNXHUwMDFmouIl81x1MDAwNmFugkicloEpro3Kj1VcYih1I4h7KfCRXGJqiZhdZNQoO1x1MDAwNVm3sLuuXHUwMDBmSd98j3DsiiyJzP1tXHUwMDA13LhEZ3euNaBd0+BXxGmKlqZOlFx1MDAxOPSUXHUwMDEyWPOuq3fTb8Wj7osktvfrXHUwMDExxSAqw1VcdTAwMGVcYt59XHUwMDA0X0X2dyxcdTAwMTi670MnXHUwMDAyPz96zEXsJq1N2PFg7M+KXG5YiqAolD7JPn4r4i28rne+YjdcdTAwMDTwXHUwMDA17H5NaO9EOU42Kq84KSoydj/NcyMr2pfQtdmJ87VcdTAwMDfJXHUwMDE5XHUwMDA1+caRXGLYmq6DnGyDpPvp9z1sdWPPYuOvzYn99/E+ZL1cdTAwMTaEzEu6b+SJ8FhcdTAwMDZcdTAwMDJ0bn5mjFx1MDAwN1pqNlx1MDAwNJ11l1DX2IMlqVe83P1158K+6ms7VmXHwpowalx1MDAxM3FZY+Fk35xFovTrLGlv/E1cdTAwMDK2574ozVx1MDAwNGbwhfti6NTgi4/jXHUwMDE4XHUwMDE3MbzSXHUwMDFjUaRrSlRgWFx1MDAxMHyMJIVl4zCi6l9pslvPe4nk94a2seGbz8R5ii29XHUwMDE5XHUwMDAxf5iVSbNcdTAwMWWMcP6i2XU+wKp8ac9ekVx1MDAxY9BcdTAwMTZcdTAwMDJshHnhl91UVCfCrFwiVLJNaqRcdTAwMDSnqK5/7al8QOKrlk/YUlx1MDAxOUmSb41tbv+xRJ68pNN7WKzr7Igtclp5bFx1MDAxMe1hXHUwMDE44T5cdTAwMDRBcMqvXFxHXkpcdTAwMWRccu3t4Kei71x1MDAwNMe+L9xVxEedVVx1MDAwMfHEXHUwMDE3XHUwMDAyNqG3bVx1MDAwYuv8hVKVjFVRndTPwYY0+nI/pvXf8yX0jaBLUiRphExEVLE/Jlx1MDAxN1VAhT9cdTAwMDbRLFlTXHUwMDBlXHUwMDFlNlx0VYevWaDIwdirKVRcdTAwMWKnSD1cdTAwMWXZVVx1MDAxZFx1MDAwMNDg4fxcYtDthpxcdTAwMTaulFx1MDAxMvv0dmCDQlpcIuKuj2zA+kJ+z0jTSIZubqpb+sv0SIJ8/l/Ls4isN4RcdTAwMWNcdTAwMWLJ9lx0kJOn/yAviqq/d43xJrCQrom8wfvux1905aN+fEP6qZXH1Zt2KlFHUciSza2O0yxix5P8dy+KXHUwMDAzIYu3ako473YjXHUwMDBiaGg+m+2TXHUwMDFjydbqSjhcdTAwMTRcdTAwMDa5Z6CUL0uhdzR9KC6K/t59XHUwMDExK9vItqiEPCtOush8db2sxkbRmjY26+exLITWePGdiH3ZjIvXXHUwMDFjRFx1MDAwM1x1MDAwZWaSa+pcdTAwMGIxXHUwMDE3gFFpcY+q5n/NXHUwMDBmZHu07Jzq594+7pyansVcdTAwMTilb1x1MDAwMPxKiKjTcYJ+lyDZmpmrXGZtPYipXHUwMDAzWiM4olxuP1x1MDAwM6FcdTAwMTPhlpNfeWpKoNz38DtqidJbMkFcdEyEs5FKo8X351x1MDAxMeNcdTAwMTNmVtmAop1SM7RUxTCKylbP1kdOPpnCM9Tf945dsr7FxTFcdTAwMTm7XHUwMDA0Q4yGPv7jnIBcdTAwMTQ6r1x1MDAxYlx1MDAxOeo825gqb0pcbrOkj/dRXHUwMDAxjNaMnprl/JNhlL92woLoY1x1MDAxNMdcdTAwMWXet1x1MDAxY7jqxn/arP06kehcdTAwMDdys9SJXHUwMDBlilx1MDAwMlVerqRcdTAwMWFcdTAwMDdQXHUwMDA36TNOPVx1MDAxZalcdTAwMWGU/URcdTAwMTW6XHUwMDEzm3k1XHUwMDA3Rlx1MDAxOH5GyHDiPkNqYUZhcVx1MDAxZS5cdTAwMTjZ5onUuTmHTdV/Z9mtr5OrdM8oTfdcdTAwMWRcdTAwMDZ9yFx1MDAxMvRBR5LM/KHvXHSV4ftB3Mem3Jd5ZHa8c1ihTmShZN0vlGV2pFx1MDAxY4a+XHUwMDEzI5Wp1puXhiDbO+5cblx1MDAwMmSqxL5cdTAwMTVBlrHwtn1cdTAwMTBccjWvVnGMnNhBXHUwMDA3PlCCzo1to+83alx1MDAxOFx1MDAxMmJ9XHUwMDE4YtIgWu5cdTAwMDFKsbJVXHUwMDA2wWpcdTAwMWRuf2QlXHUwMDAwf6JcdTAwMTh4kyhcdTAwMGZcdTAwMDBcdTAwMDF+XHUwMDFlhF7llW2bXHUwMDAzv8A0a0DAYH+PQMg0juVcdTAwMTWrXHUwMDAxXHUwMDAw4DUveVxivkBQXHSVk1hIbGRcdTAwMGLYmrVcdTAwMWOnL1x1MDAxM5j8541cdP3RoTJ+fbdcdTAwMDP7wSjYI31cdTAwMThbfew6XHUwMDEzfzT5VGa/20Akq80m4Fx1MDAwMc9TMD+6QjLjmYm48Fx1MDAwZenM1ePxI1FcdTAwMTE4vTVKcOiRW68qOfuvPVx1MDAwN3PkM0RR/vx3sdiMjihqO2PTVZFdK+lKXHUwMDA3STjhbLpIJ2OdR1x1MDAwN1x1MDAwMttTXHUwMDAwRylcdTAwMTbO6zTAMd4wKZxcdTAwMGZcdTAwMDYjLlx1MDAxNVx1MDAwMGXinLJo7tw2fOYwYEbUTVxcwiBYema4U/J3qZBM6mW7r93Vj2t0Q1x1MDAwMqU7k3CJXHUwMDE1/FbAR4ZvXdBcdKZzc1euwD15lVx1MDAxNlx1MDAwYt+ik63JUOmVfvFFXHUwMDFm71x1MDAxMC92gEtTXHUwMDAyZClL5pNcdTAwMDDtwm+Xl1pfOvpKwDOJRWw+LUtnpqCh6T2b15GvN6B2XHUwMDFho/G1j3bK0itfr29cdTAwMGY2WtJYXHUwMDExTW+2WzwlunndhIaH/KtDjDCZX1xcXHUwMDA1/Uo1SdzAnaBrWJZYvri3UXLXg5c0WjXCtpuuIenKh+psVZ5KXHUwMDA09Fh6L/hcdTAwMGJyMFhcdTAwMWRw40rZh+TJllx1MDAxNSk+e2LlqZNrlbdlj8E0XHUwMDAwJiptf2OylTtcdTAwMTH+XHUwMDFhWKHcucsrysw+n9e9oVx1MDAxM8VcdTAwMGa/XHUwMDA2XHUwMDAym3Hylr5cdTAwMTRcdTAwMGVh66/JcMJcdTAwMWGd5kRJINxcdTAwMTjHqVDmm+bV+ILwr1+uXG7T1u5COI1cdTAwMWL6z6C14Vx1MDAxYS7FXr/MiVx1MDAxMKI50PHrXHUwMDBlm1x1MDAwNp+/uTeBmKVr8XpTuUNvpM5Rtlx1MDAwNqerwMWXT7dcYrlCoUrlvkrKMU7GyMY7gN9D8UpcdTAwMTeXsXx6XHUwMDEwXHUwMDBldcjRbURcdTAwMDTUxlx1MDAxOT/i39mzK0Zezlx1MDAwYuhehE1Agc1YYUVLMT7cxT9MXHUwMDAxjlxmLec1XkNE9v7rN2xcdTAwMTTJoK9aSZrQpD1GinQp349cdTAwMDZzXZSenp9cdTAwMWP/zchcdTAwMDXCVPbXgorOplC2llx1MDAxM4y4TLnTX1axw991XCIhqlx1MDAwMWWbbFx1MDAxZZD++NClnlx1MDAxYbnXiZNuel+MW1ojXHUwMDAyXHUwMDAw0Vx1MDAxM+W/XHUwMDE41rDgu1ZcZoHN7Vx1MDAxNOQn5Cf/ffTeSJ5Yj1x1MDAxMqu/XHUwMDE4qD5cdTAwMWb18ufnXHUwMDBiJlJ1XFxPXHUwMDE0RZJcdTAwMTlV34J8pVO4Ku1mfHnR66SmNVx1MDAxM1+BXGZDQNveacXrq9qxfoTxt1eZb9FsVu0zgsCb0zdcdTAwMDQpWSFJ0JFVZrJcdTAwMDConTRcdTAwMWXPw+lmgVx1MDAwZUtXRIfBXHUwMDE4gLGRVqavc8L4d5QgxVx1MDAxNjo2wFxua1x1MDAwM94qhlx1MDAxOU+8XHUwMDBiljTfvLNUXHUwMDEzTNKVZLBvgElcdTAwMDTAevGgXHUwMDFi68du2evcLYyoUJR7cytcdTAwMTHKvYdKNffI5Vx1MDAwZlx1MDAwMKpK1iNcdTAwMTDjxldx517gpfPnkMzJzFx1MDAxMo2bfFx1MDAxZb1cdTAwMTFcdTAwMDPv99r/otZEop5pZpbg+7fsjkFxgj2lXHUwMDFh+Fd62n1DyKL5vb9DyqfboFwiXHUwMDEwXHUwMDAyK+2ETqllXHUwMDEwhmlmkELqO6RcdTAwMDHqXlxymf86oJy1ZLNiqZNWurO555kuR9VcdTAwMDROTFYgiNmInsAhwoLx1tuMsMvVTO7MdEHDt0DRyI+uXHTKVFx1MDAwMFxySKMkOKtcdTAwMTGYaVx0+uHOPjvtXHUwMDEyk22fOOVpXHTlrlx1MDAwN8s43E9cdTAwMDCrp26F+2lvT8k6fsSMy63CXHUwMDFjt4CD9mRRhctcdTAwMWNlXXRcdTAwMDOTrFx1MDAxMpXPcFBRpX7ifope0ln+zpWuZ7JeXHUwMDEz4lx1MDAxNb47XHUwMDEw2jaCX2b14YrrXHUwMDE3oDR2n726+NXWL6oj8TbObNVWOEC1OWXOp2V5XHUwMDFjXHUwMDFmiidcdTAwMDRr7lx1MDAwN0WbccPhU7lSRtq/hYNgXVJKLiSYYP/MeLJBXHUwMDFhXHUwMDE4OcpcdTAwMTlbX2LkvztfXGZcYqFw2O6kjVx1MDAxNDTJXHUwMDA3NqS1UdfTsa1bvyBD+Fx1MDAxOb0nvpDWXHUwMDExlqFcdTAwMTgq/z2JQnA/Tf0ulOn791f9+jq9WteNdHdsh/82WVVcdTAwMThM21b/WG3HoTvrevxx0SDg+PjNNyFy77Ncbvjnmq9t+9FG47+4ma2RzOFW3JeKKi7FXHUwMDA0OdpcdTAwMTYuob9cdFx1MDAxNdDOV1x1MDAwYv6Q2ig6ilVIPXtq/ml+x0xh54gjmfJo4euWw0o20M90kURFxeKjl99HXHUwMDA0nMJvXHUwMDAzXHUwMDE2tnK32SZBnMN6JopcdTAwMWTRXHUwMDE035I4kTW88I1IUlx1MDAwYlx1MDAxZM+cUcmcnk7sf1x1MDAwNXR1UfEnRJot53pIlvtcdTAwMTVv/ifR8Kou0Fx1MDAwNMFeXHUwMDAyf1x1MDAxNNUyYtzrO3eAopWwOMJ57VxiuGXEpmhTr/aMzSuNkYErU5rsx2f8pFxirVx1MDAxMcprwDyrcSqFNX6Q02IwwFiUUVx1MDAxN1x1MDAwN61cdTAwMDNcdTAwMTjMbclcdTAwMDf+Xdz5xiXuND5cdTAwMDTGwl7nq1x1MDAxYds5y4Zk5WVGmYPmRfDLXHUwMDExpPhcXG+K61x1MDAxYzSSXHUwMDAx+vDHsJfvR9d2qyRcdTAwMThx1Cz/KlLEc1x1MDAwZmNs0Uyvp3iOYoS1XHUwMDA2lbHZXHUwMDE2bYP2XHUwMDEz8u1vhTHMXHUwMDA1/5+hvSGDu7KYXHUwMDA2I1x1MDAwMlwiaYbt4es2MvJcdTAwMTkrW1x1MDAxZrwhz9ODpVx1MDAxZCgzd74sUcCaVq2prVtguIHl2b2csYCQQm5sj+p5QLpcdTAwMDDVj0ZcdTAwMGbtX+SfScpcItrGtHRcdTAwMTI/R2ZYqf3NhFZZ2KdcdTAwMDBcdTAwMTefXHUwMDE15FxyrqtcdTAwMDWC3Fx1MDAwNvRCJKpcdTAwMTI9oFa7gmaxXHUwMDA1RmKLdatcdTAwMWZDXHUwMDFigirqRlx1MDAxY8NfubNdIVRcdTAwMDGVXHUwMDEyeopcdTAwMWbi4Pg714m215VcdTAwMTSr5EjFcbb3vKar2Gze7lxyXFz/fdFs/bzshKuVLI7mRHh8un90L9j2zVx1MDAxZVDDoID124Zv6tecWW/mm1x1MDAxZVx1MDAwN8Gm+HOcNdhITVx1MDAwM5CRzFx1MDAxYZVB149pt8aoQb6A8ygrQnyEzlx1MDAxN05nXHUwMDA0XHUwMDE171GJhzvz1KhcdTAwMGb0IOYn0oJCzlx1MDAwNVnFzYKJnvFYx/iNvINcdTAwMDJcYt9oSYKdw75GIClcIqlcdTAwMDFhpZTqwn7xb8yi3lx1MDAwMPZqoFwieFM4OVx1MDAxN1x1MDAwZnFcdTAwMWVFY8OmrIKmiTrYK900alZWKJul7c+aXHUwMDBmXHUwMDEzXHUwMDE372Zvl7CpXGLshYYqXHUwMDE5mfuVw1x1MDAxNYmrYVx1MDAwNoLmxGVzRck+kVxmtySan6byLTGWXlx0ZVx1MDAwMaOLLUNiXHUwMDFiXHUwMDFm/9SI1qe++80+M9KJrGpcdTAwMWW0ceNzcrl5JFx1MDAxMM/DvSjOb+FcdTAwMWRcdTAwMDIrpPDt1ZB+PoliPtSXNJNGXHRGPsT5VTBm78f1hO9mkCTVNTQjXHUwMDA2XHUwMDFmfYr9iZXg5/3tTb7E1Zaf+uObX5/VXHUwMDEyPlxirjxhwlJXK1x1MDAwNvr6e3JcdTAwMDGZXHUwMDFmrlx1MDAxMMA7TURcdTAwMTOuL/FcdMDG4/qaVlx1MDAxN17XNV1yslx1MDAxOFx1MDAwMy9cdTAwMWbcKFx1MDAxYbvUIGJcdTAwMWTU5rAsXHUwMDEylytY0idipajR8P6axunKjlx1MDAxZTliXHJ9p3lXlXUy4Vuqsjsvn9ZkXHUwMDBiiTCOo2045EnWb0DS+8Xmnlxib0djJPwhS3c5OVx1MDAwN1x1MDAwZelcbmFweqTmjadcbiw/iKadXHUwMDFkXCLmh8hcdTAwMGIpq74h12Zif1x1MDAxZjBj2qrH+kNcbm86OT9cdTAwMWOfheCHlY3kXHUwMDEy7DhIsIpv/Fx1MDAxNaI0mIDj9eJcdTAwMTejz79cdTAwMDDF7lwimz5cdTAwMWMr91x1MDAwNnS5XG6Qk7jqyk3CiGh+XGJcdTAwMTNcdTAwMTNcdTAwMWHFiDQtI4QraJNcdTAwMWaAeZVVvPOvXHJcdTAwMTHmZL+Rz7pAnlx1MDAxNWhcdTAwMGVEIU4x697TZXhofqqZfG8+XHUwMDA0Q9svn5xkSVx1MDAwMMRkTqZpZCBOU62/w0O5XHUwMDAx/atZ50AxgFx1MDAwNipcdTAwMTfP99GnXHUwMDE4RtLOXHUwMDFk2bdP4Y5qeGx4v+1ddDhv7rNcdTAwMGJcdTAwMDP+/OZcdTAwMGVxXHUwMDE461x1MDAxYo735GC5Vdrz70dzlJtZyrZcYl/GXGJmQY2crtHgamCj4JuUXHUwMDE1XGLDlf1cXNct0+ZeYMnD4vj6PHlcdTAwMTVcdTAwMDVcdTAwMDE9XHUwMDFit8zTdk/IVH/7XHUwMDEzusxcdTAwMGZcdTAwMDTqwFrZacv5YP7Avi9YZFx1MDAwNHDe6fJPO46yMTj58NeFa/9mXHUwMDFiNnP2Vy5EXHUwMDA204nYsM+jLlx1MDAxNq1GooxwSkHq7DpnXHUwMDE5XHUwMDFkpFxyr11cdTAwMGYywqWv4ujik0lD/f/d0ldnzPTh4/37XHUwMDAx4C6+itjVc/bzJuKu41x1MDAxZooybOXhOZah8GPekOVULORTwcLrUVx1MDAwMFZ9nmdV7OydNbRcdTAwMTb6XHUwMDA1d6pvXHUwMDFk+63pfVUucPDdpmmaiMCYWFx1MDAxMTebZuyKOyqaTHf4PFxm4Vx1MDAxNMe3401cdTAwMWF6/8RGqFx0et77XCLcPVPMNnr1XHUwMDE5cozc18EtqfWjRorbOUHyjUwk+qS83o2TU9H1JVx1MDAwMu/A4Y28eD9GXFx7XHSMzntcdTAwMTC7XHUwMDE4Jj2Z0Ek1XHUwMDFj2m0gnc1qy7u0OFx1MDAwNcvN6+/sYkx5SvdRojmET2bz0m3kR6JrTDUgZTae2jRHlYh65XQy1/JoXHUwMDE1IXT3UMH7XHUwMDE5KL5w8Vx1MDAxM1x1MDAxMblkxHCgKeOjnprWIV6O8Jx9n1x1MDAxNEHHXHUwMDA38jBvMD/iRsegXHUwMDE0de2PxzFcdTAwMGXqhYBcdTAwMWVtsH2mw9iu4TS5tvPzbTv/rVrhY0rHKtSi0XKZ8HptOMKX6nK8pYiyumRD4cF1sVx1MDAxZTdcdTAwMDBsYDVcdTAwMDRnXHUwMDFjndBVyZA5pah0eG/6YN9TcLZHbcOUa8aPMsqoKYzz5lxcc/8h4PJIaTRcInxHkSC+XHUwMDEzlLv9Icy1VVx1MDAxYcaVOVh1XHUwMDE0s4eBvk646XvPVtGzLd3K3eRdo9ZcdTAwMTZrX1x1MDAwNir48GdOviu0fUz5WyVejP5cZubktOA7vtbzXHUwMDEzXHUwMDAy1Vx1MDAwZrg7fZcsUVx1MDAxOGX9Mv1ZXHUwMDFlzkRbYFx1MDAxNaHYXGKWZp05XHUwMDBlWZHBz/ahXHUwMDFmLmlxXHUwMDBlnIo5gOplKzB6K09+jUgy0LJTiNdcdTAwMDSDxuNjyXyfI/KGYFxiuaLjrT/gLsJlR9RcdTAwMThNuYCOraHKqb+XXHUwMDEyYvP5vjNpWVpcdTAwMDRywplcdTAwMTefRGrZmufPh5nQ9a9dKlx1MDAxZSU/fLZTXsale1xiSaewMDJva7mgL/x3euKsUctcdTAwMDNcdTAwMWI9XHUwMDA2MTCeo1x1MDAwM4mPyUpLS4DRN5FccsT8hqNcdTAwMDGxaau7qyijXHUwMDAxXHUwMDA1IDAwivlJ/Irf8Ez7zJfYXHUwMDFmyVx1MDAxYjrXXHUwMDExLML89VPFsG5cdTAwMWPfYsI7qFx1MDAwNebaZD9ccsJEOWvEZ+XUaPFcdTAwMTZcdCjTzpd/NduykufXurZcdTAwMDWaXHUwMDA2Kj+Pl6VbTVurhlx1MDAxNlx1MDAxYi/y1F9vXG5sXHUwMDBiXCJcdTAwMWNu2L7Sj+M1yiFcdTAwMGJFe+qTXGJ/bEx/XHUwMDAwLlx1MDAxN69cdTAwMWRyY1epOO6lb6MuXHUwMDAzg5Prd9afXHUwMDBmNK2kOelUO7bFg+I4azSWXHUwMDFiXHUwMDE40dxa0OP4k9hUiDPOUEONXHUwMDEzWFcgWn911Zr0MDOHKTqqkk6Bx3aZ6Yc7j/rONF40Z15VLCNcdTAwMDJ50VdcdTAwMDVTXHUwMDA3ULRBuiz2ZIA3V4ZcdTAwMDE5XHK2w0srW82Wn/JSrVx1MDAwZinhaSDz1lwiVterXHUwMDAz4PBcdTAwMDR7P5tH2irXnbDGSGjrLTKvh34zXHUwMDExLFx1MDAxOdOkb2alMOK+SUFmrjxYzJ+KXHUwMDA2hKaxMbVcdTAwMGIrM+VcdTAwMWNux3miSFx1MDAwMFx1MDAxY1xuXHUwMDBlMkKRN+xF+ei6XHUwMDExqtnOXHUwMDEyn58hk/PxsdiugoHFOWhE8NTuYf7uQHaTVFx1MDAwMM41XHUwMDE0noo1XHUwMDAxM9I8botfXGbC7jC/0Fx1MDAwZouN3Fx1MDAxYcjVaIqvtuqiKubwly9cdTAwMWasi6Bawvbwye1brKwr8XOp/V793vA/oHAmfC+nXHUwMDBlXHUwMDBlQLOBYZP0cuvJV+5q6kE5z1xm06vM/Di1SFx1MDAxNuzAU7vWYUXFxoVFOsw9qrMvWf3WQy5vbEebrctvdV45j9JcdTAwMTBcdTAwMWbuV4ua3bPGbFx1MDAxM0LkXHUwMDAx/95g3tRcdTAwMWFZzlA6OG9cdTAwMDfqXHRTWORxpdZkXG7rstSKzpZA3E+t70T/XFy9rTshzCpcdTAwMWFdztuD18me2MhK9NKQj0WcLHrZS5faMqeG/eaag/DpLbeEP5uZ8uyu+5j36CEgRGyBLjF2btr6sbHF5vpoY4ZH2DCOLFx1MDAxNW2O2cJcdTAwMTn2q9CmKFx1MDAwNNUxcsXLg1x1MDAwZpxcIoFm5jfMbCE6rOWlwX1+XHUwMDE4zm1cdPL3niPP4txPvUFWqnnvQttMXHUwMDE3ZLuFXHUwMDAzlC7nqnpGhMRfXHJhXHUwMDBlkkRSTFx1MDAwZXKuSV64X/lcbjVdcsRcdTAwMWRcdPOD4VC7lH7yUIBcdTAwMTKyw83h0lRS1ttsXHSv4VxmLDqHpMtY0GBcdTAwMTlk8GezXG6XXGZcdTAwMDXj29mCXFykp4pcYq/h0njWwzmto2fMXHUwMDE2J/1cdTAwMTb1ktvNLiVV7zlpyDyasoRcdTAwMWOh+lx1MDAxZM1YYfCNhiu2lHrkwXMyr1x1MDAwMktcdTAwMWOV+Fx1MDAwYptEZPU38IX71oHTrJhPXHJcdTAwMTh4gqzsXkPlqqrKiGlYc03DSMlN0jW9XHUwMDE1UFx1MDAwMjKcqL9cdTAwMWW0t7b52Z2+0WJ9fefnPVx1MDAxM1xu8rhmdm4w89I6XCKeundcdTAwMTiZOepuv0xALfj7XHUwMDAzjVx1MDAwMEySasTKV7xcdTAwMDDxR1PU3Fx1MDAwNSZcdTAwMWZcdTAwMWL5Yp4h20lix7VgXG6y+NemlH3/jlx1MDAwNpfC6VfhJ2Ne7qhcdTAwMWVcdTAwMDTzjbVcdTAwMDPfb2swXHUwMDBl6C9Hx+bUveeH01x1MDAwMNfCpDQzmKxuIaw3XHUwMDEyz7qPzjJcdTAwMTO4XHUwMDFk1VhcdTAwMDNHe0OMN1x1MDAxZMmYXqZG7lx0/bOeXHUwMDAz00frm/JcdTAwMDCYkyTA91x1MDAwMUy4WyDSzl0uIaO0QZO+Ur38KrQ6IMdcdTAwMDJBXHUwMDEwPaDUVdN2kNKxtiNcdTAwMTB5NrNZ7Vx1MDAxYezj5O9eiPFcIp1XpmnqXHUwMDAxf1x1MDAxNMxCK82Rq7SdXHUwMDFl8WVZN2ymmnpcdTAwMDc0mubSjvZcdTAwMTChRWGvgblcXH+Ow8voXj/7wMeJM1VcdENFKkUqkyX55dlOs1JcdTAwMWFcdTAwMDJ55lxc+UIh79ajgI9PXHUwMDFjndzPRcytjUZ3N4+/jYOkIMhcdTAwMDKh2Obz/1x1MDAwZdRk7JWj3sxJzb17qD/lOS6I1uF3XWppuLCva9BKXHUwMDFkKnzxZVx1MDAxOLM+kXeFIDFcXCHi8YwrWF7xXHUwMDFlopbMnlwiqNk4NSTRN+up1iigzm1Rw4JcdTAwMWTLOmvpd0sw51x1MDAwNcGC81/GyTZgXHUwMDEwsNiU4k2NKVxceJCXXHUwMDE11E8ubFx0oPyyNfhFb3F7N8GehX6/STpe6Yd3lnVKUHJ9OPSdy+7v+0NcZivuK9xiYYCFKV3VXGZ1TyvW0ZjTc8iuUWHmlW3v02hcIl7RmVx1MDAxNfZHgEKBc+20wdJcdTAwMWJMjPvlp5QsXHUwMDAwICyLXHUwMDAyN21cdTAwMDfvc2BMY2f8XHTX8pmZ8Cb5XHUwMDE4h05XeVx1MDAxOKqwvk7Lnrj/a1x1MDAwNY9HNjA3/aVNrTTkXHUwMDBmxb9cdTAwMGXttVxi3tlO3PqyL4C7zTuCR6dKeK+vz4b1XHUwMDE4XHUwMDBmXHUwMDE0aTcriKRcdTAwMTlbQdf0iV3pKZjdr5OGXHUwMDE1UbpcdTAwMTc4SppDirDMcyrpXHUwMDA3WbZYv3nhzky0YKhlkVx1MDAxZfLXJFx1MDAxMMRGsM9vXHUwMDFkXGbCNmdcdTAwMWK7RZmiXHUwMDE3WV4lvf+s/euf+fTbXHUwMDFj2yR4XHUwMDE0XHUwMDFk18Nrt81+XHUwMDE5sdufOlx1MDAxNqxcXMdcZnRcdTAwMWWTms/fQqfyq6LxqLQvu7qULJ9O4cVfXHUwMDEzglxmXHUwMDE0ql2P0/WHek5U/0Di+c6ZQDJcdTAwMDB0mKNzStromFx0mZM1uVxcOFx1MDAwNfL/92i1XHUwMDE2T4Fom+iekWDha35yaYJS80JRXGK071x1MDAwMVx1MDAxN1x1MDAxOd3/O6+hqfFcdTAwMTZcdTAwMDWJlc0v0Fx1MDAxZv2ZkFx0s33586/X+2fnWrUreFx1MDAwNpv5N5rUgNmP43lkLnuDXHUwMDAxXHUwMDA1XHUwMDEw4eyMSotao8BdYWHkuoDr0aBn21x1MDAxN8ZAW5YvP1x1MDAwZvmAXHUwMDFhXHUwMDE16VG535uMl0BcdTAwMTFcdTAwMTWnXHUwMDE3SnslXG7zerM76lx1MDAwZejxK5RcdTAwMTDoXHUwMDFmXG7IXHLbplx1MDAxY5Ikz/ZNXFzSXHUwMDFiPFO80+la+9tbkFxigiD5yzSG0HBcdTAwMTJcdTAwMDfWlHdtSLMgOFxc0+ypRPo6XHUwMDEzZo+7Nlx1MDAwZYWrRN2VXHUwMDExhHO+xZbt+IuH1d2TVJ3NSeFO6s5ccndcdTAwMTHl+dP7qbaPhXNYJfL+nI9cdTAwMWRKPmjqtUNUQnEv5Fx1MDAxNzQhsVmty9+QXHUwMDAyXHUwMDAyXHUwMDFhJj5cZkBcdTAwMDDugHCaUzLCgUOfeJegzT5cdTAwMWUoOlx1MDAxNV9+NoThfKBDlGPv4VDx9pGBNzQqq1x1MDAxMslcdTAwMDJcdTAwMDbnrvpaXHUwMDFj9lx1MDAxYlx1MDAwNSyUXHUwMDFlSylVc4iK7uo6b1pDXHUwMDA2O0+NUeHd8y6bXGaj2dRMu9Z5MTXu1+XaiCogSEdhhWSCnlx1MDAwYlxuXHUwMDEzh6tRz/nId7z0NjI58oNDklx1MDAxMohXrpRJ97tcZtZAUdnTbztoXG5ccvNcdTAwMGZNXHUwMDE4XHUwMDFigUTGp7JcYsa9ec5cdTAwMTlVbIRYdpRYlUnKMJ81kFxuxG+sppSKX5r+XGKj+FKhqUB0XGLFSlQ2alQsiTuvS/B/W/xOjDFcdTAwMDZcdTAwMTZ/Ltt4Te3Yd/bA1a9ccv9cdTAwMTBvsrT1XHUwMDE0mzJI/dKkb1x1MDAwMrFHhlx1MDAxOdyYQbiG8Vx1MDAxOEnCT8o0btq6+VDCeVxizHBGp5JcZmL65HTJlaVuw59IXGL3z+AporX0X+hcdTAwMDL/ek2VJERcdTAwMTIsXvZcdTAwMWJcdTAwMDZK3j4zmlx1MDAxZJOGj1F0XHUwMDEyVOadg0ZnRlx1MDAxNVx1MDAwMNpcdTAwMWRcdTAwMTcpKanPTYlhNEBzpjGixHDYXHUwMDE0e2otQFx1MDAxY4hMrO8jS2tYXHUwMDFlS9eBYL2gIK3BXHLmMetj/Z3UXHUwMDAzWbHFYWZdaX/2adXLU19cdTAwMGLM8/9cdTAwMWRcdTAwMDeDa6tcbvDfx56KXHUwMDFjXHUwMDA2XHUwMDA0PFx0zbLHL1x1MDAxZtuFJNXBpOjST0dcdTAwMGKxXHUwMDAywekroY5uXHUwMDEyllH51G+BQVxu+1bxKlx1MDAxM+3fkY6PKtxAoydccimC+qtcdTAwMWRLj1XX5+csXHUwMDE2wJIlSIDet1xmlbr/4Il6deblJ4LAQv593Vx1MDAxM3K1vVVkI24l4YGhI8ShILLi9PdWefadj0nreGNPfFx1MDAxOaEs4/67zFx1MDAwYsI6/PPJXHUwMDE07DZcdTAwMTVcdTAwMTVcdTAwMTCrXHUwMDFkXHUwMDBmXHUwMDAyXHUwMDE4XHUwMDExKVxuqJrKg9Q20e3fQtZcdTAwMTHHxFtnN+ttqmEhjFRsq5w/3L+pbFx1MDAwZmGJ7LxgdINaYVx1MDAwYkTY5TZXZslvSVx1MDAwZvFj5YbqsmZ80YNcdTAwMWRyXGa6tD3xe471tz9YlOSsTbxsnZqo3Vx1MDAxN29cdTAwMWH4vFx08cmJyaz9ilOWe1x1MDAxNd5FoVx1MDAxMHZPXcFMV/VcYoDgmfx9w2ecu0LNxXfX8jSA6N0oulx1MDAxMqdRY/PVNTRcdTAwMTTBYS5cdTAwMDZcdTAwMTeRjv+NXHUwMDFhi1x1MDAxZEDQbHi3gl5ImFx1MDAxMq1cdTAwMTOJZblcdTAwMDXPTrjQXHUwMDEwyYYp0CPUOkyU3GO5XHUwMDEwqp68RpKjXCK3/c2KfVx1MDAxMlx1MDAwNupVXHUwMDE15atcdTAwMTFccpK5fzssU49cdTAwMWSH3F5l89M8v1x1MDAxZtjT6FwiXHUwMDEznNPSL2WO9C6ZXHJocy4+2rXcr6eWXHUwMDFhvVx06k83XHUwMDFiWup1NmDQ2L7VxDSk9D4yJLMo29hcdTAwMTBvSYmOXHUwMDEwTdSThl6OdpTpWlx1MDAxNyNeOH8zRuj2Lm1K4iE9kcXJJzlAXHUwMDBi6+BWXFyeOUBcdTAwMTO6uNx6kL7e11A+4Fxmg6WajFE6Tlx1MDAwMJnYyFY/LKHk2uTwXHUwMDFmZP80887UT9inXHUwMDFj9GNcdTAwMWVzICPpx3QvgmQ+RXP4uy47lahcdTAwMTIkgeHBmZLZI7/G5fii9Xf2XHUwMDE5c69vwD49e3x3vpMnwJ2rXHUwMDE2fOtjSVaU+1x1MDAxNlx1MDAwMO3z2edpu3o4TPZnXS5cdTAwMTKF870/31x1MDAwNG9cXGOsdolQXHUwMDBijVaovnfdvdySnFjvbYhcZiCWhVx1MDAxZuOqXHUwMDE5SVLUuoqZXHUwMDAydpDLMdjAS1x1MDAxMz3LRU9QJS+Uu1xysJ3B2cuQ51x1MDAxZE1iJXNcdTAwMTZW/Vx1MDAwMVx1MDAwMVx1MDAxYT6ywFxc1G6aXHUwMDEw0CDeXHUwMDAy3ndcdTAwMDBC/vZcbnvahquEZSre0aE4mDPWXHUwMDAzyVpcdTAwMTdhz0R0Rlx1MDAxNpFRLzL6Wy+gL8Oti1x1MDAwM1x1MDAwMIxcdTAwMWFSZcl/95xhe0Uq6LhcdTAwMGYjXHUwMDEyf/3LW4ZhXVtcYjMknkqOylaeXHUwMDBlN7xZKr/dXHUwMDAzxplcZvPL435cdTAwMTHjr8PGIVNcdTAwMTRcdTAwMDW29UlcdTAwMDGOILN5vMVcdTAwMDHYm7Q6Yt7Pxsut73tEr09GsoBS75IgnFx1MDAwMaT51pKO1I67WVmBXHUwMDFmjt7lXHUwMDBm1lx1MDAxYX5CXHUwMDE1mN6/XHUwMDFjXHUwMDEy5dCkIb9I+flsyfBcdTAwMWOygtpK4DtXJFx1MDAxYy1WwGUnXHUwMDFlJT2/jjNSU8YoloEwt0yDWvh5SVx1MDAwZsu3hipcIp9uXHUwMDBiTixWgcnNR5xcdTAwMWVqK+bq9fHMN/dIe5q/TZxgyqj6+7jh8dRcdTAwMTBKfVx1MDAxNdRcdTAwMTA/I1wi+p1cdTAwMWNcdTAwMWQmM+R94rqFrFx1MDAxNNhGukXOQVnIuFx1MDAwYlx1MDAxM9z8ft1KbP/SUPxcYvhUd1x1MDAwMu9cIrIzmUJshidljdXUTlx1MDAxZkFVjHak3EYqkHGxf7vbgfFPqFx1MDAxZVx1MDAwMDNkXHUwMDFleUusg99wovTwXHUwMDAwxrWNknQjgZPAxyeZajNcdTAwMWNA9Urt6/f2X62lMe+bQW/QXHUwMDFil5etXCJxXHUwMDA2085UmVBrp1pcXIbdlcI3NJWoXG5/v5Aogt6LU92pXHUwMDE5N0DPWZTpfv/pXHUwMDFi39F95CXgxu/VaV+p8nCnSOZZIFfiKTAtXHUwMDBiynTvJbfs1Dpzblx1MDAwZiqXXHUwMDBmzX//115cXJHlLD9wQbd9uPSNSaJcYuFcdTAwMDP+2nWGJ0+fj0hobNIqZdq2XHUwMDE1SoFRxmyXkPdWXHUwMDFmq1x1MDAxZotDiFeVc+RcdTAwMTPuXHUwMDE25pvWXHR03lx1MDAwM2kg2tnONHaZf9pcdTAwMWPSdVx1MDAxMnvjLeouLMZnlYwkjsGHUWZ+XHUwMDE5IW9cdTAwMWRcdTAwMGZRILaCMJy+nrxA0aVcdTAwMGL1vkHnryxcdTAwMDT77MM2ZNPEzuDeXHUwMDBl47hQW+N47Fx1MDAwYtg2XHUwMDE0RfdcdTAwMTOBXHUwMDExyzNcdTAwMWbpXHUwMDBmclx1MDAxNWRrXFxccuOJy1x1MDAxMErNKdVt2DvvTLWeW1x1MDAxZMO+8XxcdTAwMTfXT5MwgZ9cdTAwMDM/bL5cdTAwMDXZwbFuXHUwMDA0R/fzXHUwMDFiUlx1MDAxN1x1MDAwMfbjgFx0rVx1MDAxY6VNZ4puh7hLeyD3mlx1MDAxYs1N+Vx1MDAxOFx0z00xUlxca4yWgd7yXGKrd+x6z5F090TDs5GQn7JvhaB3/HKVr+B67F8v2tx8a+VcdTAwMTZ+jc9eM/tCqFx1MDAxMuv45ZBcdTAwMWO89daJJIRu2/ZqyjKKXGJo0CdTVXL9XHUwMDBmw9X8XHUwMDE3s/ahaVx1MDAwNMggYWFvpJlM5Lh/z4+25MxWuSnS3Fx1MDAxYyBMXHUwMDEyXHUwMDBl31JrSZ8vXf/mm2v5UDHYyCxzx/Fa7Wry5oCK+X36XHUwMDE2dFx1MDAwNs//ZOXuKM6d/Vx1MDAxMGNcXFx1MDAwNej+XHUwMDE2akRcdTAwMWE9xTMvXHUwMDAyJIOFObKA6TBZjIX5sptcbtu1QiRE2LNFg1YnXHUwMDEwLlx1MDAxNVx1MDAxNEZcdTAwMTRJiuqOLqxVXHUwMDBm/OxW3c//XGJcdTAwMDHhI9Bt7Vx1MDAwM1h4+YTyK2rX2yRcdTAwMTjv8L7FXHUwMDFiI1x1MDAxY5+B7qR5wpWVXHUwMDBiLvFmw7U/mFBkP2GzXHUwMDEwXHUwMDFi1I7wydAgXHUwMDE5rJRs203AgMiKXHKN53c8k1x1MDAxNseIXHUwMDAy0ftFJPWX48Lr4O+r9t1Hy8S6TjBkxtNfyKqw2SvwvWimuDJRXHUwMDFiiMtcdTAwMGaik1x1MDAwN3pcdTAwMDW66nqxaInIXHUwMDFix6/GkX2qStt8n9q3MV+v2ZRn8b1dx4CPbP1cdTAwMDZhXHUwMDA2rIuzgyvaR+9Xj29dXHUwMDBmskBZQmxJTb05krLMgq9x2XRj9mHeYZxPVHEtb7QkxVx1MDAxNfj7xpc37Fx1MDAxMqxefehcdTAwMTLkXHUwMDAzrlx1MDAxZtieOmnrRyOnXHUwMDA2UlUmeiNohLhcdTAwMTJGat2UIC5ujmIrZlx1MDAwZYIytM/4I0ya5ITUXHUwMDFllPZbU2WbXHUwMDEzeVlcdTAwMWI033TYavtZnDmj9dlF0lx1MDAxN12/rn1d3Dn3e1FWeu/Hw5uzyFx1MDAxYZP0XFyTYJEk/lx1MDAwMbq6XHUwMDFk2VwiJYM1n1xmbttcdTAwMWMxuTBl/e7GiE9cdTAwMGU0hWC1RDxiXHUwMDE3e3eSkvDakt4g4bJhcOV29M5cdTAwMWRcdTAwMTVcYi+fPFx1MDAwZtLUUeRcdTAwMWFKNC3ZXHUwMDAyXHUwMDAyz5vs2Pd27Vx1MDAxY5iPTGgo6JfH7olhS3t53YL2Ty9CaC+KXCLOXHUwMDE0XHLe1z9RkE3nR3QjTnCt5KPPXHUwMDE2Vo6poaZcdTAwMWM2rWdcZrpcYlxmkyCG1Vx1MDAwN0U5wH+rklx1MDAxMi9Wgp6pwppVZ6gpdnVcZmlAR0U4XHUwMDE5oluKITv6lr+E+HiW+lx1MDAxZIXhZyf68Vx1MDAwM6blsElcdTAwMTIuQ0w5YPsnSE5cdTAwMDH0s5MxvzuKxvinL2NcdTAwMTevQ96ATi6X0+/vzJlWS316XCKVXHUwMDE3+uhtLVx1MDAwM9pcdTAwMTfgsl8lV/M6MuBqyDePwdbJJDkyXHJL7PkrpSVHa3VcdGWtXGbkq2WXvj5cdTAwMTObbc2hLdE6XG5cdTAwMGJcdTAwMTn9girV7lx1MDAxMUvhSf+RlJ9rTlx1MDAwN4yKd2NtfyeqSFpiXXexZmh8hsvfNTnA0O+Xb2PNXHUwMDA3fosuooCZ6UjGlL1mKVx1MDAwMsRzTenEU9JI5lVcdTAwMDd3INHKXHUwMDFlVlFxXHUwMDFlk7LS5tBcdTAwMTBMz9BcdTAwMTOUOVs5ekuNWkOEcV+GimvjI5qISHOYKtJHXHUwMDEwuvtcdTAwMTdLTn2Y/lx1MDAxYXOOKSw2V/KlgHh7/TBMgJ0ncm1cdTAwMDem7yydOu/+Kj2cPVx1MDAxY2SIbY5jQTT2NsypXHUwMDExdU9fS0uTY1ovT/xmXHUwMDEynCTwXHUwMDFmfUr3vlx1MDAxZFx1MDAxNVpqJjidf+tPQ1x1MDAxYVW/XHUwMDFkdkjjaCWvM/Emc4azXHUwMDE4eOLV+1x1MDAxZXh3QeR2JYlCQVxiy265Ulx1MDAxMzivl1qGdlpuXVx1MDAwN2fHm+Sb/YzHX/HPs9hcdTAwMDVFUr9P4lp5l9TTWFx1MDAxObpv5sb9XG5cdTAwMTabQzj/TuRULYdcdTAwMTO+zsJ1w+lYXHUwMDAyzJz+1/nd4TjBczeyh181Tt8+nVfZk/VcdTAwMDa7e4jHXHUwMDFmP/Drb81EXHUwMDAwjFx1MDAxNlxu11xiMlx1MDAxMTHKXGLWcVbXXCK/l1x1MDAxN4yxWJlcdTAwMDOaYZiaXHUwMDExesFcdFx1MDAxY2dExyHN3Fx1MDAwM6Wxmd3eRVx1MDAxMEMzMy2mv1suZiF2hZ7kzcc99JZS1SCP5lx1MDAxZtlqXHUwMDA2ZuxtZHtEpGq2XGLOmjbHWLpT4H91xmpcdTAwMWFpyPttw+lcdTAwMTZhXHUwMDAwQZLXO6nzwlx1MDAxZtrxXHUwMDA2MJ60Q55h+Fx1MDAwN4ZVulx1MDAwN9P3XHUwMDAx4iyKXboqyzA4XHUwMDA3bVxilGOuvz90QkXu+uBOpCOouaVM3KPyKFxcXHI4XHUwMDEx8Fx1MDAxYizCv15cdTAwMDI+izvcwHtcdTAwMWXqnEQ0lHBcdTAwMDd+USnV2Gg3ZUan03On8OyM249ysWvTPVdcdTAwMTmLumdcdTAwMDK/+4v2NtGcLtNgq1qquWbF2lx1MDAxYXe/XHUwMDFmx38trFx1MDAxYvy2Z5m1xEdV+v7oXHUwMDE4+cR164uX131vXHUwMDE3SmVw3ldvxOCf4PPn136dUkH6n+e75TyOXHUwMDBmPrTB/POF7zog5PauY3pGsk9Rryl+PfXFv8uIpM92tkjZPHvNbnCbvNJXflx1MDAxY1303WVV0SFz69xcdTAwMWZOiFx1MDAxY91xVNePPZGdvIaPqDRXYbrgYs6PcOY2idll9OlcdTAwMDWjln9swswpLWstXHUwMDBlTOVS+2lbh7ng91x1MDAwNal3TFx1MDAxYUlcdTAwMWJsulx1MDAxMM/3vcylhuUgPIvBwoDHXHUwMDA1I1x1MDAwM1x1MDAxNJLUOKjaxFXbrS2yfsC9eWpLt1x1MDAxMCtN6Sk1flx1MDAxNJFiSVx1MDAxNO/6XFxcdTAwMTT7g+Nr/G0+a+P595c7jOj9UGs0htJ8h4GvpFx1MDAxM1wi4vWOR0bdwFx1MDAxNaL9UFx1MDAxZFwiTWuujvRcdTAwMTJ+daB0WlDfyVxclv/scGekTTvaUbbBQoe2XG7GyVx1MDAxM5rmNrTZnprsootcdTAwMDQ/JFx1MDAwYn4qkVI5+P18wEyBXHUwMDFjO95cdTAwMDeDXHUwMDBl5itp9GDpXHUwMDA3XHUwMDA1NeNB/9tE79QmVmVTOPVx/K2xb0WCXHKf6scwv42orXCiXHUwMDEx5ymZe9fPaKpcdTAwMWMl6iRf5DtWZ/z9YidbjTynmVx1MDAxZVx1MDAxYqFA4bA9ZMnPwP2dTWQwrLCuOJzhL2tcdTAwMDR2gir/72b70dZcdTAwMTLcN37DLMPQXHUwMDE2h9bQudBLyPG1lof27ERqcbycZJ34/fzUN8moUp5kyv0wxXp/im9cdTAwMWV1VGqGhFx1MDAxYWb22CBcdTAwMWb7J5blNWm+eLq1wcJcdFx1MDAxZM5B1o7juM+s63nk4LEgMKhcdTAwMTexb1xy1SOkXHSAMmlcdTAwMGVPonDldzYyrG1cdTAwMGZvXupz9Vx1MDAwM6pIXHUwMDA1m4eRsKw4cONHId3H0YeXV4mGftK9ebZcdTAwMTeLSq8nVrVcYlx1MDAwNIFcdTAwMDc4LeRcdTAwMDXNadd0Pt6MuzcmXHUwMDExU1ln4lxiXHUwMDE0NzZZTVx1MDAxY31feWFU71jVXcbokt+GocCnU80u+nxcdTAwMDT0XHLkXHUwMDFmof44uJ038dVyVIedg1ksaDZcdTAwMDX6gkJCf0GQ799cdPbx87ohXHUwMDEzyKokZprgXHUwMDExLidcdTAwMGUwYJG0x1x1MDAxNr5AXHUwMDEwRT9cYmLleoJ7XHUwMDA3n0vuXHUwMDA3ZvAzrGPPXuprXHUwMDAz04VZRXNcZsWxXHUwMDAzxq5cYiDcQdr+IMZay1x1MDAxMnlcdTAwMWGBXHUwMDE3tlxuXHQto2hHmIaNf6ZcdTAwMTaC5InR/NeuWmK4KVEzXHSicsybOvFHO4HDhESsm8N+ZFx1MDAxONM1XaWml0Bcbqp9r1wig9k1ZdiQXHUwMDFmXHUwMDFlMbGL+bKCXHUwMDBiW7h4LG1cdTAwMWHHXHUwMDE19C9PJETam1x1MDAxOCh0w/V3fzysqq6nrHc1XHRccq2r93rYLLapPldcdTAwMWHetv/10+xyXHUwMDA1x4tJLX9cdTAwMTOn1etn3sojz1klNmhcdTAwMTWv/Vx1MDAwNVx1MDAxMt2wnqWCn9ZlmHur4TnsZ0rG1ag+69rr7flQg4auXHUwMDE4Klx1MDAxYVr0XHUwMDFmQHlcdTAwMDNcdTAwMWNvVHEy/eI52qg0b2ZF2pk5fIVk9IfyiGY9WUWButdcdTAwMDFQPGvNXl7JczvW4YFOXHUwMDFh/E3fobrjotgnXHUwMDAzzOZB/T0qXtcqKVRabEVjXHUwMDFh4Fx1MDAxOLDbJelcdTAwMDWNXFzCXFzAQmpTmMxN8dg11z+iXHUwMDE0729cdTAwMDD8cWk/9ftcYr5LkTTeoFRdfmk/12+ZUToh/Vx1MDAwNOdcdTAwMTVWPCdcdTAwMWKWXGaJIED5WG2ZaZLfPq2ZYaJdclxi7IVTXGZnSrxa+Fx1MDAxOMZcdTAwMTRcdTAwMTKdxf6XXHUwMDE1TOBDrDlqP1SpiZ/jPFx1MDAxOcNcdTAwMWWGXHUwMDEz+Fx1MDAwMKpyTaWlffaXhaE2pjDO0H8oib2qjFx1MDAxMkTQa6l0/Z37dU6EXHUwMDA1/9iNP6pcbrCl02lmXG5cdTAwMDWwVuwjXHUwMDEyXHUwMDA1IObagdn4O4VcdTAwMDZTN8E2Yc/zdbqG3dh9hDXQYsIkTlx1MDAxOSd/TF75hFa8/tSU3mBRcXVjq264IFxibtXfvY1cdTAwMTUu1Vxyk4lcdTAwMWPrXHUwMDEwjVx1MDAxYqc6K1VNr/bwcklcctK4W8AzmVx1MDAxZK5cIvhbP13iWJ0+pNqBXHKtlrclXHUwMDFkXHUwMDE1fy9cdTAwMDbFf1Sdx7abSlx1MDAxMEU/iFx1MDAwMTlccslB5CiYkbPI8etcdTAwMWbXs6eBl30tS9CuPrVP01V9wGZ1x5diTFx1MDAxMJHWXHUwMDAwXHKCVv/mXHUwMDE09lx1MDAxN1x1MDAxOC7m+59cdTAwMDdcdTAwMGWoedNslqBcdTAwMDHCwHGchreaWT/yLGdcdTAwMDRcdTAwMGVcdTAwMGY3zX+7XHUwMDBisHJcIijKklx1MDAwMU3WXGZAuVx1MDAwN3CtgsRcdTAwMTacYDeYXHUwMDEz338lOFxcoN9cZpLxX+1AXHUwMDE5b1widZnG39o/pPGQ/VxcXHUwMDAwyVx1MDAwM5Rw0Vx1MDAxNMhRa1hGPV8/pvNcdTAwMTOvzoFcZlxyXHUwMDAwsPenelxc/61cdTAwMTUqm2+9f5AufM7puWqEkVx1MDAwMU+hdDTn6KEvz9c9+0l0q6L+6jHdQFx1MDAxZG5/oqZ9YK5ydGnh1IPA3ZJShdJcdTAwMDSESFx1MDAwNVx1MDAxMEn6/fa6Qpc1JPNieMqtguOdNE7cYpzZi46s1m5LjOZcdTAwMTlO8t5XS9w+UKTMdOCHbjQ85mgjYbNymc2U5LAqTc2n92tcdTAwMDLZ+2Bdoo/kqtrEzKyrTlV2m0RcYk2iXHJccmRcdTAwMTdHynd5eoSIjL+aVlVFP/mRXHUwMDEybjcxr/n92YKXXHUwMDE4y3RxXCLhpcZyyPyXijipOlx1MDAxOSYqrHiwPHxcdTAwMGKi/aVcdTAwMWP9zaenQdKhW61cdTAwMTZH3EwpXHUwMDE2r19wXHUwMDFlSbleXHUwMDFmXHUwMDAxrVx0XHUwMDE1zOT6XWwqhD5cdTAwMWal8lx1MDAxNdJcdTAwMTlcdTAwMTdO+qXdXHJcdTAwMWSDk1x1MDAxZSH6lZ2cIFn682rtm9XZ5mozgfKg/flcdTAwMTBMd5ZcdTAwMTHfjI1C0dshr39cdTAwMTVcdJVk0Cns2KKRu0M5a3tcdTAwMTawI6rI1lx1MDAwMtBcdTAwMDTIt+zv11S3uI7X68Ls19qwy8zr2Kilqlx1MDAxOc88/5BcdTAwMThn0Vx1MDAxNFx1MDAxNdPDd3FcdTAwMGJcdTAwMTeIklx1MDAwYp/ScofQmsEkrImt39iU4OH+cHtcdTAwMTSdbIT416BNPeTnJvu9f3ye09Qxk9+fkspcdTAwMTUsXHUwMDFh1pWYljXc6e5NXHUwMDAwo8iNRDXAQyHPXHUwMDEwXHUwMDA1LqzjQyfsP4SyhZdcdTAwMTKkzki6xuMp3trv6EWv7259y1x1MDAwMyWbwFx0PFx1MDAxYs8npJeT3Vx1MDAwM/C2XHUwMDAw1+9cdTAwMDNCYtnHXHUwMDE0Rf/r65TnVvzJ7IZivYWRxXA7XHUwMDE0QFHfVHRDiWdcdTAwMTWlpVx1MDAxYqBJgz+8W7k31UX54dGLOEX3Tj76UnBcdTAwMWJOzo4jvpN9XHUwMDAxnO7z+yx+q+BGc8MtPlQyx56lXHUwMDA3xs/goFhQfIxvXHUwMDAy8HqtXHUwMDE3kc5MXGbK42Kct6jRXFzizMSdOl3LeJhg8Fx1MDAxOL8zUljHTml6XHUwMDE1Slx1MDAxMz2YUv7GXHUwMDE0XHJcdTAwMDQ/PIBR/Fx1MDAxM1x1MDAxNNyNNFWIwsY2vDncQZRcdTAwMGWmMViqYTuV6H3xkN2T50Lfn7/OpFx1MDAwN1hugSaSiFpqdzafY1x1MDAxYnSC+v3+NaG4g/TJTzJgbFJhQId5XHUwMDE21lx1MDAxZo2hXHUwMDE3kqTbdMmzXHUwMDEz5UxLO5Jodla3XHUwMDAxTZvR2kWrsZxcIv1yzmbOpFx1MDAwZXVcdTAwMGJ1XHUwMDE0XHUwMDE3XHUwMDE4Llwiolx1MDAwNS9cdTAwMTIqj94yL3zKjkJbXHUwMDAyTLdFIG7uXHUwMDBiVFiKaLpcXNVJz6XGX7fURYhq1SuwMyX+lvNcdFx1MDAwM11gXFzx/HVcbvCHS+JjTjV3Wedhj2jPXHUwMDBm6vlcdTAwMDR0NuxH1Fxuzlx1MDAxObROXFzOMLpcdTAwMDKLOFxiteCvXuZcYlx1MDAxNWk9vE1IO2X+/I4m4Idq/IYl8Fxczlbx/Vx1MDAxMVdcYkJMsVxiXyfY+1x1MDAxOE7dWqfePjuZadTGQ79MTC9uXGK1lJ5cdTAwMTdvT1x1MDAwNSVcdTAwMTVmXHUwMDA03y9cdTAwMTWkKYmI1ahxlZrunE3/ZFFn+axcdTAwMWHwflkoQIKgO63qXHUwMDA3oNzS/uQuPjbS5q8mPJ5cdTAwMGb81ydcdTAwMDIhzfIk00w7gdFnI0pcclpH9aii72FC/1x1MDAxMFx1MDAwNGa3WEqELPL3PLlcdTAwMDKh/o2XKC6/tn1SKvZI61x00HLUv4Q/nkV1ZsVhUJxcdTAwMWZ9enCeXHUwMDAxYTxi9Ou9r5oy9dL9tGFVgnyS7Fx1MDAwMVx1MDAxYS4gOkov/k3tg1xmm+J2xJxcdTAwMDHMoIlHgPndX1x1MDAxZpxcdTAwMDLQ/M1K5KMnh0WJj1x1MDAxN1x1MDAxNjNLI0lMWT732n3MWuDCXHUwMDFll8M1wFbA/VRcdTAwMWFvoePcLlx1MDAxMrGwTztEXHUwMDFmfFHcoFx1MDAxNZQmsE0ju/TJSTfpVrlcdTAwMWLAXHUwMDE4MS/L1F+BOmRcdTAwMTfcZ8dZTnz6W57n51x1MDAwM1x1MDAxN1x1MDAwZZJOdlmWXHUwMDA3cnqWZbGmV8WfXHUwMDA0+ei7ta/c9VxyarrkXHUwMDBmxH/5rDXiXHUwMDE5o1x1MDAwYqJcdTAwMDFZen7gwTpcdTAwMDaLXHUwMDE0VzzPxs86XHUwMDFlKpHuud5cdTAwMDaVXHKWl0nES/Wd2zPQXHUwMDAzdV21h3JcdTAwMDVcXLPHd1x1MDAwNv34XHUwMDE00IQzKs402fZq5Vmo8GakXHUwMDBiXHUwMDE59/N7TeFcdTAwMDSGltxCs7naK7So13mn670uXHUwMDFj+OqKI1x1MDAxZNokMDFcdTAwMWFcdTAwMDZ9k46vz1x1MDAxZJ983+cpTam65YqWI4ZcdTAwMGX8SmvWXFxX4PDTiP1UN2lcIlwiNyU+uCeNU1x1MDAwYtBbXHUwMDE1/2Lz6FxcmJFpuNr12Mw1XHUwMDBlOMggaUaCr2XXt4mzJHv5d1x1MDAxMi4woeTF9lV+R+nVti9Pli4hdGbPXGZcdTAwMTZcdTAwMDVQjGrwUZFcdTAwMDIz+dPHxVx1MDAwZedcdTAwMTBeXHUwMDFixYPL/rRcdTAwMGZtXHUwMDE5XCL4YJNcdTAwMWV0lKHqc+hTJYyrXG5k3sxCklx1MDAwNPdcdTAwMDOx81x1MDAwMuxcdTAwMWXOq/TGRH7IpKpcZtd5+WqYqqlw04tf9foyi1x1MDAwYlx1MDAwMlvIdzueSPjRh1x1MDAxYX82XHUwMDE53duyucMnXHUwMDA1XHUwMDAwXHUwMDFjj5Dealx1MDAwN62x1fXx51duMSRA7PVcctchXHUwMDEzf7yw2lx1MDAwM196bUJcdTAwMWPthcHNXHUwMDE5MUJRgO5lc+611qS9SV04XHUwMDBil3pcdTAwMTaO2qE86lx1MDAwMcB9IVx1MDAxM0zqeJO3IFx1MDAwMUXAWYI0y2C2KKYhhEQ+0GHJsW+20FRcdTAwMDNlhGhyMcFhL+f0931ox8FcXO2kl99voS2AXHUwMDE576GSRdIkSrfkduPTwT5ccu/0fKwqr4fpqKy1jVSx3M5V+jBwkWFcZvDXx/HilOaxXHUwMDBmn1x1MDAxME6ckupcdTAwMTLPaz9zpfvb3/lcdTAwMDSasqSKXHUwMDAw+81R3rgtXHUwMDFiyVx1MDAxZM7r769cdTAwMTBqiWf0qvMjf0nVcVwi8jvdVlx1MDAxYmxfXGZcZlFw/Fx1MDAwNVK02cFcdTAwMWHP5Fx1MDAxY1x1MDAxMXpTtjY3b+Qk5mTUJe3zoMyLm0xsJbHsqjd6vjNcdTAwMWZ0jlx1MDAwZf79XGZcclxmlLMs3UTia8KYrLqLnI6EXHUwMDEwN6+kO9fVm1NcdTAwMTkgc/qvYZOJZvMsi81wukEjgWdz8MGl/FxiqFx1MDAwZlx1MDAxMnaOXFxcdTAwMWGvLFxiUv7RZlxyXHUwMDFhXHUwMDFknzJcdTAwMTfMK6WioSFcdTAwMWK5jkOXuMxwXHTj+mbDXHUwMDEzXHUwMDFj9S/92yExQlx1MDAxZlx1MDAwMSNTz2OtpmaV7/fTX19cdTAwMDCL7mJcdTAwMTEla2rvT5+EXHUwMDE2xrnQoPii6dRgXHUwMDFjvVx1MDAxYU3eIfGUK5vGSLrZXHUwMDE5f37LLfr6d1x1MDAxN4a4hNH9saCzWIdcdTAwMThcdTAwMWaH+TlORIGciq36jziRslx1MDAwM5F0VD65kVx1MDAxYWPlZ3tJuK9ko9+ybH1T5qfNL9cymTJhmP6aXHUwMDAxp7e/mDJcdTAwMDFcdTAwMWEsz0PVa1x1MDAxZk04T7VcdTAwMTA+VJtnXCJcdTAwMDbgTT6h7b+OfPVcdTAwMTf6XHUwMDExWVx1MDAxZspcdTAwMDLMd0hH4z/onay7dF1cdTAwMTfmyN8mYMZfXHUwMDE3PY7gLFx1MDAxMrdcdTAwMTJPQJnh91x1MDAwYmiqilx1MDAwM8JcdTAwMDXoxlxyptnnkcdcIo9jXGKUeZnGxlTIXHUwMDFj47NLmjE4XG6UnzBcZqNRXppcdTAwMWHzi1xcXG7i493HbEknwVx1MDAwMOK0r3jL41x1MDAxYXS7/F165Fx1MDAxNSXo6HazPvpHY6NFo2F3++tLeNq4XHRcXF08fFuaTvuIsnwusj8yM87wNZbX51xm6t4ubdOHXHUwMDFlSzJq0Fx1MDAxOKptzdvYSKjvoZvh++vGcylreX76uuq2XHUwMDFmzj7vyu7OrXWstMr5OntcdTAwMTGLTVuzxV+P01x1MDAxY7GkOlx1MDAxYpdjXHUwMDA15s8ots449j97+J2AnIFZnVH6fVjH39HPYOZ8KbBV2KZ9ry9cdTAwMWHi9jcx2l0gO+1sv3Bnif5gXHUwMDA0oFxiPvxcdTAwMTdWr2pM4iWUXHUwMDE1XW7XXHUwMDBmpodF9Vx1MDAwNcA3kt16JqtBJTm5wviW2Fx1MDAwMDyegNHQlnWjx0S8y6Cwylx1MDAxZHVXkYBbsaDNwUt4yJFxtvJuj5CRS1ecoFx1MDAxNHaNWn71qC6wl1j4Jn5ccu/77X7WtOZcdTAwMTJu5OHHYtiMLlx1MDAwZY/5q5PWQ03gLG9C7XLycn2rXHUwMDFmOoE3pemDx76Nqlx1MDAwMyCrSM1cdTAwMTdcdTAwMTdcdTAwMTT479lNXHUwMDA1xOPRxdIlM5lF+nlcdTAwMWR5+CdMWPPkXHUwMDE2Pm7F6f6QlL84xMLJ5Vx1MDAwNdZR7Neat1q2XHUwMDEy6ie1ed5cdTAwMWZXmZqzwNnPfecl6F1cdTAwMDCl7sMrXHUwMDFjTF9cdTAwMTWqMZCxXHUwMDAyXHRVcIxwsZ4/hqqh9qNzsMu/Lrt+xnne91M5Y53mXHUwMDA2L9OFc1RQkHx5MVx1MDAxY0Fgr9rDSpPklntcdTAwMWWzr1Rcblx1MDAxZV31cdXzxeqMjKsxLVCImWafmb6QzH2MOFEsO1x1MDAwN1x1MDAxNv5WXHUwMDBlLGtcdTAwMTU0jTxtf1x1MDAwMcOwcL+pzj9cdTAwMGZcdTAwMGWoXHUwMDFmXHUwMDAyoMb6ZMRcdTAwMDE/lTv7OVfbSeH6tD41XFyJolx1MDAwZp+4dYx9KcOZW3X0QmhcbqhbnC6mUuNcdTAwMThcdTAwMDTVrsMr3FdcdTAwMWZFpFxu+WD3YoHA1JfzKXHJgFQ5XHUwMDFhN6MhLb5cdTAwMDWcXHTz6PM5uVZam+vkJmRcdTAwMTlWQqX/2uNfXHUwMDFmYe25249cdTAwMDN1cVx1MDAwM9HlLexcYj6r9CqvPmB0XHUwMDFlp4uimdU3L3D3bMCYIGxZ6rRgoYm/eC6DTVxcYcvg51xuMVx1MDAwN31tXHUwMDE0+JV5klx1MDAxZVx1MDAxZfFer0MvgFx1MDAwNUT4ha4gTjTMK9BzocHK8aHlVbHyYqnCJqpcdTAwMDQrjzI1YcSivcpcckE98ZLFX7R/XHUwMDA0XCJs033cu4fb3vu8Yri4XHUwMDFlPjmTdtO9uygmTVP1I1xmkdnisax4jGd9p3q4X7ElNrFcdTAwMTS/oHpcdTAwMDbRO69cdTAwMDdo9HovXHUwMDEztFx1MDAxYuqufeF8Pz2VoVx1MDAwYml4craRuy3W7oKVkz1mJC7i71x1MDAwMKvWn1x1MDAxM5O5WH3wXHUwMDE4Llx1MDAxNpB+SlwiXHUwMDE5VdNcbos4XHUwMDA0Rsn7XHUwMDE3/Fx1MDAwNN86bYGeXHUwMDA1n7VcdTAwMDN5XHJFj52SI1x1MDAxYzWdjvarXHUwMDAwaORT1Fx1MDAxZj38bLeEXHUwMDE2XHUwMDAypa9cdTAwMTn6JVx1MDAxMmLgpa3vRbc2PX9i3+xJ62lcdTAwMGImLz+VT/ROUYDd+fbDqIO+7Fxc06Tiqs5lKWkn0k0o/reuqNzUcbxDXHUwMDExJEeWvUlcblv70PebO1FDSJf56pO2MNxcdTAwMWbOhOaHifhov8M2mqaxNb66d/YrorFs+FGzjbKCO1xih/C3eFOvMFx1MDAxNJOBuylcYkCkzduM3NS1fnzpXHUwMDA0f7d1XHUwMDFlSGnJy0PT24aRJIra21JcdTAwMTAl4FxcXzSO4+JDXHUwMDA2YbPwo27zn1x1MDAxOIhJfVx1MDAwMIvgXHUwMDFiNFYrKVM5XHUwMDA0KjtM9lx1MDAxN8wn9qMo+lx1MDAwNj9cdTAwMGZEXfl+RvtZXHUwMDE3kzXjY4DK/7RcdTAwMTmpN32cc4wjy1fA5OyRf5vXYy9koKfChqa16uWXfjOMqpc5Ql6GRiRa6XDb7VBcdTAwMTnNeMtcdTAwMWRMXHUwMDE5epBcdJdrJlx0dT5cXPXSkXecyFOaWaKR/re0nVx1MDAxZUMqLqaqXHUwMDFj8V+N9Tm5OEnlwV1cdTAwMDGms4nYXHUwMDFi0+1cdTAwMWLTUu+nv1x1MDAwNJdcdTAwMDKCLKswXFxe3uj/9vhcdTAwMWRlIX+TWnvVK4FnwEhMclx1MDAwMJyxXHUwMDE1XHUwMDFlVN4kuGJ4UfVr3Vx1MDAxNXgtXHUwMDFlUHui8qplaVLtXCJdwlx1MDAwMKiX3Se0qU9cdTAwMDCXMlx1MDAxMIHdXHQ78JdGulxmop1AvN+JuSGR9bvxoMGzKkTSXHUwMDFjkf6ec4qr/nibXHUwMDEy766IXHUwMDA29Vx1MDAxObq65n6M9FDoXHUwMDFloeHRgFx1MDAxOMXk/XCSJCqwOWj7+GG8nJfqZr9cdTAwMTHR3lDVaGlUqyr7zkTkKGSLVGKYnWQ0Ko01efVtXGI8ojnwktVGLCW7XSbs91+vleO9pbJhXHUwMDEyX/VcdTAwMTFPu1x1MDAxNCc7flx1MDAxMC/rvVPenvFcdTAwMDam6lx07/zp/+41s3/yXHUwMDEx4kXrTCk9UuhI3fNtsFx07lx1MDAxN2aksuPSp6k8NDpcdTAwMDWC11x1MDAwNYLF8ZyT10dxXHUwMDFkwOrjk/z3addfie2qII29K4AnVUGQcHaJJTdQSlxmrSFcdTAwMDJcdTAwMDKdZ6jFNcT4fkl2jr5GlX+PoLHu87mF3z1cdTAwMWTTh9HXp/zTXHUwMDAzLURcdTAwMDBcXFxmLan9RT6PPaspjYotXHUwMDBieEmNrCiB8Vr5x3EwnNjgicgqI9yR9ZY2XHUwMDAw+uV52qmeePGUoulS03iuYVx1MDAwMkpccvNLXHUwMDE0fZ7UWcd+Z9UwfiGnQtvfTiuVwXt/Z8496lx1MDAwNFx1MDAxYv9qp01nUOuIOuW4+oD/+iFcdTAwMWZ1wcxInrfhflx1MDAxY0lcdTAwMWPivS+9Q3lH+XDj33bbvK6ZM6ucfadcYjLDkMq14aF6i7bYU2xWq1x1MDAwN/xlglx1MDAwYqU8uMVcdTAwMWOmhEL7kzhJsk3f5VdcdTAwMTCLIW1cdTAwMTI9SOHFPCC6XHUwMDA0S1x1MDAwMFxmmk5hr7RfJWzEXHUwMDAwdIZcdTAwMWZcdTAwMDIl7b9cdTAwMWWMaJmzgVx1MDAwYo+bwF3mYb1xXHUwMDFiRLvpaKVmYTryZHuVyPxcdTAwMGV8uYyIpz1cdTAwMTLa9vVh1C3IxtbeXGKcW6nCrNRvyj7uK5ziq1x1MDAxNUJkfE+3fpNjfWN50TCA1Vx1MDAxMZyCnbp50iRcdTAwMTZhrkS/xJz0I4RI/CVjYDNOb845vtp8RUd/vqnEXHUwMDFl8Fx1MDAxN0/VeludJe2/ny15XHRF4+uj1tDvSPQyuvvIZp9HlDK0dozOwl5wwTaT68OavXw3lGdbW/7jXHUwMDE537J+LVwi/jKahy/RUJJzc8iWcqlcdTAwMDNFlex2i0ykRqo8idRISPZcdTAwMDS+V7eIXGKH5lx1MDAxZOmLaqL0isc0MVx1MDAxOZq8s8jd3pCVycJcdTAwMWR/tF/58DIzMVx1MDAwNkpNJ4RcdTAwMWNzTTtOXHUwMDE2OPwkXjtRYuNa46Xh3MdPXHUwMDAywdCxWdSv4i/mpKhGQtNtXFw7oVx1MDAwMk2RnFx1MDAxMMKNXHUwMDEzXGKApuCWXHUwMDAzbPczmSBcYqqaM1x1MDAwMzVcdTAwMDdRy5dEKbw+m35cYplcdTAwMWYyjYMgijg/j2NcIrP6wcNqm+bvu93gfoA0YEig8+jYa1GKlZehX1x1MDAwNsX8y7P5I+SAR1xm+4TjXHUwMDA0V7mvcc1L3E/dueFcdTAwMTWtXHUwMDFloYxjgeyvvehcdTAwMDdOYWT6XHKHXHUwMDA08FxublODhpBm1s06YMKYmk9cdTAwMTU0QOZvdTHV4JmXXHUwMDEyPEXcaFx1MDAxNIjQ3eDTrJToXHL/84rHmi9cdTAwMDMsrX+1JbJcdTAwMDRQgJNcdTAwMTZFkeUyj1OO+aZcYkp6sbOoUYxcbrVg+3ReMf0oXHUwMDFi1lx1MDAxZrKAVXvS4vBcItFcdTAwMGIkUIWaQVuwi4tnT7pBQZy2p9SmffLrXHUwMDE4vUe1wGKrXHUwMDAwYrpcdTAwMTBcdTAwMWOk2k5cdTAwMWWPKpdqXHUwMDA2TOS3/4HrO99gM1j0I0Cq3STJUV9g1KGWXHUwMDE1Wn3St38n8rhcdTAwMWZcdTAwMGZ2aoumXHUwMDAxV1x1MDAxZUpQV/9cdTAwMGVWarWHXHUwMDFhn5Q8n54lkqRcdTAwMTDwTFx1MDAxM4XiWukrhfOTqzytWjdwwNaLp9NSpKJoMjdlPZyv1D5d7t+l4ejAzuCc30kuVoHY7etcdTAwMTk2cEhvIZtTxyNqTOeCmF/onuB13CpcdTAwMDBcdOtcdTAwMTVNR1x1MDAwM0VcdNI3WsH7XGJUP22LeFx1MDAwNd7hgrg7xJ+vetVeP1x1MDAwNcRcdTAwMWVcXFpcdTAwMTiPXHUwMDEzX4SYd+dcdTAwMDX0Yn/DYJKo7TF0fKrou7jdbpBtyH9qonLxYn9cdTAwMTl6p83GIVxmgt5hV8ifXHUwMDE51LdcdTAwMDSKfpedf1x1MDAwYthuOcZv0WU2jlx1MDAxZFC9kpCF8n52jlx1MDAwZtZ7lT2RXHUwMDE53D3ESJolk3bkK6tsKVx1MDAxNPX7oTyYlPQqqfNqrVP8jN6Toahg+EFcYl9cXFx1MDAxOKiEOW762H4uPalAmjvAS9L7n7mwgU9n4ffkXjZcdTAwMGbdeDSEeyNwadXss3mBZiPJ4yjnKz6cXHUwMDA1Z8tcdTAwMWW5d0il6tHMlOeQO4ElRlxyJVHqsywgXHUwMDAwXFxcdTAwMTWSio34aGWCdM93W1x1MDAxMFx1MDAwZX9a03JPXGagXHUwMDE0TbuVNlwiUHhcdTAwMTFDvlx1MDAwZu9cdTAwMTaZ5IfU6lx1MDAwYlx1MDAwM/mnXHUwMDAwgSNcdTAwMThz0z65z1x1MDAxNlx1MDAwMlx1MDAwMZTAizBcdTAwMWVAt6JcdTAwMDY27vNx0bPMcueb4GZVJlx1MDAwMVxuXHUwMDA2Kjc2fFxmyZOXIexcdTAwMWb9JfW2uYuXOy1LU8a72rVJhv14UPAsUVx1MDAxNdDQ4NuWWJDEXHUwMDAwllx1MDAxNuC1oz9LwXCX+90g+PWiX5N+w3j0LezvWVOVgVx1MDAwMI13atW+ecONNZfOcPHFdPXxriuJjd/LSdpCZcf3QDdlroejN5mhzWDqa1x1MDAwYmuHyHlccjIsXHJSr6UriiBAYuOSXU9ZvEV016aWvaqQXHUwMDFjPqim8EebgFWjJKyIM5RI8tI6e2M3fKv22rH9rYVTs6uiVC6+aFTkL1x1MDAxYeGm0Yqiriunp7O9i+on74QhPlhHyIH1QJX0SehcdTAwMTXQi43peq7+8i2/+VxmpJl8XHJ2M+R3R41cdTAwMTdpXHUwMDFhjdn5i63V6WLCKlx1MDAwNWDiXCLUKUuTediLlN3X0vlcdTAwMGVcdTAwMTnMaIc7UfR91LjNQ4uV2lx1MDAxNVx1MDAxOU0tZXtbUlxipTjCJbNu3H1521x1MDAxMJrUuDEhv7C/ouFrOD9Z0+/kqDGQU9N0SVx1MDAxNTKXJ0Ewz1x1MDAxZbInX/WMPXJ0MFx1MDAwM+y+0azZ8JQ0tZtcdTAwMTPbjmpcdTAwMTT2auyDf7rb/rA3wSVOm5b8alomQVkrXHUwMDE2zIqUXHUwMDFkulx1MDAxNZX7vlx1MDAwNVxylfJ4uFx1MDAwNISAlvvty1xyJSi9evtcdGleXHUwMDBm8a3d4lVcZtEmXHUwMDBipnvRqVhXQZSWdK73fVx1MDAwN2KkZXvgtSS2JfFVbW9RonLn0TefYaaPw5IkXUpcZpyxea/w0ZPXfivTXGasp2q2kf5cdTAwMDSKx/p+218rOEG45Eat4v1cdTAwMTTRenrr81x1MDAxMvxB4PtcdTAwMTCxXHUwMDE2dFPrcupZWWLPXHUwMDBmXHUwMDA0I5R5XHUwMDE0xVx1MDAxN0l4dFx1MDAxOdyCgFx1MDAxY/3sx1797aRcdTAwMTFFa3ZiIVx1MDAxNvbEyOzKVDzbXHUwMDFhb/mctaZcdTAwMTVB8PdQ4K9cdTAwMDC5c2ehYe9cZmTgIIhcdTAwMDLltMzz+lx1MDAxMEji+qPdolx1MDAwNrGEgNos03Xjw1WjwbHXIKuVbFx1MDAxOVx1MDAwZk5cdTAwMTJSMMNJXHUwMDFm6lxyssOnqEC6XHUwMDExY1x0tdH5qNVcdTAwMTRJR4Ovn+QnsbBcdTAwMDF5p3V84lx1MDAxOVx1MDAxMlrnIFx1MDAxYrtHY/ySgykpSURAXHUwMDEzh4NnOVxyw7vZNFxy8lx1MDAxOMWElk9OXHUwMDFiOq+G/IhcdTAwMWRWa/Ll+1x1MDAwMjEmp3hxW0aOXHUwMDEyXGbnJGrjveAwXHUwMDE4+P6ZariCI5Xu4pc8XHUwMDEzXHUwMDBlI7vC4C7vWzq0//5cXGJcdTAwMWTXM/z+VebcXG5aXHUwMDA2fXx2P32JXHUwMDAy1vj5W7PVXHUwMDAxuzBcdTAwMTEv/vRcdTAwMTGz5lVhSeRCjJnoXHUwMDE5XsxfgGboUYzYX/60mFpxxcJcdTAwMTg+flx1MDAwZrTJ5Fx1MDAxNFx1MDAxMl/fVufrv1FcdTAwMDAtJmxd1YBcdTAwMWKBKWaCSjlcdTAwMDHWk3olJDfvXHUwMDAyXHUwMDAzOpIwYG1FVryYXHUwMDE1QSrzqVhcbvoxYSpcdTAwMTmUi0JcXH9cdTAwMWU9XHUwMDFmcGryXHUwMDEz7zRY/suM1Vx1MDAxZNjSzT9FmYU3caz7XGafTMViNpYjgzzDn94901x1MDAxZaeA2E240uVcdTAwMDe8739cbqf9RvNNJtAhK6t2Zqkxo1x1MDAxMrV9y2j7znXe5IdcdTAwMDNcdTAwMDEl1k2UXnHRm6JcdTAwMDRlMdaCQz6LXHUwMDEyXG4qr/rY0oz1XHUwMDA3SnJBXV+O4ZPCMFx1MDAwM6PrXHUwMDA0t91V7G6a/Vx1MDAxMXb/J/9eXHUwMDE0dIfzbsOIgDNOp79U+eKbyOm9XHUwMDFh+JzXTGpcdTAwMTRHq0Cc/Ydnd1Kssyz79u+gjaOK1iO9XHUwMDFk5Vx1MDAxOKW5ool00Z/rjo8tduuefsf6WZaaWFdNw+DrXHUwMDBmmotcdTAwMWL7+fw1Qlx1MDAxY09hdVx1MDAwNjrAq1x1MDAxYsXNJVx1MDAxZJFDQlx1MDAxYk/vqF9llEROUEwlqio/XHUwMDEyPMpcXPjAXHIvXHUwMDA2wa5+0CpaXrNXcjmJnvJf79OmXGLmwWWVXbhQq1x1MDAwMDGqMDF6m5asrE9v51x1MDAxZf5Au3tbuFx1MDAwMkTvnlx1MDAwNJmGXHUwMDE1WlXeZFx1MDAwZZdcdTAwMTcgXHUwMDE4oTfvMpvfXHUwMDE4XHUwMDE3ylx1MDAxZNipibhcdTAwMGJcdTAwMDdcYsRdzy6DgJ5pgNW23m3byvRcdTAwMDKw8FxcRfNNIdvW+G+rk0Avd+vD762cXHUwMDE3qCf3QV5UUeep9Fx1MDAwNExcdTAwMWH+lepT31x1MDAwMHpcdTAwMDGe69fvw+tcdTAwMWaP8+HN5+9MS/3XXHLEXHUwMDBlP8fVzczj96bzV5ODMn9cXKpYJkqhyFx1MDAxNr7D2vjgwawhbLkq96UpsemsdOZIK1FcdTAwMWNmdajiwFx1MDAwNlx1MDAwMPJcdTAwMDRwUE2xpHCcrdawXHUwMDFjyVx1MDAwNvtdV7PdRtZDpluWRZcmjLZOkj5+V5eNQ0xIXZNzIKd/XHJcdTAwMDPCZ4QwRPohrrS54qyAeiH8+1xyhj344DlDXHJE7sV6YZI+XHUwMDBmyE56hlCK80FcdTAwMTargPqNy1xyKLtvte5cdLcrXHUwMDBlyVx1MDAwZolcdTAwMTc9V4GXSd5XxkH23348jWlT7pswl3ZKXHUwMDA24eg74SPxWJiyx3a3xKplmF57z5qZV2+zjuFAj4+f+SNYXHUwMDFlYtOYeFx1MDAwYvSGplx1MDAxOdfEfzW18d9cdTAwMTNZU36RW3SFWlx1MDAxNTrWNGgt2GOaXFyGne1ejWdimVx1MDAwMmu1XHUwMDE2lniFK+H7XHUwMDA1K9pja1LtX9H765nERDsxl5Aj+VxiVlpcdTAwMDBcdTAwMTXR4KUoXCKHc99cdTAwMWWh7q/N+b2aJoj9o7T3qpb+oJJRwZyVdptfnJfO96X9d1x1MDAwNvWGl1x1MDAxMF9cZlp/aExBwO2Jdig2gveAr9HBSTr4drhpRyv3XHUwMDEyXHUwMDFmUoflXHUwMDE3Tebhq/VTfVx1MDAwM/uAXHUwMDExWZTWL2dtdraOPOpq5i4xtU1y5889x2PLzZNhOIZxfYdccqQjjE2u72GSW9/PuN5cXI4oKFx1MDAxM5A0XHUwMDAwljz9upXv7PpcdTAwMDVma0IxY1Ks9SH6fS11VkfD3ScgPjUpndz32FGgvsY+XHUwMDA0yo/3zlFdjGPy4IsoSdqcJCik+344slxmSF9cdTAwMTUtK8fqXHUwMDBioUyWXHUwMDA1TcEqKe/N80eHN/69tIirhYJ8r60w5a6tRsVvX7C/s53Z5lx1MDAwNlx1MDAwMNf0tJ/ATcLf8nkgr5xZn+BBritcdTAwMDWesGiA9vemgnO52Lwg5qLZoi9cclx1MDAxMUZVXHUwMDFj4LGltFx1MDAwNNhnSUqublxih1X8eVx1MDAxOVx1MDAxYTTD/+WE2klcdTAwMTNcdTAwMDeHblx1MDAxMIZeMTtcdTAwMGKQXHUwMDFhXHUwMDBlXkNTsEYo78F8pcY02uS/fny9/jTd0G+wRuzV8WGO8m9QXHUwMDA25Ew96obWzp5cdTAwMWFcdTAwMTIkZ0SkV8bP4zH5l1x1MDAxZqit3rKtfdSM3S2Ljlx1MDAwYlx1MDAwZTfvXHUwMDFiM9NcdTAwMWKHyFx1MDAxY9EmaP9i1LpcdTAwMWXrXHUwMDE3JfPa/orZINlTXHUwMDFmjFUmITyQNst5Vb/rOz1Wnlx1MDAxMcbOxP5cdTAwMDKFXGbvI5L4hOJWy/7jqVx1MDAxY/Z3nJnEXHUwMDFiiKZjWHSORL6foy1gXHUwMDEw4q/NXHUwMDFjuvSK+I1EXHUwMDE5XHUwMDA2N35PkG/c7LRTg1x1MDAwMNm7XHLKiEKTPm/I/Mo/pfA9L3VguljeYlRyZvWIjlBqt4jFe/RcdTAwMDai91x1MDAxYXtCxd+h1i1Qb1p2g9m/2o5RXHUwMDE4PuHv1e6pYUBLXHUwMDFkjFx1MDAxNPy7r1x1MDAwNo9cdTAwMDCYXHUwMDEwXXeLMYtTxCC86Fx1MDAwNVx1MDAxMlJ9xbpV6kTj+Vx1MDAxZC1bXfJfz/epe1HdedGdiejPetjQtpTEXHUwMDE1XHUwMDFklfpcdTAwMDZgiFSqLbhLI82gY/VcdTAwMTndxPZovDnEjpm//YBbU90zxdc90dmRJt2q/Uif31x1MDAwZlx1MDAwNS81JnLL2eTs95nx8jZkb1xy/2rQW4hcdTAwMWT0PHPY7MfJkf4pLZmCYVx1MDAxYZRcdTAwMTOANupS5s7lI1K+pmRpMnXQYllpXHUwMDE0vfl+XHUwMDBid9yeRPP6XHJcdTAwMThcdTAwMTlcdTAwMGXjvzPvyqFYfKRcbk1cbkppjFx1MDAwMi2z1Fx1MDAxMPn3XHUwMDBlXHLnfkyoU4XaqIiUi1VsMppcdTAwMTNsoVx1MDAxYSpcdTAwMTjHoHGMoTBcdTAwMWE+bamiZJdY8Fx1MDAxNnJaXHUwMDBmqPFcdTAwMDelXHUwMDAyXHUwMDBlO8pcdTAwMDI4d8dbXHUwMDE34/H9z1x1MDAwZpOFXzL+ssfZhlx1MDAwNo/Z7LJ9K4GO1XR+ep6/Xi5RXGJtLsia+auzslx1MDAwM39L/naaeqVcYtg+/oZcXKvlOEG/gfEtJUNcdTAwMTTIa+/YK1XoaEP9X2RL3CU4IKdgiV1FeTcprj4gzFx1MDAxZueN6PGr4lxui5y/NvqIXHUwMDE2vFx1MDAwZZd7Q6VcdTAwMDb9XHUwMDFl/rFNXHUwMDFlR4ow5D2ZJY1cdTAwMTPtZ6z37uvWdUeXL1xm1z73WfbZmXyCS1x1MDAxNXTkasxmqSfRLWpNztvHXHUwMDFlObxplMFhm4/NXHUwMDBmXzx8XHJcdTAwMDEjXTH2J1x1MDAxNLVO5ObrhVx0qnGUR1x1MDAxYyGGrUVs45MrXHUwMDFjmjGOY8OqVteJcVx1MDAwM4VH2imr7clsuqFi21xml3KUpGJccqM3h2nsO8duXHUwMDAxqMIzXHUwMDE0IK+WTfny9SMtdYz+Mod/VFx1MDAwMdTBN7e2XG5cYvVmXHUwMDFhgTemP+xcdTAwMDCwXHUwMDFlRLaQrcUzsr5edctcdTAwMDE3Mcg6XHUwMDExMPP3W4jEfTCgXtnX9UtIVmuJxH0xTVr9IHFcXFxu4aKQQVU3UI2N+3dmNrSZhqPaK3wtwrq7/Xj0upFcdTAwMGXfavXktkZ5XHRcdTAwMDGo5vtcdTAwMDKvXHL4MsHQplx0SFx1MDAxOcp0elx1MDAxYeDQ7qi7XHUwMDE5/j1cdTAwMTcu5KZcdTAwMWWdY1x1MDAxYvVMVKrq/Ou/NJTpVzppqd3L9qxO8HrwvPi0RTGvMVxm6ipkgXu2glx1MDAxMi+h+MvL7ijPVrRcYlwiwORcdTAwMWPGSWi8Vl+QJlxysvtcdTAwMWVryL9q/rRyXHJv+25cdTAwMDe/N6NcdTAwMGab/sO9vVwi/Vx1MDAxNdKMpfX+WLt8s6/Rs/ppuXGMkyyO0yCT4qWlOucpXHUwMDBmOVxy5N/en52iLnzBUlx0KIVlnr7OXHUwMDEz9CMjnDrTXHUwMDFiXHUwMDFhV8fbzZOZ3EeT/cnSV8Nzklx1MDAxNFx1MDAwMdRcdTAwMWL9Zr3qkq1g3TqbXHUwMDA2qlTFjuk3+HrFXHUwMDFhYtdomb+zJEawWHJcYvp+PkRxJCqdzzrX/L7kXHJccjHyTnF+p9lrTHrAdJ9cdTAwMTIxNvynMfYrfVHwIWpkZ+tBZ71875RLXHUwMDE5y9Vq7Fx1MDAwMD+EY4HIUb9cdTAwMTSirF9j3UJp8HiEPZhPXHUwMDFjJZX9wuGbqOWAIeRnQ1GaMZSfqopcdTAwMDRYVtZNXHUwMDFk6lx1MDAxYVPbvuAmi/1cdTAwMThI2cXuUmpcdTAwMTWVUr+vwpVy1Vx0U1x1MDAxM1PWXHUwMDA1bary+++wS1x1MDAxZlY96CPyXHUwMDBldlx1MDAxNpYze2qHXHUwMDBi+I3nrF5f7vv7NHnicMI79ndU9j2YuPnI+Iwuq6RcdTAwMDXR/Fx1MDAxOF8loVx1MDAwMbJMg6RSveNcdTAwMTU8qZ+R+Vx1MDAxMD8wUu1aJPXykb/uJlrnx0ZiKfwpOMtAeVx1MDAwNVuMKvHqqFx1MDAxOfOr5Vx1MDAxZVx1MDAwNpiVX0VX+NzVXGKs3e93VuM+XHUwMDFjP636Rb3q+s1CnHpcdTAwMGZcdTAwMDRKcCXJ4X5u71xuv/66J95ff7RSXHUwMDE0YWqtXHUwMDBi2Fx1MDAxN8bSwrRL2lRimo7SMUpcdTAwMDRcdTAwMDRB5EBcdTAwMTT79texcKFaXHUwMDE3X1xu89U341xiJl2AJTvF+ZtezJ8nSFl/XG5PXHUwMDFmP3fwZlx1MDAwYiV/fonDMmvSY8lcYtR/dTJcdTAwMTFFZDDhR5nWsjlcdTAwMTNcdTAwMTH7L13U3bpcdTAwMGX291x1MDAwYrtHrdgv3ye8nWXc0bNcdTAwMTZcdEX0fv7VXCJQ80X4XHUwMDE2zNtm+dfr8CpcdTAwMTBcdTAwMTTF8Fx1MDAxZE0ncfFiZpZTXHUwMDEx+vOxfE3Yr9/8xbCxWlx1MDAwZVx1MDAxYWow0aZ16C6n84P2+OJcdJCJwHaRf1x1MDAwNYZcdTAwMGJcdTAwMTXWfUvQxfb9aEh/5rxcdTAwMWE38lx1MDAxOfWP84eAxKDo+tGiWJSVTfAqV36sMDl8XqT6SPNz2HE3WMtcdTAwMWFWXHUwMDA0MbJdbvzWVWyGrXnZi4Kr8KMglows02f8W/P/Xj8yJ7gp2YFz/LxG0lx1MDAxY9LiUI9U9cjh0DBcdTAwMTOHv/YmoKdignbFllxuvNrIMPF3N1x1MDAxMc477at78MhOOb6rbquWXHUwMDFmL3/9t/PZPz9cdTAwMWEhayujh69hjVx1MDAxNU/PXHUwMDE3LFNfPlmCpD6xQmRcdTAwMTnWU2bMXHUwMDEz9Fx1MDAwZt1jIbvW23c9z9sjwEIu1lx1MDAxNI8rXHUwMDA2w21nwqX7Rlgqe/F40zNcdTAwMDeiXHUwMDEylpVa9lZcdTAwMTlbl0ahT+bjW0hq/N5cdTAwMTjTrkt0kk+aXHUwMDA2/Vx1MDAxNDaNIfNcYq/R1b1+NV2R4m5ZX7umYthXnypXXHUwMDAzqM8vJJCuuH7liivr6nxcXK65+590iO/4+Vx1MDAxNlx1MDAwM6meXHUwMDEwo+mBXlFTXHUwMDBiXHUwMDBmuz+iXHUwMDAzJVvuXHKCb1x1MDAxMDlrgDH2xlx1MDAxYd80IPg69r5sMperXHUwMDA2J9lcdTAwMDRcdTAwMTJcdTAwMGX54LFTf/W8WP9cdTAwMTlt/2/fbVx1MDAxMX6/XHUwMDE4VttY4kNX+TOve8OmwSHqleslgKad6FxyXHKMXHUwMDEzKFx1MDAwZuH21lx1MDAwMPIkXHUwMDFlezRcdTAwMDbjj9e1LIy0TqYj65vTXotRjFx1MDAxMcXTWtd8sFXsOmSD7OpllYDpNOZcdTAwMDeeZ1REJpjDOIvRyboudTB6klDlVlx1MDAxOOnLstzuYYNTSolcdOOvMkPYeHH+SqcoXG5TVUsrjXFK2WHgzufW/fAxI83+i2jhNFx1MDAwN16+IZstIZzm4CdaS81fjVx1MDAxOPZNcMPxWEAzXHUwMDE3xJfW5YPUpn2QXHUwMDE25TqC1Ota9pL3XHUwMDEwkFx1MDAxZpWLnlx1MDAxYkXeeVx1MDAxMqVqd0dcdTAwMWYlXHUwMDEzppdDu8+geip1xrvpUevv91x1MDAwNNtFwzCEfft6ZGg4OKBcdTAwMTKK3jfenyteUf7v2UGtRaj4quBAXHThq6+ZJlx1MDAxYSXdmlx1MDAxMXd9vyVcdTAwMGKH8Chcbuzlx1x1MDAxZXRcXGVcdTAwMTJ2L+w8xmVcdTAwMTRcdTAwMWE4rsFMguyyICtoYtyVXG7010BDOLM5Ye1cdTAwMDJcdTAwMTinJuq+q1x1MDAwZeOHJ5hcdTAwMWFotlx1MDAxZl1GP1fRRlu9U5lPXCL9ILc2bzfRmY3xtJtyi3z++rph43pcdTAwMWM1d74x4t1cdTAwMDKrut180cy93dphxbeGtJOXZXySXHUwMDFiqfRcdTAwMDB0J8WM2IviOkHmnFx0xF3D/ULSO3Qlmz366u7UfupcdTAwMGWPe1xy4clp/S56XHUwMDFmdVx1MDAxMDyQTT9cdTAwMTZZ7K2ihE/2U6RAsnenS1x1MDAwNb9cdTAwMDDjzUZlNSvriltiXHUwMDE3gMMsXHUwMDFk9jZcdTAwMWGnbPjluVx1MDAwMUxOQubkXGLFXHUwMDEzk6PYXFzjh93/9StIx2pcdTAwMTf5XHUwMDBise6L/at1XHUwMDFjyorHXGYyYKZaoFx1MDAwMMDxwOLYSkTDX7ToLC2ERv7LulwiXHUwMDBlV1VYRS9cbpmtcIpS3thVj3gqRIWrVlx1MDAxYsOT9owm2piIrUjpMZVtYHRcdTAwMWV87Vx1MDAwMlx1MDAxZP7OujCaVImB4KkpgyNokzRuXHUwMDAywNlPlmVRPG7GXr85mVxyLlx1MDAxYnneNCC2v2Ikvo9+6YdFXHUwMDEyXHUwMDEy2Fx1MDAxMsT5RaSZZcrg205+n0hDkuVcdTAwMTexXHUwMDFmlvqZPmE/7PeTrFH687mLXHUwMDFkXHRcdTAwMDBcYpP6r93aTVx1MDAxMfs6NvmKwMVcdTAwMDKVc1CdqdHd0Nz3VUv8XHUwMDE2uujp2YTRv2ej45n52X2CwN60ykh/fZnNuGVWW8SHK19cYrvMfLiBeK/ikdM3/Vx1MDAxY19eW9K8wXSGVWbjq1x1MDAwN0yWUFx1MDAxZoYpaVx1MDAwN1x1MDAwNfp2//4w+E2xderHUqDqVul10etNgfnvXHUwMDFm+y6ASpv/JFcnw107/4bX/L5/6f81rqBcdTAwMTHMXHUwMDA1jmr1azJ2vjHpvHao6cDcXHRFl9niXtNNIG1xXHTPbN+UN+xouZFwXpBcdTAwMGZnplx1MDAwZX0mXHUwMDE3Wlx1MDAxM3k9Ou5cdTAwMDLMQVx1MDAxMexcdTAwMDTB6Vxioa98jycpv1x1MDAxOOFBiTbNqMHMOFBcdTAwMTNcdTAwMDEpKT9x11x1MDAxNiSXsETUalfFuorKor/zX7ZzXGaiQ6qufFxi+iF3MiY9lXJcbuJPcCde31x1MDAxNzssZThT4VJcdTAwMWXQ2lFSiKYwPm5cdTAwMWFcdTAwMTDSR1x0lfBcdTAwMDYg+Gd4r8rEdpRcdTAwMWGG/TiEM19cdTAwMTaf843pXHUwMDE2JqONf+NF8WngKFEkolx1MDAwNmGP3K2AS9uNws3L8SHhU3kss/HvNN/UXHUwMDE4glx1MDAwNlx1MDAwMPp9RUnms4P5foEyXHUwMDE3nWpTPKfa78RcdTAwMTSlguDXnVx1MDAwMdA/lZ1/XHUwMDFivVx1MDAxY99cdTAwMTQ4Q51cdLy2cNVcIsyT11x1MDAxMPFVichcdTAwMTj5TD0hfmlIVNzuWn0hvpmfvp7dVJGHZVl4zkxcdTAwMDRcdTAwMGVnX7FcYjN9zFx1MDAxMktEWUeBrJ+oSUKRm4/NhEWZnfjwqFxyS8vOvNZT1UeFV1x1MDAxNiG1gFx1MDAxNom08e6El4tfi850WVlaXGZrXHUwMDFkJCZcdTAwMDBPvlKFa0e8vtmualx1MDAxNNzwXHUwMDAwXHUwMDE2PFRcXHZpXFzPjkL5cbvJNIssg9xnXHUwMDBmXHUwMDEwcmtnoyFpbzjZOn5DpVx1MDAwM7shdL9huPJHjGOggJZF4Vx1MDAxN2I8XHUwMDAzRllccsB0JDLbylx1MDAwNvqgykOBclx1MDAwMVx1MDAwMEBcdTAwMDO+77kogZxDZjQyXHKZtqW5XHUwMDA3LuVcdTAwMWM7+NBlM4A4WLTpdFL7UVxcrqdi1Fx1MDAxNcpHZUKLVOmBlPBUsTuvNcZcdTAwMWTLes7zVCtcdTAwMDE8YTncgURkxeupnrJ7aObzOnZ1XHUwMDBl679xhMGoUSFcIm/dfSnh+FuMfJrcxihh2Fx1MDAwMyO5NWX03Ifb1kRcdTAwMTPAvblGJiHYSdpBfknlu1ryb1x1MDAxOVx1MDAxNXe4n5hcdTAwMGXQbuVp9fnd6NVcdTAwMGJL/Yt4ltEtXlx1MDAwMT5h5r58JvtkVI/+s1xyXHUwMDEzmVb0XHUwMDFiR4hcdTAwMDL98jfxguBVvbrdtLF+z6BSXHUwMDAwV1x1MDAxMXd5uWRcdTAwMWNWRVRM8Fx1MDAxMJVlpVx1MDAwM7xcdTAwMTLonFx0OL75XCKpkNqayb9zpNae38A3UJrhKK82xG3i9VxmY2B9XCKCY9FO3P89XHUwMDEzXCJcdTAwMDDQmujUQC6+Kyw801x1MDAwZVx1MDAxYa6C17VzVuvHgYn/XCKK4spq1StcdTAwMWGQ9Z66QCnoXHRD2uQ7MV645FlcZudcdTAwMWZcdTAwMDCnu/iTXHStbuSnJnpdkVxm2NdcdTAwMTjIsppfeevnZVxmgz6+dVDTT0yAyGx1qI3+25D3QUxS8fFY2GAxXHUwMDE59/hcdTAwMTiQnplH/qHg+E1cIu6bXHUwMDAz1kqW22vsdj3+XHRDXHUwMDFkf/3v9EzsQ1xiT0mxmzuIiyBUnFx1MDAxYuhcdTAwMGX+vlx1MDAxMeXqXHUwMDBlWlZPa0PE6bTOQsBccnIl1sdcdTAwMTRcdTAwMGUvgqBvdlx1MDAxOMzg1k84oFpcdTAwMTKFSfg/b7JJXHUwMDBicLJcdTAwMTmwoceIgkfk16bbkqy4+WyAaEanzcgnbpVFrVD0V/PNL5tM/W666qP007DKXHUwMDBiQXJt+kH2JNrAXHUwMDE2WXFmQFL390MxXHUwMDAy6v92Yi6Djd5cdTAwMTRcdTAwMTO4ucbbaaSZN9sozmN8XHUwMDAwSFpJXHUwMDA2Qlnlg1x1MDAwMlx1MDAxYcd2X/ZcdTAwMWP/2vqQMkCDNvlOJGixleF2Q+RcdTAwMWRfNPO/XHUwMDAwvlxiN8Oc/sxnSyVSQ/lXS8Lsltxi9JxjXHUwMDE51/Th3WiESnhcdTAwMTFcdTAwMTivRNZ4x7HzsP0xqrothEzCXHUwMDA1blfD7SGTXHUwMDExjdEyo0H+XHUwMDFklCUqyOyNXHI4mUJdQ8Lnc3NcdTAwMTOYnVxcXGLdXHUwMDA2Tu6zJpRzLNJcYlx1MDAxMvrhKH2Z4oJTaax0XHUwMDFjXHUwMDFkslxi+slcdTAwMTD0xmzkoShKlX/npVx0XHUwMDEzn7DjuFxy8KdwXHUwMDE0fepqsUVi63CzwpS/cvx6olx1MDAwNptcdTAwMWQ1MVLdXHUwMDE1uYjAZ1x1MDAwMLLWyfzkrl9IkFx1MDAxMd/stOXo05csSVx1MDAxOIVcdTAwMDOewofc5Fx1MDAwYptcdTAwMTRX/Vx1MDAxMpnEg+V8ZZvzeT0lLCXDfFx1MDAxZoa1imTw5Dndine1o+hcbrPRnFs9eUoyeaBleVx1MDAxMcN+3K9bXHUwMDAxe4XOpM3swcJDQZP+ND1cdTAwMWJ1XHUwMDFm7lAotSklXGZcdTAwMDBcYlJccnZcdTAwMDNcdTAwMWNcdTAwMDLaYs7zdWHlNpB58zv23S/nW29cdTAwMGVZXHUwMDE0Uipkcoq8nmN3i3eYloWKRVx1MDAxMYW+Tzyi3OXssFPg9Vx1MDAxOF9VoSRSy3AyWrBYVUWrXHUwMDEzXHUwMDFkUNEw0Su3XHUwMDA1zqU/zMK/KPBcdTAwMDFRXHUwMDEy51x1MDAxN8VKhbywI5lC11x1MDAwM2r7XHUwMDEx2uVtgk/V2TAuYO/KbFUqXYPXQWThOYb6RdGPXHUwMDA2JdZcdTAwMTJpzlxi19qFbq1dVadcdTAwMDT/3Md90fn9WDrU4nUvKlwi3W6MyVxuS7zmT1PeXHUwMDE2qfI3/3FHhJ7pKEXuSsJsXCJ6Zr5X0KyKXHUwMDAxo7iqZEiGKUk/7FxmazCFRXqoXGLOiL3xhdNAw9BWjlx1MDAxMlx0x8CQNFxiLiOLzGsyVzM3kPNs74W5XVxceu/xgCU4bq9kOtaQfFX2MdBx4M72ZNWsdnlul3eYhEfjiOqBYeWs1NlDJFx1MDAwNJpbkHeOZllnSPLzST52N+Hk2bw272OmvKlcdTAwMGXA17CU2UJfnafZ927x/UxYjmfdz1xm62tdYVx1MDAxZS6zd1x1MDAwZapcdTAwMDB0xkb0+VGl6HrKmaz2VfydeaO4Mlx1MDAxYlx1MDAxMuTZ2SpyyC9IJoFcdTAwMWRRTyyfo4lcYtyRpdP2XHUwMDBiXHUwMDA1cc+aXG480jRcdTAwMDXlz4egK5LG1171k+Pr4n3jXHUwMDA3eOxmmHr/XHUwMDE4bytOjJ+nsFxy1srfQVx1MDAxM0ezMo1jwuhvPKmHenFcdTAwMGU4+4jSWoZcYjeAzlx1MDAwNVhcdTAwMTSRmo6Bolx1MDAwMlEh6s+IXCI2UEk2en7YXHUwMDBmXHTHn69cdTAwMWKaID7+2DMs/NOzfCejxivLkrVcdTAwMWV8hTxFyG73PulyxFx1MDAwZaQnNK7++LzNvTlWkjnnU1pfhNDlscd0XHUwMDBioJxpXHUwMDFhkdkwwj37SC8jnndlWb+uXHUwMDAzXHUwMDAx6yhcdTAwMGKm3Xdi7Vx1MDAxYzRwJU9Rq+eKT1XnXG7H7aPO8UNSdFE1XHUwMDFiXHUwMDFlK+l393pQhNYvaKfR/a+JXHRcbqBcdTAwMDBF5zNccj7Ii81FumRTlyijO7xTN5rUqP7wg6xcdTAwMGJuzFxiXG6siVx1MDAwN5jgJHlcdTAwMTFcdTAwMWZO8e1cdTAwMGb7atX9Y21B+C4wipIkevyOw3plrIJMmW9cdTAwMDdWeCxkdn1cdM70dXiwsqQo4FxcgXv521x1MDAxM62znvcgXCKRm0OTXHUwMDAxi1ko3Vx1MDAxYeNyarXi87jTo6C+XHUwMDE3qiBlxbyaXHUwMDFj+T6VTPrc48njN2CxTmrcJ5Nt30XnQXCFXHUwMDBmSDO+PFiYZpOPSY1cdO7lfZfFXHKVcaZJSII7q52+IGX8nVx1MDAxZFLFU+UrXHUwMDFh/qkgxLal8rCKXHUwMDBlnFD8Z9m0a2M4x4NcdTAwMDBcdTAwMTWBYjFcdTAwMGIwaIQp4E8qMVx1MDAxOMXaP3J+zDpIliC9/at7XHUwMDAypFxmyKJM7kPYyzBcdTAwMTBZ2dnHXHUwMDFlkNRcdTAwMGXwObrN3q0936QklYRXXHUwMDA0gnBYfsOLw31cItJkdKCNpEaziiyv5vQzTXHU9j2i71x1MDAxMsSZw1x1MDAxYj6zupfsf590N0YtZDyXq+TLUM7Xxvdd0ommSp84cFxuXHUwMDE0XHUwMDA12stcdTAwMWKutKApXHUwMDFjXHUwMDEydm98XHL6be5cXF1cdTAwMWTzz9vQaD/CtFC1x0ScQFx1MDAxY2LW7n5yi8eY2VpJ4LNby05NxO7FVd6XMCS4+F3meP6geOdP6N/SVE3C1/PCZpmPfTR/uPrscMunI2ZzkXqKmrjtQ1x0geqRU+vIXHUwMDE47zhqPUg2XHUwMDEwi2xcdTAwMWLE3U2SqnNz5PtYYZSAvphcdTAwMDJcdTAwMWW6VptcdTAwMTdOJCZGXHUwMDE59LBcYldWXHUwMDE475dcdTAwMTNgQZeeM/yi6DDg1Z0l2Niam1x1MDAwYmiBz3BpsFx1MDAxYUVv7VZcYlx1MDAxYyDWgiAzdUgq6+G6XHUwMDE2Wlx1MDAxNerQ1Xrb9MKEY/k/oVx1MDAxN6vbbW2prU7cXHUwMDE4Xr/3PChqmVj2ZlxcUU4nUiV/m/9RXHUwMDE2ml/44YTZk+pcdTAwMGbtYo1aaZqU/ipT051xtIWY3Vm/XHUwMDAz0bhP81NwMrwnda6Eq/SoJ3xcdTAwMWT+XHUwMDEzJUItV26GrshcdTAwMWS5oT8qQ1x1MDAwM4m0o0l2dWLTpY0uNkmgXHUwMDAyS1TEiEVcdELwSsenJXx8X/w2LZhcdTAwMWZcXPKJYNqsWH3v1Fx1MDAwZlx1MDAwNcgoLVx1MDAxN1jRuzQoXHUwMDEyW7hkXHUwMDA1ns2p2y/mtSrJPsqflPPjb3aJ4GPFXFxcdTAwMTdDmsheNOUrdST0I9WbXr95/f5cdTAwMTmH2DNQgYFcdTAwMTIpUlOCPn4nQoOAOL9cdTAwMWbqqzjghDGO/Mr5XHUwMDEzuvTR2bj1W+U3Tcos6CXc/UFei/TvrIXLXWbtosieOTfV/d5SWnZcdTAwMTM8eVx1MDAxM9MgXmr3ljVcdTAwMGZcdTAwMTWtnF16YV5K13ZcdTAwMGU6oNadisCHWn9cdTAwMWJpvKPuXGbGKFBv0Tj8QnhcdTAwMGZd2Plqb2yO2ej97jJ5tlx1MDAxZlx1MDAwMnzM61x1MDAwMUHsXHUwMDBisn2yfX+Sx049klx1MDAxNu3fk3koP1Ps5Z21bmOaon7yt3iI+NhMP9/aXHUwMDA0vyOJX8JDXHUwMDBiXGJKkv9qKOlcdTAwMTOjYmN6TV2HIWSa97hcdTAwMDcqSTJcdTAwMDbSeTRHXHSOnptcdTAwMTNzueubmN2XI4vLhqXSglx1MDAwMCq2Rleyro/ZXFzOK8hD7F4xMNDRX/m34Efi2IrmMFwiYJ+u/djAy7WRqbKxXHUwMDFjZzadw2Ujm1x1MDAwZVwiYWw/QUqtnVx1MDAwMSzrUH6E+NhaXGIr0U61xetcdTAwMTZcdTAwMDIxOoVcdTAwMTVcdTAwMTGRXHUwMDA0z3dUusiPsnKHXHUwMDFix581XHUwMDA0i56ypn69vTgnnrKwXHUwMDFiaMxuoFx1MDAxNeA5z9VJ8P1kiy9n/ZpVMpXo63hccvsrfjhcdTAwMTNcdTAwMDCy2lx1MDAxM9urYY7nTcZp0qlcdKCPKDT6K845XHTb9sFN1rQ6eIjW9pZzYjuTfTVcdTAwMThnPFx1MDAxZlx1MDAxMjM4SXBAXG6/RVx1MDAxZNJ6esQ6cHJcdTAwMWabY1KdwbdcdTAwMThcdTAwMWSJ8c2el+NHSJ1jj0Sh4P23UTVnXHUwMDBiQrTis5Tz1Okkv9nz+a9ccrF5tvSQeVx1MDAxM3B8XHUwMDE3NZFTXCK3IJQvhCDlhlx1MDAxN5KevT8kNfYpol/gnXU4aC++aTaVXHUwMDA1XHUwMDE4XHUwMDA0j4rR/uVcIsBI3sJcdTAwMTh/8OUr7NSm9Vxcdc2Rm7a7LFSEo5jsw1x1MDAwMV/rpyY/J0Vf8f1cdTAwMDMlle1KnsLV5WNcdTAwMWHkPTY1XHUwMDEyyFx1MDAxZW1t7rx9plxua0OdOqBEl1x1MDAxNfEoTWtZV5Nv9j0sXqXfXHUwMDE0QGokxVx1MDAwNT6X3PdcdTAwMTadwd2Xu3Ba/Fx1MDAwMCBcdTAwMTVPpIR8OrrqP5wo9DNI6p7bW99cIp9/MVthhdBn4cvoilx1MDAxY8xcdTAwMGb1Wlx1MDAwMeWZICrdYpyPVZnBVlx1MDAxMVx1MDAxN+1+V79IcH6+m2O+/rDk55lcdTAwMDBcdTAwMWL0zZ/ifySdxZqsSlx1MDAxMIRcdTAwMWaIXHUwMDA1bsvGXHUwMDFkXHUwMDFhh1x1MDAxZNq4+9Nf5txZ99dSVEbEP1x1MDAxNJlfTZqR01+nXHUwMDA3eHj4K1xmu1x1MDAxMlxyUID24IEuKNahIC5cdTAwMDBPvNJZh35u2zZUo1x1MDAxMmlcdTAwMWWZPt+bf9xBMZpMplx1MDAxZDm4nShW2uJYplx0XHUwMDE2Musj4UDwRtHldOtcdTAwMDRccmQznmksTMhH8Vx1MDAxMVf/63BlhvT215CofuLZyqzBiVx1MDAwM3eAZOxcdTAwMDVcdTAwMTKQXHUwMDAySKDxXHSgoFx1MDAxYfy7KJPrt6tcdTAwMDdcdTAwMDPY9DiBStxcdTAwMWFAZ9NcbmBroL2M+vriQVX4sMqB0Vx1MDAxNdT1NEaXY99eQ0OPpIQvz1xysfmKI2B2VompXG5/XHUwMDE3b56eXHUwMDFl4qhcdTAwMTD02lFcbu02XHUwMDAyXHUwMDFjXHUwMDAx/NitXHUwMDA33lx1MDAwMr9OXHUwMDEx/sr2Tuv4LLyHUDr3JVx1MDAwNof8RGrLQqFcdTAwMTZQXHUwMDE48kLddC50oOs0Qcv4eslRzls99MKBpUQnrs28XHUwMDFhxGbmb7p7hVx1MDAxZlqJ5eiB/iyM+fBcdTAwMWH+MX5cbuDWv9XLn6TJ8MJcdTAwMDI9XHUwMDE5kO7Z/7NcdTAwMDKCYnou7rR2XHUwMDExn0yD5tC0e1x1MDAxNFlcdTAwMTjEnZ2/9mbo65tfz1OuvsMpQqku3FfK7/jS+YbaxDS31O5cdTAwMGLOXHUwMDA1XHUwMDFiWO/3iJJTXHUwMDA18OI0TFksXCJlMP+8UtmS1eL5uc271E1e/N9cdTAwMWPKjy9cdTAwMDFcdTAwMDTPY37gXV3HiFXrf7hx4eXowOR5nnZMZ1x1MDAxOSuvgegxXHUwMDEwsoR4nDpMOVOEdauMVv4+XHUwMDE3V4CP6mbmUKEkl5RWS1x1MDAxZuhmrM/tqL3/uVx1MDAxYn1Wne28XCLWKcrjXHUwMDEyXFxcdTAwMDWChFx1MDAwNyFpyED8XHUwMDE5c2lq1dftlzKiv/GfwpnWPdSuTPuZyzxqV5N8jM9ns1xyfe9cIlxcaTbCSYeqPeQ2/Lz7XHUwMDE3PVx1MDAxNu6kqMxtXG6LY1x1MDAxOMQhtVx1MDAxObBcdTAwMGLzV4NSnH5cdTAwMWZccvlMguwqL6bYLVx1MDAxOCy6WMI3XHUwMDA2KXZqRaWfrYorXG65QZp3osvD8nxePVx1MDAwNM04XHUwMDFjyJfWn/P8WCM8IynIkT6G4v+8ds7Enyrs8GFd5jpWXG6DgufvKbNJdNCWh4pcdTAwMWUj08XegHBcdTAwMDaOS9XMjpiXmVx1MDAxNHbUXHUwMDFkV9A0U1PYkqDf0kN5XHUwMDE2VLhcdTAwMWVcdTAwMGJkSaae9Fx1MDAxZkeoRalcdTAwMTe8671ouuTF07Urmees3mexxVx1MDAxNFx1MDAwMJY4j3q5TFVHtCTF65GfVCF3cl7J4bh1glx1MDAxMmDurnBoa7rUe3mmXHUwMDE3jUDn67HtkapqZFxcuWFF+VxmzWngPKD8yE0qPz1xXHUwMDE5s4NcdTAwMTX01kVcdTAwMWQntMYh8rND7O3Mvr9cdTAwMTFJJ1x1MDAwZvi2dNhN4HbMXHTBLFx1MDAxZF6UXHJNooT05nFy/4k2XifQXG7ZXHUwMDE3XHUwMDE5k36oalGBh7z8yTghXHUwMDA0XHUwMDAxXHUwMDFjXHUwMDA1TFx1MDAxOSpM2a7X1ofcVFx1MDAwMWpJzM06qfDe57dcdTAwMWJcdTAwMDe9XGZflFx1MDAwMDwgMjJK0NRcdTAwMDbCMFx1MDAwN5dYZ1Q4atDXQiN9mv46qGyIQkgqYlxcfVahY45opMu1jNJcIsuwVycy8GlcdTAwMGVw3EFApV5cdTAwMWVV+PqMeM2XsmCGfkCxJWNT4Yux1M9cdTAwMDd/UX1cdTAwMTNR8cdPdm5GNE++JevPV9bgP6qukZFcdTAwMGZcdKyrt71cdTAwMTbyidyakVxyZVqSa4H/Pm/NPFjhvozzaSNjwFxcoPxGJJ9vgVx1MDAwNmmOXHUwMDAxVd4pfb5IWl3yQ5IkZ61IqkuvXHUwMDFjhDU1PuTkhT5cdTAwMTbL+q+SyliCuFx1MDAwMlEkO3rl4rq2ZVfO1YjfRGtcdTAwMGbKntaIwFWIltDmUINZ3zppjytbL7vjyzRcdTAwMWVcdTAwMTHd41hcdFx1MDAxZrRcdTAwMDJGVDOluLbIdFx1MDAwMz43mVx1MDAwM+BcdTAwMDfwXHUwMDBlyVx1MDAxM+CcdVJOb0f9XHS3zpe2nu9cdFx1MDAwNfuRKWZY61x1MDAxOcE9LN44/Vx1MDAwYiNtNsd5fsSfhnOUxdGvac+vmEWIRGHUoVx1MDAxM7H919STso5mhb56XGLcM6puKlx1MDAxM23FxI1P/HCTUq9NWCBxqltnSH18YWpTTnuaSHVqbylYfPt4iSGOfVx1MDAxOFx1MDAwZaOCkUNn1bTFirlcdTAwMGaQMeSBn7nr143u9ctcdTAwMTde21+psFx1MDAwMFx1MDAxOVx1MDAxMNzRMlx1MDAxNrMv61x1MDAwZXncwW7ooKDQXHUwMDA0M0VdRbuisIHGXHUwMDFlzN3WXHUwMDAzltlKgTXlZIVNXHUwMDAzQJkv+knqwDhVUc+N56XqX2lSf+qvsJ5cdLBSlHx6qlGehHB701x1MDAxZFx1MDAxYeFccnS6ceA0i0xcdTAwMTEvLo4++3i2XHUwMDA2jsLUpab51HfxQ8NbeeR6zNm/O1J501xcX1x1MDAxN87d6ehhg1x1MDAxNFx1MDAwM5ZcIk2CSDxrb42okFx1MDAxYoqr58IqXHUwMDE5KzjHstGs2ZC/drldWFx1MDAxYc+Wz06DtMRX3eI1+GE9WutcdTAwMGJf2Sz9XG5ekproeXGyXHUwMDE2hIx2SUIxmVx1MDAwMlLjS1x1MDAxN3v49ZstLO1cdTAwMDdcdTAwMThcdTAwMWVFsPo3N9mFg7imtMxdNMy1iSrtXTKTkkLymyZtwODIoY5Nurlz4j7CXHUwMDExlzLPmOE1VWN5qJFfk2uduF5qg/hkavF3bmKfXGZcdTAwMDQ+r17NXHUwMDE3hP78WFmbg3KG4CNn4pm6h/WudYY2VVXkX19wvUBcYno0XHUwMDA36IB163NVnLhEJYvEpruEscJCQjpEOtBcdTAwMDMltiRcblxuwEqwqKR2uy2SUIO/3ItcbopsXHUwMDFjbzSrq91cdTAwMWGSXHRcdTAwMTBcdTAwMWRJkeclIaaLNL+MJlx1MDAxZGBcdTAwMDPXJFx1MDAxMaJ8yXlybGbJuFWyIajMkVwiku0wXHUwMDAyyzWvMNxt3Fx1MDAwN01hXFzeYblU/lxiXHUwMDEwJjTt61x1MDAxOa3UXHUwMDBmXHUwMDFktDMtaqbtYJv7nybdXHUwMDFmJ657uVx1MDAwN1x1MDAwMIH9XHUwMDA3RIRpsdf9REaso+k4OpWI0U26iVx1MDAxZiHeza5cdTAwMGWZVPJN2/7ZjqOFICTbXHUwMDE4mFY3XHUwMDAwKsHrlFx1MDAxOElWjOUqKEX0bjCFRrLbljC2MXyOUXlbWlx1MDAxNW9cdTAwMWUsccvNuGS+V1x0qap8nf4+XHUwMDFm+cMoNi94+VuNSdEpp95JRGBcdTAwMTJOW1x1MDAxYXhcclx1MDAxZiaBzVx1MDAwMejots6OtlxmcUxcdTAwMGUuuiM2wPGNflxch1qjPfFA/sONj6KyZztcdTAwMDaGjJcxUFx1MDAxYoqzXVx1MDAxN7mu6oJcdTAwMDJLdWLlRcAgqFx1MDAwMU+yZe9OTFHGg/3eWyQ180BFi1x1MDAxNZBTlJt4VH8+T729mWZcdTAwMTWPXHUwMDFk1Vx1MDAwNoyaXG5Q44jbmcZJXGZ7srCUnHDC6DDyZv9SL3WfL0OSTPWD0vizXCJd5nvOoeTXok5cdTAwMDZRfMsjXHUwMDEwX9QhkP0pXmhcImhmwJ6hXHUwMDAwfpDIMYszYTP21uovot7PalTh+3dLtFx1MDAxN7lvwJ+8J7zCLGdF0bGAfrVcdTAwMTlcdTAwMDcobH/mvpzT+1E0Q5DR6mJpXHUwMDAzXHUwMDA1lNbfqVx1MDAwN3DxePRcdTAwMDdVg+x/ddbe7LWbOHf0cLNoxkVztrKuw4cnVfqYYfK1i1xuxzCJhFxiUXRmtOc+6HRsXHQtXHUwMDFiW5/4qKQlJGOsXGI0ydnZXj11lNX6xiZipb3T4WUkuWRcdTAwMDJcbndpKFhcdTAwMDQxaDxNuVwiXHUwMDFi+bM9f8zZ1D83RJ/Lzi9cdTAwMWPHoY1cdIONeGxcdTAwMTHX1L85KIRcdTAwMTi8wLKGO5puXHUwMDE3mc9wsOxcdTAwMWWq2lx1MDAwNKfZnl/Lh1x1MDAwMVx1MDAxN6wjIOq+NqQ3w3zOkE4nXHUwMDE358uQ2ya8XHUwMDFlbaXBh0D4XUwqXHShYT9CePzwclwigEKxev+C6ftcdTAwMDOAt4JcdTAwMDDyoEq5dcxvi2+EiSP9pprE08IrTeNcdTAwMWZVXHUwMDAy3zooXHUwMDA2XHUwMDBihOKmwmisXugwWes1xFx1MDAxZVx1MDAwNuqg9bY+j7TiXHUwMDA2XG62bZR1mVx1MDAxM6N36nhfXXeuNE8x8i3rv1x1MDAxY/xcdTAwMTDiXHUwMDEy9lx1MDAwMtd6Xo9Uj8hcdTAwMDS+gUo/isFtXHUwMDFlXHUwMDA1XHUwMDEx4N2qUVx1MDAxN8r32nPc0+m2ePo+gcbYfsNcdTAwMWWGf1x1MDAxYX5Yo1x1MDAwNm9cdTAwMTmMY89afqVcdTAwMTEwXHUwMDA1nMSNY0GlPnJC1Yu95HQ5XHUwMDBmM91cdFwiXHUwMDE0Z6rj0Vx1MDAxZuh+f4ZYSs1XY/vFXHUwMDE49WhrdWKoXHUwMDFmvGPV2aHW0IFEWLtcdTAwMDSTQeCkJkvf84vtMm/omXzGdDU1QVx1MDAwN5afXHUwMDA3uV39mDVjo4RGf1NcdTAwMTY9XG5qXGJhXHUwMDExvGOyR6Bof8S56i17XHUwMDFjIa3Xoj70di37ianzvJ9cdTAwMTU18qpXXHRcdTAwMTQs8kXU7rjFXHUwMDA3/EXFkXzQy0eePisrKYBOfr+0xJrjq9hcZk3gtFx1MDAxZVx1MDAxY0lcdTAwMTn/kORLilxyTrBLh05cdTAwMWV93XdeOlje+1wi5yH8ITZTnchgub4okYHg0+7hMo4/Z+0ow029X1x1MDAwYjPtgFx1MDAxN44kjlx1MDAxZF/JWCBcdTAwMGKx5rSKMjeezqZv7kvSXHUwMDA2XHUwMDA0X/SLSKSDg3Ft6dFo2abaNbh/7GVFtVaDXHSwbE02fdRcdTAwMTf/7I4rO6xYNlx1MDAwMNP6ZVxmaFwib1x1MDAwZYRta1qVLZMqXHUwMDA3lMTWl8JSulx1MDAxNlx1MDAxNCtcdTAwMDRcblPdlKjmpsUxqrGux/A3qiOmULnBsUU7XHUwMDA1J9xgfedlQGG9oOLVcnHcjlx1MDAwMbvEMr1cdTAwMTjfNMAq3ClcdTAwMTiHXbhcYjXj4Nm+R0N97ry8LubdXHUwMDA0sKKYms48oTIxXHUwMDFk5Fx1MDAxOCr/fTNcdTAwMTJ/bFTP+aTQkTSyZWds1t+AdrM8aWX+XHUwMDFjfkDDXHUwMDA0367xXHUwMDExZfx45lx1MDAxZVxilXZcdTAwMWOa/krMy3qi/Vx1MDAxMolKhUSgX3vUSJ9cdTAwMTn/fX9cdTAwMWSBtrk1XHUwMDAxJqTZXHUwMDFitlGvrK5XavzOR6H++ulcdTAwMGVcdTAwMGaC+Vx1MDAwM7JvXHUwMDFmPDHA2H1cdTAwMDJrtnVIyrtSXb4/7aFpXHUwMDAyWfZpdXxy0nFSk7RcdTAwMTKk5Fx1MDAxY1x1MDAxNGB6XHUwMDA0Z1x1MDAwMt8qK2EoXHUwMDE4upxcXMUnkCbFvP7Ern5cdTAwMTZZXHUwMDE1vlx1MDAxY/w89HlcdTAwMTiWq6Fcclxud7tG8SBIa4BT2DdnYuxxXHUwMDFjtn9YmnpTUC1r6NY/dLmHslCCfFievFxi5jZcdTAwMTjmgIW0JFx1MDAxYybDYSxcdTAwMDRcbkREj2ZuXHTmaDl6hZUuvlx1MDAwN/ToVbZrcspfN4/PO4OIJtxecPZcdTAwMGbw9kBAXHUwMDFjXHUwMDBllGxccsGOwqX0sKz4YFx1MDAxNlx1MDAxN0dXol+AM6n5z6OcS1x1MDAwNCjqXHUwMDFi9W68vFYyz+/a/fFtXHUwMDE29Fx1MDAwNP7Afb2bwZnK0JI7dVx1MDAxZHzS2ftUXVx1MDAwN9HNQ/FvaFx1MDAwNqsvelx1MDAwM1x1MDAxOamPQarektNcdTAwMDaO65PB53uzXHUwMDFmXHQ+63FVdfdTtvqZXHUwMDE3cvZIYHtcdTAwMDOVXHUwMDA3XHUwMDE5sP2Slae6nkXm0E5of1vL0Vx1MDAxY1x1MDAxN1xylqdcYnj4pUp/p1xi3+5cIictvyuoKKXzpIea+l2MvlYzXHUwMDE1eFx1MDAxOdg112tMXHUwMDEzK8twRsehPlx1MDAxOcw1r1x1MDAxMuthqPrcXHUwMDAzUbxcdTAwMWWZw3fMhr9cdTAwMDdcdTAwMWR8MsF9OTTHXGa2XHUwMDFmJbSWOHNWZFx1MDAwM6FcdTAwMDSEk1x1MDAxOarVS1XxMNTVV+v2My5WkbTwmqHGffD0sWT0q7xcXCCQXHQ7fsY2XHUwMDFmrqdcdTAwMTGGsyAzaaNcdTAwMTNcdTAwMTcxt4RRZvYrXWmhNGbz/UkyUFx1MDAwNfBnb2w8kDuQgNplXHUwMDE44dQoh8jxtr1ENrnaOeZAXHUwMDAyh/j2qfu6ey+VXHUwMDE0h7NXzifBtCrtdUv431BEWsuHbF8lxDSicFwi0LtsI9s3XFytlL93n++DY9tp9npCpPfezfyogpRcdTAwMTaqXVx1MDAxZn+xlMKCp5wwV4y4o4k/6Gc852FcdTAwMDDVK6KKK1x1MDAwMXKz1IShOW18/5oyuMhcdTAwMDSDteBcdTAwMGWKYne/0K1T1X17sVx1MDAxOGZa4Zw4tkSfT8pcdTAwMWJcdTAwMDBcdTAwMGKCuJdFVjh62WDcXGJ+j8l4jv5cdTAwMWX0XHUwMDE39jfqxfp+6N9QfVx1MDAxYX9xvitcdTAwMDCmm3JPrLJ8XHUwMDEyI/g79WdtX9LeXHUwMDEyXHUwMDFjJp23wsPLXHKv13hcYsBcdTAwMWShworeRdesg6ZcdTAwMThosYYmRPgvoSzufs3G7T7PlJ5ZXGLCd1x1MDAwZskoXHUwMDE20jaofc9cdTAwMTBcdTAwMTJcdTAwMTGQ+piW1OBcdTAwMTbSsaeCXG41uSDU3ls1vv62LtBsjI+jPVxmRvbghKbJ+Pz7ub7ry5xHRFVcdTAwMTXur/BcZmlhtapyID4rLeLZ/eZcdTAwMWSAXHUwMDFhYlx1MDAwYuXbsY3MYGzrcSZgflx1MDAwZVx1MDAxZX4jNmpYXHUwMDBlwVwicVx1MDAxNrWE05h/tZBcdTAwMWTCr3+lnqT31zy/upSpXHUwMDA05DNaUGVyJearXHUwMDEw45KGPqNcdTAwMDWjrcJm7jzXM1x1MDAwNVx1MDAxNEmKddKqxEBKXHUwMDAxpJv3vVx1MDAxMnXG8u9/Z5fMOm9cXEZRklwi9FxmzFx1MDAwN0RC07RKJ8CGd3NcdTAwMGbJ51mrvCw+kmWBVJZcdTAwMWTWeCNgYFDIhFx1MDAxMSm00Vx1MDAxMbY9hM1ItIXgO4rCXHUwMDA0XHUwMDBibYpzIdHgUNG+Xnov//jfMeqQrGpzUZKAS4JkmF/vRc6/iNY/h1x1MDAwNdBcdTAwMTS8IFx1MDAxZFx1MDAxMbVcdTAwMGZgXHUwMDBmf2x+XHUwMDE4XHUwMDEz6oQwSsrk4bJpieLV0rZcdTAwMWR71+xL1rf1dyBfdK3dJGNN7Kr9XUoljZjt9trHXHUwMDAzXHUwMDAwzuGxUN1cdTAwMWM8gt3e07GdQNNkw6cwolDQl7Om7nf2XHUwMDFin3h5fl9zuFx1MDAxZC3d/lx1MDAxZbh0xXr2hTvCazZQe/qVXHUwMDFmtnT5L79cdTAwMWbt76aLpVx1MDAxMC5LdFfRq0P9ysCRvj9ke17Az9mPgFxy5sVqi+32tc1EXHUwMDA2b/jq4pGPgYaO6WuJiJq8xuUsKStcdTAwMDbsm5j5xPBuZNxQ9mPLXHUwMDAye1xc5+r1pXspnGDgNkBcdTAwMGLpXHUwMDE29r9cdTAwMDWFOVxix2WsXHUwMDEyTUmsxYYxXHUwMDA15fjUbVfnpEhxcmGSuraX8X7lXHUwMDAwtXcvQf/w6ex8oVx1MDAwMWpZXHUwMDA2RNxcYraQiNNcdTAwMWNdP00m/dQ5Z3Nb+vSC57uR5JlSo1x1MDAwN56a6ldCTTRhgMOLTFWPZ1iCUVx1MDAxYSE6X2xVxWR+teZ9a1x1MDAxMlx1MDAwNWFcdTAwMTVq2feVwdgokMPudFeLWlx1MDAxN37uXGZurktcblx1MDAxMDI2ZWzE5HA0tSxWZttHXGKZy1x1MDAwZVx1MDAxYr1cdTAwMTKnxIw3JH+Pzuru3T7/7lx1MDAwZlxutfqt0deJye5cdTAwMDXaTvhMv1lcdTAwMTaJ0ELL3dKJ8rg54O6cXHJdrutcdTAwMGK7lS+lc7TIV3qvhtTvOIY4RfFNXHUwMDBiXHUwMDEww0hm1yxwfyxcXEF1ast8mp/gXHUwMDAyqXWVS+HoUsZcdTAwMDJcdTAwMWI+wexcdTAwMWNcdTAwMWXWto27+i8q/j1cdTAwMTU7fndcdTAwMTVcdTAwMGJh8FxugZfByJxaY1xcVlx1MDAxNVx1MDAxZMItfSlcdTAwMDLZXHUwMDE5/VBcdTAwMTPoVYeje3BxKlx1MDAxOFx1MDAwZlLvU8MxwDN3XHUwMDAyw1/t1bm2X9iL9uyrRPIuMDVxgNhEapTc+r5cYlx1MDAwM7opXHUwMDAzRlx1MDAwZVx1MDAwNVhcdTAwMDPDXHUwMDFiUVc8Z8TS2Z5cdTAwMTjcXHUwMDA38O7gXoWL3WZ/nlx1MDAxZU1cdTAwMWLShvb+2D1f5ypAgVxun1dKrZlrPzpcdTAwMTadXGJ8pyh2KZI1QsJkfr247Y2gyNlja71cYrrAhFx1MDAxM4M/lFx1MDAwZZdcdTAwMWVFOFx1MDAxYXDoWVHag6xcYtr5a9668CVcdTAwMTmsJCvvIdtwsLOFjEWlJFP6sFx1MDAxMylcdTAwMDOg4+hU3YNEXHUwMDBmUjFkOSCmKaGgJE7spFx1MDAxNz9ZmvNZgaCZZCqvmObSsf7oaV98gmDo1MYgR2ssXHUwMDFhjFhcdTAwMWGMrUyysqlcdTAwMTTc14DSh6nOplxuZVx1MDAwN1jW83SPjvHBXHUwMDEzfIWVckxWiG+WXHUwMDAyZDRbVpUmblx1MDAxZsu/pFNah3aekDxzXHUwMDE1hMCGwPdcdTAwMTbZKvm74FFcdTAwMThHOVx1MDAxN0VvXHUwMDBlvCp2XHUwMDA2XHUwMDAwsPjKn/iBXHUwMDFhLJxSJEDAUzPfLLnnwEFe3P41XHUwMDE0/H5cdTAwMTVcdTAwMTU1gfFAlqNS72YtTCk/flx1MDAxZuSHw7HqwFx1MDAwMOntX1x1MDAwNqT9XHUwMDFjxItIvjVcdTAwMTeA0zNZStqVonVsfoJcdTAwMGb7XHUwMDFlllx1MDAwZmO57XDWIFx1MDAxMGlcdTAwMDDcdyyRe8lG53LQfDNcdTAwMWZcdTAwMTj6ecz6QkpU1C/1Nugy9JHXnNL3TCymVzNTMVx1MDAxOb2fW9/6gUo9XHUwMDE17zVmQG6VXG5cdTAwMDf/mOFnXHJSxTuYxThVg1x1MDAxOfQn+U3nTibfplx1MDAxYlxyRpDwi5+lXHUwMDE0XFx+fqFcdTAwMTOZaf9eWbKxhI1ILD1pkP9513XXpslcdTAwMTHbPrNaVc9nhqQwKo1cdTAwMDSHryjp2cBcdK6XNTwx/PFcdTAwMTcusYuLXHUwMDFh7ib9XHUwMDE24Vx1MDAwNkdcdTAwMWOY+7/qXFyDT1BxfDVzYyiIylx1MDAwN7zEyJD4npxcdTAwMTZa/0SWaFx1MDAxMFUtytU6y1x1MDAxN/JcdTAwMTXROFtcdTAwMDPQwtGDMuNcdTAwMTUphJLxXHUwMDFkhOV/ndjc2rZ4O1x1MDAwZbQrw1x1MDAwME2lxkl971x1MDAwYudX/EHlN6e+icB2+EnVjFx1MDAxMk9ZV/C9YolcdTAwMWVLjOGbm66vV7SP//6l6oEhUtFd61x1MDAxOPjTXCLAOI83XHUwMDEz6H+3XHUwMDFiyX+USfo+XGYyf918cF+Z1YRrQ8RcblNcdTAwMDJcdTAwMDFcdTAwMTUo82DUQpFGaejbzeuW6DJPYI521VeY8FxmJrfcSyWeXk12xVxcfVN1Kk5Uor9cdTAwMTnC7mfLysLnN49cdTAwMDBpXHUwMDA1wVx1MDAwNf9mz2Fcclx1MDAxYcu+6q+Ggkuwgdzvd777r1KHbJaM9TDiOVdomobfXFwg1JO3svyZPUOfK1xiUVhcdTAwMDbWxW54r4xcdTAwMWOlp8h9qjhCMpeaJlx1MDAxMFx1MDAxNW1zMKJPp1x1MDAxNFx1MDAxOcYhbNZmplx1MDAxNlx1MDAxZGHtg8lCxSH1w+uXbt7l81x1MDAwNNjXXCI+Jlx1MDAxM2DOuphdXGZcdJCdN0i72nm0p4ik+pCG9Ss8PV7dgZrcVsi3zkXP/DNRYK2gIFxyP1x1MDAxNUzU31x1MDAxYYt+bf0mqzTwWKd40lx1MDAxMyr08y1ewNsgda3Dh1x1MDAwZVCAVHH6pfFcdTAwMDHRQSBcdTAwMGaOsvaVe95nU8SiXHUwMDEynYzoZdavXHUwMDA15fjpUlwiuKJcdTAwMTlcdTAwMTaelmsvcPtU6fBcdTAwMWLdbVx1MDAxY3i68DlcdTAwMTdBlWhO0TeXmNeCJVx1MDAxOVSeKtf+XHJk1Fx1MDAxMDjOm1x1MDAxNubZ0NajXHUwMDA2vkdcdTAwMDdhYoh4XHK3pat4sLZmXHUwMDA0XHUwMDFlXoFblSP4eHve7TpwILZcdTAwMDZPrL9oocBcdTAwMDMsRdg4NeB1XHUwMDA2JklcdTAwMTk90pBcZknCSWZJoe5cdTAwMTTNz1x1MDAwMOh7vitz3YdcYqJH7bNcdTAwMGJnXHUwMDEzsytcdTAwMDbl1nlZT1xicVxuILQjaZx+KVx1MDAwM6lm75OMzXRwh1x1MDAwYqqMXk2I815NJFxyXHUwMDEwvpO5wZJvgpiYbtShq/LDPTLx9pRcdTAwMWJcXPaU4KV4t5pC8nP97XWPXHUwMDE3uqc4oXLsmsuk78Xnd9tLPf/cXHUwMDBm5EvVZb6fKU6bKFx1MDAwN5x158G+k3zk8Vx0XHUwMDEyXFyL8vL17/iff1s/xdOphT2rnDOYi1x0W1xmKFx1MDAwZS+rXHUwMDE01UnC5kfW2ZlazNhcdTAwMDHPxMpTXHUwMDFkhtfleTos2yauXHIoXHUwMDFhvtd3g2g5iGWZZqiBTe5ZUixcdTAwMWR2Klx1MDAxNoNcdLRpIcFcdCvpcKywaVx1MDAxM+FrXHUwMDFhqlvDe2zyr+hcdTAwMWW/sJCPozlcdTAwMTLPuZ5n//DJXHUwMDE46s1bjUdh/Fxye0uku3jifChcItaws8a+3JZcdTAwMTW0r4E2XHUwMDBmSahsbPWOw1x1MDAwZmFcdTAwMTm2ccmnv1x1MDAxMc+sdYO7u9rfN9RGXHUwMDBlLlxu61x1MDAxMb8mXHUwMDA2blxixipcdTAwMWRfzudCo31HjvD2KbZEXGLrOrKckVx1MDAwMNR0o64goFx1MDAxM2VjSkLhNtXhylxi07728ihcdTAwMTZcdTAwMDLN4diq01x1MDAwN8XtsDiE49WVlN+qtJz4Qep+0VtXUGBE9EaSr0tcdTAwMWLioVPSuurP0Fx1MDAxYd67nK0guVx0LIOF9+bG+Zf4emx/yVx1MDAxNz4mgpLCxdpZLS4k8VnIiv6Ws9cuS19cdTAwMTde0UxVxjpcdTAwMGYslFHf99BXXHUwMDAyitjgODaWXHUwMDEyujhcdTAwMDJcdTAwMGZIXHUwMDFmWFWxcvdtXFzgj5Qy7++iXHUwMDEy+1mUqUWVXHUwMDE2eMSHXHUwMDEycoHAqeU34d+Y+2NRsFx1MDAxMY3rXFzGslwiTSVgeiVdXHUwMDE30M9rsrZnYYdcdTAwMTJGkJfPZrpcdTAwMDNccoVDulx1MDAxZk/4enj7xGuZqzdcdTAwMDA2fNlbkbqH0at44FJQXHUwMDAwfjpSuqfjUONbgOVgoVx1MDAxY9PfXHUwMDFjIVQw3uXI887GeVx1MDAwNEHyT56bz1x1MDAwMHzPXHUwMDFmpTJ0qy5XSpZbXHUwMDBmXHUwMDE2Z1x1MDAxMeTa65yxhKE0m+d06lxuR8KQdVpcdTAwMTZT03reh6wu6llcdTAwMTBpu00uXHUwMDA2tstcIrlcdTAwMTdZdpRcdTAwMTksRn0uNkBTP1x1MDAwZehcdTAwMTVcbn7Et5Hfglx1MDAwZr9JST31L7auzdLQXzxiudXw9Fx1MDAwZmfgWfhcdTAwMDGGViRJeeSpRYjchuZcZmEhsYZcdTAwMWF7UngsqZqWtao4dJj34Kv17eFcdTAwMWViv5HJ5126mvpfxXBfT2RSre+tm39GmYote8KBsq+Nt+RfOlx1MDAwYsnmK8VcdPhthONcdTAwMWFp/o0qXHUwMDE0WM1vwtqlZ4i3XHUwMDEz27+VL9h5XHUwMDA1/1wiXHUwMDAwUFx1MDAxNalA+OnpRoRcdTAwMDLaz6n1Q0Y4nlx1MDAwNEtUvUp2XHUwMDE00Fx1MDAxZXdV+lx1MDAxZYFcdTAwMTR7idybx/jVT8LOk4qqnIny8258SHzIXHUwMDE4873JPrM1N6pcdTAwMTVJlc+h1PrzXCJ2XHUwMDBmvNxYn9ClfJ3zXHUwMDAyLa+Vpk8nXHUwMDExezOqzkG/lJBCle1ccnMrnjd/cUd00tqj7Fx1MDAxOCNMlH1cdTAwMDKKXHL2LkUzhFx1MDAwNpu83eT5XHUwMDBls9Pe/lx1MDAxND1WiLI84Pa0XHUwMDFimsZcdTAwMWbuXVxu0Vx1MDAwNGZVgLp2nk2Lb81cdTAwMTTNbSR3iOTE7eVzNEE/MVxmulx1MDAxOfU6X8rF0727x3eTRCbkgGJMZfL2poV1xZGGyGxcdTAwMTFn41BRZyluuIqfnHpcdTAwMWQoleVna6KzuTRkjKIqtSiKdlrF+PuhjFmY5HGlN8J9oLyjoqFRbp9BgcWfsSCLYFB5stWFWmk1vkrsdlx1MDAxY29xpV9TXHUwMDBlaoyE6a61S0KaXHUwMDA1lUnvLCU/8lFcdTAwMDZcdTAwMTlcdTAwMGJtu5zNXGIoscI6XHUwMDE4jHibXHUwMDA1RlxmqJeObcWQXkC8vslwebpccl1cdTAwMWbuXHSXUFmMRYzoOmpnbdTKXCJcdTAwMTgvtKuva1x0QZ4h7+pEO4veSZd5QFx1MDAwMIqoM1x1MDAwYjRFy1x0sndcdTAwMTM0eiggL+VcdTAwMTY8pPCg0tdcdTAwMTfW9utcdTAwMGVplsCf5tVk5cPv+IWK4IBaR1nWfz1wz7y+XCL6/k3NXphx5P7d51wi+ibYLJPOTsqN1DjHpY5cImM/xFx1MDAxOWT9pZnYk3hcdTAwMTIrfPTWWLfqea5XMlx1MDAwZiFMKpPRwkXF7y1/Mlwikutl7dBcdTAwMWF1L7Q2ZTXWR2q+Rlx1MDAxNeFXPr7sO4PlLs958ZRcdTAwMTWGhlpWPO3n9SHt0V1cdTAwMDZ8lfBnXHUwMDBllnOyfSR/XHUwMDE46CB4K51QXHUwMDFicK9cclx1MDAxMCpcdTAwMTKE4u9Z6O/S6r7wslOlSi9AOZJcdTAwMWN2MpH0n6m2p01cdTAwMTGE3O/nmuIqXCI2ekFl81x1MDAwNlFcdTAwMGXv9UPTVfI9IdJBVniN2pN6nJVU8lx1MDAwNz2IVoRFhW4w91xytFx1MDAwMaj8Pr/s0lx1MDAwNe5ccsfx6/wvb1x1MDAxN4MpXHKEzmuV2lx1MDAwZVx1MDAxZqI1tnGpYpr0yvVXQ+JXXHUwMDEzZVx1MDAxYVg7r0OyiP9+KU5SXHUwMDA0INdcdTAwMDMpi7m3hO5Al1xcX9l+w4w5ntbC0Hfb2sY4JFx1MDAxMe1zXHUwMDE3TlizLZ1cIkw3RMuTXHUwMDAzPdk5J38/XHUwMDFkMSfK5YbRXHUwMDFlXHUwMDA2OFx1MDAwMvxcdTAwMWHl6CC2VDXqu0pcdTAwMTP22i5YRNyW1mdcdTAwMTBcclx1MDAxZKZ22Uys5ivFRdolzsb0OPOk+oK+XGZfxUPTUVGaQ7STJImnWzWSsFpl4cPb/IopuOpcdTAwMTG9WpyG4o352Fx1MDAxNX6KXHUwMDExqVx1MDAwZipcdTAwMTdZJ/BdeUdp5shv6H0j3NaFQLdFJvjZnlpcdTAwMDElXHUwMDFiea/663tJVdOZ/tdC0bfKw1x1MDAwNoLK3vlcdTAwMTi88TSNwlx1MDAxZkH/xsk3O29kXHUwMDBikaExXHUwMDE32KqjX1x1MDAxOKTZwG5cdTAwMDHA/HCL0D/2cN9OkGpGn1gk0c4k6efEXHUwMDE2j0/YV0THbFx1MDAxOIw5PjjzX6CexK3z9WFJjjwpc1xiW1x1MDAwMsmgia/dbFx1MDAxZmTUULspPZM1JVxyVC1cdTAwMTKTUJp/YFx1MDAwMlx1MDAxYeZqO+g0MmyF2Vr7Sj17v9CJXagvMe7ljoLvl79cdTAwMDFEVckyqfVtkHyGcVx1MDAwMoFtQPz2wO9cdTAwMWPqXHUwMDAzTMJcdTAwMTJCuOiRzy03mb1cdTAwMDKauGg1XHUwMDE4joJATIrm/O6tXFwyhVWvZr74iIlvb9rHyFxcWZVcdTAwMTfyufX/7++F7bpQaoH7pFx1MDAwNKPGz+F8+4tcdTAwMWWxgDmBXHUwMDFj5uCv83hcckzYXHRO0t59TFx1MDAxMUDx6/exNkNlvpCJbMk5XHUwMDFkqX7i99E6KVI+lMWKapHQXuO/UVdcdTAwMTF3XHUwMDFj/WLj0SR0qLxcdTAwMDLPXHUwMDA380NcdTAwMTfVZnY2zNiZr/dcYn61XHUwMDFlwXe2JN3fsYJcdTAwMTY/T7Vx/5iktEGzt9gjXHUwMDE0NXfbZY/wUFx1MDAwNzqiyW6tJ1fVz4mfIFx1MDAxMFSLvpM3bEo6UVrvmvH/XHUwMDBl7Kp/PbN4qdZcdTAwMDeDLugyWnWJRWndilx00k6YZ4LIMa2wT1x1MDAxNa1cdTAwMDH7cXPv1fK886Ba7chcZuZcdTAwMDTJ2KNTXHJp8zTrRMOoXHUwMDA3SlcpXHUwMDFjXoKn81x1MDAxZuef9npjUSc4XHRcdTAwMTavKzST+bbpwH0yXHUwMDEx5b6fvNuJjGFsXHUwMDE1lymWNcxK8j5ccpDmOkpNbrC8e4zRxr6Xo+PHhkhcdTAwMDVC6EqhbLyBXf76yvbWg9dcdTAwMTCWm/VP00nsmD+3yXxNllx1MDAxNlM85ubkN1T8avRvKEdcdTAwMTD9YPstQkppXHUwMDE4Ua5gXG7h66+l/lxuXaV9XHUwMDBlXHUwMDEzyGzNXT3ynFx1MDAwNcKl7K5Nyp+tdqnU2OsgXHUwMDFkgju1t82IinqbXHUwMDAza+H8SitaMVx1MDAwN1x1MDAxOOc6onq4zfhQKfv7OKRcXM6d9dSRgihv7mqgWVx1MDAwM3y/VNRQuG+PXHUwMDBlXHUwMDBistdiNpvHdVx1MDAwYpun2GG94Nl9XHUwMDAwQbDVPFx1MDAwYtTkXHUwMDEzaNxcdM02Ol1SXHUwMDFhvoXUXHUwMDFjeWN+L3B/WfGyXvcwXHUwMDEx+qSv6DLBM1xcQy1b9Vxi7Vx1MDAwZdSk1et6PV9DK1V0mJnupLafXHUwMDAyR1x0uK1xylwiirAk+Fx1MDAwNtXOu39jXc/cXHUwMDEz23LC5etSiCb1XHUwMDE1l5fj4NXLi5e4lik/XHUwMDE3QKnksav7XHUwMDFkVP2ZVc3UvDAoNfa/c5OeNavE3Fx1MDAxZXPtxp9RvfZ5gH/635DNK3jzlUO206VcdTAwMWMoKzjwM05wXHUwMDAxYPCbSq/H3KkrOsrqkJpcbkLPL21YSn+OkCaKfFx1MDAxMWt25FlcdTAwMTVQlMc4gXpflnz4Ui/8u1wi43NcdTAwMTdcdTAwMTS/8fZcdTAwMDUhO9ZNS6RcdTAwMTQ5bUrgbik4iH2D56+FbPOJXHUwMDBlbeXJYu2l76BcdTAwMTaIL7SAVmM/lbWpxr85wEpiWYHtxSuYLaddLlY+8fhnp1x1MDAwN3jioqDn33KHbqNHXHUwMDAxnt1cdTAwMDKNXHUwMDEy8fp+2bqS0GKTtzCCuJj6d86Y/DTTSO9LzMHm8OhcIlSHefNYnEJcYlrEhFx1MDAxOOhcdTAwMDTqLJiNhlx1MDAxZtUzgSyDfvovjpNhSl/nRr+6pXXuOldP8kCh5p/ZXHUwMDBicaFI5Urk+Vx1MDAxZKBcIkTOtt5cdTAwMGKoabJcdTAwMTaWXHUwMDA0XHUwMDAws9BcdTAwMTkqb1x1MDAxNMxcdTAwMWFglrB57utnXHUwMDE44WiIdGCZ+ORgLcBlqltGXHUwMDBmhHus31lyKW7x6zNOpVxi4M3IP5lD9NtSdejVfdvmVfsnXuM5nalhldX615/AK+kpXHUwMDAxc21S5HZcdTAwMWV/9+cqxc6IujxPdpBZWN2sfi+QnFx1MDAxONyD0U+F01xy4Lz5LVO3bcCcvOU4umBfK95vbnzF72VMw1x1MDAwMIRr6ds8+Fx0ll/fKrk4OF3YsShwfGI/XHUwMDEynpl9+r5cdTAwMDCtWebIZZ5cdTAwMDDqXHUwMDEwTl1cdTAwMWFuqdBt13GvXHUwMDE14Vx1MDAxOFf7gVx1MDAxNSliYL7Z3dzaN5uufdt7XHUwMDFi5Fx1MDAxMYlzfd1cdTAwMTKG5ZmG+dRbuVx1MDAxOE9cdTAwMWFpKe7RjFlcdTAwMTitTJWS9CrAIHFcdTAwMTJcdEN0yO9cdTAwMTORXHUwMDFjUTa/YFX4xlx1MDAwM46xlUCCXFxGllx1MDAxMCr7XHUwMDA3RE2z72BcdTAwMDaUZqeFkFx1MDAwMnxCKHP9zUthXHUwMDE077/HIVx1MDAxOOu95reCTlx1MDAxNSWZqi24LNP+nb5cdTAwMDAsXHUwMDBltv96NpP0LmldPVTUfE5cdTAwMTH7xYtcdTAwMGLYXHUwMDFm0lxuXaOVkl0r0OBcdTAwMDHgT33pXHUwMDE2s9tmI6X4XGKxqLxulM9cdTAwMGKH2DdVU9pphjmM+KrOY5GCpHdcdTAwMWPzO/mPLnE6i1x1MDAxZVx1MDAwN7zlJp5hn0Tg8VdZ0nj6e47I3iekXHUwMDE2tVflcnN49ahcbuhcdTAwMWGIRj/dWXNeXHUwMDE3kZhcdTAwMWH06K0z0lx1MDAxZVx1MDAwMOjX2t85xqph+imtXCItVjxJlU2lh1x1MDAwN7Fwa+Bq5vXWnaZriPDNhtmizzRbTlx1MDAwN1xuXG5cdTAwMTittHVcdTAwMWNcdTAwMTRpOJNcdTAwMDdyXHUwMDE0RdHKr9O7+lx1MDAwN1xygbRcdTAwMGV2b3WrZ1/R2eTAUORcItHkXHUwMDE10qdWw8aos1x1MDAxZof4xjxcdTAwMTlcdTAwMTNcdTAwMWPeXGLz05jeuE9aP79JXHUwMDA20Ht11T/in3Pf8MUlrOCeXHUwMDE1XrhdtFx1MDAwZs70sO3zLPNqe4xWcKBobo26XHUwMDFlj2onT1x1MDAwZXyk4o3fgdZhOFx1MDAwMd2fhEOZM8f1197qnfGTfoHbulx1MDAxMn6GMrXZ5+SY8+HKMNtO+Z5ywiiXW5Jvqlx1MDAxN56LRpBcdTAwMDZcdTAwMGJLYShsM9jCljxUqnytrotFl8Rxxrp6wLJcdTAwMWU51U4v8+yMYIM0eUxDYvxcdTAwMWFcdTAwMThcdTAwMGZP6OWdiVVJty2JpEzugXFBXHUwMDFmtbpcdTAwMGbqyFxmR/63fcyxXHUwMDE0/XyoQyBAsWJ+Y1P2mrIsIXDU/KDUXHUwMDA3jFx1MDAxYlxih1x1MDAxNpdcdTAwMThtT8aVK7qGw7ZPXHUwMDAxuVx1MDAxZkpZWzHRZUCCXHUwMDFj8XOK8vV7kuYuilJLe065uN9yc55QN0NV1uG+b2s2LCSoh71qxjRaQzb41OHrNz+LvKKpfnDs8CRcdTAwMDKXXGZcdTAwMGaGXHUwMDBizXc2+Vx1MDAxY1x1MDAxYVejXFw5iF4zUoxkXHUwMDFiSq2g2LFKb1x1MDAwMcXAyVtxLsTFuSdFjVx1MDAxY2Vb/MzimtvBYZBcdTAwMTb5/fbkuSpsboLF5zYkbs1pmoZcdTAwMDabXHUwMDFmhmeC83G7XCKnqlx1MDAxY1x1MDAwNFlcdTAwMGbM95ONXGLnpVx1MDAxN2tEY6mq/0FqsWBcdTAwMTlcdTAwMDbuaC7SL5vGXHUwMDE4fWOZZ/VGR1pcdG+x8Fx1MDAxZFOMXHUwMDBmSi5ewbJEv1ewbP6a7TmI+lx1MDAxYbxvl9yhxlx0XHUwMDBlIyyJpaDoXGK8j1x0f+f4iybfn1xcVab09+/5XHUwMDA1Z+9J9VrnXHUwMDAwzFdfXdxwZI2CoL3tJzypTrBHy39Lq7vfXHUwMDE4/1x1MDAwNaVpaumL3q841GDETVx1MDAxM6JFXHUwMDFi2MOktVF81de4SGzY6rO1aSCJ9IFDfMu6wMVPrC9jNlxmbinRXCJ/T1x1MDAxOZc779BcdTAwMTRN1mVcdTAwMWNmfkmPuXt41qpcdTAwMWSoNlx1MDAxOVPgltaAXG5cdTAwMDN6iFxy09U1XHUwMDFlcsNXMX+t9Vx1MDAxY+1tXG6WLpa2XGZ+MbA+QDRGSTVcdTAwMTCJk05vplx1MDAwMY9cdTAwMGJcdTAwMDdM3lx1MDAwMkF9XHUwMDBiQNhccizIeJ1cdTAwMWOPpZdgbY3Eu7xcdTAwMDTmcSymTb3F5Vf9Olx0XHUwMDA0Slx1MDAxMJRoO+jGOXVOj2tcdTAwMDdwdtZcdTAwMTO7IVxu9NV4tfRcdTAwMDNcdTAwMDTVQ/n8fiN+SN9asrfnZUmRULKGk//uv1x1MDAwMzB4voJ0jMR8O1x1MDAxYsH5quXMeFx1MDAwNK5cdTAwMTg9Yi1sXFxs31x1MDAwZVx1MDAxNCBJXHJC1lx1MDAxNMq0XHUwMDEwRWGOXHI1S16myaHAZlhY5XGCXHUwMDA1XHKiz21GQF9//XSKztaaWzH4O/KLVSBI2UCKXG548llcbuRo4zy68dLOn5zWZU17qmePYm1Ot9lkslx1MDAwYsOh8lxmPlx1MDAwNnVod+xd0Fx1MDAwZp1cckb+pFx1MDAwMVhgZ5BcXLA8Vlx1MDAxNXhLXHUwMDFhXHUwMDE2o+jQvsLR4c+MefpcclxcNlxyybHm1IixfzZN9Lo4r+gsPzBcdTAwMWHtQFxmS41cdTAwMWLU2DtK8HVXXHUwMDEwm3Up2LmarK1bXHUwMDFlk1x1MDAxZE3B5mGjPIfp259y6fZH1SNjXHUwMDE0xb+WilrTkLfe59Ygm5+jNb/FxlntTctfL0tcdTAwMDdDXGKkXHUwMDFj5+wz+mhCm4Tou6hWciV0XCKOnVGB6/O9fr6OXHJcdTAwMTmXbuj8XCLL8ZCdvniMaER7fUbxXHUwMDBmLFx1MDAxZrx/ptebXHUwMDE2mJTdPNRcdTAwMDGzX1qq/YFaR/22aCuifLEmjHXwzOpcdTAwMDfP1fDsUrWsrnLRYFx1MDAxMlx1MDAxZb1KNPPQvj+irIa4VCa49Fwiu0/T1jVcdTAwMWbhueF6dsOcuNCCenHxz7Td2tJ6dMMjrCSmmjWaWXxcXFx1MDAwYkDkcv7tqYqnu9j5u3F8jnXSY1wiVqZcdTAwMTS7zvP2TO5cdTAwMDXEn8/n9+E7/ut/XHUwMDA1n1DmLlxijFx1MDAxMsaDW02x78DiRf8mKcdcdTAwMWZcdTAwMTT2N9NhWdi8cbNf0H43cfeF7jSBP2+AovYwnX7Q/Nfzb9937DtGuVxu0cNLipeztN2qoE19iXrIcVx1MDAwZqArOE15lYaQR0O9mp4xkF6tIFx1MDAxYch2k0eqz3H1fmm3011cdTAwMTCAdbuWyF+E/lx1MDAxYqNuMYaHvuGEJUuS2djJO//6+re1X1x1MDAxOTphzE9cZtEogm4kqsyLbVx1MDAxY1x1MDAxN0blQsl/yHqwhmdcdTAwMTbnuZ3OqUPcXHUwMDE5iVx1MDAxZmQ+nZ2XbzRQcf5cdTAwMDeYu4X8+ETLLrdihGTkXHUwMDE3onO/1+v8+CebXHUwMDBlz1x1MDAwN07Pp9O/sZqaN/tGOlx09HjWKfL4XHUwMDBiXHUwMDFm3bfo0sl2UrQscJlcdTAwMTM/MV93r08qXHUwMDE0yoEgXj001ONcdTAwMTngPVx1MDAxYVx1MDAxZrJcdTAwMGJRSFxuv3pDvVx1MDAwNLu6kCTUzr+qXHUwMDA3R1x1MDAxZOTOv93YXHUwMDAz5vaKwlx1MDAxNLRTplTX9lx1MDAxYsNcdTAwMDUhZVx1MDAwMacukoFJXHUwMDEyMdzicyHbXHUwMDFj6Zcmzlx1MDAxObvDbvlcdTAwMDNAxqBpiodcblOSW8lL3vDX3ONcblJrYLEjzLRbvZ2X81NtKmL0XHUwMDFmRblcdTAwMWYwXZHoXGLD4TBW7yPLrzhwlPD1VJLJb+tcdTAwMTXphXRO+vz0RGOPqLhg3ujuw23moe9cdTAwMDElza9dTLom1Fxmz3XZRW71rLNoKYzZ6GLw7WplUlx1MDAxOaSjZ7pDvFYmXHUwMDBmym1X7/sxf3FGkP7mZ2fHkJkq91x1MDAwMiBSyuCoaTO7KE92fVxmsfBcdTAwMDWY0YQ0R1x1MDAwNrJE0ipilEv83XJxIMYwP1nO56fuXlx1MDAxMCh5h5JdSSHrXHUwMDFmXHUwMDAxq9V87G1NMEvJObHMoVx1MDAwZu3KUrbAIFx1MDAwYl3XXHUwMDFirtlMl+Uzn0mEaepC6VxymyPH75ffTOiSjVx1MDAxN2hh8LpMl00td/SKxj7RujDCkIGM8Vx1MDAxN5K03Vxm3ptccjRuK8Ca1lx1MDAwNo6Vk5mPtu7jSs1cdTAwMDJQTWA/20++4uQ0joVcdTAwMDZVVqpfQar1wD7dpJ9YkVx1MDAxM2rOjECavXpXXHUwMDFiNStd0K/Dfv+0/1xyW8rwXHUwMDE4RcHAWzu/XHUwMDE226GYqom/T17CXHUwMDA0XWj30YhNfNQtNaCDVMPKXFxZb8rP23GHXHUwMDA1tdlNmrFTfPeL16FVXHUwMDE1n31W3txGTi8nWy6ctVFcdTAwMTVmqNHUijqyplx1MDAwNGFm1n6yfp4qf8fXNFx1MDAxY/FiXHUwMDBiXHUwMDA1o1x1MDAxNL+5717mYdtcdTAwMTco0CSJWnFHXHUwMDBlLvww+1x1MDAxNvnAXHUwMDExYLnW3YjqfjnF9SXb9Fq+q07YwImad4pcXIpw+ayN3Fx1MDAxM8/qXHUwMDAwS4FKndxcdTAwMWIrhfSKkfxcdTAwMWJcdTAwMTBcZpTDm/Nggb7IXFxcdPjcz1xcXHUwMDFhODy3lFxcXG5cdTAwMDNcdTAwMDOKrrON7bAlXHUwMDFjnzmKZUYxm5ie2zn+MVx1MDAxZEYlhim546roXHUwMDE5N6pcdTAwMTLTLNjAR5ebXHUwMDA0Z5JuLNtZXHUwMDFiXveLXHUwMDBmi1x1MDAwN64p6oX7XHUwMDE0vU2+qfl9u3XCSMtWYGdthb9hXHUwMDE5RNgy0DDKXHUwMDE0WI4zsG/voVx1MDAwYlx1MDAxZL4xZmdDY2VJSkCvXHUwMDFjpF6HkyFcdTAwMTWpfjRRXFxyKn3fQq9cdTAwMThcdTAwMTCg5Fx1MDAwMia5XHUwMDE1WiB98fvD6SDCVNV0a1x1MDAwZVx1MDAxMcDzUtNIcG01XzxiWv+19/ZWrtRcdTAwMDCqxV65+ukxY5E+ekTD4tl9b3hATjA6I/1ddGB+sfvrga9wQy0tNlqYa8pcdTAwMDdGdIj0XHUwMDAwt1x1MDAwMHW8frL3O1x1MDAwN+VcdTAwMWWXgphcXOpT7c4tuNvNUPv9PNSShTlcdTAwMWTbx9UukuOsLnXClVV2YC7kX1TwY4Zgsfzdu4VBxyZwPF6lXHUwMDE0XHUwMDE0nK1f+cXAUmSab8lqxkdV87J1JaVGXHUwMDAwuvKcK6NAkLx+eFepXHUwMDFi2LrJxlx1MDAwNrTd/zKMK7VTxK9oXHLN95Uvgr40Otq3UNfvWlwimVx1MDAwMFx1MDAxMKtdqVx1MDAxYf6wwH2Ul7UuXHUwMDAyIVx1MDAxM+8+x4FcdTAwMTj61k9lXHUwMDE37eohJOlwlfT95UE+6SPfUaKlMd8gX0VcdTAwMGab+qh8w1JkfUego3FcdTAwMDUzM1niU1x1MDAxN1x1MDAxOKl6QWlvXHUwMDAwenFfTsyzMPpvXGaiaEnuNMjznV1cZkKHY/LVlDyxy9RETzxJwtbvXHUwMDAxRCcxOFx1MDAxZdShxo7Q2lGujYz+XHUwMDFlXHUwMDA1zs1vU52J6Yi2Xm/gXHUwMDFlTprVklx1MDAwZYr1XHUwMDEzPPuy01wiLFbNXHUwMDAxU8ugK45B8+4juVxm1SNrTfJlXHUwMDBm0O/eMYZLPiEncjGkmFx1MDAwNEhDbVVcdTAwMWZcdTAwMDckjU02SNcgvlpybEp53LpzRXCt1t9qlVx1MDAwZTSdXHUwMDFm8uWbXHUwMDE11TxNoFx1MDAwZVx1MDAxNZdQacn/eurWv+lcdTAwMDBA2Zv1h0CWeXBFXHUwMDFmXHUwMDAxXoI6LIi1ce2TK06FNHHwXHUwMDEyZyo0XHUwMDAzxWh5XHUwMDAxJ4pAODRcdTAwMDP22EKM8/tTkFx1MDAxZbHqLlx1MDAxNI6HqJFXXGLjnnyzbkia+Yq0cEyD4Fx1MDAwNuK1yP3MI1xc2vZccoh23zh2/YfXfSdB8y9cdTAwMTCiXHUwMDA3rfj3Ulx1MDAxYm5cdTAwMGJ688qLqZ5B44pcdTAwMWEkaX9cdTAwMWNBd5T0XHUwMDBlXHUwMDE1jVuk1ZFWr1OSV7X3othvXHUwMDBmm6soitqjQlkqXus73qafiV+MXHUwMDA1XGa/8iUzXVwiUJz9XHUwMDFidIdHlChNY9SWQVx1MDAxNyvcJcS0qSPQ++OBfmfVOvJkssLKTNGPU2qMdTDll2vs5ZHlr7769E9cIlx1MDAxNktZSKO+qJ7qZqwjXHUwMDFkePopXHQhXHUwMDAxNvk7i6LFjjk8wLsj+XilLDamz1f0XHUwMDEyXHKj87zsaFPh6DVcdTAwMTRyacr+5lx1MDAxMFZcdTAwMWGFTzRcYiHMpap2VeIuIEaIyk9Ku5ZcdTAwMTgpxoo94Fx1MDAxNFNcdTAwMWIghTeF01xiXHUwMDA3OVhTVpN+WTrhXHUwMDA1uEx39y7VgOCFXHUwMDAyL3jy1Tcmta3SiVx1MDAwYniDdn1cZkJcdTAwMGVcdTAwMWJcdTAwMTmeQy/SPlx1MDAwNPHmiVx1MDAxOXjMwiRw/HlcdTAwMGXvMnh3SVx1MDAwMfqlsobOi1x1MDAxMkZcdGlcdTAwMGIpjlNxv70/nTwokYd+XHUwMDFm1k6wR6hcdTAwMDGJo8CEXHUwMDA2lEjaXlx1MDAwZcXQW1wiylnMoaVcdTAwMDBoXHUwMDA3Pt1cdTAwMTjIX1dcdTAwMTaLXsXO3GF/w+PBwmeSqlCr3SzUJpvIfXnL9e/sWnNsXrb9yK9cZlx1MDAxZt/oTeG00iVrONq/+aPhTPx6XHTzLoNxXHUwMDEzKFrX1+wym5MnjKAqX+lh/p56e8tYIFxm+pDZKHyoNNcvkG1ZsUE/XHUwMDAxjpRaXHUwMDAwWElcdTAwMDHXN2ive3yF6IOvyC3Elo2X2l/HtFx1MDAxYodcdTAwMTiLOPsjxu9cdTAwMDVcIlx1MDAwNT5cdTAwMGK2wI1cbnybPklZUURcdTAwMGXM+u2bfaSLXHL1XGJcdTAwMTfUulxyXHUwMDE2V/28q0nEvPnXmFx1MDAwNS1fwdPOpFxykHTENu+voeunzbHPXHUwMDFiXHUwMDE4pCS94nXmlIpcdTAwMTPA8WNBXlx1MDAxNS1sJqJcdTAwMGaf0dRcdTAwMWRXQO+SlPr7ZOZ3oMHYs13NZaFta1x1MDAxMsR+wfVcdTAwMWNcdTAwMWZcdTAwMTRf7qCGL1x1MDAxZn+Zj/9gaWyHluJcdEGxY1x1MDAxObc/ZUPDZSlLXFx1XHUwMDAymn1cdTAwMTN0I3XjKveq+Jpza/CkXHUwMDBmXHUwMDFiXGIhxO9cdTAwMWVBeH7NM0feiPbcJptC/Vx1MDAxOc5cdTAwMGUkhv5mWGKAi7f3KyzfXHUwMDE5bDs4m5CYVFrRkaNKlZeflpFU2TRcdTAwMGZgwm9YXHUwMDFjWr3NJrz5Vch6oZ+RY9+EU6ivNzHNdf41rft8Joh4M4SHwimdIZ8ldnFcdTAwMTlUoTU43ckk4qZzy7jfWihV3Da8Tl18gZhcdTAwMWLfUuWgXHUwMDE4MbYwy1x1MDAwM4CE3TSA5iXwLS/0o+UuXHUwMDA38Uh3XHUwMDAzdaMkJHpcdTAwMTSpM1x1MDAwME2psijL7Xzd0CZsQ6/VguE5XHUwMDFk1FVna/eU/532qTCyP3YhOP2cXHUwMDA2bnyfNi9rUa1sYJ73W+rS3zN/l+zWUS2KXHUwMDAwWFx1MDAxZdpcdTAwMTOR/O7CwFx1MDAwNya1b57wx8bnyTzONtqlbMVjS1PtkZG4QDVcdTAwMDBcdTAwMWFp/0iqXHUwMDE5/p5/TvpcdTAwMTn9pcfL8Skvwbv4/NosXHUwMDE5XHUwMDA3MTFX4650Pl85mYwnUmJoX0HR1SpoV9fsyLTf5ST53LzAlD3m6z5cdTAwMGX0dv1VRnxcckdBclxyVJORj9Q/1uD6XHUwMDEyRviNXHUwMDE2dHOrazk7XHUwMDA1rZp6Tkl/dd9cdTAwMDKEpG/sKYXYXHKgbo4g3pegg3Bv/FHPwTh5OjCm4FFUj4SXJzVxUpF0KVx1MDAwNlx1MDAxM+7hS1x1MDAxZHhzue5cdTAwMGL8yjpybrtcdTAwMDJo07uyiexccpG9a/bhovPfS0RcdTAwMTXDtVx1MDAwM3N4XGJdsKntjGfYeTP8s67LV7543Smw4HtaXHUwMDE3iaZIK9GIoySM+Uvwul5MrXrTt4t5+1Mszlx1MDAxYkLw+5PEVlx1MDAxZpkzj1x1MDAxNE1eYJxEUy1vv4r7XHUwMDBiJqOQgjOynVx1MDAwMuzIN1x1MDAxY4JS9d06bGpXW+OH6HtobYBcdTAwMDdcdTAwMWZcdTAwMTVRmlx1MDAxNEaSiv2yXHUwMDEx8aBcdTAwMTGk7Wzx5t37iVfI82orh1x1MDAwNVx1MDAwN4qeXHUwMDBlputcbiG316DdXHUwMDE3USyg0mDG9ZA2XHUwMDEwM1x1MDAwMovLTX7V0Ti8TZN7Vlx1MDAxNm9SN1x1MDAwM/wqXHUwMDAzQq6ej8hVtb67L1x1MDAxZWvfKUckXHUwMDE5XHUwMDEz+JFcdTAwMTS+rfHEWivjL1x1MDAxZOxsw1W4QJnwNlAkxVaVslx1MDAxZMW7JJXYXHUwMDBl+9/ZZZ5cYjqcclx1MDAxMVwif3DqqcJgnN/fRVbXiL48W8uV0Fx1MDAxOXnqU/DpUVx1MDAwMvBtj1enqNudXHUwMDFhhbU+4FxcvXhfr+Un1tXPX9OO/Udp7FPjV5qmkVxiK4pAd8Z/bJ3HlqzMkqVcdTAwMWaIXHUwMDAxWlxy0VpGIGdoXHKBXHUwMDE2T9/kf6u67+2qMzor18pIMMy2fdvDMfdcdTAwMGJcdTAwMDSOpe1VjVx1MDAxNY55qFx1MDAwZXBcdTAwMDWWYk1OZHo9XHUwMDFkjaKP3zK1XHUwMDE1cvfwXHUwMDFlRtio7vZcdTAwMTHwXHUwMDAwNElsXHUwMDBlXHUwMDA1IEFb49eS03XgqkDy63EsJZ1u7jpcdTAwMTL5ubFoXHUwMDAw7mggrDFtR11cdTAwMTYm8Pxcbk3wb2bs395jQaiM/GX5sJi5XHUwMDA2cf3l86snyG1cbjCXlojuXGa4XCLncUhgrPZcdTAwMDPoVLRd3674XHUwMDA3XFx9sYeCiFx1MDAwM66f7aPrXHUwMDFlfe6h6pfR9eLVXcjnf4NcdTAwMTAgU+vkNymygXr/ZHpcbl+u2dtwISjnXFy+0KQskWDs0EA1Llx0asCHZN+WkNp9/bxcdTAwMWG/KK9cdTAwMDZcdTAwMDC8a87XZoY34WLbVlwiWO1xXHUwMDFhg2uIdZB6PVJNslx1MDAxN1x1MDAwYrB6R0RcdTAwMDAtiXQzO4At+8tRbCxcdTAwMWWyXHUwMDFjT7F/0Fx1MDAxOU3awYGJRt4lclx1MDAwYspcdTAwMDBcdGHY+ljqSEBoWpVfXHUwMDFh44L1++Et/1x1MDAxN1g/9odjMok/1ivPkL62o6Pk6JGKRr2lvG5+a3tIdHHMXG7rMDVNj1x1MDAwMEBHwe6MXHUwMDEwmVm0XHUwMDAxrFxiZaRcdTAwMDPd3u3kSXf2hM/4UO5cZpKj5jNIMqLpZJW+raqIXFxRXHUwMDExzlfVTVxcUl3Of22YUbWqQ+8rKppvudZcdTAwMWVcZs9VjdFS/3myujdQ1+zcK6qBfpo6fVK9xYfmIGlcYo5cdTAwMWH1J3b3Mu06OLhVs2qJPNA8lVqiiIhuJkbFXCJ8XpR+1lx1MDAxMdiEqZ6oqIqyomRY9Fn674dcdTAwMDE+ijK2XHUwMDFmcVx1MDAwNfS1OKlm61x1MDAxMTnvVDo+gsnfRoTm/NKHcSvub1xiY1x1MDAwNUo8VM40g4dgjjRcdTAwMTcnXHUwMDAxXHUwMDEzeu5uh2mdXHLNnlx1MDAxNV/OXlx1MDAxZlxcPWpN8EhsXHUwMDFj1dq60yXClFY8tT9ZhPiDr19YXHUwMDBlXkNcdFx1MDAxM/A+a2RuVPjzleCu5Ci5cFx1MDAxZcituehcdTAwMTO7XHUwMDA29bmK9vVwoyS7mpnc2yNTn244XHUwMDAwsf1Wrlx1MDAxZri/u6u2sTyyWX/h3+KD571Zd4nGXCJcdTAwMTbpr3A2XFyuLTowjVxyssViuKrNXHUwMDE5KVwiYJLvc7vuz940cHlQb6hcdTAwMDOvw6k6MlnA1+Gd1YHPUo1wXHUwMDFijp/+s6xcdTAwMWRmXHUwMDE4wf2Gj5yD/Vs6Q4STnyS/VrYjXr0jbv/NMc1cdTAwMTCqblx1MDAxZWdcdTAwMTDbNyCOVU4rU3FV0r5cdTAwMDImm71/rLyMwFx1MDAwZqVr+sOCp0SvtlaRv5z6XHUwMDExXHUwMDFmzvWkW1x1MDAxMVx1MDAxMlxcTvSUJb/7/oa36lx1MDAwNlx1MDAwYkM6KVeov1x1MDAxM1xmbX+kXHUwMDBivd/yLbXhiKJVWNVfj4Lt7uklerSfu1x0w0ZaXHUwMDA3rrdEfVx1MDAxN4drj+L2byRnXHR6kpeOu1x1MDAwNOHkXHUwMDE3NMWS/kK/XHUwMDE57keW+N12oORcdTAwMWTySeFWe/jl1MpfrOdcdTAwMTQ7SblXuNqrwDZcdTAwMDBtT1KmLNRnOFx1MDAxOYeuUF6oO3bgXGaoqGX66vWV4WF9RXR4bbbX80NObkLdSJppiFximLne63lJae/oXHUwMDEwM20zgZn8UMZ1XHUwMDE0XHUwMDFmrPughYFcdOunXHUwMDFmm66EobmpU3HamMNpMeVgro+LqlFPRZjXmKkkZObgZORcdTAwMDKP/zSi6Vx1MDAwMFx1MDAwZSdrdLL4rlRgXG43Y3vxxUVxjELZ27RcdTAwMDFdbEjdzLZXwvNcdTAwMDZJ421ds0d9xkCNfpBw6Vx1MDAxOXelpo1cXHEtXHUwMDA0lVOFM1x1MDAwMmwh0erGNiiSeozoa0aVWJuWf/ZcdTAwMWZcZjn4TWLZWHvX91x1MDAwMX564TFaXHUwMDAxnC51tVY/03z/pHBcdTAwMDQsIzjvLtFcdTAwMDEkzYxcdTAwMDZcdTAwMTIxx7BoyM9cdTAwMWLVJ1q7Rpiz5Vx0XHUwMDFhQMxcdTAwMGb1OeOTSqy3OVx1MDAxNmG5RzWuXGJ5XHUwMDEz48mjprW56sI6XHUwMDA0XHUwMDEwslx1MDAxZVx1MDAxMVx1MDAxYrOq1GWvXHUwMDAwKuRcdTAwMDf10S5whC7W0rpbXHSKklxuZqtVx43Bb8dcdTAwMWTSp82fnbZ/JfDMR0ZcdTAwMTGT16EokPPDYc9qtJEvT/5tsEy6XHQ88Fx1MDAwNcUz4lx1MDAwM3/fXHUwMDFhk5ZcdTAwMDS41Ev/XHUwMDAwbEKEha02frH9vWHkp1aMNyHpXHUwMDEy3y+g+sc4XHUwMDBm6bOtvjDaftJcdTAwMTRcdTAwMGVWXHUwMDEyQJliJzVb+8OHqDTDy6tdZlj688L3S1TysGtcdTAwMDY7saZcdTAwMDaqUGOXRpM90lDKSbNdKztcbi5cdTAwMGYrXHUwMDA16HOHzajC00djulx1MDAwM6VCft/JjVx1MDAwNlx1MDAwM1i45dSOQT2Wg6tcdTAwMDdaOJoxUKVt8FAk+9Kjl3+gPFx1MDAwNSRcdK2hznQ7I2pY81wiXHUwMDBmQVGW7Fx1MDAwMiVcdTAwMDPGXFzk05Ehslx1MDAwNt9cdTAwMTdcdTAwMTTnMVx1MDAwNsJZU8ND/XG0lmnMUpQqdr1cdTAwMTf+9XOEmO/NKEjcdF9uQad9yDGp6Vx1MDAwMGPxb7pcdTAwMDZcdTAwMGImQ9JcdTAwMDNzXHUwMDA2sjjc0DObQqVie3ybolx1MDAwZpVS/Na/Slx1MDAwNsw34Vx1MDAxZFxyXHUwMDEwWP61UEY6porTjrxcdTAwMWVVbut2KHsoXHUwMDA1WNWvl4BS9KzJXHUwMDEzIJ9U19pkamZcdTAwMWTtW6vkXCKx7/Si7HvX+0hAJr7OO7ODxd8u/OVmL0M73PqqTDdccl/tXHUwMDAzjFx1MDAxNsJccq1HjMdAovnH0YM6VSymblx1MDAxNuRlI9rNJV0hoWs20edcdTAwMTWxOzFcdTAwMWTriWnqXHUwMDE3oP5cInx+XHUwMDFi5dxFXHUwMDAx/e5RrKKYwvKLmO03/nOLp1xycnj6baB6XHUwMDE269HgQuLf++9cdTAwMWJHXHRcdTAwMDS7zb14f3xcdTAwMGVcbuqNXG5cdTAwMDVNw/w3rVx1MDAwN54ltDk2x8luKN92dyRcdTAwMDfRtF56I8t7rrZUmc2Zrb2sw/uI21x1MDAxNFx1MDAxMD2OodfU01x1MDAxM+nmsVhP1Teo5dBcdTAwMDLza4Ev6c3fX1h8kSPpVvUwYqVcbt3tXHUwMDAxvc/l4kdkXHUwMDE3PcldnoyCq5E+XGJw5EtcdTAwMWHYXHUwMDAzha7qc/yUaFxy6mWhSVx1MDAwNONRW3/r4cNMIHR2tFx1MDAwZXVTu1x1MDAwNepcIrTqhS5uXGZsSqynXHUwMDEy0Z5dp1x1MDAxNrx6fMNr4Vx1MDAxNFKy1So2iWqJNulcdTAwMDNCzNfNM1x1MDAxOHz1U4w/5K6pXHUwMDFhjVx1MDAxN+qIICtcYrdpU8ZcdTAwMDDhasF40G64gFx1MDAxM05+LTX1MLzJ0tko39D9qCfPYjws0m3YZfLpjl2b0kTHVZdcdTAwMTgn9UNcIkHbgJmU2UJcdTAwMTeh8J05XGb/96VIk01BXHUwMDAyhlCZ7HmefD6f8kuFcOLjI0aa+ig7NJqWhSaWQP5CXG7r8/eTQ49cdTAwMDNcdTAwMWO25VxcyzJcdTAwMTLdXHUwMDE0PUupXHUwMDEwloJtXHUwMDEzv8bd99UytyYmKY5LO8qBWs5bXGLJylxiyPzBN/3MRWNLrlx1MDAxNGBcdTAwMDV8NifpeGqbfCDOV0khhbVkXHUwMDE0v43kNVx1MDAwZU3TNdBnServVT28R1FAXHUwMDFmXHUwMDFhg6yE2aJ8O+iOyk5cIps6XG701k2c7zxB8m6ztpxsMVhhisTv8mtkm6aOiy2U/cJty8DU1Ck50o6eXHUwMDFjo3Yss3hcdTAwMDA7uFx1MDAxMy3B+Xh9OdRzZZqdp6ksQ1x1MDAwN7gmqlx1MDAxY2E84r7r16FHcYVcdTAwMWIy+/hvrVxmWnZcdTAwMTX2edFcdTAwMTWQmkyNx8g+XHUwMDE55Fx1MDAxMXLIz+tyZnqTu+8jSJ45XFxcdTAwMDNjeYVfwfaXXHUwMDFjO2PDlb/qXHUwMDA2vNntPVBavtelIEiHK1RcdTAwMTfbyXJ44neiyZ+r8C+hXHUwMDFjJi5cdTAwMTbCKlx1MDAxY6yqYohcdTAwMTP6WCdIJbi9bn1jXHUwMDA1kZjMXHUwMDE58t6qt1x1MDAwYrF4K6/DdiB6LFx1MDAxMobfZ2LWkZRcdTAwMDfQ8zLxLt1cdTAwMDZcdTAwMWTM2mtcdTAwMTPyqZGuTeq1n02uO/a7e0rV+CaAjjAm0GPRy9d470OwXHUwMDE2QUP4XGJcdTAwMTOlO/rKM5xSUFx1MDAxNaDXOpeAXVx1MDAwNJqc83nueVx1MDAxNkZcdTAwMTDAeJFqwX3nqFx1MDAxNMq5KSkndqRls5RVLmA7zlBwY2pvvj/vPSY7lPskepBUqlxyQ1x1MDAwZi7IXG5MXHUwMDE2QmtcdTAwMDVcdTAwMDT0aY1cdTAwMTGPlpeq+2088SF/vuvyXHUwMDAyXHUwMDBiMcmMq9nf1lx1MDAxNzb53WTG/krZbKTHP4IoXHUwMDAzWDJp9qVjkbR63dRcdTAwMThLXHUwMDE0pn18KH9W/VOuTlx1MDAwM/2jlYxcdTAwMGXYypcnejGpgHtcctmPPUbCiI+U/3euebpZXVx1MDAxZXU6j8NcdTAwMTk0gVx1MDAxOIaB4VvfWlx1MDAxZuvxgPcjXHUwMDFj71hcdTAwMWFxUFx1MDAwZSBcbmfV3ShcdTAwMTnihtPmKDbc3/nzXtW2sZ7sP+d86itb9DepXHUwMDFlMqarNihcdTAwMGZcdTAwMDVsfydVSVx1MDAxYSGgXHUwMDAw5VxcfuyOuj6vfEGUjlx1MDAwYkFJmJpoUP9Q5KNcdTAwMWSU69x5XHUwMDA1/D6kIaNNaH9cdTAwMTfrZdTxw7pfdfdcdTAwMWShtJOwJPuAOyDpXHUwMDE0pEbTZHfTeVqsdDGZNJmkX+eclFx1MDAxZUg60c64XHUwMDE500SsdHJiJeiM9nM4vm0sXHUwMDE167l516xEWNKZ4IZcXG/fyz3i/UrLTVwieYBcdTAwMTKekOXWolx1MDAxZLSf9jlf9VjluCBcdTAwMWSOWbCTObCsfp291lx0XHUwMDE1gr1cdTAwMTYt2lx1MDAxY2PAhlx1MDAxNz5B7a5cbpOCzcNcdTAwMTS0XHUwMDFjXHUwMDAxP2rqg13VYJklcH1Dl4r3vYC/3Vx1MDAwZoxTbU2GcL5KUlx1MDAwM9Q4jNf20ZjhXU52pNxeg85WXXZlQGzc7l1+ee2D3Fx1MDAxN5fVNPpe/1x1MDAwMt94i+OkXHUwMDE56PmvXHUwMDBm2z18I1x1MDAxMv9UXHUwMDBmqFQpXHQ6u4FcdTAwMTjSyVhdlHe/9yYvXHUwMDA3XHUwMDE2j/NcZqnNUu9cdTAwMGWNK1x1MDAwMWZaMl1wl1xmeXq2ZpegdewkYPzeiFx1MDAxZSSSXCJxKlbdv4+9RmIl6ZVcdTAwMTAyysC4f+9cXFVcdTAwMWQnK9G8zM12YZtblzq+KGR6INPDX2BUiVx1MDAxYc7lXHUwMDFkhpS6xOynN1wiXHUwMDA1XGZtXHJcdTAwMWOzplwiMT4llDVNb7NVYSFcdTAwMGI4LknQ9cx01fBkXHUwMDA1kFx1MDAxNW5cdTAwMDWXgp5cYkY4Z5TU5Vlhy1fxXHUwMDE5tKWhXHUwMDBl9catcFBcdTAwMWFcdTAwMDbov1Ht0zO0eOfR6DZcXFs0rfYvZl8rknLtfoC07tSOLbWOwjqeSERcdTAwMTLnXFzfctFcdTAwMWKpwl5cdTAwMGJL2ltcdTAwMDLKXCI6Q1hZYELUysRcdTAwMWG+nIxcdTAwMDFcctKr0Ss37MRJzaBSo/e9K1x1MDAxMv5cdTAwMWKS7chcdTAwMTmSXHUwMDAxXHL3uvu2XHUwMDE3jJKemfaGglQvUGOo0oz+JY7zN9Pj05jLXHUwMDEyvP9n6ohtMFb820ypV3Vn9sKq1spcdTAwMTV4ruf3YUXYMo3YXHUwMDBi/qJdsp+w/L0uRmVVoa95MZQuTOSWn9fuiMwm7I9lK+nJVPWjuZo+eeIgR50oRbYtWo963fxcdTAwMTnZsipcdTAwMDCuLrY8ZMBUitNcdTAwMDDIq0hcdTAwMDecaXmMuyy31qjeWVx1MDAxN7qvMqhcdTAwMDVcXFx03iQx2vbE5FxcTe36ul2zOGQkNVx1MDAwNlx1MDAwNYtcciSuzslRp+ZnNZRRN/M+p7uOzZ5pQbLR/s330aGRXHUwMDAxxT7um9pqsPmuvSqovE9cdTAwMTPIOVwiOaum8Fx1MDAxNMiTMMm7fNqkx/hcdTAwMTjWeVx1MDAwNobpZVx1MDAxN79w2erF51xuXHUwMDFmXHTVdyUjrN7WXHUwMDEyXHUwMDAzPXX/nWtv8LiTI1wikcFrXYwrtNZcdTAwMDS4mbWGajxTplx1MDAwMe4hg/3MaWpcdTAwMWb5mnaVtnH0qG4m1EVcdTAwMTMonkyrXHUwMDFkhvOnMzqsXFxcZlxuK1QjMnNcdTAwMWLQefFyXHUwMDE0YvzDUUeTfW1nXHUwMDAxi2pTNLs2b1eBijPN3zwyXHUwMDExgo/+zlx1MDAxY1H72H2df/T6rsj8+f5r/er6UGp1+Fx1MDAwNOlC0MQmQYktReFcdTAwMGZcIsr2aY/DNf9m61x1MDAxOVpcdTAwMWTPifY76fLSSHpA2X5GpfShPlxcZoSUYZQ/Wv7M641cdTAwMTjv891rbupD1sy6r1Bhrlx1MDAxMf+KsMf2XHUwMDAyXHJ/7T1/cMBUc+5hXHUwMDFiQm6xTYHI9zmryVx1MDAwYjOvws9CylxuWTFdXHUwMDFiWkD/0jolYP7078PAnOxE0/H3Klx1MDAwNJRZuqNcdTAwMGbkm2pcdTAwMDfBh1x1MDAwMFx1MDAwYlx1MDAxMU4vKI0ka3aSptGTbcDabd1qgna0i5Oculx1MDAxOLskJFBGXHUwMDExpjir4Fx1MDAxNIeXNGz/JSlcdTAwMWT6hHlcdTAwMGLrjEq8jlOlddWbwlfYy1x1MDAxZFV6mKDjmibIXFzjILrGf5Xwlv76VtWPfLl7RyONcFx1MDAxZeannpq0cMIjy1TzXHUwMDAxXHUwMDE1XHUwMDE2fPO1+MZyYtvHNJFL27aLS9RcIjM1xvG3RVx0/fNcdTAwMDelPiVcdTAwMDGar05bZ63HXHUwMDA0SaBZcZmcnO7YLKup0eFccvE+4lx1MDAwNm7qeYPOVTB8cYBjXHUwMDBinFx1MDAxNGZJXHUwMDE2/zZCy3CYKt7v11x1MDAxNIr18j6ifP7C9l8697ZroXifgC2brziRXHUwMDExU1x1MDAwNiVcdTAwMTllNVx1MDAwNu5cIlx1MDAxNFx1MDAwNEhCLHBtuoDxraDk97VcdTAwMDbXTszMfjw3XHUwMDEwSuHH5698JTzomSeNI/JcdTAwMWavoWxFRZWHiXXQiy86T+FCXHUwMDAzr73bQ6Xn2Vx1MDAxM2z/5jFzQtZwdkubtVx1MDAxZu5cYiGTXHR4qtrsKVL6i53vyUSBOEbeVFx1MDAxZWlcdTAwMWM/4lxmay1UpGzEq+Ikqr5cdTAwMGajcnfxOFx1MDAwNVx1MDAxON29iFxiKu2iXCKG6r1cIkhloPDrn6OOeyFRmeZcdTAwMThWSPZLkfa6WFx1MDAwZpT4XyGJrd01bFx1MDAxNMz7lp2AT3GruM5pWOM421xcQGqlXHUwMDA1moSbuYXAuvNfufVPb1x1MDAxNafP6dxtU1x1MDAwN4Zcblx1MDAwYvSiTzGcksNTXHUwMDFjXHUwMDExXHUwMDA1XHUwMDAyZFl3XHUwMDEwuGLFcTKfXHUwMDA2yLrX41x1MDAxN5XqpuPweoR6XHUwMDE2/X5D3GV7ey/LsDaeSULuNGfgdtBZ86v0alx1MDAxMk8/iCX59uGUYJHfXGaq3sDWWFoy1PNcdTAwMWEsnnbj0XZSw/d3MVx1MDAxNuSuiFp9XHUwMDE4pfitq1x1MDAxNsV8Jlx1MDAwMj+1U2ZlcVx1MDAwNdG5PF1Kx1x1MDAxOFx1MDAxMT/x27FjP1xmO1H9eN2z0M8t09ZcdTAwMDZcdTAwMTSiXCJwpSVcdTAwMWL6XHJ7+/nmXHUwMDEyySnR4uXMTyYlhS7zvci/m+ivepUlyit5q85+O1x1MDAxMdGTnzlENMA8XHUwMDEybzZrXHUwMDEzaFx1MDAwMbHepFx1MDAxY6StwvTNbzWGXHUwMDEy+f94RN9YRTJcdTAwMTRsMeExaFKqXHUwMDFhXCK0XHUwMDBiT1xmSn1SfFx1MDAxZSRZ0dJcdTAwMDHa+iQr6VxiX6PozVNcdTAwMDR2nDfrXHUwMDEyTv4wXdSmJf1kO3yFjttcdTAwMThcdTAwMTEz4tRn4bl5hpTIXHUwMDFlK0ruwZPXYvOojrdcdTAwMTSmVrvXcUl1XHUwMDBlJd9GXHUwMDAzUHuAxf1N4zyR91x1MDAxZsC+gKC8v7NksseX8LfftDHzXHUwMDFiTuVcZlx1MDAxOfuG7KiX1IBxuajo5VxiK+2LtG0wy35cdTAwMWRSNstN2Wan6WA0QUlcdTAwMDNcdTAwMDVfXHUwMDBi+Fx1MDAxOdisuok5XGLMIDxcdTAwMThnyVx1MDAwN8CqyVx1MDAxMUxcdTAwMGbqN5fk+lx1MDAxZc61y6i40YXhmLkt7jCTcpi2nfCVOP70sIKULJX8ZuDvMlx1MDAwNpFcdTAwMDK5auzBalcv6Hr8kvnWXHRbx5V/kq/7wO+FXHKTRuH+6ltcdTAwMTl4JFf+k/+QXG7i5EiZflx1MDAxZHkhXHUwMDEztFx1MDAwMPKD/sBcdTAwMWE70X/ys0r7OHM+VeZcdTAwMWFcXKlcdTAwMDbOzUWsYlpcdTAwMGaGwr1cdTAwMTiR2+9Mk6rhJbH/XHUwMDAyWsJ9XHUwMDA0T/RcdTAwMDRcdTAwMDXLQoxcdTAwMTjlcOU9LTRdWO9I0MZcdTAwMTlk5lx1MDAwNVdOQlx1MDAxZKZcdTAwMDKzlDTx87JSpogxXHUwMDEz3Fx1MDAxOFx1MDAwMziaxlx1MDAxMMHrl1x1MDAxMt/sXHUwMDAynDPchlx1MDAxOUiUkrT403U7cFxyYm3ZdlxieXiFpJ+ZyIt1wIFcdTAwMWFPXHUwMDEzXHUwMDE1gFx1MDAxMeg2jIWEXHUwMDE29Vx1MDAxYujiwH3xaHUrVGuwxnyodI3aXHUwMDFmgUfTs9fSXHUwMDAwXHS2/+xqxt/4T3dcdTAwMWKkXHUwMDE4/Fx1MDAwZUfsO/NcdTAwMWUq+1I4LFBlOzl8xo9cdTAwMTHMjLxOgVx1MDAxMilF0rdcXP/W0E3nrXtcdTAwMDGDsSNcdTAwMDb+k1x1MDAwM5uOmyTLcb9ktNRcYunMXGKZ31xuT2fHXHUwMDE1XHLfv3e5XG43cDnWnPCIjzdcdTAwMDdiXHUwMDA1WVxiXHUwMDEwOfW7ZJJcdTAwMTKLfvazxVxcXHUwMDEzVd44uVx1MDAxOcvXXHUwMDEx87QuXHUwMDA0slx1MDAxMFx1MDAwNoCN9ncsqcuWr1/RXHUwMDEy7G35v1x1MDAxM1/P103zLFx1MDAwYrbThNHXr7w1lTs/dVx1MDAxMlx1MDAwZodeLOC2baKdPl+PZURD9YhkoT+fc7BPqrDZ6s3V0/l1QFlPXHUwMDAyz2LzXHUwMDFj8Lcpu/6lbaFAtTUniqab6rd330R5xj9cdTAwMWJdXHUwMDBizVx1MDAwZsCWWoLnNpZbcZWhXHRixeyMSLrZXHUwMDE1Rn5cXEVy46922Fxi3Hre0GJ/U0bGs79cdTAwMGblXHUwMDA0bIu/P1x1MDAxOUT9XHUwMDAxXHUwMDAxrpuGh0maclx1MDAxOEMv+r5cdTAwMTQvXHUwMDE311x1MDAwNk35Slx1MDAwNFA3P+ZlXGK6KK5cdTAwMTKmvqyoVkL618BffvxccprDZE2z7n++XHUwMDAxXHUwMDBlbFRcdTAwMTVeM1W+LlxuzjO3jVwil+I2l7QrXHUwMDBmQVxcZMiXwFx1MDAwMD84L77NJEqZpei94FxuXq+XjDJIzZ9pXHUwMDFllVx1MDAwN1x1MDAxOCFjdHqXsEtg/KjuXHSUYlx1MDAxNVx1MDAwNCpcclx1MDAwMPXwelx0qnZccj5cYnGFYTiG+Xgu6+vCZEpWxyVnYrTwPFx1MDAwZpZXXHUwMDFkn4+mVLmWXHUwMDFl9lx1MDAwM7iIz44ypOelTd25XHUwMDA1XHUwMDE1XG42vj5mXHUwMDE2vz9cYturwlx1MDAxN1UknMNAJM1YXGIzq5+1PKb3Wlv8XHUwMDA14KHDXHUwMDE4XHUwMDA1hfQgxZY0225DW9jEYqS2wPRWXHUwMDE51bY3IIct5SdoXHUwMDAzPcWapvJTLEWdVOX+XHRI2Vx1MDAwZUlcdTAwMDHWn67PyVWVXHUwMDEws6qUnFx1MDAxNVx1MDAwNGNFKKPppOmNrZQl63dcdTAwMDM/J/fvefxhPU7yKE9cdTAwMDJcInWXXHUwMDE32GhfI1MnXHUwMDBi3JAs8bVlz4dcdTAwMWZcdTAwMGZXQcDrPFx1MDAxN9Fu2kc8/V+sgbLyXHSsXHUwMDFlVCPxlN9GKay5fVwiij56/IVoo3ZztD4nXHUwMDE5UdjRkf9tKVx1MDAwMctcdTAwMDVG9P5cdTAwMTFcdTAwMTGyeFx1MDAwNWolrVx1MDAxYvN6Q9GXY/pcdTAwMTKbdoOvcGtcdTAwMTRd+JVrtrPg/81//Io41XyNgVx1MDAxN3JcdTAwMDMpLVdcdTAwMTLr6Fx1MDAwM3XYdnRcdTAwMWXtXHUwMDE2RzjOJS9mxzhcdTAwMTUjgoJcdTAwMTJLgyAjWuOLhFx1MDAwM+6hgm3EXHUwMDBmXHUwMDEypvWjUa9RabBnpNvdilx1MDAwMJmVlal+2U+TcYCIYpwk2DnxUM2sXHUwMDA1zVx1MDAwMNKmav5msCFBrmnn62niK4BcdTAwMDNBj67/7l1/XGawMdytOZn3uc4saVx1MDAwZlln9lGHhZb8O0ksWMTBWFx0b1x1MDAxNN5cXL3HmJZJlXH8nmkkXHUwMDFkvpGNrS2kfz351lxunIGgXFwrXHUwMDE0blx1MDAxNyfmN6yFof1cdTAwMDGse+GANJvyt3NfXHUwMDEziy0oXHT/+ocmaK75O1x1MDAwNoVb/Fx1MDAxZMVWjq2IZp15Rz1/j1x1MDAxZUh+XHUwMDA0gVx1MDAxY1x1MDAxNJNcdTAwMTnDrIojoeYqOVLGyvn7XGZcIn9cdTAwMDSU2HhcdTAwMTlcdTAwMWT8m1xmXHRLob7Hw7dhWvy9XHUwMDA3XHUwMDFjXHUwMDE2Y9xaUX3QUXRGo0OG+L/Zqc2+okvFsVx1MDAwMVxiJ+ArXHUwMDFh+9Pqj1xmpud773zVRPk8Pq9ccqY2XHUwMDE1PIdvtDa7+lJcdTAwMWRdoWqrXHUwMDBlNlhcdTAwMTl3VViU0dmxXHUwMDBmaFxcmYKG/fNUId+Y+yVXolx1MDAxMlx1MDAwM6pE7n+r+Vx1MDAxYWIq51x1MDAxY5plXHUwMDA0XHUwMDFhXHT8vp2/XHUwMDE32nhcdTAwMDVcXF630fP7K3JbodRtX1TYcHf3Y5yfy0WqNShXXHUwMDA1/FGcUHCa0S61hOfFrHXF27BcdTAwMGaLvlq2ur+Lzv1wk8n/Zn+XbddBtOCHT3NcdP2b6iH/JfTI8GVflYQ4gEvkzJVcdTAwMGaTZVxynDSq7NBN0EHG66mdv1xcPK23RZ3Y58Ki0dxNbbhkkd/zNFxiIf5HYdmZyy1cdTAwMDCLQV5jqIZcdTAwMTDatFV0yFx1MDAxMOZdgM1BloGAjDHLb92UuPnVXTtnwTaylsL01Fx1MDAxMoB1XHUwMDExW0FRM7/sPujKKz53RqWjeX6ev2NPOlx1MDAwM1x1MDAxYVKXTITV/3lXgCjsf/vsf8Vx45m3rldPorFcdTAwMWa5+VG5e1xyPFx1MDAwMlxit25cdTAwMDFYXHUwMDBi4b1ilTrt33167aLDJpJcdTAwMTST1pvP2q1X9C14cyePVadDxIbZXHUwMDFk9Fx1MDAxYjBoQ1x1MDAxZqpwnMRy8KBodtt1XHUwMDA1i4xWz6aa8s/RXHUwMDFjXHUwMDFmaDRcdTAwMTS2s1x1MDAxNaFcdTAwMGKumFfuWlx1MDAxMFx1MDAxNmfwjtRcdTAwMTUngZHhj1x1MDAxMzhcdTAwMDO+/80jI5syXHUwMDE0VopcdTAwMDKaXHUwMDBio4vt4kQtXHUwMDBmmIKadFx1MDAxYz4mn3FgXHUwMDAyL8+fv/R/fdS3OL17jKRafu1I7tj9i1Olb5Cz/LCOKJ8wRVx1MDAwMpZmMEg0xGvb6FOYXHUwMDFiOl9cdTAwMWHydztbXFyZXHUwMDFmPql5OVx1MDAxZX3qg/SDW+qLl1x1MDAxONn8N1x1MDAwN8mCY1x1MDAxYSFcbvjfa9qFlKrC+kb/Nfk3TVx1MDAwMMlYdFx1MDAxZNC+X7xsUTdcdTAwMDSrVNNfP9X2t6FubOPrKr+1sig2RDBbvTImXHUwMDE2aN+Di5iZML/oTNJkx3vQsl9cIvzIa1pVXHUwMDFm+9M2bXHInf63Jtb+7XNcdTAwMDL05opWpaZcdTAwMTQlloJY61x1MDAxOb2y40JJU4p0XCLWd/WFXHUwMDFli+PTVot2bvk+ftlHXHUwMDFkv1Q2LVx1MDAwYsZcdTAwMTVXprPF9rFTT/EsoL5cdTAwMTNcdTAwMTSbfFx1MDAwNT53Jnk1/jWKzPdkY2dsm1x1MDAwMkieXHUwMDAyjpwjoVxcVvlIzEx5mv2gkdHYU8Mx7lx1MDAxZFx1MDAxYrmR95ElKHsyKm9o7PVvTeeSOjSx9VfNviBYe/UnNNcmRq9cdTAwMTNMXHKaumZLxyiartuisCx4kzspuLh/46V/rWXkXHUwMDFmyfmb7aOxXHUwMDFmX1PIJjt6sdSfX/m5UiqgppfP+Y/D81+3/+x87KbsrrtcdEcrXHUwMDE2x+tcdTAwMDDLr6/3/ZtcdTAwMDFcdTAwMTVlXHLTxbVnM9tcdTAwMTNviH06pqw0u1x1MDAxM13fOy0qXHUwMDEwy+HPIcu82lxc6VZdf+d88nDygo6DPVPyLeNcdTAwMTk+dFxuen3T9PtxtElUXHUwMDEwr79Oy2Vah6XD0YHxQlx1MDAxZV6VncSjXHUwMDA0j5Qwg6XHzlx1MDAxMF2EZvPcq35/LlPZv9had3lWdq1cdPpcXI8kMtzDSKajXHUwMDBlsixLXFyLXHUwMDE3sC48UctTkOPplGKg4ZLNgFx1MDAxY0ckmSr/3otcdKFSYlx1MDAxZXd1/dh5X6Ly3SRcdTAwMDPuJ1Ce38W4MbXjir5pMzvXXHUwMDBm/THx33ZKXtB42Fx1MDAxNSDTXHUwMDFhw7nVRLQ10rc3XHUwMDBlkVx1MDAwMVx1MDAxOMBrrLGQ/YqEx3hcdTAwMWEhI1A822v4/Xn1XHRmjuKLbvBZjdr87u6kaEhhn3ZcdTAwMTLzXHUwMDFizoqCR6BHOb+iKlx1MDAxZVx1MDAxOW7lfWOXck6iWPjXw2fI81x1MDAwMlxcw0b/c+tJ/C/NXHRqlWVvfer/TnaXR5Au7S5cdTAwMGVysoi7XHUwMDFm62lNIFx1MDAxNNZcdTAwMTJPhqq216TL8movXHUwMDBiXHRcdTAwMDb9XCKTffflwnX9N1+oXHUwMDA0lXOJimapUVxyZKT5x6Ygc11HcT1/R+XQen9jrfVcdTAwMWNk36BC37RcdTAwMTYkJlx1MDAwNVx1MDAxMYG9YFx1MDAwNGLteZE9fIyC/drjmNhcdTAwMDU/SaDZb9/aJTH/1X0mLMpxVf96W1x1MDAxZDCnJiMn3cfA+IOAcZ1jdHRcYuAw8SbQQ5leaybT6k5r+X983lx1MDAwMUIjiH3r6oy9bu1/3YfZzFxi8a1cdTAwMGKl+Vx1MDAxOXpcdTAwMTDqX7kuamJlYVx1MDAwNFx1MDAxNtasW1xuR3mIeiz5/d/7c9B+W9Sx9oxKfMdcdTAwMGZcIqyfRi+/uIrUu+navHLII3a623GywEnhl1x1MDAwN8dcdTAwMDPdQv9ZR1+vqM6LXHUwMDE3+5tcYrHEhm+S7ypcdTAwMWGsqT3Uu7mZ9JlWP1eEXHUwMDFlrlx1MDAxY39J53qNcfKlP9WsVaRbYWl9d/36iPTdQ1x1MDAxMSTnJ1LLXCL5/pPraFx1MDAwYqbPXHUwMDEzU1hkhjJTaMtcdTAwMWRTXHUwMDE2Klx1MDAxNXokv27T5zhn5tqgQJUs4jieXHUwMDAz7zeKiTKNbXer4t6lXHUwMDFms2hcdTAwMTHTg8WiOIH/m9uJvFxullTU09GEXHUwMDA3ePbMJK649e3eXHUwMDBiJYK1bsot9GCOQVWoXHUwMDFjLD70YU9JIFDfqSwrTmQ/Slx1MDAxMtxkilx1MDAwYv7DXHUwMDFi/K0tQ1xmz8nONFx1MDAxZC1PXHUwMDE3dHO/n95cdTAwMWP6nVx1MDAxZFKxXHSfi3TXuIqYklx1MDAxM6OXZb9cdTAwMWWDmJIo2dplXHUwMDBlkTV0XHUwMDE2cGSxyuzR1tZvj/VFQCefp9eovWTNkYO2PqVHKFx1MDAwM+1Xx+Hyb4FcdTAwMTZcbsw8u0i487xcdTAwMDSvXHUwMDFhiZlUTTVeIXbR4zDylu2eq4aeXHUwMDBmx+k/VKDJ9GqnYSiR5l/XXHUwMDFk81x1MDAxOPdoKINcdTAwMDEvO1CpXYL484nPPFx1MDAxYZhLYF9cdTAwMWVvnM+bUi2c/c049Fx1MDAxNNZ+lCfr/HX861x1MDAxNz2GYWhIflx1MDAxMu+RqIGuuu3/ra/rzlLLkyN8r1wifLD7q1FgSGSalHr2tfixnEjywr1Fm+Zju1xyWFx0M1/fM/exXFzqVGpVRJ8vfr32wrVoXHUwMDBiglx1MDAxOUZcdTAwMDT934pZXHUwMDFm55PYJ3rgXHRcdTAwMDU6JLDLTP03K0SlXHUwMDBmwky6riNvLFx1MDAwMCkybtDkh2A8qzhTvpOL71x1MDAxNI9cdTAwMWUlgqbgNTR/1MJcdTAwMGV9/1x1MDAxMVx1MDAwMVCuf1x1MDAwYjn7g1xuPE5cdTAwMDQhM++SXHUwMDFm7F/rXHUwMDE0XHUwMDFkXHUwMDEzKaX9dV2wxVx1MDAxZlx1MDAxNGAjnum0QdE848MpNWMr02S6XHUwMDFlYXVGSVx1MDAwMVE3jiu7LLTUXCJcdTAwMTaRfSZj3oTg/I+134QpWF7T3lx1MDAxOFx1MDAwMFx1MDAxY2+jzdqDRP/6QshnXGKsg8f7XHUwMDExsVfdRb94q6ZcdTAwMTe95FQ3567j/K/nsLTC8Vx1MDAxYvqRtFx1MDAwMvxO1dm3v4GfL32IXHUwMDAy/nyZ9ICcjCk/elx1MDAwZiY9mlLpm9JLWWJLXHUwMDExRpbM1d9cdTAwMWFcdTAwMDSXXHUwMDA3XHUwMDAzetF9XHUwMDA0bOlr44UyaVxuPVx1MDAwZW6JJFx1MDAxNJLAq5ikdPnfh9elifNrh/OSZtCpTf9cckxcdTAwMGbjXHUwMDA0l4Xi9VX3wbTb21x1MDAwM7eqpdphUmnuv9Z1OtbhZD7DfsSwLupcdTAwMTd2lcdcbpxzZyeT41YjXHUwMDE0XHUwMDEwXHUwMDA1w+xSJ8Hu4c9U5s5Vh1x1MDAxMjjdiO9cdTAwMWVBwP1cdTAwMWaxej9cdTAwMGZcdTAwMTIjJeYuN5XdRv1ccvmb822za8TrV45oXHUwMDAz5mbbZytfSLPK2PDmpGGenOJIp1x1MDAwNldU6OHgmMOGb9yw8lx1MDAwNpPVNWBcdTAwMWWJyuuHaF5cdTAwMGJcdTAwMGI1V3ac8aqLgMpcdTAwMDXxMFx1MDAxOWR/XHUwMDFhXHUwMDBiKZBadjb3IW9khVx1MDAwN2ZrXHUwMDA3zCepJrab0Jxe01x1MDAxMcuxulx1MDAxOU/aiLti2PVcdTAwMWFjfjhcYo69MfKVO35/cFZcdTAwMTkx/Fx1MDAwMzDNa9Ps/tdcdTAwMWG2Y2/y+yTtyqNaJ7MmLtRcdTAwMTY1lu2Ydlx1MDAwNlssXHUwMDFmfW9trfv9QKiNVPLftOStI0U13JtrXumva/nOR+PLOSmYZlx1MDAxMlx1MDAxYV6/6G+uN4xwbvKaTKBcdTAwMDZlXHUwMDA1p17rL2SVprCO8Vx1MDAwNs9cdTAwMTdzgEnNUFx1MDAxOPKnMEA9nqaqXHUwMDBlWMh/9XHG1SEyS6ho2ZWWckQv2kMlzWVYU1iQRmBwRvvClvKCf9tcdTAwMDF/NG17W5rWIaSamps2nzz6cvxPqnSTYaf98vyAu6U3R1oqv56HkLpcdTAwMWbj5lxctYlpfCnM7FxiVj2k0fTWkozF4OuCzjpcdTAwMTOj8ZRC7Fx1MDAwM1Kfpsv95qngn0asZfGTO8WyaHJcdTAwMWLm/MRHWvXwXHUwMDEy14hoUF73XHUwMDFkj581QVKZXHUwMDFlzzGG23y9JvlIXHUwMDExXHUwMDBmgqVJx5gp/21XmCHXmn320+rvL5/y8P+XW8abW6zrLqxcdTAwMDH5kX9ZibzU91x1MDAxNt6LXGastI+lYFx1MDAwMGLF4iekJlrKXHUwMDFlN55R49L7h4FPyV2szJm8XHUwMDA0XHUwMDA36pG+WMBX8l5YXHUwMDBlZ11cbreP4da8WKtcIrL2U7u/NV+oqX7kXHUwMDFmXHUwMDBidsiPzVx1MDAxMoQrSERcdTAwMWKckFwi01wixDRcdTAwMDRcdTAwMTVn0Vx1MDAxMFxyj2VcdTAwMTldonBPhr/N31x1MDAxYdSO7nCsR1x1MDAxNoM8+LJcdTAwMDBEL8fKhG8vmFNl+zefTSx2dZqVhkrU1VwilKhRlVicdUPHrthiVSkvq3lu9FBQICVcdTAwMDLuXHUwMDE5sb5bxG/+/ThBgYeB43FbsHbfz1x1MDAwM3aBxaBKiU+8KFxunYsqXHUwMDBlUa762tpk82xcdTAwMTag6VXQO094mztcdTAwMTK/utpcInP9n/7uXzmbsO1UM+7bu1EhNMzvpYY0xP3mQSM4XHUwMDFmIS2XJXng/uCqiZuq/HBcdTAwMDL/932HXHUwMDEw4Vx1MDAwMtbvmu6jvlBunIWSg2RorsYvfe7ppT1cdTAwMTlnYrBcdTAwMTVttYGEdjj7IX6wXHUwMDFm6cmHcn1cdTAwMTj+VmhcdTAwMTHohp++aF2fk6dHLcyufU2fXHUwMDFm+L1cdTAwMTNcIo34dStaVaBcIkfFINe1JZljOUmD3anH8+jL7+JcIqp+XHUwMDA3J4pSz9v5K5Ts21NAJZtheyvGXHUwMDE2atcjdmRcdTAwMWEr+bI1c1x1MDAwYlx1MDAxNPxcdTAwMGWJ/Fx1MDAwMdPA33e0lFEw6Vx1MDAwZiaikbeNok3zT3szk8focZBlzEBWL1x1MDAwMOZkPURcdTAwMTdcdTAwMTj9OzP9i7WDSnRlxdC0qK8tIOg+l1DJdca2vulcdTAwMDfTPPecKZylz+HCY2iCXHJlTayOJra9j7bfryvv9e2uuH1cdTAwMGYy7ZjW8IrvXGa13Fx1MDAxZS6YReCQVIDR6FwiiGUg3Z3OaSNcdTAwMDG011x1MDAxOOXGXHUwMDE5vfpJ4zHRTc1uvrZd8GBojH5cdLfSdZRLmDRcYobvibzhduVv/uHTJFx1MDAwZcF5guBcdTAwMWQ8TnKuSHI/NUA4x/p+Xlx1MDAwMED0Vkc03ouPjUd4voHpXHUwMDBmOTNuXHUwMDEzyLsgzsHSXCKxZERXmNYy5T+MRc72aX3rkNIjcLNcdTAwMWQzyY5Sx9dcdTAwMTf+6l30hFS8u9L/IHrii/+TsTjS4bi2kdScltfvx7yTwcC6p9FYcYJwlGdCmUvG7lx1MDAwYq3MXHUwMDBlWUycgdRcdTAwMTKXoSfquGF2uED6npu7XHUwMDBmj6stoPQ++1x1MDAwMYFPalnY0pDauZ6IR1x1MDAwNiDwglx1MDAxNuxcdTAwMTdcdTAwMDVMW1xyxt2uLr4odlZ9bVx1MDAxYuqQXHUwMDBia/BzV3RRXGaxips3XHUwMDFlR5BcdTAwMTj1TVx1MDAwMHyHyCDGWFx1MDAxMLC6N18hXHUwMDAyhjlcdTAwMTlA3F0j/tq/61x1MDAxOZiKXHUwMDE33cbbue1cdTAwMGJqolx1MDAwMj+bVHvVUfPFXHUwMDA08iMv2Vx1MDAxMaAzXHUwMDA1zdC/XHUwMDA3pI7mrFx1MDAxOH3y7qt4vmbL/8/8+S+eZTvBmKYp762s4Fx1MDAxNVM6sVlfw+aBnZx6XHUwMDBibe0pbOPrWmDzeqtcdTAwMWWBbqag8mPplMZcIm03RKRpXCJcdTAwMDTMdJjn1u68yy9fP1xuXHUwMDEznFx0dd740MfCXHUwMDE191xuIdffuu28z9ffIG+Ird1HjuOQV1idJLGp5sWvomotos15b4KNJVx0XHUwMDFkKfno6tShXHUwMDA2XHUwMDAwjWH3XGIp95esv27LU4NUXFylXGb0XFy8SznnjFWI2P85b4jNOGlxz723NkdcdTAwMTN5Ucmcq4bpa7d2z1x1MDAwM6qfTdFcdTAwMDSbTmmpqqxwN9E+u2m+WVx1MDAwYjLDv1T4j/75Ly/YlpzkRF529mtGm+hs6cWHdnm5oVx1MDAxYtFURzI86kHVR1x1MDAwMlNgLmG//opykVx1MDAwMOGScN9avms+XHUwMDE0etnzMfgualxuTVSVxVx1MDAxZV2zV9e+UWGlRVx0pLFENFxygiSYYamReNH424f1x0yf7/1qvetXXHUwMDEz3EWwaYm/w+s/Wlx1MDAxZrNcdTAwMWGZsW9YVrCNzFx1MDAwZUl5XHUwMDA0Z47trWU+XWPoZHKWuKV70Vxm0ri2a1x1MDAxZqlJIKVQoI7KvFx1MDAxMNW9OPWVWZRZeexrXHUwMDA0pefd7S9/MlwivjK8c4DEPzjQYX7yhkb62iDYf37P+d97XHUwMDEx2N/Lo5bGR3p5Y4StXHUwMDFjXTBPvnPHJE9cdTAwMDD23PfphvmJbnXEeudcdPvC9EdcdTAwMDORoFx1MDAwNuObpo6gVCyxwam/94ZezTTlqsJcdTAwMDYs2aatQYg2Zqa/8yDUiipe3C6PvvdcXOehkjFEmsZ3I9JdrtBcdTAwMDKs9FHcU53I55ZcdTAwMTlcIkjXwPKI7aTeu1x1MDAwNOzLveRbsqZcdTAwMDMv08xJeJ1cYlx1MDAxMlx1MDAwNetzfyBp72VcbsXKJyXJcvCQJMVVWE0/WYqtjyRp+KE9sFNlXHUwMDAwmsWBc29/8CewXHUwMDFlPuFcdTAwMWa3Mi3tyqn/XHUwMDE5j//6/lxcqZTYrb+yoMDSKCGoOmxImUzzgmpcIofSO1x1MDAxY8FcdTAwMTf8cvjCJU1cIlx1MDAwMOhrdf5cdTAwMDbfXG6qtuYwRVx1MDAwMUic6lx1MDAwZfVcdTAwMTXbXHUwMDE2vrTfXHUwMDA2OSC8XHUwMDEzuYquIV87v5MurtfbX1x1MDAxNKtNc/xcYoTX9bGLaqk5M3Zhq8JkbsT0a/1cdTAwMGaTXHUwMDAx/Nusllx1MDAxMFxcXHUwMDEztXbC5pyBJapcdTAwMWLzkXpcbjLNXHUwMDFmk4TpXHUwMDBmc1+WQ++vh1x1MDAxNaMgn1x1MDAwYr563/1J6bflgK8xXHUwMDBiv1xmt1x1MDAxNPb4svTModriOdd16u1cdTAwMTc/c1x1MDAwZVEx8tIzq1h0iVx1MDAwN6t0/DTvXHUwMDFmdvmXJO0kZVx1MDAxNdrK/InuOcT43zXHzF6Gqt2vSddfTCGQ7lGmbZpaXHUwMDA2wkn7TpFUXHUwMDEzh1uLU5lcdTAwMTgv8Uc5ObFcdTAwMTN0XHUwMDE0XHUwMDFjjVEp0rxqvehfgVx1MDAxYcebsMK1Wf8o5NswQTam8NaulSyjN+NGa4BcdTAwMTVftbtcdTAwMTP2Z9KrVUafXFxCW5BeXHUwMDA2yKy4jVx1MDAxMTi0+kw8mySVJHiQX1x1MDAxYq8/XHUwMDAwbDlMRPkhXHUwMDExXHUwMDFhlGZRamuuXHJcdTAwMTRcdTAwMDJcdTAwMDe+XGas41x1MDAwMWFMuXOLnTFJa4JcdTAwMGZEXHUwMDE4lW+d0D84rm4j3Cqla1x1MDAwZdhcdTAwMGJk/VXC5a2P+PhcdTAwMTZPwk58XHUwMDFhwJNAdCaDXHUwMDBmXHUwMDBlXHUwMDAw2OflMWvZRt4/3/u5TstcdTAwMTfQI6GBVbigVO04V8JeJ/EqKVrxbija+KuWdP/PfPu/OZgz09/eg1nk5dfSLaqzXGZv70s8hPs6u162PaBcdTAwMGaE779++/lcdFx1MDAxNsnYSIK5mLbEMlx1MDAwNXKanopuXHUwMDA1/co5/uXaXHUwMDE1rY6q983DUoUtXHUwMDBiziyGXHUwMDAx/c++Se/jw6umnWQojE01TINcbk2gpt6DUVx1MDAxOFJunz9cdTAwMTQkfleFpGpL7TdcdEf3VP3N7iO+kpVArKkq7Vx1MDAwM0N4XHUwMDFkXHUwMDAyfUDyKGlERJj+nbfxmeZzI9rc5ab+rqxcYm1szcFdmynxIIb6U1x1MDAwMlRsS37suPn/k1x1MDAxYv9ZN5FeXGK59rObxVx0blx1MDAwMjVF42knXHUwMDEzKHdHLLt6wLz+MkV5XHUwMDE5k/77xWiAO3Ne0cBF5s40wq9G1lx1MDAwN09cdTAwMTCaZVNcdTAwMTZBkoD+96bvy09cdTAwMTOC68n3JSQ6S5P+hlx1MDAxY0HlpVx1MDAxY72BblVOs646pJdOSNuiaUVKW1x1MDAxNMLrVFx1MDAwNP77UUj3XGbLePo1KsXGXHUwMDAygVx1MDAwYkRcdTAwMWN8XHUwMDEx2UY84CS3XHUwMDEzXHUwMDFidYCQnnt+JVqK8+lcdTAwMWGT6ZW8TXy0XHUwMDFki4FTXHUwMDE5eP38XHUwMDE2jjA3zcuhvJDUIaz9b8y8dVxcxVxcvLjveGg/q1x1MDAxY+904Fx1MDAwNvQtk7u4ftBkStGR/DBcdTAwMTXj8u3iok9cdTAwMTLz/Jtx5DSR9GecpubJV4Th5uYoXHUwMDBmXHUwMDE0o1x1MDAxN5ggdPb2/OHVlZJfzVMmkN2pJipZ52g1vlx1MDAxN721f1x1MDAxYtnil+GagFx1MDAwNij8mCCisDsj50R5X2VR9/Nccs2NXG53Q1x1MDAxNvmd6nhHdE3HtY2MNMCseIlcdTAwMDSzhu1cdTAwMGXKljO5XHRB42gqIVx1MDAxNVRcdTAwMDE0zMDjXHJcdTAwMWaOSKFiS3Lo/sr9b/fMXHUwMDBiUYW9XppcdTAwMDRxcrorxJWFVeyUKZigqppaMVm/PPxxWe7DXHUwMDA0Zkrsw/q11Cm0MTYps1xilODQi7qkssGKT4vKYcNTelx1MDAxZu3KXHUwMDAymm9cdTAwMDJcdTAwMTCTNodTNW1+oNNcdCd0XFyRNEHvcnt1g1x1MDAwMWIu+3xr7fJZ8ZDyzCNcdTAwMTlcdTAwMDOWnL9l246D1Dx69WMsT1x1MDAxMWT+zq9cdTAwMWN4qbV6XGaP/fBNklCHhaK7W6Q4iGHTIVwi7Vx1MDAwNshPZlx1MDAwYjX4XHUwMDFm1dlRXHUwMDFlTi3fP1Fr6ndcdTAwMDVyXHUwMDBmXGbvNtYkKFx1MDAwM+6sKXCVPCuYOG2Va4G/XS6zXHUwMDA2r86Mwe+S7y3H/HZ9ylx1MDAxNNfrtXIyUv5zf8e/9FeKfOZ6/VUocCkrR6z5dHlH++JUXHUwMDA3mNjeJrUxrqspqFx1MDAxMPX+J1JcdTAwMGWZVJw2Vlx1MDAwNVxmT5vGXHUwMDE4XHUwMDFhObVubLpmPFx1MDAxZVx1MDAwMUPGKqmKOCSKXkiokkojcDWrZVx1MDAxM7clz/9KRCDQVDmOI2LTwFx1MDAxMUavWVxmn9+JN1xia0JcXFhcdTAwMDRcdTAwMDIqNZmOXHUwMDFj0HWsw/iU+ieleLO7RYm/X18vOlA64NZXu5dm+Fojdm8lXHUwMDEwTc7lk8tr4nH2l03tLNwl6721hPLLZi9ZWq9cdTAwMTaFv0qEgVxmlFx1MDAwNJpEfOdFQFx1MDAwZlx1MDAwZlx1MDAxMogm0KarjYtn2SWQ9luWwli6N1BuUlx1MDAxYlx0und6XHUwMDEzUJnM/ldG7pmRqXtFXHUwMDE0yuY1K/nZllx1MDAwM3dcdTAwMWLeXHUwMDFl/Z432a9pVPpqXHUwMDE3XHUwMDE2TihcdTAwMGWJ9Hr403OiUGSsxLE718ZmPeuOPrWYdH95zKduY0SU6yVzcduNXHUwMDAym4ap2JHActXi+NGvt6RcdTAwMDE0rSFcblx1MDAwNN1vuiGgvFx1MDAwNrZ8JXkkxlx1MDAwYsc/e3FcdTAwMTWdtd9wXHUwMDE5N1L1zVx1MDAwMHhSWlx1MDAxMdL6r3qesVE5T0y9KWNcdTAwMDPlUWZG27yZXHUwMDA2flx1MDAwYoJWmI9cXFx1MDAxZlx1MDAxZkV/bcm6QsSJwEGYtEGCXHUwMDE06Ia6+Gz1qaMlgVx1MDAwZnyYWVx1MDAwNJvlZY+57r5cdTAwMTFcdTAwMDJz0mNcdTAwMTGGmrzmlIiHXVx1MDAxZlx1MDAwMII3XHUwMDBltzipjzx9UUf/Le3+UvyCqqqywlx1MDAwYjdzjfM9R2fyoq/+jMeeZbiEkehoXHUwMDAzJFxuXHTzvMxcdTAwMDBFXHUwMDEymXIkKvdcdTAwMTGbu9EkZrcwMlWu/JrKXGYjp6u87Jqy6eJcdTAwMTQ1XHUwMDExKzLUXHUwMDE0Q1x1MDAwM1x1MDAwMXHWQWXGeVx1MDAxMJCM6bagascwKvHEvVx1MDAxMVxmqlxuwq6A/3i4xzFcdTAwMTWrfFx1MDAxOKFWXHUwMDE4R2BUzmEqKnF03edqhFx1MDAxMVx1MDAxYobqXHUwMDEx77Our47cbVxmYHyovnpIfJ6Taoju5sa3tctMXlxiP3p0TPlXZMHjlrTyUiRcdTAwMDC2TDtxY1x1MDAxY5xfZVx1MDAwYlRCrLfXtogt+dCMZzs/ffC8XpRzOC/kv1x1MDAxOVxmWFYoQrpcdTAwMTFUXVx1MDAwZXhcdTAwMTG0rH+QXHUwMDFjh4B6wpDKXHUwMDFjnlx1MDAwYjPIXc2DKNNcdTAwMTVcdTAwMTdOXG6K7/dx40GpXHTo1eRcdTAwMThYvp9RiSP6yDTZrZ5pyDHyIWpQXHUwMDAwpMUzcTHN1Tv/I1kgJmyIh3HWt3+CK2lcdTAwMDftrVx1MDAxZJf5bCRcdTAwMWSiMrPtx/FSXHUwMDEwXHUwMDE4XHUwMDEx83ezWvSZ0mq6upV4yVxcqFjGYTqV+SduKbtyn5Oc4iY7/ZtcdTAwMGVcdTAwMWKbNYm6WK67QyXx7yVcdTAwMWO2wW1QQpKHoVx1MDAxYcyjXHUwMDE5WMR/g3NcdTAwMThUoU6yXHUwMDFji71Fs3e07mFlKvmuYFx1MDAxNvS4dcFhyVx1MDAwN8ObgrLAS1sw+lx1MDAxMl0jXHUwMDA3huBmLlx1MDAwMpY89szkrPhnXHUwMDBmXHUwMDEzWNZ3qPeoRFx1MDAxYeeaK0ZjXHUwMDEwLSZcdTAwMWaHwDVcdGUn80FcdTAwMWR2/8VYIdyKnj6ll4A5PFDRdj8uPFxmoC3f0aKNXGaZXHUwMDA27DdcdTAwMGJNRWV1lHH6/La/pvP2XGJZ24Q3Z1x1MDAxOf9752+B+eBKn9ux5bzwlJd0XHL94HdoRntdXHUwMDEz/Vxy62KPu1nGy7dKKnfVtq1cIt9uI/dF5Vx1MDAwZTiXojtzLSQh1240XHUwMDExv7F7zcXqn5x7i074V1wiilXCqsnoWWdcZraQQGaWeHqB1u2YU1xmcXlcdTAwMTHBr8TsX8pnN1mz0FNwKd9MXHUwMDEyu1wigni2orWoelx1MDAwNH66XHUwMDFl0piUqGHP4rTEb89RXHUwMDFjvf56XHUwMDA0ckpfWN30sHOMLKbdzqnlv1x1MDAxN1x1MDAxZlx0q51O/W/Y5fZVIbpNxjlhXHUwMDBiklx1MDAxY+NF7JJs7ZBcdTAwMDNcdTAwMTfe58dHZLtqR24wXHUwMDE3tlRHmlx1MDAwNUzC1nM6XHUwMDFjvOdBXHUwMDA1NpiIRear21A5bkRGQdy05HXx7DHcoTDrpaqvj97jUsbtn1x1MDAxMT9H6Vx1MDAwMmO6XHUwMDAwUld2RayrsaTPymVsINxcdTAwMTCgcX9Gm0NcdTAwMDRcXM9Odkrvk8wgmZKuJVx1MDAwNYXflNLgRv8tKqeAxVdBf1x1MDAwMb71Mf6tjv8rpl9cdTAwMDar2WjstMuYdI1Ocedrl7dcdTAwMTa+olx1MDAxMppcdTAwMDeWLVCIXGJzdq0/miBAPEZ0XHUwMDE4ljtXcVx1MDAwZlx1MDAwZqiCUJaG+XHqlXdcdTAwMTSIvVx1MDAxMFHvqlx05fLg+1x1MDAxNfiBXHUwMDFkT1x1MDAxNGDhwDum69uDNVxmd0FzzL6jlSFMXHUwMDE3lmWaIO+6XHUwMDE33UbjydXDcFe4kY+RfG7tV/ncQMhgokNLYW2ijNchXHKV9F46jiCww4+xLFxi/daIonKZ09HGlb9pfHbomlx1MDAxMVx0XHKUp3Q5K4hcdTAwMDF9PerkY3ZkXtTed/6SXHUwMDExJHHOXHUwMDAwv7ZRrDnWVsJQx1aRsYJ0UL9cdTAwMTRsY88vLiPRpsON9pe7x3pcdTAwMDO0eyxcdTAwMDBcdTAwMTPONP9cdTAwMTc9VKrIe+9fXHUwMDEzolx1MDAxZuvYiv73ksOZllx1MDAwYnh6b9r89D3M8Fx1MDAxZPadVVB+v4owfM7w8IVaOE+NQ8FR7U7hhl8hXHUwMDEyalxysrlvTVxygIr0toCchfavRFx1MDAxOFx0xlomXHUwMDFkv3xcdTAwMDG4J1x1MDAxZl1GJIYlmJGHXHUwMDFkXCLWVcXyLk+cXHUwMDBmoVxiXHUwMDAzq+RI/5yZdVih6tQ+u1JPUOXo9FxcT9LF+lxiXHUwMDE2KrfLQ/nKfIPJZFx1MDAwMG/l/Vx1MDAxYTpPv8pcdTAwMGZdVb2PXHUwMDE1Qc0k1o+Jb1xm+M7AbsvoYEyGM9FCmVx1MDAxNr3JSeePaZ1RhqssJkPXflS5tVvEfChRfVuJXHUwMDAynFOIoVwiXHUwMDAxtFd4imPkN13UhLDE6jFcdTAwMTYwXHUwMDAyy3BOxyjcPyH8XHUwMDA0jFwi9qr7JZ+WsYlOlI2Ig1xmjFx1MDAwNHB7x4xcdTAwMTJKWy04opV845b9JGF5Ulx1MDAwMoNbzG9OXHUwMDBlXHUwMDBivlx1MDAwMaR+WfBcdTAwMTe1gjOp2/B9OorEg9D1YMhcImNcdTAwMGY8X2ohgOrsT/ODrVx1MDAxZZzDkPFcdTAwMWJcdTAwMDVcdTAwMTJcdTAwMDXBgnxcdTAwMDCg3rFcdTAwMDLNTpxWuilvzVxmmVx1MDAwMlx1MDAwNj5+J6hcZlx1MDAwZYM3aMmik800ta+dcryJWICm226FXHUwMDA3+MiInlx1MDAxZjqhu4mAXHUwMDE5z4CoXHUwMDBmalxcYj9Nv2FcdTAwMDM0c+BcdTAwMWaCpOWezsDnMKyPpVxc3DGl3v2Xc1xya2HqlUikxYOfX+7MsVdeUFx1MDAwNIOt7cM7qnJG5m1QXHUwMDFj6l2WNGJcdTAwMDNcXEZcXO5cXPVPvP5ff2Gdp1xuvEFUrafBlth2XHUwMDE5mvnw7XfXd1AoMLOEU577e892pk9AO1x0gmtyhmFcdTAwMTSGVV1B9Npan5ppil8vuiVjdLV4XHR9nfpvQebD13lcdTAwMWJrYmQljZWuXHUwMDFj0fzoh1x1MDAxNlxcM+atplx1MDAxOIdcdTAwMGLW9fZcdTAwMTiKJ0if52k3jKJcdTAwMTBcdTAwMTQy0byCzuE8lZxcdTAwMGJcdTAwMTNP8HbX+Dtjm1x1MDAxM5RVs1wivD+qWCtRxtxcdTAwMTHrm5Mkjv1cdTAwMWa23mNJQiZJuH0gXHUwMDE2kGiWaK01u0RrXHUwMDEyLZ7+Ut1zx+bvr5dVZZaVXHUwMDA0XHUwMDFl7ueEpFx1MDAwMENcdTAwMDfB4O/Muag9mqdxnEI1ojlaW1x1MDAxZc3OoozeXCLhbVx1MDAxNyn4PcIvXHUwMDAyaqZ2dVx1MDAxMJVNmHZsXHUwMDBmTM1yV6aqScX6SOQz399ppuJcdTAwMGZhupNcdTAwMDTObcAkrSZ07vq2OEc7TZ1cdTAwMGaS6Vx1MDAwNP/Mfy7tvSTDZpEnvpTSbIdXoiDzJss485ZcdTAwMWFnUV2IJSZE8596Wz8m8lxi2YdkjYHYQL9M3EbJXHUwMDA3dUWNnVx1MDAxYS2sXHUwMDE2wJG+9+ftK1lfXFxahJ9cdTAwMDNsgNdcdTAwMTK7cktcdTAwMTCaZZFcdTAwMTZBlCRriE92XHUwMDE5ni/AO2ahv6vEXHUwMDAy/PuqSUbnuHLugFi5XHUwMDFmR3Vtly1OMKNpXHUwMDEwXHUwMDA0R2tcciXO/OFcdTAwMTEmxfqYWdhVnCrWxGYncM6C20Rcclx1MDAxMspcdTAwMDC2XHL2XHUwMDE312a+KYavL3yTODzpp9tcInfO1z4lXGJD/aVf2lJVblxcXHUwMDBiQuE5Lz6LXHUwMDBl0tuMfMPgLXjhXCLKmLAuaF6yXHUwMDAzTP0vOY9nhK/tczeHlnaEK1x1MDAxNyb41vM6SnZUoVx1MDAxNd+JXG6rXHUwMDEya1xcYKP8Yi0+O1d+4+lzIbHGeJZcZvPQ5EqA9b03gFx1MDAxNd9/XHUwMDA3VM/f5cXNr9TeP6LDXHUwMDExvXbxXHUwMDA2XHUwMDE3Ie2RNUL5kd441tyEXHUwMDE2w273uzL/9tdcdTAwMWSUiFFu0strs7L9ith+TS+mgJL71o16+0K9gFx1MDAwMq532/52/oTGf6yPQEWJx+aD7yEwXHUwMDE3Zvuhw8uRg616qfaWazFfO1x1MDAwYiRcdTAwMWL1dY0v45B9wKxDnczoXHUwMDEyxdBI+1x1MDAwMPWlWsP/hEhHXaiueajXMM7JXHUwMDE0bvf/9s2/9opY65Qnt+lKT6FoXGZAjmx0zVx1MDAxYaCTTLOtvCFNmnEnXHUwMDE526SwjPHXev/4SGZYbH5cdTAwMDHv1VBcdTAwMDQtXHUwMDE0P+bERrMmXHK5a7jWLHnn9yQ55njvu4DR0YNLdCA/0dVWXHUwMDEwrcZ4xHiyh2VcdTAwMTehUcamXHS7YFx1MDAwMUCXRjKzbjjEcGZ8nldJ4pj9KY9cdTAwMGK0LGtdxXqZs065jrbJRtz4soK8XG7iqopeodyFPe3T90CjXHUwMDA3KYjqk9NKotlDPy00dG/r4YhgJ/JKhdpccv/B1HpcdTAwMDBZf0B0v/swWUDN8lx1MDAxMn+kNS0p5XvPcGZLwldA0bzV1LP7Z1xytTNFY/f6zZxcZtjlNvtskZzjXHUwMDFjkX1qQ+qUXHUwMDFjSIqLQrD2XHUwMDEx3d2+hcKpcfr3k4Avak5Kl9muYLDs2dP1XHUwMDE0xLlN7rywNkPoT4aWVW3YWyT3bWqgNZavR+3zfateRVpRzZLZ1yH0XHUwMDEwnlx1MDAxY3laOfmmmz1cIlx1MDAwMLN9SKDtzdFcdTAwMWKMoahnx9U9KdorU/tGTL+gu0rz1F8993q5dsKf4cVcdTAwMTCamTTN1SRQ/92PMavzPvyYXHUwMDE2XHUwMDFjt4i8mVx1MDAxZsquaWhMv2qLmFx1MDAwN+S2krAgz4BZXHUwMDE0U2VHXHUwMDBi6LwkqYY8nstmm5dNm66eKzV9XG6sqb/4+yOGL7KDK9NDOPVcZm1cdTAwMWUsRfhcdTAwMGU0v0jmfo7KUVx1MDAxONJNg5x9lUVcdTAwMDcgPzHbYfqPWsufmtyt+s3H9dz67Fx1MDAxM5aOqNduXHUwMDE2bW1hkbltvIm7dFxmcGWu2lx1MDAxOFGTK3xcdTAwMGbSm9paXHUwMDAzTjeutVx1MDAxMVhQa1I889CZjztQI5krbHTOzl1XXHUwMDBmgjogx886XHUwMDFm9/hlK4xnPJKNneZYXHUwMDBiWNT7htVfQFx1MDAxMey5Log9Xd6uvVx1MDAxYygq65bu8VdcdTAwMTVWXHUwMDEwsNFcdTAwMWK4blx1MDAxOGF6mfDLaW20Ylx1MDAxMqaJTa7YTSuOs7QsiTRcdTAwMWRcdTAwMTkq7c9cdTAwMTaLzSxPf3dPhpPoj750XHUwMDAwXFyQXHUwMDEx1sqlXHUwMDEzUJxcdTAwMDDTSdd5NHDl+6zsXHUwMDBi78O5Llx1MDAwMNCxcGY5QKPUcHJcbpRfXHS++Iy82YglmMP1s+JlmzFMyHA1z4j2N8aniqR8JFtPSjhr5jvo/K/A/c92XHUwMDE1Mi/kXHUwMDA0di3WXk9wrM1cdCyneFx1MDAwMrhw0W/yar5cdTAwMWP9RLVhSPHWSXI2XHUwMDFm1UvjfVb42Vx1MDAwMFxy+InGOJ768G7IRKDUJlx1MDAxMXjmk1x1MDAxYcFhXHUwMDE0NIDOP3thXHUwMDA3OYXrXHUwMDEz+ypcIvZ0yEWmXCJpJGlcbliGQVx1MDAxMTypV7JmWN00fnHfOy/R3y6ja8rjQZmjjiFcdTAwMDRcdTAwMTfjJ1/s3Pk7TJVcdTAwMTDUh3p/k1lcdTAwMTKUXGKOXHUwMDFkSFPtSDHS6STW/3LjpKrHylx0nDmAZlx1MDAxYTrMOCNmdYp6865cXIvQhlx1MDAxZY6gUv/NMNhcdTAwMWSbP0CSr1vgl+bvnlBkcrfFf/1cYthcdTAwMWNDcbd6TiZcdTAwMDW9peJcdTAwMTJcdTAwMDRKKtLH2nvd0Fxc5/5cdTAwMWaf+//bUlx1MDAxNns7pFx1MDAxM3Zccuqcd4GJajhcdTAwMWP3z7H4iCkoc5R+k3UsdVleZZYjXG5S1VxuwyBy7GQo/Klobcy5PvHEU2Drb0azoVhcZruhuJZcIlx1MDAwNq/v4kokp2ZcdTAwMTdH2ItQXHUwMDFlXHUwMDFiXHUwMDFmNdWafrspud7AeDLCRFf9Lc5amlx1MDAxMrCBLChcdTAwMDBcdTAwMWLdmuIr4uW9eFx1MDAxON6AfLRtXHUwMDAxXG7czETlUvvYkJe8QNL294BcdTAwMTRbplx1MDAxYkzmz5pz0fUprkDBwbFcdTAwMWRSabWEcaIu/EhcdTAwMTaRx2B5/3Ro1Kl1R1x1MDAxY6WrxlpcdTAwMWViu6RcdTAwMTFgXHUwMDE41rDk59HfoWVY0Vx1MDAxZVH8lmubqqCPUX+YXGJeZ1wiXHUwMDA20KhcdTAwMTnG4qaoTUVK4FY67X+d+H/aUONcXCZxM588IVx1MDAxZf9cdTAwMTCYvYjs76PGt41XXHUwMDE20mWjZ1x1MDAxZXHDKH2hjOVbj8lcdTAwMDTL33yhtc3n9/LUjy/p/FxuaFx1MDAxZnFYXHUwMDAxh8P6XHUwMDBid9BlU/VcdTAwMTdcZsHLXFz4XHUwMDFirZdfziiakFajYL4xcrxcdO6QyZuoWG83T5J4XHUwMDE5UVX+btBBwVa6nuEoRFx1MDAwN1x1MDAxMox+XHImr6EnQnBb0m8yqzanvlx1MDAwZudmnzNcdTAwMTEoo+NCp1x1MDAxNby0ZIPRSfXu6jWnWMrK1ITBlrzmNX5Aj4POZ7onmlx1MDAxMT44IyCwyv5cdTAwMTgomTr3ZkxcdTAwMTXNNL9SLjtcdTAwMTJmhopcdTAwMDJiVZH++71cdTAwMGV4XHUwMDAyvoVg2r76fmghiGkj+1x1MDAxYSUyPYz+o/1cdTAwMDR2eNuv8qG3/SBcdTAwMWJV81JcdTAwMWNcdTAwMTXGS1x1MDAwN82UMq7EmFx1MDAwMtPBK6XuqLCTmUfp5LOG/Slr+ipcdTAwMTBfW6n+1knImqtvTP3mzHVcdTAwMTaG4lx1MDAwNiMnymtcdTAwMWJw99VNbz5bdKfvUdbX0HaP68/edlZdvJVvkWTIv6MvO+dOn0dcdTAwMDaJXHUwMDE3Zrx7XG5cdTAwMDQ2f8c3XHUwMDEw7Fx1MDAwNGtcdTAwMWVcdIbJZFx1MDAxN5bMXHUwMDBi4t98s0jc06T+7Wvmjlx1MDAwMyFIy5kgqn6S6eOBxKvetrzpTau+XHUwMDAwtiNcdTAwMWP+qVc0K/VPK1x1MDAxNuKUrJfIMbWvvnRDlW6tM648MpYqJKedbLmkXHUwMDE34tLdvoLP516i9NbGYENEn/0jJGGVXHUwMDFiqtvsSiihNzhD1U/22qR0XHUwMDBifyvr+D/52qEzR4l/nXwhUYtWdfXhJ/xcdTAwMDdcdKUrZZZccjJjNlx1MDAxZdiS61x1MDAwMNjO7lx1MDAwYpWOlZnfnNUjwfTFV0jJ4ZTUXHUwMDAz61x1MDAwNM9PXHUwMDEywHLt92038DYwXHUwMDA22uRxVMYuPpsp7/HL5Fx1MDAwZVx1MDAxYXtyXHUwMDBlivJcdTAwMTWMSU1Q/bqfWDimRFN+5Vx0l253S1x1MDAwZoCVTb7FgClLi1x1MDAxN/S9g1x1MDAxNrkp1/syWMZlaT2wfFYk+l9cdTAwMWP+nZhLy9n78t3wXHJNJ/xY7YF0vp9tb4W4c3zlfm+ANo+CILrS5Vx1MDAxNUyIfMxcdTAwMGJIdrAoVCVfX6lUR6w0ujMgtm5HJIGLiM77tyvPhzKn4lx1MDAwN1x1MDAxN7f9O65/90XDUyNcdTAwMTSXrp5TXHSpPDr70G0o0T84yVxy+Nh4gS11XHUwMDAz2KDC8c78XHUwMDBl6PlcZlx1MDAxM67fI2bmRKVcdTAwMWRcdTAwMDJcYssyRrqaXHJx0TtcIju5XHUwMDBlXHUwMDBmdFx1MDAxM8Pk9qqPryCzXHUwMDE4p0E7o5CDTmzdssVft0I+M3tRzFx1MDAwMPVcdTAwMDT8anDrNXw+T6xkko4u16JcIiRcdTAwMDU+0cKXodSAnJJmXHUwMDBm3Kn6bJb3inJR2OVxXHUwMDFjq5lcZvlwXHUwMDA1/NpcdTAwMTFzxVxij0S7n29qNOib0kmSVk2JXHUwMDFi9GuNRUd9Y3XtRqVhi6xcdTAwMTXToeMsWFxiM1x1MDAwMunK/oyBMz4pLtdXJ3HvJoE6y4BWWFx1MDAwYjKIXHUwMDE33er+tPQghMfeaVfAnFx1MDAxMpP5v15J/NjKl1x1MDAxY2Q+czJCgUpcdEV4kVx1MDAxZD39xozwr0e4kTq81Vx1MDAxN9D/M28y+L/yJlx1MDAwMMk+XYatXHUwMDAyVo9ePVxcXHUwMDA1IEb8OJToZSN4f/ZcdTAwMDfEwcGyhjj8XYPK3GSiOIfUer5MvDTvZInIV+f0flx1MDAwYlx1MDAxNzF89+ggdrrCnveQmIDXnarToltUXHUwMDE5hl/XaM4vP7XUynxcdTAwMTWeXHUwMDBmO9HoXHUwMDEw11x1MDAwMLaiXyDU4lCwXHUwMDAyy1x1MDAxMqy4sixo64VSw1x1MDAwZSxcdTAwMWXAVb+w2IT0upct2oaTV3LTKlxySW9cdTAwMDBbYLIwXHUwMDFkNzgnYjNB1lx1MDAxYkHUr0/yRbz+NcbPk0uCqSynXG6aXHUwMDA3n3lyPFx1MDAxNFxiN36lZ+e0k1xycSPS2cxEXHUwMDBiWYxz4a1cdTAwMWJp3eUpSe9cdTAwMTCu6ahnutONkjSb+fjrXHI28taF8sW5XHUwMDFioGojXHRcZtPgYFx1MDAxYb5+hfM1+mKzhW5E7ZantDrzhC6JNI68sy75f8dx/9p+oK+X2YmprMqqq4reXHUwMDEydFx1MDAwNsdcZrBcdTAwMWR273iOVeS5uZ5F3Vx1MDAwNo1cdFjgyc1cdTAwMWY9Tti26fijhphcdTAwMDNzrcuWl4Z08G5cdTAwMDBIL4VUJVx1MDAxMfCFnYh6+LtziYfXrSjRzyTazL2TM+uRXHUwMDE3auY6hpaWklxcX7E1XHUwMDA1clx1MDAxZH/3K+PDk4DS391cdTAwMTP1NUHpwDQlpl8xX6HrXHJr9SlcdLlw6PpcdDOyWUgofItegkM8XT/iUo4sT0Jj+HvsvKxcdTAwMDRCOj+BO0TNnVxyfDWuMJFZb5Un9SU5XHUwMDEwklx1MDAxMIR9aCFcdTAwMTaZ9MPX3SHkqlx1MDAxZYY6tatxOHWsXGJ1gr/415E6u5qv2HHi09DutS/eNFFi5mlvrqZdueNcdTAwMGXXeev3iULI17nz8W3LXHUwMDE38iZcIsDFXHUwMDEzP1x1MDAwMHeAt1x1MDAxZJO8qPPQKlauqFvk8GQ7LXRcdTAwMTTPe+3Y/1x1MDAwZmd9wcBnqstcdTAwMWVcdTAwMDVcdTAwMWaM84g5wICoSPJcdTAwMGI4iZ/39PxNmO2WX47XYl1RXHUwMDA1gtJPXHUwMDAxrCZe+WCMXG7vOW05b5FSVSXk8kU9JjNcdTAwMTdKXHUwMDEywHdFijWFdjo/VTMqXHUwMDA2yjFcdTAwMTNcdTAwMDdcdTAwMDT5Ocfn7CuHhILC3Fx1MDAxNVKfhn1p8Oy1/a9cdTAwMDLhmcOXXHUwMDEy4XPQZ+ZcdTAwMTbFclx1MDAxZFxiur+8VVx1MDAwZlxmr4xF06LArp7afThcdIa5q1x0rff6U9co3cL6xHO6tizwXHUwMDAzLVOVm9fz6EtcYsI5X1x1MDAxMpRcdTAwMDRkmSm4XHUwMDE4XCKsXzd39LJSg2cqbSDnsew0PZKBiaBcdTAwMTYzKXgp4UIhMUrut2un6PqNsZG4TLVL33qu6blDlZSefmGpY4KvXHUwMDA3N8Xcg2xkPVx1MDAwMiqTYb1uj3BE6ME60zn9XHUwMDE315W9UHh9IdbY3jBcdTAwMDX8MsFri67oNlx1MDAwNcHkhDipf3ntXHUwMDEwikrXfsWUSSxIoY0jXHUwMDBiPXYs+ebeflx1MDAxMrll0CzHxKUu0O7cisNcdTAwMTI6IOGBOVHBqy6IvW/J2lx1MDAxMeGZXHUwMDA2XHUwMDFjg+9cdTAwMDeghYtcdTAwMTMtjPx6baV+b7iEPkJcdTAwMDbbccShZT2EuXpSJ1V4PuJ82vPRUFx1MDAxMKlWXHUwMDFkTvS2Ps+6Ld5cdTAwMTaUxFx1MDAwMVx1MDAwM36W+pCriyfmPJkzZ8rZyKcwv0mCcN3NXGIrolXO3y5cdTAwMTUzy3HTXCJVt+CYL/MtXkJcdTAwMWNcYknIiOOMXHUwMDEzXHUwMDAwINuSSLjBJTnFkT5cdTAwMWa5Ul9ccov0uu5cdTAwMDZ9XHUwMDEzaOFcdTAwMDZcdTAwMDNcdTAwMGKqJbV6cVx1MDAxM+CieubW31x1MDAwNVx1MDAwNTdBU2BcdTAwMDLIwMv1kM0vgirKlbhnXHUwMDBllJRrVHfHIaRn6/ymf4zx/eVcdTAwMWJcdTAwMTZcdTAwMTIq543vXFzUL1x1MDAxNPSa66hLVF/45Vx1MDAxMa2vk1x1MDAxYZ6hR5+sUVxcL1uhyaP9RqFJ7Nsoz31cdTAwMDer0Ci4Klx1MDAxNTlcdTAwMTW0dDvHx35uxWJBQnpJgVx1MDAxZFx1MDAxM1x1MDAwMbtzXHUwMDFickbp1Nn7uEbsW5iVXHUwMDFipFx1MDAxMkD4djCHPu2EXHUwMDAzf4tjXs5py7Jk9iRXXHUwMDE2XCK5pk7caLiUlFx1MDAxOGqJ9jC56+e9mrtcdTAwMTUsf7bU+TjILVx1MDAwNDqJooBnWNXXd1jdXHUwMDBmrE450OtcdTAwMDFcdTAwMDHdRnNLbr5wP+3xksXerpxgZj0qXHUwMDBillx1MDAwZnz3XHLK6CDmKeaPL06lT1x0QPKfNDuHfW7DnshA9khI0Fx1MDAxMpVoblDL0LmjiVx1MDAxOc75XoZYz/BcdTAwMWLwUlx1MDAxYUgmPW1Gup80XHUwMDAwg+NcdTAwMTHD42Tr31VcdTAwMTen91x1MDAxOflHsyVXaVx1MDAwNI5cdTAwMWOsp8f9/1x1MDAxOf/6PzGP0jyrQug0jlx1MDAxMVx1MDAwMXlcdTAwMTIgfu5cdTAwMDTkyFx1MDAxMztcdTAwMTGWWtTTU4r88lx1MDAxN61cdTAwMTHotSdcdTAwMWJXUZlf3ZC+en668bCnXHUwMDEyezv70Fx1MDAxNeqMXHUwMDE4oXBcdTAwMDBcdTAwMGXcXHUwMDFjRY1/sI6Po6pcdTAwMDPr3e/vXHUwMDAz7iPTXHUwMDEwSEOUqlFEr4haU/ouy2NKwINcdTAwMDMkiks/aPmb3T7ms2n6bJVyN4g+2tCd/Mou5oeRheQqXHUwMDEysspO2lxmd1x1MDAxZuCVz7kmiebLuf/eVy9mIHD1MJHPQsE9Jr0jjSn3Pyizj4UvWJFcdTAwMGJcdTAwMGIqmVlcdTAwMTT3L0PKpFx1MDAwNMZflzZcdTAwMTGEzLukrsVa+oKdPGVRvYoyN1x1MDAxMkzSp9mPXHUwMDE1ZJypMiFcdTAwMDacW3urz1x1MDAxN7d+llx1MDAxZNnURkXHeVx1MDAwMlx1MDAxZrBeXHUwMDExXHUwMDAzuPjLnTRblNCWpZdcdTAwMTLwQ+37JpGh/j9jjv/b5rJmw5zAZsHzNNzuabD4xSyQaY1CoV6Z4W9u7edWru3jUW43+HQ6vfxMPosyl7PFxIm8oCdcZlx1MDAxYlx1MDAxZJNqTlHoU6eAd31dXHUwMDA05/nN4SBqsFx1MDAxOFx1MDAxZsAgLaJ/QSSXeynQsp2sh/Fk2GWBeqh0YNuQJOhk5YtthslcdTAwMGJfiSRVXHUwMDBlXHUwMDE15bGs7Fx1MDAxZOtcZjiI749BNy5cdTAwMGVNXG6vMt5cdTAwMTNcdLo6hGdIXHUwMDA21Ztat+9cdTAwMWGVRzQ+yE6Bwj5Gy66xeXnCwlWgrFx1MDAwMq6e9SpcdTAwMGZifSA53Fx1MDAwMNrbSlWKr1x1MDAwZetpinT60Vx1MDAwNElcdTAwMWEnkDLGXHUwMDEzgnZerJ5zRvSDZt2Ht4ZZhfJ0mFOElfl+KDODXGYm2N7fOsKufF8skkNcdTAwMDQ7lDVVwFx1MDAxNj7CL79cbnjsUFx1MDAwNfJ5ldBcdTAwMDVOOpjfV1x1MDAxNNBTMFx1MDAxMO6Z3MChVP8x/vu+i+b3N3lkqj6ATvtQXHUwMDE2J1x1MDAxOP5cdTAwMGXSfTtcIqJcdTAwMTBsXHI9cbjzv2dTO0j+XHUwMDFiXHUwMDBmXG4s15D0UF1rlFx1MDAwYm6B8t488etFRlx1MDAxZNb2XHUwMDA1yPJcdTAwMDKX+2WaXHUwMDFi6tBcIkpYzyWlz/VNhC/rVb69XHUwMDBi8bbDutdhTXhE6Ujz17f3fp+2az5VSLHsXHUwMDAxs5StjNEuwFwi2r/yWVGVO7TU25pcdTAwMTdcdTAwMWMxReLR8cfw/JeNqiq5jLd18fwgUaw9dUJvx/1cdTAwMDRHTKGlTLu8tFx1MDAxMmNmXFzRz1Ffnc49SVts3Fx1MDAwZlx1MDAxMSlcdTAwMTCxoFb4sNBcdTAwMGZm0tWtVETLfNRcdTAwMTabMH5TXHUwMDA0qOiJXHUwMDE2RWPFlj/aXHUwMDA24s74sovB3obqfKWf0VxccWjkKG+AKdnt60yRykkw9LmoYF3ra7twtMZD/zvu9n/ZpXbdXHUwMDEznbxm43ZcdTAwMDU5OitcdTAwMGKteXm4PVqVbG9L+bp37jdnUTfDZF/TXHUwMDEzS0uWXHUwMDBl8zGmgvdcdTAwMWL1vlx1MDAwYl3JlbjgvZT1MPHudGJbklx1MDAxNedRTKDz+ZDi4+CvXFzOuFx1MDAxZFx1MDAxOFCSfqrRXHK4S1x1MDAxYlx1MDAwZTRcdTAwMTF2oCbi8uSbzOdo1EKJXHUwMDFjXHUwMDA0NFx1MDAwZlx1MDAwNcr6UYBoXHUwMDAwcVx1MDAwNlXy6ovZpalcInWx34ja/fypujUvzFx1MDAxNehpsu7ypDGmrGFcdTAwMGW+x/mvsVx1MDAxMENsPVxcvFZHdCwzx8HfuVx1MDAwNvQtXHUwMDFj4FPbUZd8pYkn6TNsXHUwMDA2RJ9cdTAwMTCrXHUwMDEyXHUwMDFi4lPGs1x05Xo8XHUwMDE2XHUwMDFie3VcdTAwMWJcdTAwMGLd8umyzeBJmirfWbR2jqVcdTAwMTlhsjdcdTAwMWHx2GsnXHUwMDBl9NRMqcIwXHUwMDEypDuN2ODVi7/LcFwiNYBiQHWEcZpcdTAwMWJIXHUwMDEzeVxm8Heyq0K4Mlx1MDAwZtuTUHLUXHUwMDE38s1euaF/jIXKU7PqKlx1MDAxZjfc5lxy+lx0eDyeXHUwMDFjaGhj3TPoLWRcdTAwMGKGXCJcblNmbnBwo1xi3CxcdTAwMTPdr5aCLbt8J2IwUqmcXHUwMDE0s8/1+lx1MDAwMzFcdTAwMGXBtWtcbj465GBkLzrD11x1MDAxYstI6Vx1MDAxZtWwMYRiYvrmKF+VL+hIhuSbPlxiMlx1MDAxZX/baFvcRLYre3RNPjRm9UXs7V+Aol2H9yS+VO29xkS04NyNnvW2TDSH7MslKTD2c1x1MDAxNVXzSbedXHUwMDFkLVx1MDAxMFJ2tNdcXGh7nl04yzrBpU3KgrfzruHujoqsupvpUGZy/kqjXHUwMDFkTYxcdTAwMTRcdTAwMTHEMzBcdTAwMDFOdlx1MDAwNuVmf1uvwmuo/icoYk1cIn7j2dWq2FxuWUdcdTAwMTNeXGKFno3D4UI34jPiclHzUEY1XGb6oFx1MDAxMyxRXCKgwVx1MDAwM5dOXVx1MDAwNeaXRN5cdTAwMDfvplF7zfaf+V5cdTAwMTHcgX6BMnpEXHUwMDFlo6pcdTAwMWTHPlx1MDAxNI+A9yjqSFnJ0y5PX5r4KUlcItdxhIdukI5cdTAwMTBBNzjWKqE57HWRiiCKwY1xTPVL1W+YR2Xs57VafXp6KmsngcSL5vL9b40lhJfX7Vx1MDAxNuWk7UR/IVx1MDAxMlx1MDAwNctcZqj8YCCWXHUwMDBiN0d9XHUwMDFlYjeI1sqJxKSyR0nG0H5cdTAwMDb/U+OtOWPbglx0XG6w4ldXp+/wa3KEXHUwMDE3OOlCRY2zXGJ3WnNmdHIrqm2Iez1cdKhE4rXHS0/W/KKOZDGNXGIzu2RcdTAwMDBcdTAwMDBcdTAwMDBcdTAwMDM/fUxVm/NtTt+H+YOPp6jon45K0DdDL3rmRVNQuea9Ml6YebreuuEmXHUwMDFhXHUwMDFidKNZdGRq2EzwqnDkqkJHnV7i+NBKXHUwMDEx/Ze5vID2XHUwMDE54fvy3HV1f3MjkFaC3PHyzFpOWL9ojJPuVeptaUU2S6M2sLK7TVx1MDAxNjY0rVxcuT3L135cdTAwMWSHJn3lXHUwMDAxaMyve3jsh/9cdTAwMTHL2H13x5pcdTAwMGaT+W1cdTAwMTNcdTAwMDZcdTAwMTTj+s1NpDxcdTAwMDdcbiSZOtsjU0VpgeSPvqzHKmRJZWN+dEBcci6IXG5ZlrguXHUwMDE5dlx1MDAxMIs2PMN+2zmwu6A3I1x1MDAwMj0v6jZaXrmGoE/SU+5cXFx1MDAwMFx1MDAxMpY5jrJGYlx1MDAxMc956vTLXHUwMDBlLOqKxSMq7e88RtNAxIuAXGZdYXtvvFE2uu7wrWkhfUpcdTAwMTZcdTAwMTNmtlx0tVx1MDAxY1x03374XHUwMDBipmVreCqDiVVcdTAwMDJcdTAwMDNcdTAwMTau1vQq6oLr9E25uX/kXHUwMDAzRa5W8288647OwIPZKlx1MDAxZFx1MDAxMLLcXHUwMDA272VQbpJcdTAwMDLyoKHqjsdKsNJcdTAwMDWPLt1ccrxcdTAwMTGj6MV+29+x4+1bySmazoB8xL1cdTAwMTVol+D0MTdkwleIXHUwMDFlXHUwMDE4XGJVp8nkdL10m1x1MDAwN/fkXHUwMDAwq+/oYaBcdTAwMDBcdTAwMTm03a1d5+lWdY5Jp6aYpay7JjLMiOVFKZJcdTAwMDfWXHUwMDE1fEOvUFx1MDAwZjRcXKTrYWRwXoheXHUwMDA1XGLQf/fW3vKfUz5cclx1MDAwMtx9WpVcdTAwMDVcdTAwMDTNd4/boyi2cnFcdTAwMDGuXHUwMDAwcT1IYylqQZ5AXG6L+WYvVJ68bn+OsbekLXqW8Vwi4FWC6NurQy16XFzZWTLpjXok/mhyXHR/9tKGP0pztoJcbufqrXTqP8f0VUZwM3//oKGOxFbdalJcdTAwMTZZN1xivfTDlyfHrIPGiKqAdPe9iyVHi+CP+VR4IPqi/YmDcmKpNlx1MDAwNfq79paS9Vx1MDAxOVxuPveyzcFiXHUwMDE0PTw+XCIgXHUwMDBmTlx1MDAwMHlcdTAwMDTGOv/2s6KZhjVPTVx1MDAxMPVcdTAwMGKjrlx1MDAwN1ipO412K0RnuTXjqTeZW+C3XFy8XHT2mu0uNeaHU3GArOY3Zza023qqh25ccvA0IVx1MDAwZVx1MDAwYoJcdTAwMGUs7q5cIq5cdTAwMTHpYlDF1JVcdTAwMDFVR3TER1x1MDAxNs3RXHUwMDE0tqw25cBMwlxi83tcdTAwMGZaUolcdTAwMWIno/1cdTAwMTVcZkrNU8vllVx1MDAwZuh1KqJAxX9cZubDXHUwMDA3M0n1XHJLaaykuP83zv7dX9WqoZs33KTYP1+Cf5l7vfMrLVx1MDAxZtDeSj1EOIOTXFyra/gtc+xcYipcXH9pTp1O3zhEa1x1MDAxYXruWNfEmeK67Gt9XHUwMDBlX/XNbOeJqMy0+FxutelTY9JiV1x1MDAxYfFcdTAwMDWPi4qW/uFM+PW5YM0lv+o76jLU1/zjvqvIyVx1MDAxN260iU15ipJccl2poKyZOK/omFx1MDAwN7S7+72pvZmgwoqNYo++zTKTR1x1MDAxZk3lo7TPeDms6bpcdFx1MDAxY9FcdTAwMDGnXHUwMDEzXHL6U3NsNzyC9zHkzTo7me3x419cXJHYi7bwnot8dvdcdTAwMDBcdTAwMGa+oJvzcIjIyFCmudMnVbmCL1OdakPwTYFcdTAwMWbzQ8t93HPjnFx1MDAxOPw/PW3iaT741banhHdcdTAwMTXf6Vx1MDAxOTuP8MtF8FNm4zHlvTKI2G+0jcC6XHUwMDFie4XIwj5r9+1oi3SI2rfuZVxchFliTVx1MDAwZtTyQ4pcdTAwMTTO4WHjpDS/XHUwMDFi+mIw+Vx1MDAwNlJcdTAwMDdLUbZPnyhCoFx1MDAwMCOB8lx1MDAwMtpJXHUwMDE1nzTZ+FxukVx1MDAxNas9XHUwMDA3IVx1MDAxZUniXHUwMDE4gdx96ZJR/uaNMsi6XHUwMDFmzZE+XHUwMDE0XHJn3vG6XHUwMDA1izfz28bj0OnWdtxsJod6frM1bIZr8PtudjTiv+dXnOSYXHUwMDFlkFV6LJVhmVZcdTAwMDElcirV2qnIXHJoZOT9XHUwMDEw38o27lx0at6Shpdln3S+P0mNXHUwMDEwU7RqXGImpo6/dFx1MDAxOemPc+lrZ8w+vcZ/QSi0/2Ms843Fkln/5bm/dnX5XHUwMDE1XHUwMDFkXHUwMDEwd0Ut0Fx1MDAwNtFcIvUjUn/0XHUwMDBmuzOByaNcdTAwMDP51ICNXT5OS29cdTAwMWbYdJRcdTAwMTNseF6NpC0zSPtqXHUwMDAy0KopLydcdTAwMDTitDzW/KLGM7rTRJL5W8+j9yNY4UORlbtFXHUwMDBizPx5bvGjKsOdQkqqXZVEQyCuyS+eXHUwMDAznsJzzy3q165cdTAwMGU/Nt1cdTAwMTCCVK+YpFpcdTAwMTDEqdfa5uFXlWhJn1Xa2FXtbmnCnku4mqlRioBxxt5cdTAwMTiRf1frICQzfX/Xc+kwmZqyhFx1MDAxMZ18+dStrf1iXTz71sDljfiqy/E2XHUwMDE1PTf0XoTRS8fzXu38fUc/KENmPSBcdTAwMTnW2OAleXJcdTAwMWGyjbj/sUbh7cdTXFzJi8e28KuM7X5+RkhcdTAwMWVcdTAwMWVcdTAwMWIk26VcdTAwMDNJJXFcdTAwMDP25XyTsaflXHUwMDEz/q2nXHUwMDEzXHUwMDE5Xq1DqazM9yGKyvjyy36Zx9eCXHUwMDA04mFn5SswLjkt4uuPzVx1MDAxN32a6kqQZPd6ktqHsTAtw0Ck5dN8YCEy6v1mXHUwMDFieaNcdTAwMWPtLZ9ZjNTxXHUwMDExikK9TWBju6xzolx1MDAxOc2VXHUwMDAwRSCrOHrK5kVcdTAwMWZQYVx1MDAxOVx1MDAxNoJqmah19ctcdTAwMDLgTIvCOlx1MDAwNY9IaUSv2rnhXHJcbp5cXFx1MDAxYsfzOvY50J92XCIg3St6Nzi1nzekv72JV6NSvdv1XaQlXHUwMDE1rTB4RZov+8n7LutcdTAwMDdI+DvkvoBBT4C3XHUwMDE2lu6+4jhcdTAwMGJcdTAwMDGqn/63JiNm9Upj7X860Vsr49iXL1x1MDAwNlvYj6fIc9dnYjl9llx1MDAwZVx1MDAwMcShb6VcdTAwMTlbbDxfXaXr7IFTeIJGW6yByUDza0P2XHUwMDA107dVskQ4b3V6lc9cdTAwMDf4XHUwMDA31jP0OSA2+dtg6qFrP71cdTAwMDQ3blx1MDAwZcsnb1x1MDAwN1xup1xccpB/reswZZVdp2PEgLxcdTAwMTabWIdcdTAwMDBPkC7ZmjZ+wvZyiIUuZFx1MDAxMcLtXHUwMDFigMmkOr/Q6G/hK1ZbiM47P0w9prBcdNpVOVxiM6NAhvtcdTAwMTAo7eemw8rOOOhWg31iTXhcdTAwMTPArE4ra+vszNBcYmVvo9njXHUwMDAykYvewJyHYllccrguPjJfddeYXHUwMDAwasuq8lW/oUxknJ++xFx1MDAxNGpJmJJfkyvR75b7ucPPw6tp8nhcdFhcdTAwMTFU/+zjlvzQ7NvH7i8zyWjwi5hcdTAwMDNjP3dcbrShXHUwMDBiV85qkkczVK2Qzfxq2DKUgp/BdvsyoOE3XHUwMDEzmIl1lHLwPTOtv0c///7U9WX7359nYtGXe/1cdTAwMTNVXHUwMDE2Pe5fN8YviOuwP5NRP8We0Z6A/SHhXHUwMDE3iF8lNEhcZq4xTlx1MDAxZFR6WvhdOt5cXFx0MNxj1V8+JWh8gOlcdTAwMTRcdTAwMWY6J+An9ZWu+lx1MDAxYn52NDOQ+kSLl3DyXZj637JxJMuZe4P67lx1MDAwZcg/N780NEvt0LlBYCyngVx1MDAxOFSgtLtcXJjkKfczPp61JG066dzoU1x1MDAwMEM5XHUwMDE54+pMvpf2mlx1MDAxMXdDwcvq7UmQO1X75elcXPotPWUlxDe0/qNcdTAwMWRZWTxcXJh9ncUvoF8rXHUwMDEwpVSi1lx1MDAwMlx1MDAxZGSof9D3TXTzy4wk8Vx1MDAwNexqiayZpumK5nveXHUwMDBlnMvxXHUwMDAzmrRlSfiubYAjmjZoQKTqelCRosBketZC3jBIzKdIK5PFZnncr1+xjF9cdTAwMTahpGFuXHUwMDA2mPuRX1x1MDAxOVvQsr/C71x1MDAxM/qX7plcdTAwMWNb21x1MDAwN/q3dzEzka9cdTAwMTHFQXfyXHUwMDE4XCJjZcpcdTAwMTPOVIk4x1x1MDAxZCyce6p9225drKhZitHFlnhcdTAwMThcdTAwMDSBUqY7XHUwMDEyXHUwMDFi7YVi9d9d4bNcbm+P13lcclwiXHUwMDE2XHUwMDFke1x1MDAxNP5NXGYjI2SE1fnS50E193tcdTAwMWZcdTAwMDEr0iTimbJcItSm0puKXHUwMDEwkWz3W1x1MDAwNkU6XGJcdTAwMTCbp8iVzHpn1H3Od1YoU5B/U1x1MDAxMdcoc69ijT1q/2Wcm63IKvFHwVpdsVVmqYWfXHUwMDA1XHUwMDE3WrzN4icguNGALcjg+7/BNFx1MDAwZrIxdJWdW8o84MXdibu9KEnVRuc8/ffkYT0m1d/9orDwXHUwMDAxUuPlsZtrXHUwMDA0/JMpn3hcdTAwMTJK1Yw3RVA9445xXHUwMDBl2bCitJbf76n/zmbFgTM7TehgN9LY/UhVgFx1MDAwNmvXXHUwMDAw3SGG9olst1x1MDAwYuq6olx1MDAxOE2mUoiKLPrxe9SHXHUwMDFhXHUwMDA1SDFalPbPskrfn+d92b26KZvkWrPTKT9cdTAwMDKPnqHVc6YwJX26XHUwMDFiLaH7RFEylJJe93e29fV9bk3eVP6U5Prk5etcdLc8K2y1XHUwMDBlWF80g9gndO1CUpLPU5/oUl9cdTAwMTW6/XdcdTAwMWbjP/buvE3ZV+7L3i+CkniwKFx1MDAwN4/kroQrXHUwMDBmZtnp4MGcuttodU7x9vaL6DLuwKtiXHUwMDFl5kbdcX6fvOZcdTAwMWW/a88joKFfP1x1MDAxZYUz7Fx1MDAxYVx1MDAwZlwiWFx1MDAxNc8+XHUwMDAz5m1cdTAwMTn1XHUwMDE25KSwK/jO3y13r5tcZsM46T88XHUwMDFkIGNM7uzl79xcdTAwMWP5969cdTAwMTdwbyP8emKnpLf6Nn1cdTAwMTBrnTeqXCLBPkOCIWr/239Yqlx1MDAxYlxy9HXNvzl2tixcdTAwMGZ4WmBqdEgvqVWpOUHBr+lFkH/5hzSmtTpcIqYlJCqWXn/pScHpOrDYk1xyyFx1MDAxN110XG6N9PwuzyahUpitfSjIj1x1MDAxYz3+XHUwMDBlXHUwMDEzMUNCsS35bslYXb5F3jd411xiNVxyXHUwMDBlyuq/7I1wXHUwMDAyJpZfcy5cdTAwMWP1x57kKaWuqFx1MDAwM4WzlVlcdTAwMDE0RVnn7VN306DdQoR6jeBJSE9+XHUwMDE0v0uOUGtMJDOZUL8uXHUwMDFlWpBcdTAwMTKPXHSd87l+iKv5VYc4xPhcdTAwMTg4p6HbXHUwMDBip/9APDSvyt7gLyY6nvmpwyzqWlx1MDAxZe/9+qTsLNq0XHUwMDFlwKtNvPTQvofkjGdzy575jr0uwteV5mFcdTAwMDHR0v7By4KgISmAhSeDjUXVXHUwMDAwpVx1MDAxZsdcdTAwMTcmgGvh41Y0p6p5XHUwMDE5Vc06hMm4l1x1MDAxM7RBXHUwMDEx6EfZ+f7T9iCHPV5pv/mjWIH+clx1MDAwN1hA737qdX0lkYFJMJZEVNmbOJ9SW3YtXHUwMDEwNqjmSFi/ySxTMULoRWFkQLOGMqex5o1cdTAwMWKwz/23dk1cdTAwMDI+5t92LYkhj5TSb/lW/Fi7UHpGib7wiFx1MDAwMJZfvvz5umFAaVn0pKP7XCKb4ai86zywhWdpZlFPjzpccm1cdTAwMDahjM/r9rfev8uNkilm+dntVYjbdpjiX+9D2nZKVyGRRJlcdTAwMDDajDRvyvdcdTAwMTFcdTAwMTlX4Vx1MDAxZlx1MDAwNOR2Mj4/QiAt2uZ0XXd43ml+pcFIYNxcdTAwMDRcXG3Ovr26tyl2w+A3p7xcdTAwMTHhJ/ayYHm2m/m7Z65cdTAwMTNcdTAwMDTHXHUwMDFirfrzt1aD+k2vW8suXHRP78/Uz+W+0Vx1MDAxYX/OL3DyeVx1MDAxNJGRnNLl2Fx1MDAxNvuX9alcdTAwMWakdqFcdTAwMTL5MK/H0U5Rd8mK59tM/sSuglx1MDAwM+ao7bpDXHUwMDFmXG5cdTAwMGZcdTAwMDRja9re+vOFJF+AYfbHN5HOZJ1kRsLLr/90yUCNaV+9Uo+IZoNcdTAwMDKUlpPsu/N2Tr1cdTAwMDWqNa11l8S2UVnCbdwlXHUwMDA3honds0rxfzrZov7JT5PxxE5cdTAwMWSap9/ukzFzITI1PSxa0XV83zdcdTAwMWVcdTAwMTeyb0OcXHUwMDFmtqqqzl19XFxsPnohd5lqaD+IxV+mt2s39rpcdTAwMTNIIG83QHAju5zo9Vx1MDAwMWdcdTAwMWGE1DDKz+9cdTAwMGYubWOdxlx1MDAwNd/nM1x1MDAwN6jCklx1MDAxMOjvrFx1MDAwNGR63k+d4mu1kJpiM7VJpCybXHUwMDBiXHUwMDFiXHUwMDA0eS94XHUwMDFik7bHlFx1MDAwMFx1MDAxNaaAq1xcqL+CZtuOvGdoiMeJXHUwMDA3T9koL1xyRFeCsXaCtlx1MDAxNu5hq4RwUYyxp9xsUplNzihcbp15ZPR6XCI+gv3P+dZcdTAwMDa6KsxcdTAwMWWFw4hcdTAwMWNccmddqKBcdTAwMWFVgjzhLEFcdTAwMDF0xqjTw1fQJYdcdTAwMDc74cxTzFx1MDAxMt1cdTAwMTMnT3qXsvuhtqYrr1x1MDAwMYCIXHUwMDFh79R++LJpnK2T+nombWhcdTAwMWVOd/50qLg0QVx1MDAxN41X9zaz31GX1EZ9jVjSTHWPXHUwMDExeYYsXVG4XHUwMDE0XHUwMDFiyViSmVx1MDAxNvRgXHUwMDE4XHUwMDEwWDjAfN0hYKOELPfXXHUwMDE47Uk2hzU+gNQ1iY7mIJo1ZOh8OW/KL1x1MDAxYeSTk2VRh5xcdTAwMGZXQ1nRU3Pguj0gepGp2U1nXHUwMDEypGpgdoPTXHUwMDFkXHUwMDE14n5s5lx1MDAxMTLx+lx1MDAxNsZcdTAwMDZvbK9hXaHFWby20YlVZjXpar1AXHUwMDA0WdXhdlwiMVx06nzgaz9cbr5cdTAwMGaZv3GFXGKTK1xmXHUwMDEyuahzXHUwMDAyyS6dXoDG4Vx1MDAxMdW6r8dcIqJOMVx1MDAxZTV+KFxyja/OQ+Uqy4aTVy+m35BYWuFcdTAwMTcqZkJcdTAwMDBcdTAwMTFcdTAwMWG41sL+boazOeK8i3xxx0Vxtbf9X1jsjXtS8+XlRSBYXGaZxnSq71x1MDAxMsNcdTAwMTXcXHUwMDEz4pxJYLNBSlx1MDAwNGhv9vtdXHUwMDExJmZJ+9xcdTAwMDNhxPRcblxu9q/Nsfw+riQrXHUwMDEy2i6Ek32LzVx1MDAwNGsuTidMzOgvZkpVQVeods7pIO/brDFx+nvDinDvg6F7ylxif1xyTDFuVldcdTAwMWKZmbJzrY5cdTAwMWUuyVxcVL9hXXfjb5OtJ1xyziQ/7HdcdTAwMDBcdTAwMDZ1cT7ITdWqMpNeQ7iW054+4sXGXG5fXHUwMDFmNjNHX01cdFx1MDAwMlOOXHUwMDA1XHUwMDA3fpxcdTAwMDJbNFx0Lz+rmmXxXHUwMDAxLctVSzaBJLKyYlx1MDAxYvGO8ime5WJl31x1MDAwMtBcZlx1MDAxY1OLw7wgZtP59Gr7oT3q4mzDlFx04/1WgeD8e1x1MDAwZv44XHUwMDEy+Ld44jU2hHid5mcsmpJYXHUwMDAxzWSfr7bMm+a168FoXHUwMDAxXHUwMDBlgMZs2nmqTWJcbjAtTIBcYtDOXHUwMDA3qvrGXHUwMDE5RMFbQ2jsL1FY6VtzytdPhOZ8WVx1MDAxYlx1MDAxOX6XW1S5WavOJ9FsmFx1MDAwZlx1MDAxMz+mxu3t38CVlPb9aYJcdTAwMWb/OMrEgZtwlFx1MDAxNdVf6H/hbKF3YeZvLlx1MDAxOMiaVXk1P6RjXHUwMDE0qJ/+kIZyXHUwMDA3l5fzj3Xzh8lcdTAwMTSbXHUwMDFiaGwqLbfvwuqRRrW/WG6KkFx1MDAwYuOz8SFfXHUwMDAw+ChC7Fx1MDAwZo+iXGJz+pLuwmo26tR3MFxiiOHSXG6fXcpv4tRtg1dAkj7n6lx1MDAwMKNflrGM5FKLLyfyRi7ZW9JcdTAwMTOMXHUwMDA0W2B1dLOrvbWa9DJUl6vIxttYZOjk73yef43jikCpR7GYb4OSXG5t/+ZcdTAwMGJcdTAwMGWav0zamYkpg0x4Maa0NFx1MDAxZpYslExIzklcInbQZv3rkn/nTVx1MDAxMFNmYupHx5tjIVx1MDAwYjjNt1x1MDAxM7CYmjBwSjwhg0uuNJJs1lwikI3k47BERe7ihLn9lWIgvWD35tNLLJBcdTAwMTItXHUwMDAx6O/YcKGboti4X6BcdTAwMTI5XHUwMDA10+SW34RNeJrdblwi7f7Jfl54lYPWWGFqnHJ+3HNewoQsyVx1MDAwMjxcclx1MDAwMo7xRlx1MDAwZUjJllutfaNcdTAwMWW9ie5cdTAwMWbvS6M7VoXO6dlcdTAwMTGwLmX6gaq6ul47KVx1MDAxMeSPPU3yQvNPXHUwMDA3TZ/jKjWjVpmUOOvfXHUwMDA2XHUwMDEwRXSZjKpgXHUwMDE5Q8dcdTAwMDD/uHfV+aaLKF5HvuBxXHSfSarvTVx1MDAxMFx1MDAwNG7K7MlJXHUwMDA2WJxgR4arubiSzy/dnG+bsjGT3XPgMI57heVcdTAwMGJW3WNcdTAwMTQ1UGLLdpzt9iA8uKWYXHUwMDEwnErCMtS9QZ9Y4bgp4IiaVF4z7Jg1sDlcdTAwMWEy0NywLCC0xlx1MDAxZlxuPDphkiv4qyh9oPtiQJfG1Fx1MDAwNa298ZL2nWJcdTAwMWSn9VxmQJqhqlwiRPK/iauQXHUwMDA0QJVcdTAwMDdTyePlz5dgaaA47MlE31x1MDAwNIKtTuM7N+k4XHUwMDAy5rbDl1x1MDAxY1x1MDAxZqTsisdcdTAwMGbVk2aGXHUwMDE1tiZpgVn81MfsO4I89Fx1MDAxOK3PJJSFsexTXHJcdTAwMWGrm1guRaeLhkNcZmh6jfRcdTAwMTNcdTAwMGbIlUJyjHA4aEe6n5yHXHUwMDBm7a3BZFpQO1mlv+9NfTCAfsiaOtT7n6ygVer5r2lPdGK4OdZcdTAwMTbD+8XaXHSSz74nb/N6XHUwMDFlk+8pdmaBNn1cdTAwMDJsjm1AnNjeXHUwMDAwp7dzq/LrSntcXFx1MDAxOVTj4FH9LdxFOn9md330l1x1MDAxOfCxk/9GRj7MlvqCkNKfplx1MDAxOKHdaFwiMP1cdTAwMWTH4/kz4jeln9jqXHUwMDBi0Jqj3lx1MDAwN07/lFx1MDAwZlx1MDAxZttwIK8oXHUwMDE5XTwqVoNcdTAwMDDGi2Y+PJZcdTAwMWRcdTAwMTGZXiiZX1g2XHUwMDA1XHSnw84lnFx1MDAwYv1+X16E6qayL0/1I+AnlYstY2+fqt44/zul7NDOtzE+XHUwMDA0XHUwMDA1c+UxXCKron5R1lGVXHUwMDEzXG65uF2vvNM4MiqWnfFcdTAwMTB0XHUwMDAxXHUwMDE1REGWU1x1MDAxYs1cdTAwMWNcdTAwMTE34lxc9af065hcdTAwMDSZxqA/XHUwMDBiwGB1XHUwMDBm6t5PsImjUnRX9lx1MDAwNeqw3ZEsupMxvmhcdO9SnVx1MDAxOLpcdTAwMTeiZkSB51x1MDAwMG/Xh2mNXHUwMDA3OuTqXHUwMDA3gejFZ4f3z/XmXHUwMDFlbdzqv9ZcdTAwMDLo1uB+vDS37SRBXtlhQU8/0PBcIqShI9xuyobn9Srsb+/Dq/F1csmMXHUwMDE2t7w2WvpKmPO3SuqiTWqncX8tVyxcckBcdHFRXZ81gWXRefOpN1x1MDAxYnSTyk5xLtNCiFx1MDAxOFx1MDAxZKXIPVx1MDAwMFWrSqBThVxiLOjnsNvjb3pgTDZcZsQrhS5cdTAwMTezXGKrd5B5gDaHXHUwMDA0zIxdjvcj5LlcdTAwMThcdTAwMWZ/q5+0XHUwMDEzXHUwMDAzoT/6w+ZcdTAwMWVcdTAwMTSKXt9Up9ee8kDurL46IDnTzVx1MDAwM9Qk1niFxda5M3+HxUZcdTAwMTZUtMCWoV5IQ6FcdTAwMDTmN4O1WfRWXHUwMDE457WRXHLzbXZQP1x1MDAwMsZccvlcdTAwMDA9gVx1MDAxOPk7plx1MDAwM1VsxYiVXHUwMDEysNiur+1IzVjRpfcxObuUvpM1+8rf/m3l1VxmP77fb67UbztpKj05XHUwMDBlf2rLN1pIXHUwMDBizsHrTocjZfXGOi2DwqLbjchMLfbl/v638V2/kpeArUy60T/cZ+wnyZqD0lx1MDAxZVx1MDAxMTKw8drS4fZz9lx1MDAwMti5r1x1MDAwZso/+KPidVx1MDAxYVxirnOkaCcoxl2zj3V/1IdNw6vCXHUwMDFihcjSee1M+UtDk/7J2t9WonIrWFGV76tcdTAwMTjk9TXEzVxiXHUwMDExlp0tqiRPXHUwMDE5ws2Hk5Cii0+YISd0lXf6l7amu5hcYrB7S9/HtG79XHUwMDFhOFVzoER8gcJVolx1MDAwN1x1MDAwMIpy1Vx1MDAxNPyV4KRcdTAwMWVUdlxyXHUwMDExZVx1MDAwNfY349qNcmXsZ7Dmv2tk87Os8ZFcdTAwMTOM6P3wQzpcIq3+XHUwMDFiN6aJXHUwMDFj+NBJ6PfoIaBpff1AXVx1MDAxNypA/oZYOUpMYTFcbnsnXHUwMDBmT1x1MDAxNmdcdTAwMTkxXHUwMDFkWNlHJuHMcVSiXHUwMDFmXHUwMDEzclx1MDAxYqo0Llx1MDAxYZFWglx0qnFY8Vx1MDAwYrvLXHUwMDBirPmmaWeK35RiqFx1MDAxMN+HYVx1MDAxMFxuJiZk1FxuVFH4XHRhIVx1MDAwZej674Ti7Fx1MDAxNE3FJev/uofNyNpVfVx1MDAxM1jLfIwk81inMJfBqMBO11x1MDAxZlxysJDfgOjJQDFOnlx1MDAxY7M0omPAQF/xqD96odh22HdcZiAt4s+5+GfG6HPo+Vx1MDAxY45cdTAwMDdcdTAwMWPgXHUwMDA1/1wiitpaZk8l9VThtaukYVx1MDAxNVwipJeQXHKShJagLqJcdTAwMWb5s0cnXHUwMDE4Tm2OXHUwMDFmXHUwMDE0q9XW1ZZcdTAwMWYjWv2szlx1MDAxYoP1Tlx1MDAxYkBcdTAwMTZcdTAwMWU2+GtSdssrTWP7Klx1MDAxMLG544vMmV/gcWEj1z9MXHLl28Nf1iSuXlx1MDAxNjH364fm/Fx1MDAxMSp3hytcdTAwMWJulZdkM9f+YlGjPMmKoFx1MDAxNFvbVINldz5/8e1cdTAwMDFyXHUwMDBiXHUwMDAzM1xuXHUwMDE5mdIq0oHUTeNcdTAwMDdcdTAwMWWagYtnZFaJia5p3lx1MDAwMU12yGLyUduDeIrm/Mp2ky311OHnZElBly9Chi0uf0snZze8vYi7kjNcdTAwMTmM/lxmKt2uWIctSLmmXHUwMDFhRr97fJGAjVDcl1Ptf56PwJ+i7oZCz+rpXHUwMDAwobw4LqVbsLZcdTAwMWa5bXZ27WCAuy3t3Ftp0WtcXFazjV+rXCJMbVx1MDAwMyQsSIeejVx1MDAwNV5meKxcdTAwMTmmrf80i9/vXHUwMDE3XHUwMDE3XHUwMDAzJ/bhU2RiNbdVXHUwMDE0mbXvQ6gnQtd7itBcdTAwMDTdUzFemFx1MDAxMErNnm+W1rbdglx1MDAwNlx1MDAxMrXP335x/7F+euSakZ5uZ/nmrlx1MDAxOG+3eXLEz1x1MDAwMU/4XHUwMDA3V6Hl427sXHUwMDBlhMovzi5cdTAwMWFWKJvSoJFcdTAwMWZlxVx1MDAxZOw7jG+rXHUwMDA1/u6VX9GilLu/c+NbQrxeaVx1MDAwMiEh0j9EhTbo1n+tXHUwMDBmwFxifKNYV9r9e/z6+vNbyWhAXHQ4wlx1MDAwNcqDwFxydFx1MDAxZOH4XGaOkd3RjqakymZcdTAwMTZiQrNaxKZcdTAwMDeW9H+9L1m3NGQ4UknGmVvx68C1iiQrd0Z1jVx1MDAwYjj4I4hvjypcdTAwMWFcdTAwMTRcdTAwMDFJcVx1MDAxMlxyXHUwMDE4uozO3uhMS1ffTbS2acV+LmVH521cdTAwMDByRHRcdD33XG57udaMWFx1MDAxN0Jn7L9b/8/3Ziv8v9d4J4DgYGuiJmVApUbUx0KSnid3+9SVXHUwMDE2j6UnXHUwMDFlIMnoXHUwMDFk65zKZiHNfIO+mlx1MDAxMfBvn52rxFx1MDAwM8NgzPn2+uI3XHThXHUwMDA3W0np0pY1/Ztet6WwKf7m81FxgFJeMFx1MDAwM1x1MDAxNFx1MDAwNH+xr0eR7ujk5kxt2DzCzeF7ZX70XHUwMDFjmZ5cdTAwMTmgr8hcdTAwMTHqRrY/2WDoL7i1qlx1MDAwMrpEr6ZzvetcdTAwMWVzSF1pR85b5LZKa2GhedmK00F4XHUwMDEyXHUwMDBmVFx1MDAxOVx1MDAxNzFcdTAwMWRowETF79r+1rSd5ShDrOn7wUXgMO8jrHBU/FxmTO5cdTAwMWGv80V/x8B9XHUwMDA1tp9bsMbgttn/ZshWMHFML5SeXHJu/bBcdTAwMTnA4pCHenIl/VlRoaWESmxi7Vx1MDAwMoRcdTAwMDWvnVc5r6ORXHThXHUwMDA2aD8jVSiig1KeXHUwMDE5XHUwMDE28lK5orE311x1MDAxMlx1MDAxZHVlv/NX2ffUmWFcXJb551x1MDAxY7HL3tV748LPmm5cdTAwMDOSXl20XHUwMDE4XHUwMDAz8m3kWb1nZpLSfn9Lzu9MeztUJVx1MDAxNOnxoHhY1vHTfTi/XHUwMDA2ib1MLFxurWGEXHUwMDFjXHUwMDBlwiXaLVFccjQpznN/d5JcdTAwMWS0lVjf0aZ4VzeGnbAu8MJUw/jbgz7Si3OiTVx1MDAxN+mue8aU77zhTVxiO/yBP3ySglx1MDAxZeht+q9QRzq9XHUwMDFmjU3ZrLn+uYZcdTAwMTdgYj74XfbDT6FQli6oKzIl9aGaX8a4qsErXHUwMDE1ZvntrFg6uoztXHUwMDE4elx1MDAxN81a1PBRlGlDXHTp31x1MDAxMFx1MDAwMkz4w+5uak91mFx1MDAwNYF0d0P7TGqVYSe2NGvQgj98z25cdTAwMWOeP89cdTAwMTS2d9yfmFx1MDAxZfnmZ7M/XHUwMDFmJd3sgJgkI1x1MDAxNXOXqbdGnILVslGWxP0km99IrHdXOIJcIsS87WVcdTAwMWNHfTD4i66BZjVcdTAwMDJdL5j4QEnLXHUwMDAz5ZVzKFx1MDAwMaNWdIrTx6REhUzPwIE5XHUwMDE5XHUwMDBm7XlITmVWibyNwEqBXHUwMDE3r1Pve1x1MDAxNoifXFx5qor00I75kveiPqtKT1iSPTzA4Vx1MDAxOb5w9kRG81JxtUdaQ//bMUDrRPzsz1x1MDAxM9FZL5NCvFx1MDAwMFx1MDAxM1mGXHUwMDA104xcIkOf2tqb1mpQQfDH47HCdDWwnjLDb4aJ8sJcdTAwMTeZumtAi4fpQ1x1MDAwZUVxxTy1o6V2vyS6v8ZPXHUwMDAxYHJ9eEfLXHUwMDFlQ73J3y2P2rXrLNfQXHJ+jVrogFx1MDAwMP5cdTAwMTBIyWhbcrVcdTAwMTa3SyOiqVx1MDAwNFxcxlrxt17DnVx1MDAxMFrxi16M+Vx1MDAwMlx1MDAxM2NcdTAwMTBwRFc+XHUwMDFiXHUwMDA2bVx1MDAxOFosZzjr2T1cdTAwMDDYXHUwMDFm9aWqXHUwMDAwXFwtX6EmO1x1MDAxY7p6XHUwMDAzTUNBXHUwMDAwb9aX2a6fXHUwMDE2nbipdNj/cibHasp8oNS2VHZcdTAwMWOgXHUwMDEwTKRWcPFcdTAwMWL4M3ew6Fx1MDAwMlGJYl9cdTAwMTRcXOPWXHUwMDBlKomNZsBcdTAwMDDNwlfvtueD9utrlW878tT4n/6rV2ddeVqHScX8Rr/KOrp6QSaN9Vx1MDAwMzefXHUwMDFjvTmHPfdOdahTXHUwMDA3T81b9NOs21x1MDAwM72MptxZ7dPpNV3DXGZKXHUwMDA0qH3DXHUwMDE2Lni0gaq0XHUwMDE0XHUwMDFkj1SwJbtcdTAwMTVcYjWPXFxuU17VXHUwMDE4dG5JXHUwMDFiUvqF119dNYEu2GNvQltcdTAwMTRPK9FFSSSWhmFu1E2URnx/6VxihJ4vf682Plx1MDAwNKRcdTAwMWVMXHUwMDAxxCeKJL/Pnd+e/cVh1URcdTAwMDVTXHUwMDFip2RFNamKpNHY07+9LcknQ0xCpJJjXCJcbqSXTFx1MDAwM1JWY/fWXHT57YVcdTAwMWTqg3CVsorVYYOQRy1cbq7sjeN8TCpcdTAwMDNuN1x1MDAxYSC3jd/Qt+6Bru2rlOlaXaFwxaG1XHUwMDBmlVx1MDAwNvFcbseGifaKXCLgn2/tN51daa86a1g8XCKXrVx1MDAxYVfIzGV1i9qlXHUwMDEx49dcdTAwMTJ6+f7aJIhcdTAwMDbJs1kyluYk1ZitLsPQgYX/XHUwMDFmXeex5LjSpNlcdTAwMDfCXHUwMDAyXHUwMDFhIJbQWmvsQGitXGL59IO83dY20/efXVx1MDAxOS2zqki6f35OMFwiXGJ8jGL6KFx1MDAxOaKqeOx2XHUwMDEypFW3o5y9bG5cdTAwMDMkXHUwMDE4My1Z33LzJOM5+W1pf1x1MDAxZVx1MDAwYu/Wp7jOg5BrXHUwMDFiRFx1MDAwMtFcdTAwMGVeKP2Xq1x1MDAxZdmbvVx1MDAwMquHXHUwMDFmjqvCX3FNkdPqaFx1MDAxNqFbRFx1MDAxOC/+Qlx1MDAxZFx1MDAxYUhcdTAwMDVYv/WvXHUwMDAzWpEhytWqTq2zLcu2XHUwMDA2Zep9NV1rOLZn4JJghMpcdTAwMDF0eX6QuHmvfF/McFx1MDAxN1tcdTAwMWIu6fD7h2Brkm7V1UbkgVxm5bT3T1P8slx1MDAwMtbO3UPLVZFCKNykXFylKncw6kh/21x1MDAxNLAywTB0t+9/dOzZp+B4fVx1MDAxZVx1MDAxMKGkMz21kHRcdTAwMDXIK2DDj+NIZlx1MDAxM6Wl+oq2sKGWIdaMtfxdn9fDKCZDbZVcdTAwMDOuTYYzsUZcdTAwMDL461xiXHUwMDAzqPA0oGlmXGLMvTp7NGFOMZk/81x1MDAwNeRyXHUwMDFmaTPERrmi8URvv8w0XHUwMDA1TeZcdTAwMDJbRT220tNcdTAwMWb/+PxcdTAwMDS/vVx1MDAxNnm5z1x1MDAxMfyZxE0rJmpH22V+UWNlOFx1MDAxYeGjOVx1MDAwZs2wXHUwMDE1ifad0EzSN7ZcdTAwMTOu8FwifPOfXCJcdTAwMWJcdTAwMDRDXHUwMDFkXHRcdTAwMDJcdTAwMWLfUK5cdTAwMTdcdTAwMDOYM7MsKlwiuTQvw5ZcdTAwMWF1cseuc1FrrE/UoMpqXHUwMDFhjWFcZlx1MDAwNlx1MDAwMZklXHUwMDA2a9FcdTAwMDU0ObF7a5fh9G5jOv/j31x09XefVFUzjEO/jLl+XHJPXG5cdTAwMGbp045cdTAwMDBb4T+g1urwnIVcdTAwMTeo6kIuXHLa6/V/7Zcj6GazX+zXhEtcdTAwMDAypztBXHUwMDE3hXhcdTAwMDBcdTAwMDe/XHUwMDE1XGb02SboYCx9uYDhdrV6R+7w1Hp5RPmVq/zJ6kqncILcWIqdOJpnmVxuXpF9XHUwMDA0681i6y+qnb96rosqUlx1MDAxZvp1NSqt7pyQl6Kq4Nl7+aQpqlx1MDAxM3Tyg3N6N+Y8N1xy+0NEXCIrblLnllM82W9SeTS5XCI8Za/F8p0kbTp2vP5cdTAwMWSLlsbQXHUwMDE4Kbq3PkZgXHUwMDE1PXHi0zAz66Vrp/5cdTAwMDdEy91cdTAwMDRoimPrPV8w/fKi4sVcdTAwMTVkvlx1MDAxY5dcdTAwMThcdTAwMGJa1KPK/arIy1x1MDAwYkaDbifLzmTl7VGAlbdcdTAwMGKJrlQj/oCoXHUwMDE0+b686lx1MDAwMZpJ5jtW7NBitlx1MDAxM4FcYtDn7+4mYO7KkOClXHUwMDA2WoBcdTAwMDKPYt/Um0JcdTAwMTbOiHtdXHUwMDFlXHUwMDAzsjdoSVreMYX2xsSxwYHpsrbyXHUwMDE1YHVku1PO3IdcZniBv1xy+LJcdML97UGKXHUwMDBmXHUwMDE0y9XmoN6X8lx1MDAwNKVKN99MjSFcdTAwMTFcdTAwMTSFaSqHLVx1MDAwM1x1MDAwYm3Mp/expC4sRSxcdTAwMWO9zP2/c5q0SFxcXHLVqG2kXGIn0WOZ3k5J26Ty2v5cdTAwMDHTUjr14OjyhIxTlH1tiHHW61X/clx1MDAxYam/Y+huOOaSmHWQY2kl85VcdPtfd/T4avw3XzzyKp7Pwe1Rg7FcdTAwMTdcdTAwMDZcdTAwMWLRIFgtocxcdTAwMThcdTAwMTfAz1x1MDAxN9Gb0kmUv7tcdTAwMDLBXHUwMDAwW2NX5MTjiEw5d39VXHUwMDE1XHUwMDEx0bnvXHUwMDAzib9+bkhTOXJOtE+pgpiNZrtO63KKnf5eSvt2TFx1MDAwYrJN6s6UuH95x3dcdTAwMTFm4YddnWZ20st+d3NcdTAwMWM8+v5cdTAwMDVSXHUwMDA38VwizCBcdTAwMDF7TFx1MDAwZtlJXHUwMDFl5uBcdTAwMTBhSnuTovHS+YCTXHUwMDEwP1x1MDAxNjW8/Y5cclCP+dxbRmM2wLj7XHUwMDE0tf9cdTAwMTBcdTAwMDeBiteRcoi0NGiSXHUwMDBiKimQMLumXHUwMDA3XHUwMDEy71xiUUFcdTAwMTOE7LVlIFFcdTAwMDdcZu6HRvU6hVx1MDAwN+pcdTAwMDR0ai7vXG4079pcdTAwMTmCv881O3KP2Vx1MDAxZuxU3+1JPuR5gFx1MDAwZazM1rXhLbehU1x1MDAxNeGvvqhgXHUwMDE15YJxiNrkXHUwMDBi5HXg59e8uLRMpahcdTAwMDXjSv42wDFcdTAwMTNPY1x1MDAwZdzbXHUwMDA2y9LMTtgvaXaipXLF0UKYsVx1MDAxM2rEZFx1MDAxNZH+hjmGhTE49+aorYA0kDloX95TsfdYmT1n1imjxG/pLDmkzFx1MDAxOSfqY+n8nYNk6Vx1MDAxY+Uuev9Sj0udbkitTLc0SlhrX12r21xi0K1wNz85lUhqybsjXHUwMDFmz7Cd7ecrKPLwqZl/86oqTf/sfaQqXHUwMDFmOeqg5jPy+ZqNWF+OKypcdTAwMGbOXHUwMDE46ENcdTAwMDLaXHUwMDBlMp+zIyGjXHUwMDA1lb+TlKZcdTAwMWbetvq4m9R/Ifveco2OWYVxvY6qjnuwuFxm6lx1MDAwZaNtOD0k/Vx0k7PLkuBFJl84RTteXZpcdTAwMTBcdTAwMTEvg/lNXnhFjzqcL4Sox76RrWz9yINcdTAwMDDKXHUwMDFmdbk+2Vx1MDAwZsU5XUsm6d6TNyCpcL8zJzKuolx1MDAxOFRHiteWIOhhNlOnXHUwMDFkTJJcdTAwMTTTUrFamUv8/Vxy3/pcclx1MDAxYrdOr1x1MDAwMvmGhvv49jVcdTAwMTAlSvfCXHUwMDE5LZzpa1widFqG3Vx1MDAwMiQhXHUwMDE3XFzDsG+x5Vc2kZ4uZthB1nk5plx1MDAxN052seiMQutsaMg2XHUwMDAzZ76RXHUwMDAyUM1XsrMlctOG2p2UuUR/slx1MDAxYkNcdTAwMWVcIkpZXbIp7Fx1MDAxYlxyhlx1MDAwMIyphJTGfWSyXHUwMDFlXHUwMDFmknlcIu6tVc0+rJd0V5vc+yGkzlx1MDAxMnnxs/2AZ+5bi1x1MDAwZTshuOm4mVx1MDAwNl2AlDx9zt6NNkNcdTAwMTPMIfFX7veMgsLvXHUwMDEwX1ntS1x1MDAwNGGOm4ZcdTAwMTM4WJE/xyiEVFxyPC7SU3qlz/j4XHUwMDE5dNNtZyd/2Vx1MDAwZms1jkNcdTAwMDOf8nwhbVxcSP2w5aVb101LdvMkNrDlXHUwMDExo1x1MDAwMMfRk1B503ZcdTAwMGXE02j0uu9/WHOyJd5ccsXXkd2PXHUwMDA3kNnOzrOEXHUwMDAwl1wiSEadXqT4OrZtlZ+iXHUwMDE4cqBcdTAwMDUlyPlW6TfedYDFm0SVuGov091Fg8tcdTAwMWI6aPk1ck1cdTAwMTPNXHUwMDAxN3k/mjKGLz+3ucKe9lx1MDAxMExcdTAwMGI/Q+5cdTAwMDTfiWFDPZeXhpniJ6PG0MBN9VTqdJTK1mG/XVx1MDAwN1x1MDAwMbTHtytcdTAwMTfSXpThklx1MDAwMzWnS2FwcVx1MDAwMVxi01x1MDAwMFV5xKFcdTAwMDJznPu016Zl0fCyY6Vs++lM2Fx1MDAwMcxOK19cdTAwMWWky0ekq0LMSmFVvE61jVmif+3B2DlcdTAwMTmfi/NX+jI/xFRuINakcmtDh5RcXIvq+VxmdkTZO8E2XHUwMDFhQojxnUU+PWVX6WGXXHUwMDFlSytMgC22hdoucTXfJZKztjIyolx1MDAwMunW5iVcdTAwMDHBJNaJniF/R1x1MDAxOLQyJHdI73K81fnoqCdD10ysQL8/xLLGXHUwMDE2jXdJaL2GM59cdTAwMGIzr4KWYsiZVv7xXHUwMDA0xNXmpkN3PjGEXHUwMDExyrV4eyW7jkyIbLCdlVxiZsfbxKboj2H75iXOYFZawNpHlfiZ2u5LxJVdiCf7t49cdTAwMDG0/Vx1MDAxMlxcXHUwMDEwrVx1MDAxMUT22lx1MDAxNlx1MDAxODFcdTAwMTaEefbvMYHhsqE2VdBcdTAwMDS2NX2s/XTeOlx1MDAxZYRBXFzh+td68T+fr3QvS03CnyvnfVx1MDAxNT+HjbrS5+bHjSxtXHUwMDFk3Haye0BmMWdcYnhUg35KI1x1MDAxZFx1MDAxNN965Nu1rV350GY8Jlc6N1x1MDAxMmfUROJcYpH8mlxy//V78e+OhHd0bCjl6t5cdTAwMWGz2q7gy/l371Z8yWfutpj9xkrB1Xbb9Vx1MDAwM3080u6uqt3ywYTvmfjXXHRcZiAmXHUwMDAwUZXgK1xuTbrHyI1Id4eyfpjsZ1wihEFtr1WS04GYb1x1MDAxM0SVTYDw7lx1MDAxNq3dsTu1mZLrRlx1MDAxOI7iXHRcdTAwMDFkuK5cdTAwMDcp9VVcdTAwMDDn68NSXHUwMDE3ckW0+syyxkv2o3LnuF6ubzCPr5EotuYmXHUwMDAwXHUwMDAwNptLPlx1MDAxNeuZXHLgLPr+XHUwMDAwoKLIwjo8lEKMKWXoXHUwMDA3esxTipdcdTAwMTZcbtmU6W6O0Vx1MDAwNVx08Vx1MDAxOY5cdTAwMDTz++CmwuJKMEW/XHUwMDE003fdupssaiB+cN3WhVx1MDAwYrJcIjBfXHUwMDFm02EyfV2cgfAmKI5oQoi9XVx1MDAwN7FdXHUwMDE5xIcyc1Y51Hw+75A/nHjbzFx1MDAxZU/vv+9yM26P6U9BUaCZ02FcdTAwMTjTXSFHXHUwMDE5XHUwMDE4a8xuXHUwMDFiLaAvLvu7jpI2jJPTslJpXHUwMDE18N/9siPdduwnhD58R3rgI/DeXHUwMDA3UEOs39RcdTAwMDRg0Fx1MDAxNJE+blhcdTAwMGa5zSPok1PguVJBJfvV3lx1MDAwMD6kXHUwMDE0TvavOz6VmK5cdTAwMWN/XHUwMDE0OGrzdPn3lM5cdTAwMTFcdTAwMDBcdTAwMTNcdTAwMTUxK5CdV2/trFx1MDAxZe9BkIlcdTAwMGV96S2d+0PRgDRcdTAwMTKH3TqcXHUwMDFj6XO+YINGvqenozpFiq/y9GY/XHUwMDBmuWdcdTAwMTi1QSSnczC1yy1scF9TjEu1ZzpVmWNQjpPYXHUwMDFm+lx1MDAxZJS06ztMwKxV2nvYO1vY28/SpN5cdTAwMWYkp4+wysJcIkKNQT/Cj41AzEuvXHUwMDFmzpYmoCtQXHUwMDA2I2rgRyVcdTAwMGZ9XHUwMDE2teVcclx1MDAwZY81q4K434uwrKxH82uM4oBcdTAwMGb4MtN0aZg3XHUwMDFk21x1MDAwZcTyheJ+odg/6blcdL2e0Edg1F2Ury3YN1r757dO81mM4e9YXHUwMDAyR1x1MDAxZuLfWYxcdTAwMDTLLidQ7M37gar1sDG57lx1MDAxOVx1MDAxOFnd+1QsWH9aXHUwMDFlriDP3vY6XHUwMDE5qFnDpKlhp4ijXHUwMDE2XHLzP3uJl6UpSMeHL2yovcVwQKXYvbOXXHUwMDA3QVx1MDAxYlx1MDAwM37raFx1MDAwZpp9XHUwMDE0qqhcdTAwMTirhyFcdTAwMGJcdTAwMTZcdTAwMWFcdTAwMTDxz2fx4IGSSMnsqnpDQy4wJctiYyFYRnFcdTAwMTTE80HkTVx1MDAxYSGrV4t+00pZ3mC9dI1XL5WFqJJfO6NcIkyeu+5J7mXiXHUwMDFmXHUwMDFjmlRcdTAwMDNf9fU6JHDvni7z//LD9blcdTAwMGV12rok8FCiobuNxvq1VTFx0tmpks9cdTAwMGbNQm99KMGHJ8Jl1ahcdTAwMWYgyT+q3fiQRP/v/fV/51x1MDAwMlx1MDAxOZluZP9cdTAwMTU787xcdTAwMGVcdTAwMDTdrytiRiAgm29R51x0XCIwxShcdTAwMDfN/WnpXGbod+XWXHUwMDA0kp5wXHUwMDFie/1eX1x1MDAxOFx1MDAwN5N34akgMLmcvOZXbWLkZ2mwIFx1MDAxZdSb/fqXlrbGOnnGVzJcdTAwMTaNXHUwMDBip8yZKn5cdTAwMTD4yXomvFx1MDAwYvBcdTAwMWZcIn5cdTAwMWNcclh/PzovwsZasZdcdTAwMWWJxlxy72ZE8p/4MZ/fQyNW3Fx1MDAxNs3rjJ6UVIWKRVx1MDAxYtG/hFx1MDAwZXWCcIb6lbO1ZNY2nJnTytn+6ic7lYBcdTAwMWPyW6nX30suaF6sXHUwMDAw+Vx1MDAxYpo2KFx1MDAxM1qjwvE629jXUkFRIS/vhmCuJEafYz9vJdHSTFx1MDAxNpRcdTAwMTTBn6LsXHUwMDAwXHUwMDAzK6Qmju95XHUwMDFiIMeWRUWIXHUwMDA12rdcdTAwMWLW3raNeJNcYjmQ1MzcVtbqOFx1MDAxMsbjibSrtjBcdTAwMTVmS+xcdTAwMDalIeahp2Sh4LnIhMGR9StG2IbbV1x1MDAxNFx1MDAwNGG9vV6wpsgvXHUwMDE1fytGVlxuMN+A84mWc8/Ct14wsFx1MDAxNzBI7oHockSRd9hcdTAwMTh6i7m+9GTKr6nYvFKSVsl/kjKrO0KYdFxmmj+v979O3e6MWlx1MDAxNVxmi1x1MDAxNJtxr3RMukSA6OPbplx1MDAwM1x1MDAxNFxiP3qRYJLQ7X/23EeX0NnYN1x1MDAxYqvL/6Y4oTxDXHUwMDEwzP+eYX93NrvuKU9es1JqR9dcdTAwMDcoXHUwMDE3t4Jcbj/SoniQer6uOjumQlx1MDAxZVwi58BcZkG6ZlrEtWjMKr7RXHUwMDAyinu4/D6mJbzoxb523/GkqlJf41x1MDAxMizvjbliglx1MDAxN1x1MDAwZiPkVGA1rZOwuZA4N6l0l/VcdTAwMDVlcTkoXGKh03pdXGK0g8ozKdgjTmpHaKW/i1ulaTvH5Fx1MDAxMVx1MDAwM0kvYah8uYu6OXDmd08sRSyck11Zvi6gI5/RNKS3olxcmkIlZidcdTAwMTJC3sJcdEWQXHUwMDAxjbd9so01K2wphEQ7XHUwMDBlsMJI85+nYG/6MVx1MDAxM3V3eo9LcSW0lChULVx1MDAxMNSCqNqfutPnJlx1MDAxYnlcdTAwMDfNnyw6vr9cdTAwMWK3Z6JcdTAwMTjnKrmgkFx1MDAwMEefXHUwMDFlsk1zVF7QtVx1MDAwM70srXC5Y7RcdTAwMGLc7fRcdTAwMWFwJYdcdTAwMDY789Pk1GdcdTAwMWSnimTA8/vUUOFcdTAwMWRAPjRcbqM+PnNjzdFnNJpdTWZ1I+szg7xcdTAwMDadW+tOMU1cct7w8bRcdTAwMTRccm83I1x1MDAwYmRcdTAwMDfaXFyC7L313ciQKG0tsmPn551ccqt/XHLOLKJU3Y9cdTAwMWH6WFxy/kZcXF6klV4kOUo2XHUwMDBmZjndgzXPx7VKscPJ4lPuvFLz6iVBaMdcdTAwMTRAZH95XHUwMDAyhoJ3zptcdTAwMDV6PFx1MDAwN2aw4XgzNWwxrMJcdTAwMDcmxIZ1r5uOl/luXHUwMDAyO1gxKvz/3vtLu+Jp0k44XHUwMDBidNa0mSUvxVx1MDAxNzzHkVx1MDAxZnBcdTAwMGKsv/mGUM29XHUwMDBlxqpkxq9/vH7QUqlGYcb7/VNLzvnYVngqr9Ncblx1MDAwYsxDjVxyc2lanVx1MDAwNkF//lBxK5GpWf7hoq+6PHAjjsFcdTAwMTlcdTAwMTmyTshcdTAwMThcdTAwMWIp6Vx1MDAxMOEm1Zddh2tPU4FcXNAjXHUwMDA2XHUwMDFhVHNyJej8rI5cdTAwMTXJwfTolMjP+Vx0tp1qZl5cdTAwMDcxW3akc3RcdTAwMDZWXHUwMDA1+f2nfD6wni+BzGqooW45Lz1/d1x1MDAwMamkXGJkXon8apAj1jlXtWKJi1x1MDAxNlx1MDAwZrHocL5cdTAwMWXmlDCbgEKbh44zdjcoXCLPN3lcdTAwMTn5lZFcdTAwMDNdXHUwMDExrUt4h6NcdTAwMTEjVllQXHUwMDAyIY6+z26mjFnobeNcdTAwMDTdZ0D9tHpY7Xwo0JgxXHUwMDExO5ioLTfKz1H082A3e3TXYtplc1x1MDAwN5rWxoHA45/XVEQqgYCQu0J2XCLXzy/r6F9cdTAwMTnBhHltXHUwMDBlaTxcdTAwMTk8peFYr9f2RlHNRFx1MDAwMl48lXJcdTAwMTU6UZvgsJb1XHUwMDA3vJqO+qTl4EDpaSatXHUwMDE40Pkw8mMmtrfU4NDfJjyIY1OveuhW2TlcdTAwMDf7sdGYubWrnb7oXdctqbTiXHUwMDAzdC1qwJOCn0gkourg4b1WJtNcdTAwMGJZ4KeEkoFiOvBcIlx1MDAxMaOoP0GeWkBVVv5cdTAwMWQ4LbTFKWl1Q1Yr9/+upX/4SKVcdTAwMWRRla5mXHUwMDE2i8wshlxmeMVrXHUwMDEzr9ZcdTAwMWP5SJWyXHUwMDBmVdXnPlet4Fwiwa6hXHUwMDE1WH4l74vjYtVwOZ1cdTAwMWLGaud5XHUwMDFhN5UkXHUwMDA2hFxirE1cdTAwMDEz363yf03xab8/v5m3uZ4y11pYRnDd0jGimvCVcz9II8OxXHUwMDEyRqRDOPtHcrbZjL34tWYpsUZXXHUwMDFm9Vwinzw9XHUwMDFlgLfpXGLwh0RcXFxcpVx1MDAwMaOjziTtIVx1MDAwMP3d9FxiolXwmcmR/zaTjfRcdTAwMDNJcMhcdTAwMWEw6D6IXHUwMDBlsyGG81x1MDAwMsIvXHUwMDFkIWGhxLiXf8Unwzd9TvnvpDWJNSTUs+NOSjBPv51DI2Z1PerwXHUwMDEwOvZcdTAwMTCggnQhaHZIg3dcdTAwMTVmQoRDpyNj/KusKH/9pZyTY7BcIlxyyCNcdTAwMTQ0XHUwMDEyQOOzotN9XaFrgVx1MDAxNGieslx1MDAwZlx1MDAxNyhHZkqN+IE3WTbEXGLVRXFcdTAwMWStjVx1MDAxOXy7w1xm7MZcdTAwMTPj7+yLXHUwMDE1XHUwMDFmQqCzptTlJvawpvw8OVx1MDAwM+iZvX2F6Of9XFxcdTAwMDBcdTAwMWaHfS/O6XxejEm4/lmAq46KlmRcdTAwMDHrpFe5UuAnwdBcIqnxO2A/gUZ8XYZcdTAwMDLTmC9oXSeTpUZxXHUwMDA0wrAvXHUwMDAwXYF+XHR0uPjMikdTXHUwMDE2Wbr6Wz5kXTV9aVjswXwv9PrMKFxm8NhcdTAwMDCoXHUwMDEx83bKv1x1MDAxY94uhlx1MDAwZvu36610wqeQMkX+VH+XaVx1MDAxY1x1MDAwM/oxdejSO1x1MDAxN5fXa1x1MDAxN34gvFx1MDAxNLHVTDBultr5YVx1MDAwMVe+XGKCJsxYfUjFvqlA8UXxZ/NcdTAwMTRcItR7XHUwMDA1XHUwMDA0Sr45ruZWvNPJ1MfOIL4oQVx1MDAwMNAuXqTn86DPXHUwMDEy5C6HjYizNe6y9EdcdTAwMWRinIhcdTAwMWH891x1MDAwNVx1MDAwNXBeOeOBXHUwMDA0uD1nyv1cdTAwMTmDJl6x0lxyMzVsv6yZ2VwiXHUwMDFlmCf+2sxXw3D8Nm33zd51y5eRXZVcdTAwMTDj83xWXZvqhYhcdTAwMDeqLTx/8Fx1MDAxYe0nmVwiM8WEP6e7JtxcdTAwMTXinzpcdTAwMTi5VWb7XS4u4GqLXHUwMDFm7kPKdWaQwcBIXHUwMDA2qv3r/eXa8FxuuEXoY7Rfsd0t5u1ovZ3wppRONkOt53jRQ1x1MDAxNS/pbCbUs49GwLSl1sXVQu5unGpMrL2IhcDltFx1MDAxNTJcdTAwMTJvY2rzzLhzaH9cdTAwMDf42Vx1MDAwMHhcdTAwMDV1sbJmZ5l7XHUwMDAxXFzyUplcdTAwMDLLMsvgXGZUioWv9U1YQGZIfv7wUYb+YodO8vnuR25E21x1MDAxZsrOJGxlojdcYvuj57fRPlxyny2xmP1cYm56zemThFx1MDAwZU6A+Nn/yCZ2XvChXHUwMDA2SK55+U37/JFcdTAwMTRNe9NcYmLEyfOC+vu7TDIkXHUwMDAxrXVcdTAwMTGp0PggrFx1MDAxMlx1MDAxYnLZXvFAXHUwMDA2pLYsSrD2P+4/0l5t47WLppztXHUwMDE1dS+vKFx1MDAwMv/h/Fx1MDAwNVxch65cdTAwMTA4q/pTmVx1MDAwN2g7a8RcdTAwMWO/QCqiXHUwMDAzMivAM1x1MDAxN3w8T1JYXdeRXFxcdTAwMDK2rrHUuqE1hVx1MDAwNMBcdTAwMTN+KEPnT25APEhcdTAwMWaQXXfAmZ2YXHUwMDFkKO+uzFxcdEqbsDdcdTAwMDfftaqJckNM3Olq0mNCd8w/JvGLMJ/vQLpaP+dDPKOxXHUwMDE5XHUwMDFhKes1eM0nXHIx4GlGXHUwMDAwi/ywWdbBLyT4/EPJfXFeZ6Tl3IL4LVx1MDAxYtD+tjq+XHUwMDA1p/tcdTAwMTWDjo1cdTAwMThcdTAwMTfMRIW/OFpwXHUwMDEzpjNxXHUwMDFiKcHEXHUwMDFkLe8sx+mPV+V08lhcbupbjSE3o5z4XHUwMDBm6Fx1MDAxZidvxvtcZjBQcNRbJonqNVx1MDAxOI/US4aOrYrW7l5lejZcdTAwMDBOtFx1MDAxMDf8Wq8jyCRcdTAwMWYgXHUwMDEyXHUwMDFmaq5zv+xP1nqyUbB+7M+juIVhW7pcdTAwMWRK0Lle69Bccoc9NSis/LpcdTAwMWKTk/A3RjAzRlx1MDAwZjTfis89zlx1MDAxNUv9Sj6rS1lEMjvJXHUwMDFlcSZcdTAwMDJcZmhcdTAwMDBAfEe23L5SKF9PLODfa301XHUwMDFmwaAoXHUwMDEze3JcdTAwMDOvov4opJJ+XHUwMDBlaiRJpMA+ravpYKuO9ivEkOz4sq2oNdzNQVx1MDAwMud+vy8/Yl++WjLmv5ckNumXbOiR/0Csfv9cdTAwMDI//4XfnCNhz7yRZYaCIE9y3UugivVF9q2hmj6rX6TiXHUwMDE0+r56jMJ0bK0mis6taVwi2FixZsRFQuiDoiXzeHblr1jAZ1xy2UnrgVx1MDAxZFxioN1goDJcdTAwMDGx0aWzOjY7Ulx1MDAxMDZcdTAwMDKg71xu0oBGTu+s9lxirqpMwtHGKtRcdTAwMDBUO1x1MDAxME5cIk/5KkZHfFx1MDAwZd747b2tcfCq3lx1MDAwYmpDXHUwMDA3XHUwMDFkPctMarN+Jc6V4NB/j1x1MDAwMdLkdyqD9Vx1MDAxZqIgXGJWzrMzXHUwMDA0a8wjSoDtS1x1MDAwNWY6NVx1MDAxNad0QVx1MDAxNjVcdTAwMWNoT4gg8ChlXHUwMDE02erNXHUwMDE3kcnlsvhcdTAwMWRp1q8rjcmYiFZ+XHRpMXiWXHUwMDBiRNFhp8BKncaS57Ojk2pgqL/kUfbR6vYx2kApsJc9dZ6Qqq12V+rshIK/k0yBmDpkXG5ViZJgXHUwMDEzlIR1s0yr4i1wTD6/z06+JfCjIGVcdCjRh8BHPqssVSZcdTAwMTVBvzHtr1x1MDAwM9ZVW3WQvipj5T6lbZmU9thWulx1MDAxNIpOXHUwMDBiXdiQgChcdTAwMDVTYlx1MDAxNkGf81x1MDAwZrP3KdttXHRTWCZTXHUwMDE5XHUwMDFiq1x1MDAxYfV73+L3cUXv9lx1MDAxNPrNsqtMoyhpV6MkSpR/TtNWR1m/kmqnk2D4XG7HhVx1MDAxM5+U0UVyr1LeSnLyt4H+synlvTPoWH3azr6b9+nW+TdcZlpcdTAwMWI1UrH/2f5Pe1ntK16dbty2p6r1lkj5eTncmaJUy3N9sUNAkJ2/WzyQXHUwMDA3XHUwMDE0YG24olx1MDAxMrmYKTNcdTAwMDWU9Xbti2hI5pOhTlx1MDAxYZPpdLaLLMv5tazX5EtgnPor/+XfoVxiTC5QXHUwMDFklo53lcqlgWQrhDa7Kl2ddrEm/XFcYryezY5cdTAwMWT2XHUwMDE3u2g2XGImaXUqp8BcdTAwMTd7YOO5jIpDsfxNmGnFpdOBXHUwMDBleHqRmdBm13tmu9pcdTAwMDbZ3uaEemHtQ1x1MDAxOFx1MDAwMau4XHUwMDBlwJg/UXku6mZcdKGw9LPNXHUwMDE3apOPWnKc80nc3a5cbj5cdTAwMTayNWj2f0O6KpJcdTAwMTJOM+7+gl/Yb3L4bWXWVybXV5RF57+O5Fx1MDAxMfqvsONcdTAwMWZcdTAwMTaYcppAulNcdTAwMGaZXj+3XHUwMDE08M0xu/Pqsea+P1x1MDAxYfelrz2yuZR/XHUwMDBlXHUwMDFkRlU5J+liiFx1MDAxOVx1MDAxMe96T4XzXHUwMDBi0ELD0novqXem4PRcYptcdTAwMTk/lZw3l6x1/6LXzVx1MDAwMlNcdTAwMWZ/2lx1MDAxMqltd/j0yHai61dcdTAwMWVcdTAwMWF33VTFVuSvgUO/i9E9roNiXHUwMDBl6Fx1MDAwZjGTtDO86u21/CHjMl3U3yxpVkRyr3aQKHP/XGJDJ25ZpTvqnM3nwMoz3H+jTUuB61x1MDAwN4xcdTAwMTAyiHflajSU3aWNqJcj0Hlcct9cdTAwMTm9294r9S+3SUxKXmjCx7mDpiTyXHUwMDAxcjWNWUyzll7T2CVFZCo7zLichdCWeZA1LkCRjcZzYMPj/1Z+dP8+d9VsR5e/kst4No8gNEpcdTAwMDZ+nYDQcjSrIExcdTAwMDHX+lx1MDAwMFx1MDAwMLFcdTAwMTfymNNcdTAwMTaevLV1wGhffnf4h5NcdTAwMWauvZVcXFWNL53NoTSPLLulXHUwMDEx+nmftVxuXFxjP/BE8q1Uw1x1MDAxOaTWXHUwMDExXHUwMDA0qsDx81x1MDAxM1x1MDAxZvlV31rY08fPpO3lXHUwMDBisfWMXGJRvdhTXHUwMDA2x8pvXGIryFx1MDAxY9mbhHfMsJSc4lJTVie00T/v+MLB3EDtI+7N4JNYpPZcdTAwMTP7M9uEhFZdOuzoXmaWmPFtdjnJK7QnqY74R+aCXHUwMDE22XqJ0JpcZlx1MDAwNZt1dC3CmmZRILnRXHUwMDE1ol7ARv2z9CCyVGrmXG5WXFzrvpFjjjvGo87izPRcdTAwMTFVbtGa+6B/ey+Zssz3UzRMt5fKXebAJWZcdGp9YlxyP1xcnFx1MDAxM1x1MDAxMnSrxmtARs0+u0olTyEm7dX8YmuFmCc0b/n07Fx1MDAxNGxcdTAwMDXeJv+Sm0WbT2aDz3BZscbi9fQ0VtyOXHUwMDFj2aNq844wXHUwMDA3XHUwMDFkeYqhc0Eo1lx1MDAxYVx1MDAxNY+pg1x1MDAxN66XhVSu0JjgYI7/fpeMy1x1MDAxNc9cdTAwMTVM8Cao01WlQjzLzVx1MDAxY3jHwua8UbJl+NvnK/vLyK9vOd3MKFx1MDAwMdFdXHUwMDFjXHUwMDFmsM+Ouzko6ajAzElVPFxc6uvne4FcdTAwMDG+Zlx1MDAxYYdF7NJQnl3FJKR2y6vXzElcdTAwMDGHOVx1MDAxY4s5dNNljSmQXHUwMDAzQ/i+iVxy9n271M2e5cGiuGRRXHUwMDA2Se9vy1x1MDAwM/X6/ptlW+VcdTAwMTNJN1xireRcdTAwMDNrNlNRJ2FWgVdqdoTU3O+YiXRcdTAwMWJ2lyRKpY6Kecz3XHUwMDFkW+NIsO924m1TbVRLf1x1MDAxMlx1MDAwZv/kr4uf2+aeelS3fE+rdyF9e5OsP1x1MDAwMF9g5jFcdTAwMWRQsk5cdTAwMDA3WW6Ba//fWcecgsK2hfZcdTAwMDLnyTjVXHUwMDExnZpOXHLgKTz1iDOXMLCE6JLSXHUwMDFj9YpcdTAwMWYxgnb8QtqPnp1ja+JaN5GJs4CsbyGKmddi3TpNeOTbfe1Kvn72NpNuRWB16fTerV2vXHUwMDEx2MPkXHUwMDA1ekhfPyZJ2NrdXHUwMDFjTPjxXHUwMDEwW1x1MDAxNEJKNpvA5lxmSNJTn3SLgJZPfKVL7lB4dsHrzlx1MDAxNt9QXHUwMDAyuOvNhPc1O+SANGxBPsKq+3lcdTAwMTltXHUwMDFjulx1MDAxOFHAPHLrR4fAXHUwMDEwkudOXHRyzo49r83yWlx1MDAxYmuSMKpv+rhMa0y63rdl1tiDVObrWWFka/r+r9KTw9Cbc/j7xpiPrVSR3o4pwuI+W10yl65BhqHzfLX0LPrCXHUwMDA109jrQlx1MDAxOFCP1Vx1MDAxY4t7XHUwMDFjwFLOT3Qhn9NPnFx1MDAxYSU6p9ufrElulKqSXHUwMDE5KJpcYlx1MDAxM+z0ilxiTzaiXHUwMDBlU4FcdTAwMDCyN6xcdTAwMWSM9/TuXHUwMDFjvNGYtqNvMjyjfuRfzvtcdTAwMGVKS9L078t/6m/4rfaoLLo9Ylx1MDAxY1x1MDAxNmY/XHUwMDEwXHUwMDFjUUW5uyWeqVx1MDAxMmtcdTAwMGJcdTAwMTJcdTAwMWbScds221x1MDAwN3RcIqZJq4nkZVx1MDAxNiuB0MjejuFcdTAwMTTenCvUUz/9/X9lxFT9T25cdTAwMWO/grZcdTAwMDc1f4qaw6anz4pYXHUwMDAzT1x1MDAwZZ9WsOGi1ZhWRO/Lvl9cdTAwMThcZlx1MDAwNXP85SzmSkPMVPnlTYup2ZQnT0jEbShtddmuk3dMcNBaXHUwMDA3XHUwMDFh9X23ROx0XFzMNWSnn9+h2O3Z3kazo9v9hz+KtJKJdTn5UKNcdTAwMTdUXHUwMDEyjaRAKqhk+HPi31x1MDAwNGIg6uGhPWktYVx1MDAwMJtPZGTpXHUwMDE54CuThH6ZrDLzeX7PmFrazrW1blx1MDAxMlx1MDAxYcaA88s+XGLsu+3Xty3WdEa3etGJOVx0dPxcdTAwMTjn9fi6RC7ybGByXHUwMDE0sYiBzHiwXFxsZ/DfUyhcdHfmPZybzGhJ5qonXHUwMDFhXyG5p3fNbWHLXG5sXHUwMDE0mnG8YNVGoISZWz/6XHUwMDExdlx1MDAwM+D1hrjSxH0hiVxijUyZjW1PXHUwMDAwZppB8Fq2XHUwMDBlXCI8KL0gTUFcIlpxZqViuDCpXHUwMDBlu8CkXHUwMDE36ZdqXHUwMDE52kDFOy77luRRY8JwLHmEZStxV2pcdTAwMTLI/TbWzmq6XHUwMDA3J4efXHUwMDE035ShK1dcdTAwMDW+34Ou8OSD+kLjV25cclx1MDAxYq3JlWf9tEF5Qo7m8kJ3/rvv/8mC4PU8157Qn1x1MDAxZnPCXWXGw2d7x2mMXHUwMDA3XG6H2ZeQXHUwMDE2lvpcdTAwMTPsqFx1MDAwZp2dhVx1MDAxYuHMXHUwMDE2bl1cdTAwMDaVaEyNL4Mot9W0XHUwMDFlzVx1MDAxNSfqKnNTvK1cdTAwMGa/VfZcdTAwMWTzNyXW5JI3R+7O11x1MDAxNWfKp6uYL749XCLXlbtcdTAwMGX0b1xys6Cet0nJS18mjVx1MDAwM3SbXHUwMDFhiYTK7jQlLWS7XHSNtrjaR8VNbJc8XHUwMDA0blxyy7dcdTAwMDPGZ18zmbhmWVx1MDAxZVx1MDAxZTvC6VMpWSOQuOBcctVcdTAwMTgyNLj+XHUwMDFkUFwifPNcXGZVXHUwMDE30EB3ODSofu87h7YkfFx1MDAwMbXKNWpzXHUwMDE5XHUwMDAwXHUwMDA0y12qW+dHXHUwMDAxiKiKZ1x1MDAwNuUsOFx1MDAwZdOXXHIy1iOPUopcdTAwMTVcIqtPXHJ8XHUwMDE1y58/bSSBXHUwMDE0zFDj4VrIXHUwMDEzh7lBWzTe8d09yHvx9LqGXCKyXHRRQJOMsIez+7pcdTAwMTmPxU8n9Vx1MDAxOEF1tiSwXHUwMDFmXHUwMDBmbINDafTkLL0qI9KHINGfe1+GysdSTjKrXHUwMDE0XHUwMDExISP6XHUwMDAzUCjzjuDDY3o+X1xcXHUwMDE4j/ulkp3xr5797z6O5c8/zmLc7UDQrMBi+W9cYsy//v3NrVx1MDAwNUpPvGAwXHJJyZJWpqZcdTAwMTJyR1x1MDAxMSNwJJxZuFx1MDAwYlfS2ilHQsFcdTAwMTGn0UaRWKfP0jiVbl45zoSAzYadXHUwMDEydblsykjcTYbqZ1x1MDAxZNjGo9+ksXrX+6ZByLiZ1VlJpZD9XHUwMDFjslNjtu9cdTAwMTVxt/SIvVtngGuyeqOCXHUwMDA1cjnU98BcYsyT/cJGsLyJf658RPL4O1UgXHUwMDFkXFxucdk+U950w0lcdTAwMDZcZpWXbKOKR2HXUTt+ylx1MDAxYT+s6TYuRpv3Q1x1MDAxMs9Cy1x1MDAxMftcdTAwMWJDoIefk4drKFD2yIglqbCDrVx1MDAwYjzoappmRP+Oz4VEWydcdTAwMWNnRs4lriPFd1x1MDAwNZwxXHUwMDFiyk74buSH73bBzCvR4Vx1MDAwNDr4OFx1MDAwNinFLlx1MDAwM49cdTAwMDKljHfdXHUwMDA1XHUwMDBmiUlLVuuSfUoqXHUwMDE1pVgjwLFHsCDuNSZcdTAwMTU83JbhXHUwMDFhwZ+GrLpcdTAwMDL3SeZ7NW22q/7tXHUwMDA29Wn/9Vx1MDAxY9g7XFxXXHUwMDFiusd0+87u8Vx1MDAwM35aaXg+XHUwMDE2XFwtpe1MQm/DnPJ3e/WDrLbiXHUwMDBmXHUwMDA211x1MDAxZsL9RWJ0qVx1MDAxZCHspma1/IYvfrQvblx0/Vx1MDAxOX9TU2Htclx1MDAwNFx1MDAxY1x1MDAxNTlY1EW8fzdixpCH2k+jPlxywoqbXHUwMDE5XHUwMDBlyCRcbie67Vx1MDAxNEj9veEmfV1gjm9cYq9xoFx1MDAxYYrVQDl371x1MDAxNEtKsi60nIrHS8tcdFx1MDAxN1x1MDAwMlx1MDAxMutWsFxmXGYxKLx3kHzW9pa5MCGG3JNvovgpplx1MDAwZpPn8rWyafXkd0Bk0nGK9W/aJ/W4VM5pTbBEXHUwMDAy51nhv8WsPXLVvzN+Q1ufRd773kdT2o+GS2SimVx1MDAwN+2VV/JG5lxuXHUwMDFmSkDGb53awGTWwYYzYHuW16F7JEpcdTAwMTfp48GMKCazXHUwMDFhkFdM7yiuXsWdayMtOWHFSZpcdTAwMTBRXHUwMDAxfluwynzxnVx0q7Cl6yZcdTAwMWJe9nBdXeBTclx1MDAwNbRcdTAwMGZWgI2r58qsa8bvO9FcdTAwMTFYXFx3XHQr/zEz38dcdTAwMWU4oatdy/eV5npG6YygVtns6FFE+YBcdTAwMWXVTmX1XHLFiVx1MDAxOYfyMURcdTAwMTMnhY/AWolnPnMxXHUwMDA0XGLJp1x1MDAxMONlyZXr6TG1XHUwMDA2zrh9K1xi4sjgvGyH71x1MDAxZlx1MDAwMEVcdTAwMTBcdTAwMDapsVx1MDAxZVxm+2yZXHUwMDA3XHUwMDE4WSNBXHUwMDFh31d15XFcdTAwMTTxYWxLcNyrn0dpXHUwMDAyXCJyXHUwMDEwYKrSoo8kr4O4zVxi7cTLRzitsfudYSyYkFLdjVx1MDAwN5Xca0K1QjGRvkWLYVx1MDAwMeFcdTAwMTckh3lcdTAwMWIqxYeepDGD8lVHw++KeZZ0Q3lnTyauXHUwMDBiTWVOJcY/JSC+mVHlNbFcdG2ZqKC7lW+jMif9PbVcXDtcdTAwMTfyXHUwMDAwkn13XHUwMDBickL2RF94pTBEna5/giZCwGV6ruef1Fx1MDAxMfOjXGKbXHUwMDEzXCJccuacssJRfVx0mE7Q/YXQnPFcdTAwMGU3tuS2ONdcdTAwMTdF/eLCsitOflx1MDAwMUX75MYm4Fx1MDAwZdafg7agfPtwvFmX0E6hrTFQc1R9XHUwMDA2tv+PTDPuVUV7wlx1MDAwZfldTyRazL/w91pcIuVbr1x1MDAwNbXWoFx1MDAxZqD+gofS3Citm55/R+hkXHUwMDAy1NYh2Ldcblx1MDAxN74z4i+ksCTktCnt/rDkXHUwMDFkfTDZrY/4k+wp2PuX7oIsU0a9eGpsXHUwMDE4+Vx1MDAxZv/CWFx1MDAwMUFcdTAwMDAwUvRR8zWoXGbJXHUwMDEyTEesLnCteIA2491sXHUwMDE5Q3xK2sBGWmCwd8wpMqxOzbhcYlx1MDAxY8XSu0VzguXD5ftcImBcdTAwMTdcdTAwMDc/Nvj2srzSXHUwMDE3XGZcdTAwMWQocVx1MDAxONZcdTAwMGY0dtqHPd5cdTAwMGKaVIbKc2jL17WXXHUwMDAz84q5lXiKbiOgeGUrXHUwMDA0Y77iOFxyvzxJsrGIKPOPlKJcclqhoUV8XHUwMDBl9ONcdTAwMDBcdFx1MDAxMFxm5dVHWV8mXHUwMDFjcIDo9kFevi9cdTAwMWGRoMdOVsUs2Fx1MDAxMlx1MDAwN6/UIeBAZlx1MDAwMuwk1EFzXG7N6FeNscqVi1xcObgp9NmMdilGXHUwMDE2fiNEjSdcYkxWbXZcdTAwMWHpiIjDnsO3XHUwMDAz/4Fy4FRZTIfEJ/+2XHUwMDBiPm9d413Rf5xrXHUwMDE5s65cdTAwMTjNX5F/1segu/hrTLPvXGJcdTAwMDZ7XHUwMDA2XHRKf81cdTAwMTSMye+pI16WXHUwMDE2bm5EiZ5Ok9lcdTAwMDKyXHUwMDA2MpVcbtSYbJfCRo2g6uBcdTAwMDBFgnu3pa9aXHSVSonaK1xyMcp22mcj1Fx1MDAwNWWx3VwiOLeXPk5ecFxm3d5aQ1x1MDAxNU76XHUwMDE0S67qcFbh+Sc8Jle5XHUwMDA0u931ztBYr69cclx1MDAxOSqOXHUwMDExol2BLlpcdOty4Fx1MDAxMzGiMbpUZXz1r495jy+ZRLXBXHUwMDFmj1vjz/V7XHUwMDE2o058ZWW8wec0b+Gm3mRcdTAwMWPBZkZcdTAwMWWs9Hu9wng5bjrGvvzvi82lvlx1MDAxY7DU9jaqcD4gYDNcdTAwMGIwXHUwMDFhpkXmslx1MDAxZLKqXHUwMDFhIdcw5JQ4r49m16+pWaDWKVfcrm9HR1x1MDAwMLtcYoJ1OSFcdTAwMGZUO+vf7lx1MDAxOVwi09f2y1x1MDAxYpLSg7ls4Y1bNz9cbuqbTZtcdTAwMTS8KkZoMNW+XHUwMDA0YL0mZeU0zZX5SG47c+dSb4/fKqVcdTAwMDdcdTAwMDLF2pkxvKdcdTAwMDGwcFxc0lH/llx1MDAwNK1cdTAwMTiahPC1jlxyS1x1MDAxMEfrXHUwMDFl0Fx1MDAxMPOswfR1NoKf4qYu2Fx0bq1DwsvfR/VcdTAwMTkyi27O+r5cdTAwMTjPo0RkXWJmxNaM5lx1MDAxNol2tGDM7k92ouKW8FxcLKfGK3NKjInG0Fx1MDAxNnhcZqgjIzAzQHD9f613/E/9XHUwMDAwXHUwMDFiLbuCkVdcdTAwMTFDRzLPXlx1MDAwNf11fY1cdTAwMGW3wMOU51HAXHUwMDA3KYKWXHUwMDEy4Z5gsXDS99q526M39TiNdatcdTAwMWXV8Su2vYuTWsfSyT2OXCLLXrrE7nrRWrzDLk3yKmjSRbD/MVx1MDAwNedcdTAwMDNJvlx1MDAwM8+mXFz3iky8jkN0pS22hPHb62RmVY5lu3nscZMjXHUwMDExPbVcdTAwMTAptohQblxcXHUwMDE2XHUwMDE0XHUwMDA14eNcdTAwMTkjXHUwMDFisapVq7RcdTAwMTLJJX5PX9fMwo797DGqrTxxXHUwMDBmOCnev5h1d7uXuHiqlvlcIjWdm62RT/WKXHUwMDFmWT6le7yJVM2RfOWu9Fx1MDAxMtY77Vx1MDAxZMROzUVJfv4sqNlft5AvwXyZVrDP8K25M+7VXHUwMDAzXGKkW0VcdTAwMWTujDJm6Eppc9DbJivXXHUwMDA1w5GyXHUwMDEzgS4n4O3BXHUwMDFm8HXQjVx1MDAwYpSSrf6++9LkTX/I5K9Yqlx1MDAxZMF5jz2ciFx1MDAxZXHtjZyO1fAriKJn8t1cdTAwMTJx/TZsXHUwMDFlZlp3V0VcdTAwMWOuhEllp/tcIk/4QLZCOLN+Y1x1MDAwMtPxj1x1MDAxMzv6VP6+XHKOnVx1MDAxYcbGJJVJe3WWK6lgMEFwXHUwMDAwp0e0tPjeQtFcdTAwMDF9XCKOQGNoXHUwMDFi8cAn4FwiJnN15zeOXHUwMDFjnEadmLX/Xlx1MDAwYpv/XHUwMDBivKRcblXFrydqfcWYzW+ngy3YX/E+KO9cdTAwMTE9kHnS/I3rXHUwMDE2kIZcbpA5qM3L2+BOlHZrPzC4QVx1MDAxMzuQ5VWsIcd4tKh78arM8Sbsw5za8kPk66CnYdA4Qlx1MDAxZUGpnrlcdTAwMWHn9fdccvHJmK1cdTAwMTXZ5kZcdTAwMDM2XHUwMDE4a1XM7qzMiXt9YvvQ8e9zkfRp/yRLnkk2XHUwMDE30W65fjEyPzRcdTAwMDZEayhcdTAwMTCloy1EXHUwMDFkyvBDWW5aTkRgSqzyrfUrx+LvaPKXh8eDIbsmZ1Wdl+tzWOkshv94e+Y046afKak56S1cdTAwMDSJQ8XIXHUwMDFk65rxeNxFSD2HeJ2ONvZcdTAwMDX7jspannks12014VbXs1xuMY9EojBcdTAwMDM2prDDcUUo6GXxXHUwMDE0Mn3fpVn2XHIwI0G5n1x1MDAwNXuVwaOMgfedfLZcdTAwMTlTx/z5uGCFUl9dXHUwMDE3dFx1MDAwZVLn8znm6/XgbDWeN/vpQlx1MDAwYil9MpFcdTAwMDDDNVx1MDAwN019Tqap4Ohcct5b4SDq6OJcdTAwMTHOdVPNliBsSNQhZls/s1x1MDAxMI572lwiKvS5XHUwMDE3M4cpzqP0U1x1MDAxZWd/ZW3JtdLGKGzkX8z9X1x1MDAxY07O0ztLvoT/S64g1OisXHUwMDFhJ56ler5J1aeVI9ZDhVx1MDAwM/tcdTAwMDD2b8e54GOWzVx1MDAxY9uQY3Sx4tPph1wicFJHXHUwMDFja7Td3qdjXHUwMDA33FTlLfBXh3jBXHUwMDE3gGCjXHUwMDEwJJElTnddsf254vLyXHUwMDAykduQXHUwMDA1qdzKJm9cdTAwMWTkL7i9XHUwMDBl9pnailHU2IBG5+GwWTVTq6tdhVx1MDAxN8xL20VcdTAwMTVVqcnR2Kn1qZFGfnFcdTAwMTOM5sPJSDHXVJVEVigh14mlnbpznLRWNC3TjOK8/1x0VFukOPEz/Fx1MDAxNHWkzVx1MDAwNrtcdTAwMDJcdTAwMTb8w1x1MDAwNOfIVqcrVmT/qp+Du1CQQMaFMrGe9ZyWlFx1MDAwZZ8/3LXoSi296uHm6LYjcYh8j7yAyYyQ34JcdTAwMTRPV86uU3TY1/Ol7CHddv+iVvs+bVo6XHUwMDAx7VWsl+BcXFxcaJbM0XqCoHNcdTAwMWHWVo1cdTAwMGWSacZ+KoVi6eCTjlrJZFx1MDAwMq6/XHUwMDFjVmRJXGIg/0WaUMc+51x1MDAxMf1cdTAwMWS1+oBXr+z8t1dfpjdcdTAwMTmP+Yna9NqLXGZk6Fxih4VF7lx1MDAwNNpDX8pkK1x1MDAwZlx1MDAxY1x1MDAxN82y8kOxseJVIPzAwlx1MDAwN+RcdTAwMWUuLuvV6ILvNNRUrJ0lXHUwMDE1LcXQfbLm35nwzouUIcLf5u0/qrNsOZG0gl5cdTAwMDaf3Xco0uWDg/xz6yNC3IlcdTAwMDOk0yNcdTAwMTCfQI5cdTAwMTRKiMzPXs5cdTAwMDZcZqqrNVx1MDAxNuxhw2xcXGlnipWXXHUwMDA1ztjdKP7ioVx1MDAxMaxKX1Z3OKTralx1MDAwMfiJiSmb5sWHXcuYcqogslxc9Tln8+8wlKpNXHUwMDAw6rZHjnOMZPhX/pYv/zFxNNtC7TytlG7e5pjbxapjmCy089PO4S9cZj1DS9yN3uawiSnFR4NJ7YJcdTAwMDaS51xmm1bSg6GFhLNcdTAwMWaS49tIITHX2z9O3lx1MDAwN/7ZwjrEqtRzm1x1MDAxNel0h1xczfjbtpY2pe1cdTAwMGInrch98596cug0r01If1x1MDAwZeJgdTJZp0Ddbc9TXHUwMDFi3W9cXDpzOy5qldXRJObRV3a1XHUwMDBig7KpXHUwMDE2dUbg1cTcPmVAx5wqKZFqyFx1MDAxOI3UT2s6XHUwMDA2MFx1MDAxMVx1MDAwMnthYtxm47Jt5G8r91+ZSpmFXHUwMDBl2aHA+JJcdTAwMDd0h7a+5HhRhk+qyIez/85cdTAwMTX2XCJeXHUwMDE3e3xcYpRoxG417CmkeNZcdTAwMTe3OscsnFx1MDAwZeC3p6Nh/bP6R8fO9y/q7OXDVat/pVx1MDAwM7ZU6/dp3vlcdTAwMTYxXHUwMDAwIYDVmvLldOewIPDUwaCW4ktcdTAwMTdBMcunbv7z+mjr/62VI7Nd01tcdTAwMDFcdTAwMDWx8Uq1XHUwMDEw6Fx1MDAwZZxSTJuw6zyVmEWm5Ue5ca+YTKN75579ulVcdTAwMTWqgz32XHUwMDA0XHUwMDE10rYmXHUwMDE4L1x1MDAxY8mfl4crh7SS7M70ny1mt8hcdTAwMWLJd/fqfEKxbMmZ66dcdTAwMDdcIuRMpe0/v2qfhTJcdTAwMDRq715cdTAwMTJcbrlJNlx1MDAxY1Lzm/W7XHKvPsVRXHUwMDE5qK2rXHUwMDEyLknqaOrLWU/I91x1MDAxZpzOL3XHL+rFhUC8XHUwMDE2lFY4sSNcdTAwMDKhrDWBcI7r6CZs8pOMOPEqX1A4guFsRT79b8xcdTAwMWZ2TDZcdTAwMGVRRTBwPC27aJBcbrR6X0ydfZ2HauSywdZrIVx1MDAwNajKXHUwMDAy6dM+Y0ItXG6mq5BqtGWkc1x1MDAxYliBXqj+1tSkpK9cdTAwMTV74lV/+bOVLvSHwOBxs1VDgf4oa1xmvDFQ3sX3QH6rzZ+zW1BloZRjNGjZeNe2h12DyH3NQbHhk05FeHL0pn7QXHUwMDFhXGamaCfj44cytF6FzLlZdfXOy1/8cCQ7UcF3XHUwMDEwyI+oXHUwMDFluFi4a+hWS1T4XHUwMDBlXHUwMDFm9VxmXHJcdTAwMGLZJfB+erlarfvSflx1MDAwMUBcdTAwMWNcdTAwMTYofXnejz2/bFxuJT1UXHUwMDAyovgxwIcnsFx1MDAxMVx1MDAwNvjvUXVcdTAwMTBvXHUwMDAyK1xcW75brP3/uy7wt1Zwivv+55tlZVx1MDAwNa1cdTAwMTGqXFxWtPLQXHUwMDAzt0uYZsW5eGXpX1x1MDAwYuqFblx1MDAwNSvNgbnH+ZlunTpcdTAwMDRcdTAwMTPbu3rMRPHEVGOcTWQvvVro4luC1LXIslx1MDAxOKNcdTAwMTPjJ0z7u8Pf66C44Nc/0Vx1MDAxM3veoSkucFX6pVx1MDAwM4ZcdTAwMTNcdK7Q7XxcdTAwMTMqWlb8hj9cdTAwMTWbNJRcdTAwMDVcdTAwMTf1fSraYVP65Fx1MDAwNFx1MDAxZdHK7p+VcSleKXfvRfFcIqufZ0n+LkPeXGI5Ni9cdTAwMWI+eFhcdTAwMWa8zv6wXHUwMDAx7aiWjLXd6/lcdTAwMDRcdTAwMTdrVywjXHUwMDE2k4kw3zZfYsCudnnNqKZcdTAwMGVr8miolqbZiVezOjPV1uxJhVx1MDAxYqj5wVxurf+2a0uS4to9zkO59dnyuLQm3opzXCKzyM1cdTAwMDTaw8TUva1cdL79VtMoZFx1MDAxMu5UmPs6XHUwMDFlXHUwMDE1XFwngE5H/lx1MDAwZVbw8HeoXHQyU4uVm5gr6tU6slx1MDAwM4urbDHNcTXTOVx1MDAwYlHXZv7Krmy3+XCeyEld/Fx1MDAwYkKpPn94Rp6Fa21l/UhcdTAwMGW+xPdUa+ZUXGavUdp5XCLNylx1MDAxOFjn3HvyoZNcdTAwMDTVXHUwMDE3e3tcIlx1MDAxNpGz1diSkITBlObIYVx1MDAwM9elXHUwMDAz2FxuiWx7NY9cbjt3Jls6ulx1MDAxN7rM8lx1MDAwMkaGwkWXcLTSau888FGZ/cH9f/j87b/X4bV/1uErRL39csFPlPRcdTAwMWUlQ9nn0HZh/nhFfINcdTAwMWZcdTAwMTjvJlx1MDAxMCdGNJBcdTAwMWFNleXGLqVcYpk7Slx1MDAwM85o9VxmwVuwyOmf1UZcZozhkTr2XFzJoXhXgoyHYqomtYR85SXHVFZAc+khg1x1MDAwZmJcXIpcdTAwMTZAXFxcdTAwMGahXHUwMDAw9DhW775Qy87I9OySWtqOREyv3cqkXHUwMDFibsztjV5bQ1x1MDAxZSZnZ/tcdTAwMDWb5XKj06wwnYvoLIqZLa9ZXHKhnds4Z9rRgMmLWzA8XHUwMDAyskuQl+DTKnXxpqjc/Fx1MDAwZUVd0lx1MDAxNlx1MDAxMUtxjVx1MDAxMJ/JyW55s82vXHUwMDA0bpxl6780zqE1Z+CreHtcIlxyUrtdnnpcdTAwMWHnLL8/oIdccvOAtzGqJ0+GXHUwMDFhJpd8eN/gXHUwMDFjVPhQnEPs1fvjXFx2+WJ5SjqLXHUwMDBiT6fsXHUwMDE59p1tOprtW/V+scFcdOJcdTAwMDVtqFx1MDAxMbj3+/qa3uLsmIHyX/3RLV/tfChcdTAwMWadhtJHbZe2+5u9xfQmcNohhODF3YKelFx1MDAxZFx1MDAxZCVP6lx1MDAwN/Upfim3XHUwMDFloVx1MDAxZG7KTFXjz1pcdTAwMDHLud+6fjakXG519Mp98ZF5e9926iVYOJtcdTAwMTKqd1x1MDAwZf5cdTAwMGJ7nUVs457pq0cq+o3UrzPwSH59Ry54pKxwTmNcbr40XHUwMDA0XGKuWJuRM4dtWVx1MDAxNbD5Jm1X/buOXHUwMDEw5aO6XHUwMDAy+2Ev2+NEc7og8LZTg1hYVeKKzXvMXHUwMDAwaMY9XHUwMDAxzz10XHUwMDFjU/biL2/n2PZcdTAwMGU8d/rK6fuj5VgosGVO9Fx1MDAwN51OOlx1MDAwNoYs3DLDXHUwMDE3kp1cdTAwMTN7KUWuXHUwMDA2aPRcdTAwMDOLXHUwMDEwhPGh2s5rleVjXWVOQ/ZcdTAwMWJaJH5Mv1xuzGP4XGZP6e5VmvNcdTAwMDCphNtcdTAwMTVf5ddoW7VGunNcdTAwMTfV13PJ7PyhU0RgPi6YXHUwMDEw+2WJv02xRvxcdTAwMTOrvZmEkjQ9RDXZgr5X9iVtlUnw+Va8sNRcdTAwMTn/y+1cdTAwMGJcdTAwMWPmXHUwMDAwitifgNU0p6z6K456/timllx1MDAwZlx1MDAxZLRsY/tCoy2ZKOpNpVx0quyJzX5cIlx1MDAxYrtANmyDpDhON1x1MDAxMWtcdTAwMTfCp1x1MDAwMEXZQuer+KFqz2tcdTAwMDGyna7jwFx1MDAwZZLXQudeUDZQRyd3qFrGXHUwMDAyZtQgojDlj5ZQIGtcdTAwMWKfM975LkK2NHGA9e99Nlx1MDAxMe+pMmtcdTAwMWZkIVJcdDRcdTAwMDPgYjg1Pd1cdTAwMWLyq2jNLiQ86TVUQFx1MDAxNSymXGbJOKNcdTAwMTJ4ejWQXHUwMDAzxli8jln5XHUwMDBiTFx1MDAxYm9AeWJDmOt0Uc3FPvVDtIpYQ1jVXHUwMDE3XHL9/TnCYp6YdInEYyfK8UtcdTAwMDSrQ1x1MDAwNcNcdTAwMTNBM0aVX1meqcW3j5qV2Sz4zVwi2EtcdNzEQ07rh5eePlx1MDAxYnrjPlx1MDAwM5GzhKgtvt5XRolcdTAwMTd0smydSFx1MDAxMJa7mDywzrPC0oEoV2mMWJbpO/JfJCpcdTAwMDVcIrlcdTAwMWVcYsy0/t9s9N+8hHF68M/eued8m0+a9ZzaiWX2q/Peg05jwuzrrcWOjcdRdu6LL63FcqySX5haXHUwMDBiZVNf6P+h6zyWJFXSMPtALNBqidYy0Du0hiDQPP2Qt83GxqZvL7KsLCrLknR3/u9cdTAwMWNwXHUwMDExfIFcdTAwMGVcbrDlp/2OfFx1MDAxMD98jlx1MDAxZKM4dy4yXHUwMDAxs8FfyIvplNZcdTAwMWXtuX2u2s3qOkpttykzR1BcdTAwMTczRlpr6lx1MDAxM++td1x1MDAxZixcIlx1MDAwNFhyt+fyntWwVGli+uNNM0xjrDhgQFxy9lBcdTAwMDNNtkRYs7+5YvEynZKyJ1xy3CXl7Jkk96KUc+VuXHUwMDFjLuxcdTAwMWGdLOOVXHUwMDBmtnVcZr6MzlBcdTAwMTSlgulcdTAwMDNcdTAwMTR5V+yS4IbztvapTdTXLvJcdTAwMGLwUEnqXHUwMDBi183u5iqn0p7Mx69cdTAwMWNjOp+WaOq21lx1MDAxZW949fN6XHUwMDFlS0qTKX4kslx1MDAwNlfHRPXusaDLRKkoverver1OSYpcXM89jzA/Qk7sJE/YjNoxd3VKPCjxv1x1MDAxNGikpmS2XHUwMDExQGPTPVxm+Fx1MDAwMySA1jMhI4hcdTAwMWFcdTAwMGJybIGimW1tKEBOXHUwMDA1ul3dXHUwMDE3Tlx1MDAwZmphXT1cdTAwMDJiXHUwMDBlXHUwMDFlQjCVzN6oXXrM7ZatfX/deVx1MDAwMp5iROzY+qw6wN4qsOmB0uMtkvZccmItgoYzmkKv0Fh6IGUlirI5+PeSXFxo07Xct1Ltl6gtsDlnYInsjVx0pm1NKtoyeLHMJVx1MDAxM65cdFCduYTlXHUwMDE4sIPXuFhkXHUwMDAzf0tpXHUwMDBllj65tPpXp1wir4T9WFn22v+OxyQj+36sNcj5y71uKa5ccuNyLlwisLQgsa4sKiduY1bMXHUwMDAwXHUwMDE5LurAM3bhn1xmsazqmLYyfyiAp9x1XHUwMDA0UVx1MDAxYflcZmRcdTAwMTP8N7fVolfPXFxfO5U41aFeyXlcdTAwMDJcdTAwMWamsyx901nRmslEXHUwMDA08shcdTAwMWTiu/xVe7NpXHUwMDE33lx1MDAxOZiFj1x1MDAxN9BcIqOfY62HPs20XGZkXHUwMDE3u+3l3lx1MDAxNVwi/+3rVVx1MDAxMVx1MDAxYt5cdTAwMWLgXHUwMDBmdDngXG6t5D18M6+Jm8g37r9cdTAwMDPWbvGtUdFZyZn4+1hcclxyXHTC62Gys40/kVDUaq8/6s2u781gfSe2MHgyh4DAx7q6j0dcdTAwMDRTy2j1KGr3xr+TzLJcdTAwMTdS6XrWXHUwMDE3tVx1MDAxZFJ+1uqzO7/j8Os3XHUwMDExrWJQ1cgvnlx1MDAwZWfkRP13j4k6nnXk9mtcdTAwMGX6XHUwMDE4rDynzcT1wHNbMrlI6JKwrvjRRpDRmzpcdTAwMDTKmarXpFx1MDAxZFx1MDAxZnxcXI8jW/XJoDIpiyiJv/WOXHUwMDA0XHUwMDAwvYxLuc6I/FxcMiP/+KBcdTAwMWEgP/DYNY+V3FJpdiWWutta8Fx1MDAxMmy8N1tcdGv7uVujwOovxEVcXLez1jKdUa8vnrEvQuNOjdtSrr/DvDRHXHUwMDFk8IJ4gpggccJcdTAwMDem84piRStyxJJ5eKPbqFTTYnQn2tTNXHUwMDFm26ZEu1x1MDAwMpNcdLC7sLnbkNpcdTAwMWZEjZs1vFx1MDAxMsiMVX7yi5PaXTHiXHUwMDFimv+U1uQ7K1xcN+bXa1x1MDAxM+DHqNLGfJCr6NrXfpiaSpcuXm5JXHUwMDFjsldB71x1MDAwYqypQil0XHSiXHUwMDFkc9JfWrxcdTAwMDae8V3i41x1MDAwYijXYZ9cdTAwMDX/MFx1MDAxMTKdKvRcdTAwMTB541azocLMavd5XHUwMDAxQ0nM5FhcdDjSztuYXG58v7JgWlx1MDAxZDi3JmtE5Fx1MDAwZkdcdTAwMDfhX+eTnv/MJz20fWCAR2SUm6lB0PlcdTAwMTGN/3C3Tlcqj1xuJDjBnV5h2m2121x1MDAxZLzen/RcdTAwMDVcdTAwMDMhWbRQ51pcdTAwMWTZ4J+A5vpcdTAwMGVre4ZkpUrqweYgXHUwMDA3vqv7gj1huP7rhaxZdFx1MDAxNmJOSForV2jolkVFzcZgn+C6N/4l6Vx1MDAxMlx1MDAwNM6VeIIjtVcu29A22FHdLyb289b1XHUwMDAzXHUwMDAxXHUwMDEwXHUwMDFi44IkYle4gea8MX+xfFx1MDAxY1Dhs8dqvvjBYFwiNyM4i5j7OlUt0InZbdNqkb5cdTAwMDacpWFcdTAwMTXpc1wis71siXRCx3epdGzXfuwyYVFAM8uhXHUwMDEwO1x1MDAwZZ5i9lXJnlx1MDAwNXxbteukc1x1MDAwMKnsvsm6V5qO3qtDXHUwMDAxfyZNykc+koh5pXVZJr5cdTAwMWPcSaFcYonypYVC8DexXHL5XCLweqGG5qpyhPhcdTAwMWT3RunWoVxm0Vx1MDAxNyxcdTAwMTZQXHUwMDBlxj9cdTAwMTnrluu7XHUwMDA2ZjpcdTAwMTC8uG0rabGO2tZgeOGzUqVMxNNyXHUwMDAwulx1MDAxZiauXHUwMDE0pN1cdTAwMDA9ZaOTZNlAjIRzLM+xOohsXHUwMDAy9JB0gHPlP3wly578XHUwMDE2XHUwMDAzzHt7+b3DQmSdrj6zMUBcdTAwMTeXq07eXHUwMDAx0TnPXG6hJ5zcz2zTXHLJpKpAOVhCITrr5v7rtvnV5IfAe1x1MDAxY1x08Ovrtq6zXHR4nOEhXCJcdTAwMDbsvqTHeOlO+etKL5ElR3RV0eV2aeHz31x1MDAwNWlCrL/35IElXHUwMDBlt5dyNXO689CCS96RTVVcIu3WXHUwMDA2zl59VX7wj/Nv71Ze5TiVv0lcdTAwMGWeqNrewKaBXGbWiZnW71BDlEr2VVxiXHUwMDFjq5iXyYduT1x1MDAxYtPMfm7TnFx1MDAwZjFTLuLNkYRZflx1MDAwM/6DV+4spVx1MDAxM4Q1Nq6DhjVcdTAwMTKc1jeX7vv98oKwXHUwMDEyXHUwMDAyXHKZ9UHmSiikxmksSFx1MDAwMvFcclx1MDAxYj9RXHUwMDFiXHUwMDA090mBLLyeMrAp+731smPePiOV8CmgXHLhylea8K6SjMq4XHUwMDA3iEKyW81/obZcdTAwMGV9UJ9cdTAwMDKROD9cdTAwMTLJjd1NXGahd75cdTAwMTVeX1x1MDAxNVx1MDAwNuafJMihXflZPLj4XHUwMDA3gVx1MDAxMOauSlxch5jn66W2Yj1HQcs5oZh5arJcdTAwMTKfXHUwMDE3XHKMxm1cdTAwMWYv7Xi1Nlx1MDAwMVx1MDAwN67AXGJfYsVCcasuw5R7tENnnO7iWakpJ6YuJ+GrKOlfykmCXCKq99qriWhdpqXi11x1MDAwMMa2WVx1MDAwYuEuNnhcZm1JrX8vJIGkXHUwMDA23ey4XHUwMDExhPqBUyY0rymYVyVmjuZLqKtj10xcXCC9xIJcdTAwMWF9/cCvxkNo31x1MDAwZXZcdTAwMDdcdTAwMTGcOdpxyVx1MDAxYY8nxy5hfMJcdTAwMDSmdDUtOFsuqd1cdTAwMTRgdlx1MDAwZlx1MDAxZemke1x1MDAxNWVR8OXOXHUwMDAzvJaHOil8eK7+0uvD6olgjlT0unjp6slcdTAwMGWagyNcdTAwMWW902Tn145cdTAwMTlMhddcdTAwMTU16F/jJuJF5MCdXHS+NDKkPj72uesjXHUwMDAz3duhlN+vu8WIesloe/EwMIXOsJ2z8VvbXHUwMDE0gFx1MDAwZao1yfemr6ZQmlx1MDAxNa5wfiYkinJcdTAwMGbDgtvlmSN6gGFgdnVcdTAwMTIjm1x1MDAxMcJcdTAwMTflYkCtWk5I2OSN+Ix4Uvd/vVx1MDAwNzz0k1x1MDAxM1x1MDAxYe+AXHUwMDBl1nNzlNLyQLiWdlxyi8iK9eCWMzs5Xi5cdTAwMDCXfC7xPd/TXHUwMDEy853En8ZZXHUwMDFm6O1RmqQ81lx0wa9s4UD4XHUwMDFhRrk4f8t1QrXnk4lb13v2RVxcXHUwMDE5djCowYjGjmJrKWsl3NyuVXJbIci3Jnwhnc9cdTAwMTJcdTAwMWFovkPwKEpPR7il7uLt+EhhXHUwMDAw++Ho4qDyQ1x05fBk6KHZ5levjtxyJCpdr7ok/XbDYZAo/rZwy3+XJe/8g/RfXHUwMDAygWpKVmHXn8Or9kqfczC8MyrWbJqfgzytNpdcdTAwMDRqmC4uznnatdzqPrVcdTAwMWVK3Vx1MDAwZnokjjmfanTxp2JCdHX0eJuDNXbRjibAXHUwMDBldGiwoftcdIObXCJcdTAwMDRUhYPhaCwl9+jcYUyV78jCJ4CNM6dqXHTWNutccsW9KCRPeu1cdTAwMDRcdTAwMDJcdTAwMWVcdTAwMGVcdTAwMWFBcY1cdTAwMTWywavYW8uLymlFjUm6XHUwMDFkr4srzIXPxdq+Y/Mss1x1MDAwZdrrnSauXHUwMDExM5qs+a5px1x1MDAxYVvRgs1cIuU27bOqYnx6+lx1MDAxMW2hUtdcIlx1MDAxZbaf5TtKUSXZlHNUXHUwMDA3XHUwMDFjSSqA1YH2vXhDSmWBXHUwMDFlJ7FWXsGdNVx1MDAwNJaQ4kU3XHT34eLCbeYy+Vx1MDAxMKGYUy5cdTAwMDaPQH2cSVFcdTAwMDC7L8NcdTAwMDKqn/6VmnFNXFywMcZAwlx1MDAxYqKsTVx1MDAxZMnLXHUwMDE5XHUwMDE5XHUwMDA2psh6JTlQ2mXwlrSPvaxY+7QplG9yXG6Pmr1cdTAwMDGsPDJXNmNRc/FcdGNcdTAwMWJAlkqI36vhVI22s1x1MDAxM3RcdTAwMWJQQVCPVeD8cb9ULlx1MDAxZlqlXHUwMDE4X+e/31PR3/6fMZu+XHUwMDE1jUzQ+lxcMU6jlIbIWWS5uzjHO1x1MDAxNeyq3Fx1MDAwM6lkXbHcVNE8s73aOaOI5brTKH2AOPFcbi1FQFxieMNrPU5NXHUwMDE3szdTpjFT69qY2GrVXGJSXHUwMDEzjCOm2Y8/tCA7w9mSO9D6zGXogdbggk1cIs6NM1VcbkuXtjbBOvw9UzaQylx1MDAwMZ5cdTAwMTQt8VxcRL7j/HfUypwzX8hKwOBDKi8juCPKylx1MDAxZZXAuz3lh1x1MDAxZO3Lk5NcdTAwMTRcdTAwMTFUxX5fmFx1MDAxYk/qvd525Nx63qrvja+kb72wIOzRiFx1MDAxMctcdTAwMWTo00RDlX1FXHUwMDAwvdWLfFx1MDAwMkmpkM2Az901fG8gS1x07rjCeCaAJ55cdTAwMDJsyFxy+qvuyJ4yhVOqXHUwMDFiTTJaUNiNXHUwMDFmx9Ce+d9cdTAwMWbe6q9cbl0q8+VcdTAwMDHgjb2AXHUwMDExltDxgGOXcktcdTAwMTdK9yxsRVxu8Vx1MDAxNkfKPu2oXHUwMDEy8pnhxV1cdTAwMTG4TtpcdTAwMDJ/R5FcdTAwMDHAVXwuoNZcdTAwMGKp/1v1zbyfXffwXHUwMDFjv8SiPL7XNPA1SdrArkFcXIH2xc5cdTAwMTVsq1x1MDAxY1x1MDAwNJlgR+W+4qDN9jk8mqXBR0VcdTAwMDF7XHUwMDA3ZtROqVxiycUsXHUwMDE4L3+uKe4jdJNYNTY2v2xcdTAwMTbNRlx1MDAxZsiZW1x1MDAxOF5cdTAwMTjGbWZ7i/FlXHUwMDA0hG5e88OpVqNcXIHOvcJY+XPRjVZcdTAwMTmxmtlcbnydXHUwMDExkH4zlTtcdTAwMDFHRmFFxTSXJElIzTVrmsPZbE7P/lGdJqHEw5fWcXay1WNdTPaMoFx1MDAxMGLSQJgtTuutspQvr1x1MDAwMqjl//YulZ+d/4zRPuV8QGFcdTAwMGZcdTAwMTfzXHUwMDAxalx1MDAxMu0mh9DPNXJcdTAwMGbIokVcdTAwMDQ2cvBMb1xmjDK5inC63DRGXHUwMDBiOtz/hdNqglx1MDAwZsPPnfP5XG7fNXVh++fKLC6mYI29cOaabN19XHUwMDE0j3hZLUthi2JTXHUwMDEwmm9eucqCV5SEJ2Xv5qBTfNLGWT718lhxXHUwMDFkwKRM7HErdsm0Jp/iXGZ+XHLnpZpcdTAwMDdcdTAwMGK3gZJr/YZLm/Fed+FUXHUwMDEw6arSdoJ78YrAXHUwMDE4XHUwMDFjuPBMNk1cdTAwMGJ1/dCbdtO7LUb3qilVuaSCXHUwMDE3+mNuXHUwMDFierLnT1xy1U6IncVcdTAwMDSooDB9xthcdTAwMTi3XHUwMDFlXHUwMDE1wdbv9EbXzZ9ErLEj++jrXHUwMDE4YEaO8lxmdZNLXGZcdTAwMTFt92JcdTAwMTe5nieYNTc2jY5ftkvWv1x1MDAwM1x1MDAxYdy7i9i30Vx1MDAxYpmyKszXfI75LVIjuOj2XHUwMDFhSlY5XHUwMDBlXHUwMDBm5kYsN1xyn1x1MDAwMZSrSqpJyU8t665ZhVx1MDAwMnlcZt6v3fnNr8pwXHUwMDA0R+K1oqyd12Vdm1CEOSRcdTAwMDAnQNhCctebIZTQk71cdTAwMWXhXHUwMDFkeKfPctCRtyt76KKuJVx1MDAxM7nLf0dcdTAwMWbxv+I4YmSAu7VMXHUwMDAyJbzbXHUwMDAxwfZ6J4mWS1KB/flnYU3ZzeREvmNQXHUwMDA3XHUwMDFh2ae3RiZ2XFzRxD61lfTlKcvh/nF/6CxYO8L31ONfTXm8RURcXPCujFxm4fosZYw3S1x1MDAwMFxutVlFevrLJ9irufvHXHUwMDE4XHUwMDFmXHUwMDEy8v1ccpZcdTAwMDJcdTAwMDeLXHUwMDFhf6nyLK2tXHUwMDE4jrVcdTAwMGVUdVx1MDAxY1x1MDAwNE2gXVx1MDAxMSFuXHUwMDAz1vv5zHJdXuCSkeJcdTAwMWSYyCbF8T/mu1O281V8+/xOWdVxVU22zbe2uIQxXHUwMDA0Y30osaVD+kxcdTAwMDH/5f7g5jA8bVxm4+8hXHUwMDEyXCLLXHUwMDFkRnve9MZ5NFx1MDAwYlxcwchRdpWnsn9VXHUwMDFlMZmsL3hcdTAwMDJiZ6KlyFn9W5P3Olx1MDAxNKFIjbpwXHUwMDBiO9zIWH5cdTAwMWQpaLWilSO5ozF/+LCn8f7kM/OOXHRO42dcdTAwMWVcdTAwMDZuXHUwMDEzRylOXvpSXz4/MGqS7PRcdTAwMGXwr4RyP7ZgX7pzz2rCod2bkjr3qdvTRNO9xFlxbOhldrg3q5+5qjTDU4EoqFx1MDAxZrNJ9TnjW+NMsTeLXHUwMDEw6u1CScHqXHUwMDBi5l7EYdiW+f3wZ/xWOSCNqnGvZ+f8QpPOz8J76fbGgFPe0Wy3ulx1MDAxNFx1MDAwZVx1MDAxNvbbXHUwMDE4NUL8Vlx1MDAxYo7vTLH985X1REXP0qrmJZtVSoW7MVx1MDAwZv1TJCmvciNGQOhcdTAwMWU7ny6AlFx1MDAwN5haweDf/k5spi9rzFRY8evyde58ar/us9DX+9xggjxcdTAwMTRj6Tsk0jXdXHUwMDFj/NZz3LhkQ3T4rFx1MDAxMLxU2XLHV0BeRW9s9Vx1MDAwN1k5XHUwMDA32InVetdeSCraXHUwMDE4WYtcdTAwMDJ42cVcdTAwMDQoXHUwMDAw/c/ziGFcdTAwMTjZXHUwMDBiXG60XCKrXHUwMDFiXHUwMDAxw79UyUjfnHxcdTAwMWTvYdvSiPLot1xuc2p3mvCF84RcdTAwMGX3W7bbQ9lcdTAwMDPs2O5cdTAwMTa5SFx1MDAxMCWvNXdwqbg2L/X880Bz/lx1MDAwM49W7E2iLFx1MDAwMchcdTAwMDRQOUvAz13ohMM0pM3MYuuIQvD6rNqEM4Qwc/tpXHUwMDBmqWnJlr0rwHxcXLlcdTAwMWNFZ1xyXHUwMDE0cFx1MDAxZvtJs19pKI2jYPnbXHUwMDBi/uW98z9zIZlSu1mWSnNcdTAwMDHNSUNAsMRPWb2WlKtIXHUwMDEwIEonSqxcdTAwMDFcdTAwMTSsU72JSpdcIlx1MDAxMpeOVCdiXHUwMDExwukju3nJylx1MDAwYn7Kh6jCZ1x1MDAxYmq+7IazUSxcdTAwMGJVM1x1MDAwMTl705mwM/Y6TWRcdTAwMGI+XHUwMDE0tibtykYj48D7vJWWXHQkP3hegrhcdTAwMGXXkoRccrHKkXU08l6VifbfYbJLRuCyvjy+0YDPrULGhiwlk+ByyGqvWVxmN+C4XHUwMDAxUFx1MDAxYolfYftcdTAwMTFmn1x1MDAwMFx1MDAxMjYogc6YM/Mto4/0xZbvl/lFXHUwMDEyr000aL3daNlcdTAwMDfioyGFajIpXHUwMDA1dlx1MDAxMUGfPPZV+bZ5NMbjgsSSX1Rx0Te5djVnLaLvjZjkb3nGoVxiMiGoVVs30UpcdTAwMTQzVHZcdTAwMDKTR51t9b2JXFwl0lx1MDAxYS1IWjtDhDsu0LxCR1x1MDAwMG/jQ4GhZIabXHUwMDFmlFxcXHUwMDAyetFcdTAwMWOXv1x1MDAxZa1YLze8ZN+mXHUwMDEy/lx1MDAwMG5/1PqedcnDNM9cdTAwMWNqqChbXHUwMDE5X/tOp7u3Pl5kXHTRlnmCXHJn0u7Vx1x1MDAxYlnBinRcdFx1MDAxYiVcdTAwMTUolFx1MDAxOVT5+8ZcdTAwMDHKw4wqTmM08zY578Q23Mb9lJNrnlx09Fx1MDAxOGRy/LItXFxGXHUwMDFhNJK1XHUwMDAzXHUwMDE0lPNcdTAwMGU8lfQhflCzKd1wXHJ4XFxCJ8JcdTAwMThcbvXvJJPRt8NS2S9cdTAwMTFiY6BcdTAwMDNcdEkmhKdqXHUwMDAy91x1MDAxYlx1MDAwZo///J1cZmI35WPB495kZ8rIdLHJ60vxiKVvO0l3Jnl9IVx1MDAwZpZErlx1MDAxZKql+Grt47FCWFx1MDAxNXJcdTAwMDRhq1x1MDAxN7PJiVx1MDAxN47/99jZmaSFX2o/IYq9RmTje8zZp0X601NkLsy9XHUwMDE2tHVE/MY3XHUwMDBmii+I4ONcdTAwMDDQtX5cdTAwMTjMd0BEXHUwMDE2297KxVOM61+ikFpcdTAwMTX52uiVffuJXG5cbjpHXHUwMDBinG5PXHUwMDA1369bkVE7MKap93zXVNzqe5Z7/alGXHUwMDEwQ2+mTFx1MDAxYjFcdTAwMWHvrsSUXHUwMDFjhFx1MDAxZHD4bFx1MDAwNzXSu46rg/7ftX+huvqf2s/9fG3VxqO8kFx1MDAxZq42+Fx1MDAwMDaivZBgPU+xoKK+k5lcdTAwMTcgyVx1MDAwYvuUoFx1MDAxZbg3V+BPJ2Gx9qHYXHUwMDFihWFz5lvm5uP5opnBqTuTu+1xi2zjjT6Ik5FcdTAwMGKFilx1MDAwN+Dqdvbf/9SEgPLpc5nYXHUwMDFjvC1Uz/A5MP5cdTAwMDbVhsxcdTAwMTgj+oA9XGKfTvx7XYb46a/vtXHFkFx0UcLsXHJr9lx1MDAwYjRcdTAwMDLC9Vx1MDAxNGajXHUwMDA1XG5XIU/sXFxcdTAwMDdKsuTjN070hewzwt9cdTAwMDNepM+wJd6FeVx1MDAxZkxesr5cdTAwMTR3XHUwMDFihUhzL60ylGqrr5dcdTAwMWZmt1x1MDAxMbXCMXzAqDtT9V6uUFx1MDAxYUy8dvMwsFx1MDAxZJNcdTAwMTlcdTAwMDbQXHUwMDFkaGPmT8NcdTAwMGWn8OdcdTAwMGWv88SRTfB+crqaiolQJkl2PbWrg2ewv1x1MDAxM3tLXHUwMDE3XHUwMDE2l+60ZSqGmVx1MDAxM/VcdTAwMTkoXHUwMDA07Fx1MDAwMKtcdTAwMTFVy9j2O0ahq1x1MDAxN4O8W1KeIZ0+nIRdSE/vxYwygkNQLEin/M6WPGkgLaKk3J3HhyXtlIiPs79tbUOR+FQhnupeMym8XHUwMDEx3IZChH2kyzSkiVx1MDAxN7o5jr+TKr/oXHUwMDFhzG/BXHUwMDEz1Vx1MDAxNd9cXPpyoFx1MDAwNTHizD49XvNcdTAwMDD2tVx1MDAxOcftXHUwMDFjzFx1MDAxYlx0ybpcdTAwMWOdb/d7MmRXXHUwMDA3mspZlEMngHraPVx1MDAxM+Vp+qU/e1x1MDAxMjJcIoXMXcVkhzB4s3f8JqzYrT2czmVcdC0zMZp9rOl3czNW2LMuXe3HdOteSyOlc+dYJbX5xbJcdTAwMGWI55xcdTAwMTPlxpfZyPBS/HhGXHUwMDExyi5cdTAwMWFcdTAwMTmiWypcIl9nPcNcZjLlY1rSozfl/IVE95z9XHUwMDExyKf2rFx0Ut33dZZcdTAwMThcdTAwMTb3nHQ6xsbuSzA7zlx1MDAwNbNZU1x1MDAxMbXAs/XvY/3YXFykkCurT2iiMlx1MDAxNexXXGZcdTAwMDK3orH9eVwiPFx1MDAwMzVcdDD7IHb0b+/qXGb44yh6K1wizVx1MDAxMddb8JNsb1xceb7LQG5cdTAwMDYv0KXxoplnx2TpVeBcdTAwMWF6vTLv+6wuuM+L6Fx1MDAwMYhyelwih1quXHUwMDE2lEM9XHUwMDE4oUXQXdman6tlXGJlr1xcudv1a21cdTAwMWHVdlx1MDAwMdd0QkL4fVx1MDAxZYpcdFx1MDAxY+HVjVTLufFcdTAwMTbzhjExp8tPd6WfrVx1MDAxZTRcdTAwMDGykGXJLj9cdTAwMDGmXHUwMDAxXHUwMDE1OKBPflZcdTAwMWP1XHUwMDFm7C3PtHqSqW5cdTAwMGZ6Wbys90rAKlk5Ylx1MDAwYvxcdTAwMTbg+fDSkuaN2olcdTAwMTX1yJCmYink3ox/mUDYWEo8hHRi9fwpXHUwMDFiIalbcL2st380fMxPQfJrYP2QrE3BpLJ9TeNX8jzMhWRcdNacXHUwMDA34XRtkIaBkH6MicrNXeFKXHUwMDExKK6jwdcwnmFrK8Y9u7wpYX/+zISmK62sXHUwMDEw3Vx1MDAwZjFcdTAwMThcdTAwMTScLFx1MDAxOZDToVx1MDAwNNolk1x1MDAxZXio5pBcdHRcdTAwMGV89TLEQ6unXGL/+U7MXveiQU1cdTAwMTSze0CO33F4R0Am21lcdTAwMWVsXHUwMDE3OtEhplApICxvtdKgr1x1MDAwNuz0XHUwMDA2XHUwMDFhhJ0pXGaYXHUwMDA1xWiGkP9cdTAwMTdcdTAwMGIsUX6Lr7CjfYpas9S+PaWsyltcdTAwMTjPQ1f2cOOp8OzhXHUwMDAwh9RcdTAwMDJkXHUwMDFky7AhNnwh3Cv53Icroez4OO/q/lx1MDAwM1xu1T5cdTAwMTZ1ucCeXHUwMDFlQvWOVSX9JnKC2lRcdTAwMDU9jLteWMYuwO8s5ZhcdTAwMTWDsH/zk1x1MDAwZnWHJUNEzuVcdTAwMDfSXHKi2ue7OVNzzkqyXHUwMDFmnWlccpu40yhVXFziTux++skwTM1cYoPgXHUwMDA0TsJ34W+zWsDQIe0zxNZC97jHwS/LTcOOd9WhlHeIScu1M5g1eHazYPhcdTAwMTb0nlPgXGImxXati5Cog37mhzuo+cGs7VGyQXP+tyf+XHUwMDEzUy9cdTAwMDOiacNOwFx1MDAwZjBjLH8vjYZcdTAwMGYxO/1Yb/VcdTAwMWI5I0H4f+dcbv9f56WEv71geIxccr1prOLFN2JK3WyQd95q15zJ3y6VYlx1MDAxNF2cXHUwMDE4Oyf/ZWZb0lPL5Z1T50TLZMrcW1x1MDAxMdQtLJU0Z7ZJZUmA68VL2zHpWFx1MDAwYmk4oDVcIt/1SK5tw++hWIfDXHUwMDFh7EGnoqCIzL44O+5cImdBM7u46c9HRO1kXHJcdTAwMTXMvFx1MDAwZjDX+YdcdTAwMDWtXHUwMDE4m5bbjG+ZZs3pwy7Lzr629NpcdTAwMWFOTN+Nod1SXHUwMDA3ilx1MDAxYvwonyP7oa2mXHUwMDE2cq+enOL8+J1ccmezRvyfiFx1MDAxNFpCXHUwMDE4hffyzlx1MDAwNU+9XHUwMDE4USfzKd869sUojW7kXpij8W/ub9FxeO9cdTAwMTjS9eWwzo7g5POSXHUwMDE4elBcdTAwMGV9g+A5hPCe4DYhOWeJX1xiqmBcdTAwMWXaTI/x0bWPxtRUQ4mV4IuC2DibXHUwMDAxozOwuzTvQjP1Olx1MDAxZGFTXHUwMDA2goJcdTAwMTf795jOXHUwMDBmVka/nLdcdTAwMTlXfMl/r7yrTOe2nXQp1TtqvOOYXHUwMDEzkVVcdTAwMTBcdTAwMDavPVf9bEBRr4CJWC09ZeP32cZJtVx1MDAxMKbj9HhcdTAwMWVcdTAwMTlcZlx1MDAwZZyiM2bk87YvaMcmV15+NvJPpWDUXHUwMDE2c3/P7mjmh36yxiXHUlx1MDAwYjCtMTWmMeauXHUwMDA09MqRQaqxRiuKOb4pMKZGXHUwMDE1595iXHUwMDBicOzV/416toT8XHUwMDAyhShFqjl4pVxiKd9idFx1MDAxYix8b1x1MDAxYySIt1x1MDAxY1x1MDAwZuY8XHUwMDFiIZ9cdTAwMDRD63OK7/pgxFx1MDAxOKk1UVLiX/ll8610jU7mfOfm91x1MDAxNWptXHUwMDBlmDzhROHprvsjrZDKXHQ1qXlcdTAwMTfwXHUwMDBilVx1MDAxYj+Lt5W2f9ZDh8Bnyys+/iZ/iSbrXHUwMDE0KOjJo1h7jZJ0SfJYXHUwMDAzg4smppxRXG4hj9GSTi55WFx1MDAwNVe3WEb/dlxyOT18Xtaj6ku2+flcXCxcdTAwMTVUuTzpz7+te/RngfZ7jsOa3OknY7Pd0HpJdFx1MDAwNVv6qkDUXsOsrJepXHUwMDA304ktXHUwMDA2uCTPY41ZYMd+U6/qWd3vZtT5rHvWz1x1MDAxZKn53a5cdTAwMWLlXHUwMDBl0iZcdTAwMTLoJUSe/Cx2YCmWb87fnmBcdTAwMTnjl0mhXG6fNlxuOZCWXHKhm5/MXHUwMDFl6Fx0x9a1PFGa9fTWknBWXHUwMDFhbPHzIU/TXCJFmv+ExmAr47rOY1x1MDAxZsTB169CXHUwMDA24WWDtPVcdTAwMTFcdTAwMGbJ21x1MDAwMXxcdTAwMDaAWVx1MDAxM4srdj65XHUwMDE4IYJPW7axXHUwMDE3toa1fVx1MDAxZjmu3KWTi8pcdTAwMTn3i4WF5i1cdTAwMDJri7+KIfJcdTAwMDfbrd22vXdYwZ9WLIlw5UieXHUwMDBmXHUwMDE2J1x1MDAwNZDkqC5Al1wiXHUwMDFiXHUwMDFmOFveu4QvR1q1ZUnrP1x1MDAxOcJuXHUwMDBlye5eSnB2N2+MyYaA/14srFx1MDAxMG5dmC9+fdHczlxm8eO2WiivtJaDLVib9fpk8cc3zjeR8thm0jPBzYRUMb5VzEu4mFx1MDAwZUfRuYhIbqVwXHUwMDE2wlx1MDAxZpRsPlxmPlx0XGZXKVKnPqnpvGXLXHUwMDAwXHUwMDFjLsO9I16X1FmBwv3utaqetrdcdTAwMTbN94NcdTAwMTm8KFx0vE593qIozNiVK8tnhFx1MDAxYVx1MDAwMa9cdTAwMTdLslxylSdcdTAwMTR3gZiKXHUwMDAyhPEzhMNcdTAwMTn3VFx1MDAxZlx1MDAxMibWyjpcclXwUIxULm8oYUpkVZ2AnWhRJr1XN47CJcp/eyFMWZz5J+9xQldcdTAwMWZZ6FxcdWZh5qNcdTAwMTJ0Q9lMjFxmM+GaXHUwMDFmgSRrW2ltgdHUiuctXHUwMDA1rjhcdTAwMWRTw01Xk4dHRZCKYONHP1Ilz9bWK49cdTAwMTnec1tD2mM2rqtcdTAwMWK7gCNdXHUwMDFj1cglXGIlJS9iXHUwMDE1ZDuwXHUwMDE5XHUwMDFhZFx1MDAwN/LM1oTO4lxmzb5j8OnK12QqXHUwMDBi3CdLdbDA3Vx1MDAxOTvgqi+pXHUwMDFj/76mzLf2vzVlMvh9/0HOneIsXHUwMDA0nFx1MDAwZrmJZjczq7BQxEbALcKs1lx1MDAxOH9cdTAwMTZcdTAwMTX0bJrwyS+JZ/GtXHUwMDE4VfzTlDm5oG/SmGkqiCVcdLkn0awkVkae9CN4Vlx1MDAxMtRYdFx1MDAwNY9nL/ojvvd1xm/jtpfUXHUwMDBmIPe8NYNHQ/92o1JEM75w28z9e0NzNU3qXGI3xoD2mzdbKFx1MDAwMSirR+HDzVx1MDAwM+ighqs45O95Toa8c1x1MDAxZU6Milx1MDAwMqJcdTAwMGXxZH7Q35abXHUwMDEwca1/zmxP7y/r2p84N7E71PDBZNrvrvaCxqWz+15cdTAwMDX8XCJ1SP0zT9L758xtzFJHuClcIuBTcyt0ukJcbuOQXHUwMDE48KVM/Dg5XHUwMDFhMDOJ55neP903ZOqTXHUwMDFi2bfNWL+SLojmvPI4NNniRUL8QXR9PrhrXGLDQUAqZFx1MDAwNnxcXCb4xqLeQ1x1MDAxOSMnXFzOiD9etbqqwpS861HalVMnuL1twVx1MDAxN33jsGnVzFx1MDAxZu7veYDZjStcdTAwMDNG7uZ/z8lB4sBcXDveUvXI+ISE/024XHUwMDFm6utMXHUwMDE06724s7dcIu1cdTAwMDGpv1xmXGZpzaz+wm3BXHUwMDA2TFx1MDAwMsFcdTAwMTJDZ1dVg5LmQrDJ5VEmXGYyr7Hmm0yNvVx1MDAwMym3ubhpXHUwMDFiTa7AXontkpb4+iiDhKDnQOmAR3XwdskrYFx1MDAxYrCKa82Yefi09sW++U9OeODEXGbmusWj6Ei7XHUwMDE2J3642NTovjinmDe7vlFLY/5nQlxcyV99jJybOjxKclSwXHUwMDFmJHzYXG5RfyxtfmFbbDBcdTAwMWWYOFn5jt1cdTAwMDZM2kdwXHUwMDFiQLerupZs/pXjl+tN4LOUM2xBhM1yXHUwMDE065pMJlxuXHUwMDFlom1jPXlHkl/FOlXzOc54LiNTbTXrY1UzlHpccqH9f2un/sNDXHUwMDE294hcdFdcdTAwMDPCgVxusuKPM+MlXHUwMDA357/W1a5Vk9lcdTAwMDZcdOhJopGEppmiXHUwMDAzg0bKxu13ZG/Q0FhRm1x1MDAxNknma8RcdTAwMDQ6Np2BypXSMG5cdTAwMTNLIVwiRFkmSFlCqZLomVx1MDAxYVxugHX3TtBRXHL2KkE4NP+LQkLzfU5fdXTbQFhcdTAwMWMznuabQt9HI8trs2BcdTAwMTauf88tXHUwMDFmycuHZlOFuXuKy7gxf+th5N6fQplcctY2lvmMfpAjY1x1MDAxZq5cdTAwMGWl9C5cdTAwMDPEr8Un/Fx1MDAxMFx1MDAxMlRehcjDXHUwMDBm/yndoVhCUdi874xcdTAwMGZKxYMqWGXkr1x1MDAwZlx1MDAwZa9ZXHUwMDEzlz+/+UNF0vsjdztrRZ5cdTAwMDBB6Wt60815XGLAtLXzOXnFTH3AI6HxxZXyRSgm6uHBS5ByuFx1MDAxY4/g4DFccvLxXHUwMDBiXHUwMDFmcoTL1aPyIFaU0yxBLHs0i7qcLbpAiLz48Nk/MeDMIb1ccpLQXFygIFvNt1ZcdTAwMTjcXHUwMDE2XHUwMDBimy7jjm2wWlx1MDAxMPtQWlx1MDAwM9qh/KOyacJcdTAwMTBcdTAwMTNMbv2oXFxhWvG5XHUwMDAw+lx1MDAxY1x1MDAwNuupn5VcdTAwMGbv8EuyyaGYOf2RP2TraqFcdTAwMTJcZjhcIlx1MDAxMG5R70liezxjXHUwMDExXHUwMDBi2F5KuiiOJmX8iPBcYpRcdTAwMGVcdTAwMTbOsFx1MDAxN1x1MDAxONblPULuXHUwMDFhn5DdkZLSgFwigrgrzOcrV79ymDNcdTAwMDOgXo25l1x1MDAwMFx1MDAxMCNcdTAwMDaUXq9cdTAwMWHSS3lgO1xuUtLLL1x0PFxmO0vgJTXgnoxkZN+3N/5rP/Btc+0gQUVU1qTsXHUwMDFhZHOCzVdiZ6DbU7GopUhKXCJ3ZZXvV1x0+JXHXHUwMDE4Mco1+2wxXFxMn/H1rPJ8XHUwMDFk/qhcdTAwMWNg6LLJ12VcclWobzr70n5+ZnHFMS7+VZ10LJu36ftOf3rfx1apXHUwMDFmXbI2XHUwMDFkXHUwMDAwnvJUJ7U1I36ttJigtfLZ8O9z9t/PXHUwMDAwaGW5eFx1MDAwMVx1MDAwYvlwMZI0KVWO631cdTAwMWHXXHUwMDEwt7BJRkAq7H5cdFBcdTAwMTNcdTAwMWN+0oaWbVxyO89grdat2tixXHUwMDE2w3MtVVx1MDAwZbf18TZ3MC6EoNP7fXwwslx1MDAxZfdcdTAwMWYzwFx1MDAxOUpXubFcdTAwMWVxKiZ+K1klnTCmIXdfUu3/LdCfdy70XHUwMDE5YsN+XHUwMDAz+cb09/M3r1x1MDAxYbM1fH008f3t5bKW4M/opZf+9KJpXHUwMDE2jUugw4hW3uohXHUwMDA1Kfeu82h4PHvfNqzvf+bl09M7dP/8KLUuXHUwMDFlXHUwMDE26HNcdTAwMTiXOlx1MDAxZWKHJ1x1MDAxYoT1+25mYsVcdTAwMGLBUa2mmEfoTt69XHLlaXzaMEP25Vx1MDAxNDh0SH5cdTAwMTEuYuJtjHAkXHUwMDE3fO8jIZ+HfYmAllxyXHUwMDBi0qM7fnssrSU3+KzNyFxiXHUwMDE0p1+wieFvz11cdTAwMDdIzShgXHUwMDBmS0pcdTAwMTAvbyyt4ciGa/mio9F+qVx1MDAwYrpcdTAwMDC3yFx1MDAwNTO/v031XGJYWUhUSd0vJ/VXozpjqnQk9al34qr9gD7dwUa511rPoHHrqqxqRlx1MDAxYWzmvJGEUj8tyec899ul9WdphzKKyU51z4fF1ln4jISqeNpgXHUwMDEyXa9IXHRD8ttp5Yt06rzlsLVyhsGc0n+TTHxyQGKX4NCZm+HGsscj17zGPdtf5tyBXHUwMDE568avbSiteqml7aVu3Lo0gspcdTAwMDNFXHUwMDBmnGwuXHUwMDAwRlxy/blcdTAwMDT9XHUwMDA3qLnZMsucYS8t0/w5XHUwMDA312UnhIKrY3G5tOyhXHUwMDE44MVWcOL0SUhcdTAwMWR+MVx1MDAwZalcdTAwMDfHhVx1MDAwYj8ldb5ccvbpIVx1MDAwMsBoXHUwMDFjtcVqM77p7V/X6/tcdTAwMWTOf9Mnv5skjDOTVXbecfO/OWzllpnVM9dAgHRhq1x1MDAxOLcoVuKcO4pegzSjWUVA86HBsDyPXHI/l8P/bU3t+9nEXHUwMDFjg8rUu1x1MDAxMqVcdTAwMWOm8/VjtZdj0/CAijGAgPX5t2+q8uMhXHUwMDE5d1x1MDAxMFxiylx1MDAxYa0pXHUwMDEwsmlU8W+70Cl70UdpSifcZp5BXFx+/vhu2/ox9YjkrHGxoHLXt9WOyFiKXHJ9vjnzM8UwR1x1MDAxYptNRiHJiVxyNTJcdTAwMTNhsD1cdTAwMTOgNlvuLlx1MDAxNVx1MDAwM45cXDRMQj/SpIX+h0NYlTJ/SKOCtv9apzxcdTAwMDSLXGIy0FvaJFx1MDAxNDx2mydyXHUwMDA2/DBcdTAwMWasNzbu01x1MDAxOZGD0KPUU+di0SiWRTHKc6bkXHUwMDE3iVf7kaM4YLSl5cUp9jLg/vuz8WRQvnZ1KrZqgV1cdTAwMDGAgLGUPXmrJVwi6ZgopUQ/pfhcIjNHs3Ncblx1MDAxOepcdTAwMGVpfXhaU/Jot1xiLkhcdTAwMWIzistaQbtMb4pcdTAwMGatvlx1MDAxNc7kXXje3lEy0KAhvMZXXGIzKkho4m5ekvdJWEtsYb7aJHlfXGKdSNZfRZRcdTAwMTCv8rXakH5D9TP1Sm3MwttcdTAwMDWDh0nst2Ww7ktcdTAwMTbMXHUwMDBiu7U5x6tccqVB96batmdmPVx1MDAxNVxcXHUwMDE5N7P2NHr4OICje/RoqffvdbI1XHSZL1x1MDAxYjRcdTAwMWHfZbBcdTAwMGJcdTAwMWaviL2SvKtrqrTKXHUwMDBmnrSmSvUmnLXLI4RdaWdcdTAwMTdFObzSXHUwMDEyWz3ZXHUwMDA3SF5kz3l/77jUVu08ezb0tppcIrb3wPtcdTAwMGWL/sLRPU4jh2N5UjU3K0X3k7aZXHUwMDE1XZQp0pXcPSbYzddcdTAwMDKetNVcdTAwMWLnV3BM3jcuMGF1KHRcdTAwMTdLXHUwMDE5v1x1MDAxYlM31sFCnDl/pqx+jP63y14jx6c1Qc6N1q4pPFx1MDAwMjmdeIk4mcI1gNdcdTAwMWHiKbKbbbb5uVZcbiC3ZHHKXHUwMDE3IVxyfsqZtlx1MDAxMrpXL/Sb/OZp/tk/i05IXGaORfVS4/l28qaPSlx1MDAxOOFcXG9Xf8Cr76bA/0CWxruzulBORlxil6xcdTAwMDb/4z3ez/f/XHUwMDFjunRsh6lcdTAwMDdRfLM/XGZcdTAwMDdKzOlvXHUwMDE5P8cp3GBCLnr7q1n7/l5Xxpui/zv7Olx1MDAxN6SLXHUwMDE3ZkPbpFx1MDAxZowwajdro5+u5eXEXHUwMDBlw4Dknn2IW1x1MDAxZIdzkDT2+7s8rpP8+0vhr1x1MDAwZlx1MDAxNqwm+JfIS4Saqvhi+NlH8FxiZitq1cRSS5FcbtTp005v2YBM7Jfr9Iew4phjL1FXnHV5kD7wXHUwMDA0jF96LHlZXHUwMDFh/qmtvWbK1dz5jyaldHojdlNcdTAwMTbNITiva1xygWrEY0f4pFx1MDAxOL5emVx1MDAxNlx1MDAxM8VPbUVcYujhxKZ4nZycgp0xO20puSRtMXvOjqI9N23Bplx1MDAxZsxxLDP+23vXWLopLVx1MDAxY7TwZEolMn536kLBKilcdTAwMWZ2XHUwMDBm+1q91zP2alx1MDAwM1+Mu8n0XHUwMDFjXHUwMDAyUEYrwc6tw2LxNt7nI6A/oVx1MDAxND1zwIWOXFxcdTAwMTCwXGZcdTAwMDQjUFx1MDAwNLNqXHUwMDFkx6ela3svXHUwMDA2wVVcdTAwMDZ+dT5LvVx1MDAxMFx1MDAxNpOcVNFM04Oe3kDRReznXHUwMDE5jdNT4kwk8YlDbqjvXG7zpz1cdTAwMDCbT4VFt+hcdTAwMWRKqr05XHUwMDE0I/NHoDrhM8vU4PC4KtmEuvDv19vmXHUwMDA0N1xiNONcdTAwMWIqlbNilo663SS8ICm1VvFcdTAwMWH7oC5cdGCcN+k5I099k5YlOiBRXHUwMDBiKDo+XHUwMDFjS3G36Iq+bdmCXHUwMDE1XnI/K1xmvnhcdTAwMDGZp1x1MDAwZXWU3mp2ZDVcdTAwMTf5/X1rfFx1MDAwNTp8OVx1MDAwM1x1MDAxNyW55DzpXHUwMDA0/sxBvvWB3/tVcKfymmny8lx1MDAxZMTL+J7opFx1MDAxMdZcZnfJy3j3ZVx1MDAxNzp3XHUwMDA3TJF7dDMth0hcdTAwMTPsaP2OYaV5XHUwMDBmjVQh1YulqvPGu2cj82Rv1GYsXHUwMDA23b81e6b1lfeU8lrN5/LoXHUwMDA2lzhcYluEwpftgH2uXHUwMDE58+rYd7CubHDTXHUwMDFm4ylq6NjjYmVR54KHmNtcdTAwMWbHXGJlJWzbvlx1MDAwZVx1MDAxMVJPwuJcdNB57+a7OIlcXFx0OvtTuKjpSTT1u8pSju7Qtc+cMlxcxqNFXHUwMDE3NIzg0jJcdTAwMDNr8GjVpTgkXHUwMDExcVx1MDAwMSNcdTAwMTiR3EpcdTAwMGJcdTAwMWRyNVx1MDAwNI3YrWR1tKCtlIXQ4Gz6fih4d6TvyVx1MDAxYlx1MDAwMWavfuU/p8pcbvLrR2qMI1x1MDAxMZVcItfrfUfhaIQ0Z8PosX5cZlam087Lv+4j8IdcdTAwMDJW/M/ub0xccvXy4XxJOGaYnvrGaXCKj41cdTAwMWZUQVx1MDAwMSXgrmn2t1x1MDAxNzxsrYuIup1bMpNcdTAwMTPIRaT7JstcdTAwMTnfXHUwMDFmq7xVhGUpLlNANjhfNySVXHUwMDE4yd7v5spcdTAwMDRmqE7jav73cklcdTAwMTPim4tcXFx1MDAxNNAokcBOoLjNZo+1zZhcdTAwMDBcdTAwMWbtJXTj16lqXlx1MDAxMlx1MDAxNC8ujNJjc2HmsnB7NbHhSS5cdTAwMTnv/VxuuWHBm/HjPVx1MDAxY1xuNJx3P6WjhXi7kKdcdTAwMDZRXHUwMDEzXHUwMDFitHOu+uKkaMx4vC3F2Vx1MDAxNFx1MDAxN5W7XHUwMDE4bIKSiWKoX9VXOFx1MDAwNIdcdTAwMWZcdTAwMDdNSmNNYKhcdTAwMDFK/PSSeJl1n19Vr/TyMfOdI1x1MDAxNaRcclx1MDAxZGJcdTAwMDVkXHUwMDFhMXBiUrM03HeN/aBjgPKX6WD20dVcdTAwMDP+dzjftr4tNDo4XHUwMDFiilxiKs/W/ouI9k0o3d1dsc6Rk2BrqHOI6ixpXHUwMDEwU/xcdTAwMTdYsVx1MDAwN3BQXHUwMDE0KGTqom3uezmVmKRXZ1x1MDAxZWVUqlx1MDAxZcned5BcdTAwMTF8r3PSqo4sxnbOa67IP/v1XHSFkFxuRUlCKWMrl584iN1Llt7w61x1MDAwN1x1MDAxNjdcblZv9sh8mj28ZFx1MDAxOVxcuN9KXHUwMDFjS/esj1LDs1x1MDAxMI74XHUwMDAx02RcdTAwMTUnmGFcdTAwMWNcdTAwMGb0WuHDXHUwMDA0XHUwMDA1XHUwMDE2tlx1MDAxZvW8XHUwMDA3rFx1MDAwMYpcdTAwMWMqmYa8clBcdTAwMTlFMO5cdTAwMGKriNI0cjZcdTAwMDPCU6/GQNzjjbenhtf3jY92v/w9q+7ppqx9rK2PTMvNe1x1MDAxZHWmTVBeXHUwMDE5XHUwMDE2joRyKNd9OcqnKzlJwcEqRyBcdTAwMDGtLz825L7wXFzfJqoywcLU4Pf+NLVcdIRBXHUwMDFlrSDnXHUwMDAyQLKDJ4Beb81cdTAwMDb2+F5SX1x1MDAxYTyJXHUwMDAyoliXzn0wPlx1MDAxYlx1MDAxYlx1MDAxMGbtr4R61dlubSORW1OvJVRWXnvn5KmTanHC4XLx9KCCgHytTeOXJT+oNfFYXHUwMDFiXHUwMDE5sHTnQ52ERlx0XHUwMDExa4XRspZ9rs3u9Vx1MDAxMnnzXG5cdTAwMDJYR1JxPlx1MDAxYjetrKq6XHUwMDEyMVx1MDAxMHFMXHUwMDEz/2Rl8dJlwtomsfCiYaizV7nt702Znfew6Fx1MDAwNVx1MDAxZFx1MDAxNoqawIhcdTAwMWGrXHUwMDBl7t75XHUwMDFma6mrNGJcdTAwMWHFP1x1MDAxMJYs047LIYPj0z70YLrS9dtcdTAwMWWry17FXHUwMDA3YNMvwjffKb3UenvB9c3k79psXHUwMDExlShGXHUwMDE3XHUwMDAw2Vx1MDAxNedfU0PK7yQ8P056r4VcdTAwMGJJadGY2NfLQVxidUUytFVdhFFcdTAwMWEkZ+iEl11PoDUmQfRIvk1cdTAwMTVcInfp5PdTXHUwMDE4kFVcdTAwMDNcdTAwMTFqh15bLz5VXHUwMDBmXGLJOUpcdTAwMGIuXHUwMDA0fJBcIlx1MDAxYewt+UnpXHUwMDE1XHUwMDA2758jXHUwMDE2LvDuhSZOdUpcdTAwMDTpXFxcdTAwMGKuwNfHXvbMQFxuXHUwMDBmNFx1MDAwMcdcdTAwMGbinryKQNqOXHUwMDFhXFxC8YYpXHUwMDE5jLf9+7bY+KyxgmBuZylcdTAwMTb8XHUwMDAyTZu6i0K6myXDOD5Q10pHT7FxXHUwMDAypboggUHb1ml9XHUwMDEyz/N978XdeXRj66GrfUVcdTAwMWTIzO5cdTAwMTFcdTAwMDHwfv39Xlxy+vGXcCnnXFy+ZkpcdTAwMGVObVI7fz2ZV/ZGn/qIXGZcZtlYriVvpL95XHUwMDAwZbxcdTAwMWS+WuvkjMFPM3JEK87BeMfBdFx1MDAwMJ6abUeIrI9lyMlsXHUwMDFmKiA9QNGnXHSKzciWWTvhmcPgt4qlTKdCPNuWdfl+bVxc2jjNz1x1MDAxMZvN6V0z9y9ccnVffq6VXHUwMDBi5Yplvzl831x1MDAxOdC22vVed8u3xVx1MDAxMcfJTd5cdTAwMTiMXHUwMDE5d/g5VsD7VVc8XHUwMDA3+s5EkdZxXHUwMDE48FSCXFw7dUptQXVcdTAwMTfP315cdTAwMTdLTYSBt5nab1x1MDAxN4f7qDUtc4tInaV7U0aKdvMhXHUwMDE1W3pcdTAwMWFcdTAwMGLwV7aRJVx1MDAxMqnIPuUsg7LNXHUwMDBlV0SjXHUwMDE270ZcdTAwMTIxwFx1MDAwM2YolEnjzvTThMFWnI6vqM9J9aBcdTAwMWLYs8E65aXZXHUwMDA2beVcdTAwMDesV3fjnON3XHUwMDA02+JcdTAwMDJcdTAwMDFZr/ZqblxmvTXublx1MDAxZW1cYkCqY3kr+5dcdTAwMWLnjcuTrD87piH2aTtBq/5bw/ZIuclftOy/XCJSXHUwMDE4XHUwMDBmKVx1MDAxMsVYXHUwMDEw0Vx1MDAwMkdiWa6a6Fx1MDAwNcTdpmx4bvxbru9ccqVcIv5cdTAwMWI/j+kt4jz43CCePUVgs7pcdTAwMGJcdTAwMDHTZoCRyGrxcmpcdTAwMTSsLJLlbPD3TOqCeTlMnlx1MDAwNahTq1x1MDAxOHAhJlvRxovCje77XHUwMDE2/H99d6qwUVx1MDAxY51/825ujixcdTAwMDO3W+KIXHUwMDAyTVj+XHUwMDEwylx1MDAxNqTJX1x1MDAxYkyAeYFtPoe26SxcdTAwMGVcdTAwMWL6tlxcXHUwMDE2XHUwMDE0clx1MDAwNdStnoEpVob9W3nOmT+qNq1x8rM/jHtunTS9kN1i7cpJeXqLgeOrh5OaXHUwMDE31yBcdTAwMTdJMHTuwGbaUobtfPnOZ8yWZ0h8df2yi31cdTAwMTjHkjsylZBcYmPOXHUwMDA0zWXgXHUwMDA0xkbDJrV8P2OQNfNwVrf+uFx1MDAxNjNiXHQ+21uDXHUwMDFk2Ok/L6B5zVx1MDAxM4pcIpzKkcsx6tLH9lNcdTAwMDQ8TDyrxDvY+t7kopslPo/jfH1cdJa/i2/Axlas853wfnPkm9laXHUwMDFmas5cdTAwMWHwi0v4sT5fXHUwMDA25qhcdTAwMWNQXHUwMDAxjP3ApPNcdTAwMGIhaMNM3lx1MDAxMotcdTAwMDekpDSdVJJcdTAwMGKiuOqEvHtma4bql1x1MDAxMpiNwSt6XHUwMDE59q3Q3kyn2NUvcTL8pCR0IXGmXHUwMDBmJKHKIOhcdTAwMWVQXCKnXHUwMDA0WLHl3Ipsc8NcdTAwMDdksFfUr2JKdNhcdTAwMDRVXHUwMDE054FcIsjTxu/1KmA/XHUwMDE3KZZcdTAwMTSbtMFcImhCpmO83txcdTAwMWK9m8T5ZeGP77w4wsd1Joedo6Vpyz/SJp4jzSHSJmVzimXXSH53qsK+PCepUfqWRHCjUVxyiLJpmMJcdTAwMDe0o6pJXHUwMDA2/pf8YFx1MDAwMK6lkz92iaXiXHUwMDE2TVG0pI1cdTAwMWRFJKP1XHUwMDEyPG4l5IpXXHUwMDFkou4jTtsj5rivj+NcdTAwMDaMXHUwMDA31mUm6pkgXCKmbl8jXCJHKeJ+RFx1MDAxMv2dYbhCM4V/XHUwMDBmvTjdNErehqL+XHUwMDBlXHUwMDAxfe6XsY7r7NFcclx1MDAwM2K5XHUwMDE38lx1MDAxMVx1MDAxNmjWJeItP6GDXHUwMDAzsVdcdTAwMDGy3POLXZD43080YDTBtVx1MDAwNO0/44r9XHUwMDEwu5qlXG4stcPIKOy+XHUwMDA0b+62bcM2Tco/vSD5g4+LYvNoyd9s1nolQ3k+XHUwMDBiXHUwMDFiO1x1MDAxZZzAW8Jm4rE5MslLdezyTGXBOqv1LFx1MDAwNZN/gIyEV1x1MDAwYucsXHUwMDEyPicv+DydXHUwMDAzl+3d/Odan1at9MxwLcLLcuu1W8WXlFx1MDAwMjglgC1RhO/pXHUwMDBlj5j893whod2HlPT74qIqXHUwMDE2zS3dMSNPYFx1MDAxYvmj8VZcdTAwMGXu71x1MDAxZKNs/zqX/++zukKGvz1rdPpcdTAwMWQlc1JIPu9cdTAwMTdIllJcdTAwMWHT4ffVJft6UFxcR74plvX4XXxqvKjX0E+Ie1HDWohUXGKLZI0hXHUwMDFkwShjmVx1MDAwN2ln4VZcdTAwMWbdXHK9uU58li/PXHUwMDEzZYZLrJNJfnQlilx1MDAxMvxcdTAwMWGjwohLp9JCbs3WXGJcdG/2MLFLuYuAXFyMUE7nT+ah3vhcdTAwMTmO71x1MDAxYa1cdTAwMDaxmJD0tJ9iI1x1MDAwMipcdTAwMDJC1Jh66IGpp1x1MDAxYVx1MDAwN3f6gyhcdTAwMTfocrr0vDB7XHUwMDAzbSwlTYlcdTAwMDRcYjbIXHUwMDA205vj5XI1wuUr8vKSee7+XCJ+5lx1MDAwZb5cdTAwMTFa0c31k6k+Z1x1MDAxMyNGdrmV47yeXHUwMDE2Vyr7XG6nSpHeXGZcZph3yEf8ylx1MDAxZa25ZT3L+/O1qH1Xflxi/CjRL9tcdTAwMWVCUO2/XHJcdTAwMDOQrb5En5C/Z9d/gV/MJLUnb52l0YQ62dP6unysiMe64/2H4uKK7Fx1MDAwMP1cdTAwMDOEYGtcdTAwMDEgxVx1MDAxOIPQXHUwMDAzYI8640ZA0tV56k13Z/hcdTAwMTLtXHUwMDBixTtcdTAwMTj/JkLC4pRtvk2d4tv+donpilxmMsysK+uhf390nFx1MDAxMlx1MDAxZFx0XHUwMDExZ945m1x1MDAxOJ5JXHUwMDFjdeXNIS3LIb+d0/0+MXFDujM79W+Q3mRVnIFPY6651ohpf7NcdTAwMTfXxfT41TFBiuOCXHUwMDFjvky4XHUwMDA0XHUwMDEz9CGBXHUwMDEyYv26dafGr/6Z7ppjnFx1MDAxMyZgxjjMXHUwMDEz9Z7VhDRZo1x1MDAxNOh+XHUwMDAz2dZmZFjnXHUwMDFk2WdLdI28hlx1MDAwMlx1MDAwM0OWyOfVypltNyMnIPJ91uXGSbZDWDtJPv/i229wZC//7cX1xfuAplx1MDAwZnuaXHUwMDBldzowyarj7DaNj2t0P3dcdTAwMDBrhG1skNtcdTAwMTA3g/Rgg8RcdTAwMTDTMFx1MDAwYjVcdTAwMTFcdTAwMTaQP2hcdTAwMWWcOn3hVCuCXHUwMDE0MdJX9nJq/uu35ldwOlx1MDAwNj6t0/slgXVcXNd9sJdcdTAwMThcdTAwMGJTRGTB5YTIRWiLXHUwMDE3XHUwMDEwwd/zroqr8zFcdTAwMTcvjq1cdTAwMTVccim7gkDSRtGNhpOwXGZcdTAwMTGd/LpcdTAwMGV/KJ+S+zstl1HVmm+/od+OkD9cdTAwMTX6ryRcdTAwMTFPPtJcdTAwMDOc0d/bwfF+w6RcYlAkXHUwMDFmdVJMk6SFJVx1MDAwNfz5wYmqXHUwMDExgyqKy1x1MDAxYTsqI3ykz+dm+4PhwJywXHUwMDAzXHUwMDFhh8m6XHUwMDBmlKCFfYORx73hXHUwMDE05ZAr3t7L8lwid1x1MDAxMCxRXHUwMDEzvXiVVO1cdTAwMWU3bUuLJlbYi1x1MDAwNoJ/ciTFhlx1MDAwMlx1MDAxZJHh/bJcdTAwMGWfYM71Vp3/mL9NP1wiW25cdTAwMDQjVH9nW1b6JmCcINRcdTAwMWJcdTAwMWJpx+WYVMSOo4GhoEBcdTAwMTd8WDrBZba/MOHWc0Ej0y9Vy/NcdTAwMDWsbWNWcDilXHUwMDE2XHUwMDEyRvkwTv9yN9vm7P7+7XNcdTAwMDV0u/Ht0cI7pKWtKO+4yKFGmebXUGGI+lxiwNnrO8eXr1x1MDAxMDLL7VNHcvdcdTAwMTJ7x1+B+y3dZjPFioezmFx1MDAwZln/Ov5vOHqG/1x1MDAwNq0ns1x1MDAxMpy0XHUwMDFhs8Mz/71FO7pWojUngc9TQYx53+x+38w/cq1Vxlx1MDAxNlx1MDAxNenTXHUwMDAziyry7a+wlp0n1k6+o6/DXHUwMDBmm/p7XHUwMDBiyCju5amjLy82hUQlRNbE2ZvqXHUwMDFmt+hcInE8JHnJIEpcdTAwMTg0r1hcdTAwMDQ3zk5UXHUwMDBiumN0XHUwMDE2tcaRXHUwMDFjYlx1MDAxMTl2xfLTqnbeW1x1MDAxYl+WXHUwMDBlevCa5/qkXHUwMDEwXHUwMDE5LY/5g5U+XHUwMDFlcc7iRrr6nD9CLVx1MDAxZCf/0X+cU05uJ/xcdTAwMWa6zmPXcW3Zslx1MDAxZsRcdTAwMDataJr03nv26J3oRM+vL+5zUcCt904hgWwokVx1MDAxYtpaXHUwMDExM8YgxbW+5etIRbqlVCf/QuXJT7PJaTedf1x1MDAxYfs1fnubP+nWMVx1MDAxODDNrTjIJvEzNmv4eOcp5tbIM9f5SjAgcNfFK1x1MDAxN3pcdTAwMDFwViBcdTAwMTg3XrLwZYx6fFx1MDAxYXePPVx1MDAwYkqpp3jR7XxLxb0+q1x1MDAxYitCXHUwMDAwXHI/s8/Z6O7wk6e7cK9IwMtsPvK/58BcYu/fvTvhzUhcdTAwMWXpLE7h0Js+Vv9cZruOW9uB8Vx1MDAxN6bC1YHCyVx04mBj4oB+mdOF85kpWfZHcneKQG7Ztou69uGH2Vx1MDAxNFx1MDAxMlhhhGTgzLRcdTAwMWG0RumOWmBcdTAwMDGUxWbEe3ktXHUwMDEwQZavXHUwMDE5dCR0rvPWXHUwMDEyIGfZy2R9xb3o+474e/6C0W6qnpDRXHTjYkpcdTAwMTQsVil2PcpY0+Lgp+hDY8yJtvfmmCRP/uGB2lx1MDAxNHRNm/XqpO1D87c1ep3fXGalj4IjXHUwMDBleTSJp3lYk089TVx1MDAxMNNko2tcdIFbwoebXHUwMDEwkGGOXHJWXHUwMDE3tYomXHUwMDE5Klx1MDAxOVx1MDAwNaZcdTAwMTdbS1x1MDAxYWurwtZfT1xulCuN5p94XHUwMDFh9FximN5dXnUhQc7rS6ZcdTAwMWRcZm1BcaRcbnKMXHUwMDE09jmHXCJAZr3Ey1x1MDAxMVNpR1x1MDAxNkdHdmVOaYemVdwsKrI0eIovxz1cdTAwMTR50KhkXHIj9aZcdTAwMDWhy1x1MDAxM1hoLKf++VmoriVcdTAwMTjnms/3XHUwMDExUWvC2c1cdTAwMTYnmJFuWcRdzcCukZCPS+55hZMycKhcdTAwMTd+XHUwMDEz0sJIqytcdTAwMTnDXGY3YaJjj1xuOl9IjFx1MDAwZrgpXHUwMDAwVFI9lq955a9144F2eLqVXHUwMDE50f57rahJtm87QFx1MDAxZixhzFx1MDAwNT45XHUwMDFhXslcdTAwMDK3fOZViSv4bGA9I25ryWHwfI2Kr3+7MtpcdTAwMTQ+6qJZSoJbep43zlx1MDAxOLnKQOh2fibjUVx1MDAwMvMn72/N7Ghfp9FcdTAwMTdcdTAwMTlHpnZMO3OU9Tag0Xs6Q5Gx+SvBf1xce1uHgCr949fZRUKyw0Hfg+PRYvK582VXZSlOaF66dbCQxFdcdTAwMWVcdTAwMTXRY1x1MDAxN1x1MDAwMi9yXHUwMDE2PFiMXXrwXHUwMDE3yLbZXd5cdTAwMTH+sMdcdTAwMDaA6s54SCRcdTAwMTCLolx1MDAwNC7Qh3bZXHUwMDA2Ld1h2czud5Q9SddLcVxiqPViVOMoZtS8ju7YjvlcZuGHfLIoYe9cdTAwMDeV7KPRlVG/p2mWfmnTYVx1MDAwMqFNTpCbaDp5ve3X9MlcdTAwMTa/qVxuu1x1MDAxMdmykm2q55xcdTAwMTJy6O6So4814ne9IVxmXGaNI1x1MDAxOFEjXHUwMDE0iNnXtVhYKlwiQ1x1MDAxMo4h8GG5XHUwMDEzXHUwMDEyklx1MDAwZaux3Pg7q1l/QME1f8dcdTAwMWG65vlcdTAwMTXDmPm7UeJcYrvya1T4pOTF/HSf6XCPXHUwMDA2y6i1hSRYr+68XHJcdTAwMWR2r2qEv4qZXHUwMDA38thRjvBcdTAwMTRcdTAwMWFcdTAwMTNAv1x1MDAxMyt7XHUwMDExXHUwMDEzrbHzc25cXJhExmybNVx0X413a1qvr6L1XHUwMDE5z4ZO3D9cdTAwMDWRwuz7ufVcdTAwMWJpS9vMbueawHEn2Fx1MDAxNz9Tgy/dQ5ZlwSxPl7dv6fbTrL5bLVx1MDAxN0T+k8y5KCmxnj2i0YjDXHUwMDAwVc6TM1x1MDAxMES2Xrm1XHKB6mfr0cOIXGK49SaJS0s63CxtitE4j3rLZjKwbTufdoLkYlg18/6YgEY5XHUwMDA3o1bvXHUwMDBmTcpBK4TtcU7f7+tcdTAwMDdcdTAwMTklXHUwMDE34PTWNOGfXFxhPtd6MF9cdTAwMTG7WdtzsDq/rsbCfXOxpnpOytpY6O9cdTAwMTgzlHxrdVx1MDAwMyXmXCJAXHUwMDExfeFcdTAwMWGFzEXZY7XygczriGZ8c6g1v1x1MDAwNPD7co3zaLbn5M2a4UdZXHUwMDAzXHUwMDA1bY/dLFx1MDAxYpcr+MHm3LLSxamM9LvvXHUwMDExXHUwMDE0PyBaxvBcbpZtdVx1MDAxMPHs53txOlx1MDAwNbSzlKhwI3u4UFx1MDAwYtVln4ZGeKdr3T7UkqxtI1x1MDAwMjHimTnQLVx1MDAxY4xls5srVXX5SFVbbi/lXFxYZId8qmmtXHUwMDFhOb5RWGbYv3ZcdTAwMTWVmndouaWdf1x1MDAwNrCCofQsT2And7aJii/PWEC/XHUwMDA2XHT7VbTc4KWmyo2/Y2GSTlx1MDAwNmlk8Fx1MDAxZpCbfzr9+K2ac3UrVE+I469cdTAwMTXna1x1MDAwZfZcdTAwMDPYYP1cdTAwMTFQpPr9e5gqiFS+0FPeJuHJ/eJ8jV5W67FS3P3KV8aEjEBlQeDqniFcdTAwMTBeXHJUd1x1MDAwN8dcdTAwMDRcdTAwMDY9cm6yZVxy33fwXHLZXHUwMDA2XHUwMDFmoDr4dOInZ1xmNMHyc/zAvPIrxUOBv1+Pd3zzSXB3tndcdTAwMWTNaLxcdEZcdTAwMGLxpYonlN1mQSpcdTAwMWa7/NlcdTAwMTGGdGJ6Xlx1MDAwM9lpU36GJlx1MDAxZI74Llx1MDAxZirWv3RS4OWz7M1GwOvtXHRSS73Xr8nnnyEkWVx1MDAxN9DR2IPB6cBy4nWQxGvxk56LPJZjXcFcdTAwMTa6XHUwMDFh19S/pY0xXHUwMDE4o3wwOZ7M7Vxui9e+8+TarHxcdTAwMDVcdTAwMGaGXHUwMDAwr0miwLxOv8yUqFx1MDAwM5jtfdx2X1x1MDAxOf5AyPW3XHUwMDE5j0Oew4H95tfbXCLMauZUJOKi6a/X1XyKPCiielx1MDAxM2a4XHUwMDE5Kr6OJb9cdTAwMTZiXHUwMDA2XHUwMDFinNxVLFBG/yRLhFx1MDAwNW3avVx0kjKYd/5gtexcIrE2XHTyPV5cdTAwMGLzS+x2zssm5eQ4dXx3XHUwMDE2itZNN7ejOctcYm5e+2S8Ovl12Fx1MDAwZVwiXHUwMDFlYF3NXHUwMDFkeD/CamUrvy1nT/SBSVx1MDAwNCy/2zlqikfUdEvgpKbu01x1MDAxMHBD6fOCXHUwMDFlyDKEZIS1XHUwMDFhXHUwMDE5XHUwMDFm5YBcdTAwMTFC1+DjXHUwMDEzT8dcdTAwMGJPXHUwMDAwLCGGLlx1MDAxYVTPK5UjkViXrEWI8dNIqyZ0RdNCvjo+7S+v+txb34Gf/Jh4XHUwMDA0sL5FinzyPVfwcP1T1dL2iVx1MDAwMNXRamHos6aBNEa9PFx1MDAwNNtcdTAwMTl93axgx2xcdTAwMTR1/vZa/oBcdTAwMWNcdTAwMDCQIETG+7PzXHUwMDA1l1x0JMx4TbqUxP01PkRYXHUwMDFlq9bw7KN9asz1V85cdTAwMWKd6X75b0kh4XigXHUwMDExopKLQTBhXHUwMDBmXHUwMDE081x1MDAxZejp9MyfazGh0LRwxv54PEN3nCabRMzv4epYvKTDLofzV8JfUlx1MDAwN3+1Mo3t72mN6FhQ5lx1MDAxM1O233Q2k0RfXHUwMDAwXHUwMDE2iFx1MDAwZv7gxvfhWlSx8VZcdTAwMGVcdTAwMGWRslx1MDAwZqB7kGfvrHYxQEHrXGLsf7PyP/ysncQ7d1x1MDAxZEuMznc1Rq6Dx+8y1lx1MDAxMI2Uvc1cdTAwMDYr5HRiXHUwMDA18rPxqzDTt+xZaEn9q08ku6udXHUwMDExul+2XG5tXGZOcnwtKJwntlx1MDAxZeCor1xcu4NvYYJCY55cdTAwMDGFmDb2XHUwMDBlT307WV2CKZexVp0n7aM53uYsXG5MJ2bcTlFcdTAwMWRyP7dRudXqRWV1gbq6XHUwMDExPKb8niDgRleZqnRcdTAwMDRcdTAwMDTn3VQ2VGxcdTAwMGYo5lx1MDAwZSHKiFx1MDAxMaWjQXM6P5uB9vnihT++XHUwMDBlfz0sr6xsWlxuLf3OXHUwMDE0gXMsl66MdVx1MDAxM39cdTAwMTfgXCJVXCJFgVx1MDAxZEz4WDL5XHUwMDFk7K9PXHJcdTAwMTWDf74kI9RcbtQyRkhk3ktcdTAwMTazxV75ouedXHUwMDEzSDxDYPdcdTAwMTcylIvL30jo8Vhl3mHYOmOch9fP9Fx1MDAwM9Ry+zi1sVhnIc/F7V5qNlx1MDAxYTxhl6+pOo9eRv/ufJywOFx1MDAxNLM7Trx19uVcdTAwMWRTMdxv9emBXHUwMDAzSHg9aFx1MDAxZtlcbj/AspjzXHUwMDBi17VUgUVqrWnZwFl+yVxumJ1cZvAuXHUwMDE5v5BSbXpSzt1Y9Fx1MDAwMlx1MDAxMPopiDZcdTAwMDOc793VcNH51qN3XFw8ffZ8XFz1b1F3g41eUsz1Xr1cdTAwMTbAtWqhrDEpK7mUQFx1MDAxM0qijq2+XHQlMFx1MDAxNjhHwc+5XHUwMDEzXFxccmV96tOherm08Fx1MDAwZbB+zi8kXHUwMDFi+ElcdTAwMTHbQf5y5DFcdTAwMDZcdTAwMDPbXHI1XHUwMDA3XHIt/Vx1MDAwNfcvIFx1MDAxM2xxf7GPpGh83e5fwmqwuf1C2dZcdTAwMTdcdTAwMGJGK+vHZG+BeFx1MDAwNzN0qnGlmMrt/1x1MDAxYXJxjrvdWM+VXHUwMDAyXHUwMDBixFvpXG6kXGI0plx1MDAxM2PDT/2G4cBG/iHTvZ97LzzyvFxi/Jza1FWNMHLaUFx1MDAxYnGys7ZgXHKB5KdcdTAwMTCqtXSs0nGtyrtxuYTJau9cdTAwMWLW62LfXHUwMDEwXHUwMDE2XHUwMDFkPjj9XGJSZZWUr6c2nq5polx1MDAxNu9AMcXjw5Gx0InY7Fwi0tCLribpXHUwMDE1NIisP29TbmT1oYX3jVx1MDAxMKSFXHUwMDBl/OtgXHUwMDA1b0i9rY27xdCESkpcdTAwMTdcdTAwMWHb+qJMvzbP2l3HiqOG9m0mevWeXHUwMDFhPPYw9/GR1G9cbszNfOZ7tDg8XHUwMDE3Tz/WxLiKJqFX0+NcZuFcdTAwMWU//kPn7lxyvsPuuY88nyHr2S/SXHUwMDExhHqhXCKix1qnXCLVd77SMzGsZV+olVx1MDAxNdzYRC7oL5aAm8Fz/O988u9myM28NMutkT026+pcdTAwMDZcdTAwMWRcdTAwMWZNovrflz7K7rFcdTAwMDO8+m/u/lx1MDAwZouP9I2JtFwiL9XZNePofPUkXHUwMDAyXHUwMDE00nPhzVx1MDAwNupYXGbrc3KbZlx1MDAxMFKpuziehS17OD3GXGYoePAxduyNXHUwMDA2XHUwMDEx7WFcdTAwMTY/QXxcdTAwMDSZq9VuwKTnXCJ6sGQ3juHcsFx1MDAxY1tTXHUwMDFhrfQ8tz+cYVx0IFx0yyA+mXV2olx1MDAxYlpdYanu1JXOlYt69FPaI3sj21x1MDAwZo65jc/Uq6lcdTAwMDY9x6CVXHUwMDFilDo7RW2RXHUwMDBlZfhuXHUwMDAxUK9cdTAwMGVW+12pvI5cImm0ZDCCMMtcdDzotXOsXHUwMDFj7zq8XCJ6PkTwIzRp1mVENjz6ybPWQWOVTyYzXHUwMDFjo0D1Mc9fzVJ1rp7RVzqt1Oq/JP2pXGKL5GpMXGLXeU5cdTAwMWLRt/2e11xcXHUwMDFloainOV6kyTfBsfu7PVx1MDAxY6hYjPUuqqtcdTAwMWO7XHUwMDFmLt9hTi5cdTAwMWWryIPnXHUwMDA0i1x1MDAxY1RxIbeI+FjnPMGNtX9cIkS+KdRcXJM4qc1hlfVcdTAwMDDvb9Yn2I9cdTAwMWZQ3TazZ1x1MDAwYs4obP5cZlx1MDAwN6yzeFu3esT28d41g1x1MDAwYlx1MDAxY151XG7BXHUwMDAzN/DlrTBb6C9so8VSZvg5zE/oZMowhWCM9dbaVjgxXHUwMDE0XHUwMDA3jZoydVhgo4FS88ee0DqRhYBcYsv0XHUwMDBlQSNxYVioU2Zev1RcZp+zm2At8lx1MDAwZbyyobmzoKLIMI0na1x1MDAwMINKUFx1MDAxMSPcR73b2lx1MDAwZqTG85+6lD6mf1x1MDAwYq5PeuRcdChcdTAwMTanQVx1MDAxZpc022EgNfJunUFYq4vMT1BW4MLRP/r66kZcdTAwMWaV61x1MDAxM6UyyeZ3iHpcdTAwMWNpxYQrXG7N4yrB/WKIVrFfXHLzwauFjL3nv+E+05NcdTAwMGVYevtJXHUwMDFiz86izFx1MDAxZvOM+HFcdTAwMTSXVozdfFx1MDAxNZ1cdTAwMTNy8ujOTaPEeEnW0Vwib5KiLdX4X7z6x7CTNDZvurQzyZJ8MEr2Lix/WVx1MDAxYVx1MDAxNrrwfOilo/XnhuqZL1x1MDAxMs9PSTgzXFyB20qR/SXRcDnCa+Ws8Fx1MDAxYpdcdTAwMTTJWZ1VSVx1MDAwZetPXHUwMDAymTjmhYSsjoKCN1x1MDAwM9lD5GlWbVcjQopcdTAwMDHCZnFcdTAwMTVcdFx1MDAxZtZFtZFN54ZTRZCKnlxu/WK2X8vOxVU8KmXF0VxmS/wxu+nz/Vx1MDAxMILjaaI6MFx1MDAwYvBWUfutgXBcdTAwMGVMNzBbdjKUeM3rJfoqm9+zIYO5um4lvsRrXHUwMDA0+jVzc6PsraauXHQ9iYhdJ1x1MDAwN6RjPk9WnuYkOaJcdTAwMTJ5XHUwMDEyXHUwMDA1cdzmwsE5XHUwMDFiRDBzpJVcdTAwMTgw0VWTXHUwMDAxhlpn+ytcbvV0cTiRXHUwMDFhU1x1MDAwMrJRZVx0XHUwMDA10lx1MDAxM8ZgXjPSg95cdTAwMTFS9WZJXHUwMDExJEg4XCLwXHUwMDEz4Fx0npr/M89GRFx1MDAxMdkgXTHVPiPi5f7Vflx1MDAxYVx1MDAxZnCeXHUwMDAykDA8aFJWePlgUEKYXHT8jVg80lx1MDAwMzB5q+CyXHUwMDA09Vx1MDAxZnNcdTAwMDLqXHUwMDE1rZH2XHUwMDAyTN7BnvprOGosXHUwMDFmlib6oVx1MDAwMCsr83DGTI7VOrCDlYPtXHUwMDFixEHTXGLsMeYmQO5UXHUwMDFkgVx1MDAwM9rbZ4HxciBcdTAwMDRUPOXQznNcdTAwMTktNClwXHUwMDEwXHUwMDEzS30pI4Gr885cIpTMeSlcdTAwMDOskmK6u7FRpGqypqunPMSv0eHY39HMca9xbLVcdTAwMTZXxDCJJCNugvJcdTAwMGay7USeaihdf971UoyiNEN+a0EgXHUwMDFiaVx1MDAxObg9MMLZWGNcdTAwMDL9XHUwMDE46lpb4ZlTNVxcoVx1MDAwMFx1MDAwZda17WHRos6F4rRs7p1npFx1MDAwN5tcdTAwMThJwrxcdTAwMDEw15ZvX+qtp+0j8WtkZaS2z6zlRVx1MDAxMjfnMNrVPJDBfXzUS+N063KHh+ePkFTVf1ugXHUwMDE4kInG21x1MDAxZfqv06SXnSdcdTAwMTKXS5XL5N+nt5t/9zdccpP/8bdWnqwy+alcdTAwMTZPvFx1MDAxNd8oR95cXD9cdTAwMDWsP4NBITQhvqOupoL1w1e4amqjboOfwaVcIsquc1x1MDAxOPO2T1x1MDAxY0RLI1x1MDAwN4rmR3KrM1Qj6otcdTAwMTNOarlxPtW/OYVXNiVjLK9vXGIwpUlcdTAwMDGfrP/GXHUwMDFh2eQoxrCMXHUwMDExX9Mt+deceJdcdTAwMThf9WeEdDmNrFXzQVx1MDAwMdV/OfLOoqrGXHUwMDBid/BadK9/dXNcdTAwMDDFRlH62OTcjk6UWtTsKnVZvXZuTNDe7TOQlSSCXG6zRZqr3Y4gXVacXHUwMDBlsdRYa/dCazFNr9xcIlmO42NJsTypXHUwMDBlXlx1MDAxZNiI9Y1Xivj6Y5/22Wta+1x1MDAwMmCjS0y13OtTr/DUS89cdTAwMGK8XHUwMDE3llx1MDAxZCpY2UTMWVx1MDAxYj3aW2PgO4Z2P6pcdTAwMDQ6XHUwMDAypD9cdTAwMDFb/apEM1x1MDAxNWxWXG5cdTAwMDeaJqZnyW1cdTAwMGV6TTowlMCVqylAdF+Rqqj3cq1cdPgyWk/+/Fx1MDAxNJpcdTAwMWRPvahBXHUwMDE2l1wijjl+kfD5QFxuT9zLruRAXG6a+XOXXG5cdTAwMWVBh/jl1/mHgd/u87vKXHUwMDE5U3qUg94/5a1VTlhcdTAwMDUjbs5cdTAwMDTXsEtdXHUwMDFigUn/yJfNlj5Da7dde1x1MDAwYuKeO7MuveO16LnxaseMqFx1MDAxNnzC6m4zfN7m4td8R9JCmSuZuoyTIep6XHUwMDAzk6+40uGt1bVPidLkU1n4zohcdTAwMGbKrVx1MDAxNeEtJkHeXbu6c8l9Ro8qqZFcdTAwMGaISXhwZDaUdsmiuYIxZ0U2T1TG9/+XXHUwMDAzSlx1MDAxNuSnJe6tXHUwMDBlM8L/5qkyXHUwMDBi6tn7XHUwMDFkMUsgjXFcdTAwMTWh+sLxQd5cdTAwMDKJXHUwMDEyUMp5lyYkXHUwMDFmh5VCjT7fsrSgcolveMq8m5EhdISCXHUwMDE5XHUwMDE09O9kOY7LoaZhV21DXHUwMDAz6mNfmvCgkP+xv//eXHUwMDBiXGaW0X7/knTSR1x1MDAwMG14ulx1MDAxZKwh/aqK94BcYt2CRVx1MDAxNa9M2uDdXHUwMDA0dbD9+aRXXHUwMDBlqnOmXHUwMDE2I1x1MDAxOdquRfJFYLuo6sjv4OsvOOBcdTAwMWS789SNXHSihtvefHzZXHUwMDAwnn5LzuVcdTAwMGKlwbbroPxPeF2MzGfPIz47gFx1MDAxNGH0XHUwMDAzJKlcdTAwMTEsuoVfT1CFnMP/OVxiXHUwMDExobpshPyc6l/cQUz5XHUwMDAzJyeSNDT2XHUwMDFiXnpcdTAwMTVwrMWMzlZdx1xcXHUwMDAyYlxi5Jbz11x1MDAxOG9r7PQlNrfgLHiR2b3e/MsyXHUwMDFmlSBcdTAwMDPFvMBccuCIVq3AsC3h9Fk+5UXmkNharVxipovnJ5fpyj13Tlx1MDAxNaZUfGPSS/errVx1MDAwZVx1MDAxOVxyqNDHgq+od1BabphULWvaRDlF8CC+XHUwMDE5g+bkzVx0kvXyWjRUTcTxiJwrgLKWuFuOsipdXHUwMDFiXHUwMDA1gnJcclxyrs/pLUBsX5tcdTAwMDZqZFx1MDAxMoJNmlx1MDAxMe3yvnZvOFx1MDAxNjFfqFiZs/RcdTAwMDA71D8oyoBcdTAwMDdfJVx1MDAxZcz4UWghtU3tXHUwMDA1VJBcdTAwMTb3S1x1MDAxZMo6m1x1MDAwM/PL6vpJIKhcdTAwMGL8eii78HlUXHUwMDE4Nso//9/I4p1cctT3zaLfVpNcdTAwMTNAsFrel1ijfknBkYRcdTAwMWHwtSfhkFc9XHUwMDA3Qlx1MDAwNt9FRkHm41x1MDAxZUdcdTAwMWNcdTAwMDVcdTAwMTRbiue17+RcdTAwMDd/NayRZ88qXHLSiFx1MDAxMCFcdTAwMGaXc1x1MDAxN9BNXHUwMDEw0Xc6XGIwM9q+tkrNiVx1MDAxNWfae+9q1sdA+Fx1MDAwMVx1MDAxN9BcdTAwMTig2rZ5M3tdXHUwMDExynE0xXiX2IwhmZ0/iyvl47Ha52NEerKn9kqYNuW/vTBVS9NgKVhzfHp/6vZcZu1EuEuqd2KjOLdZsIVYXHUwMDA3XHUwMDE55Dro91x1MDAxN0r5XHUwMDE5wUJPetkoXHUwMDAz6XnBIEhO01x1MDAxN8+3L1x1MDAwN560TcZcdTAwMTQvcOs+caRS4UhUuV1P+eu/XpdcdTAwMWY7nu3bXHUwMDA2XHUwMDEwJ/qRS7rByauxLFx1MDAwNFx1MDAxNXmUXG7uK4tcdJbitFxuxL9Ewt+hakGk4IpoKEiTXHUwMDEwJTTvyKzgx4I6XTC8em9nf2DBXHUwMDA2LqPRXFzMV817RF4w6EurWtXDXHUwMDFm6Vx1MDAwMEGRflx1MDAxNFx1MDAwZu6hQzi09kNcdTAwMDHD2YGEmklt7SZa1JA9XHUwMDA3SPc4/CHClkNfgb1cdTAwMTbszrKa5bCniZAx/rHqsJr3h++vWH+gUWpWj5yXiNqU8dHsfoBcdTAwMDLJbSagz7kuzU9cdTAwMGJPi6H2Qb7iXHUwMDA1XHUwMDFh8GSljFx1MDAwMzZ0XHUwMDA3i1Jtxpidam1+sG2l+PeDMi3ZmSv6XHUwMDAzNLGLt9i9YW5GaHxMrdmx0jC7yLZVidG9X8xcdTAwMTBi7GVcdTAwMDLKc1xmk/ohonFTJFx1MDAwN1x1MDAxZWhxNLzYSN3pPcb68XlcdTAwMTBCvlx1MDAwYiqeeHo1a1XPztdcdTAwMDKZqvAsqHI834pOip5OXHUwMDE511x1MDAwNFlcdTAwMGJieWX9jVx1MDAwNCeSU1x1MDAxNIJ/m4Cnd6ZwtOqaXGK2tqFcdTAwMTOMSCA07LyujqRK8fxgvbCWR7JcdTAwMDRcdTAwMTCpcvwjXHUwMDE2+UWgKlx1MDAxNnCUt8Fam/6wteOXkaw43t9G/ZPp731QWZ3yXHUwMDAzOXN/QI6ybD7TVtpXXq8qLfddnVDb31x1MDAxNJVvXHUwMDBij7ZcdTAwMTSD7FgukDc+aNtcdTAwMGVFiOpihFjDa1x1MDAwMopcdTAwMTO0mI9k/t5cdTAwMDW+Qu5cdTAwMGJ9nYyJMywoXHUwMDFhXHUwMDEz+lx1MDAxZHj/NNpccrngj4hcXO6YO7GQVutEmVB/vihcdTAwMTdcdTAwMGaxa4a7XHUwMDA35ydcdTAwMDRfQFx046/5RpvGr6E19tDx3Fx1MDAxYp+rWffZvtpwzjqsf1/9Zlx1MDAxObz5u4eMjLg4XHUwMDAxTVY7XHUwMDAyaLqfiUxBbme+XHUwMDE2XHJcdTAwMTFYXGJcdTAwMWXb+V/Xwv77+pjKoHH4j1x1MDAwN99j7WSl2WKi+3fPmL/LXHUwMDEzjIfssXF3dd22jyX7R6tcdTAwMTFcdTAwMTbIXHUwMDA0ub6j6Z1v0MUnvv1tf45cdTAwMWM57faL+cJcdTAwMTFcdTAwMDGqlXbhqTqiRTrS9Fx1MDAxY6FOrCpw9vtLeSDpjL+klVx05TRPV2FFhyFcZoUoTG+ThPShXHUwMDFlkTCm31xme5I+u+XVz5ug/Fx1MDAwMJZu+KmrP8WMJqv3e1x1MDAxYVx1MDAxMtee+F7EXHUwMDFm83KOZFhMclx1MDAxNbtgWUFJu2pcdTAwMTmmPndaZESzWlx1MDAxMlx1MDAxNLh4kjWRilx1MDAxMNIuXHUwMDA0z/pJcOjy8VxyXHUwMDBmXjY+NZDI8jm3XHUwMDAx1nxTu/5tietcdTAwMTLNXHUwMDA3OKe9qqbyWlNcdDCB4Vx1MDAxYuag+4VGJlx1MDAxOc7l4ppcXNTWXHKomPXk75WrXHUwMDFkaWvabFMrOFxiYZx731x1MDAxYeRdq2uNflB4XHUwMDFhSVx1MDAxOFx1MDAxZbU9UaDC2amUkVrjhlxyhDs2wGfTXGb5XHUwMDBl1sSeWavCXHUwMDEy3FZcdTAwMTn2VnRcdTAwMTUn7u5DJHLAtH+7Tm+oXHUwMDE0e6F3ffBBuOKaXG7HiMz4XGZcdTAwMDFcdTAwMWPka1i311x1MDAwZWmY3rRPftnBwPVcdTAwMGZZI1BcdTAwMDBi87Co46RI7FtjS9mmamrDXzj91Eet3lxi+1xmOtflXHUwMDFktr9CINlEucWhVlvQ/WG5j0jVgEJsxdRcdTAwMWWKrVpccpH4ckO1Veh/XHUwMDE2XHUwMDA0268nqtOPXHUwMDA0XHQu+sJFcaHScrErtmukXHUwMDE3OCHsXHUwMDE5sYKfW5rhyKu4WkNfYI5fZ862zJgh9P6qb9P4f/tA6cJcbuzerXw/fuJ05nnjXHUwMDFiiqLZXHUwMDA2gFx1MDAxMfNyXHUwMDBiQpXEWnf+Xb6CvrBM61x1MDAwN1x1MDAwYp0u01x1MDAxOE1cdTAwMGKHSDqAVja0wVxmajueyWXLRpPokIqDd4eDrVx1MDAxM/nQfV2//9ect2qScVx1MDAxZFx1MDAxYmyqL8OBXHUwMDE2ZFx1MDAxMfWg7zH0qacq7p5cdTAwMDf+dGZVM1GRtHzJ/JZjKoLGd3mf2SFi8m3KWVx1MDAxY1Zcblx1MDAxYjnCVKpcZkffiWaHrmGIO7m9SXg0RFAzXHUwMDA0nLq/WJZTuy9bXHUwMDBmlMM6l+g2vkdrKluHwc/wdi0na036iJ8mXHUwMDFifVx1MDAxNulNObZyXlNBJnfublx1MDAwZWVshNUxS+ggUVx1MDAxMrtcdTAwMDTvXn9YXCKf8zdccvDXylxuS4OSa3LglzcyL1x1MDAxYaFcdTAwMTdiOrCdPLUptst1KeV3+2uDSVx1MDAwMSV4L3tI+/lOjFx1MDAxMEZhXHUwMDBia9cqXHUwMDFlmp5mX+w/XHUwMDFiSbVYtZJcdTAwMWUlgOU8v1ex6+BifFx1MDAwMiPiJpSeqDX2kfvAfS6BXHUwMDAwsHZcZilaReAzZnz8iGWDX75yhblcdTAwMTc6MV9xLNbOvnBcdTAwMDaoXHUwMDE4mUn3sCXoV7rQgUzTQVx1MDAwNjn/bNhTwoKbS2n+7edodFNP3KxcdTAwMDZWyYNcdTAwMDSWoCBcdTAwMTWJXHUwMDBmpVx1MDAxNXdVXHUwMDBlXGL+8Xuo3lx1MDAxMlqmkOhvnSZWkUDad2dcdTAwMTQ8rdNU8JlcdTAwMTVvslSVXHUwMDAw451ohT3/XG7avpp3huKnYlxutHkroJDM3blnfNGf6y//tIV5htpcdTAwMTdcdTAwMDRZI5esXkBez4y3XHUwMDFmp/pvc+SEsLeIXHUwMDFkdvuHVdxn1z9cdTAwMGKxXHJcdTAwMTWjzYrg0J3RRds1m3nvXHUwMDFkYWGTXHUwMDE1XHUwMDEztba3XHUwMDE1NLTWaKKt+KX62VxcyiNkXHUwMDE1/Fx1MDAwN6OFj4khXHRMd+Jn+XtgXG5cdTAwMTM/m/ZX8/Mu/5Rv00JUnYaioDig+lx1MDAxYzhcdTAwMDNcdTAwMDNcdTAwMDfPUsRI7Vx1MDAwMlx1MDAwYnltUFx1MDAxYtyWVpdcIoks0C5cdTAwMTYm9GGKgJ850zGcw2zLLEBcZqpb8e8sXHUwMDAx+99z/rdK/zA+XHUwMDE2Xvw4t9z1S3SuXHUwMDE2NGHlRP5Hmdi9gra7XHUwMDBmQ952tfU9dnmAtS77XHUwMDE14deRpHp1plx1MDAwYv/SXHUwMDAx4TtcdTAwMTTFecu5ljZkbLY0zKyjQn2X0DbDWMzf1yVcdTAwMWOvYSA2hWaC+ChcdTAwMDFl2OxcdTAwMGY7NGk5q1C9XHUwMDE5XHUwMDFmQaRcdTAwMDJLLd/9bpY38JtcdTAwMTGr0NlB0ENT60Cui+BtlZZ2dVtcdTAwMDPf82JcdTAwMWXv6Vx1MDAwZtL49CfvxVG+beIpqVNcdTAwMTVcdTAwMTRCmdq650REnnFccsdN2YPrXHUwMDE3XHUwMDE0L1PSM46XNeXFlsW29tM8hcnIalx1MDAwN1x1MDAxZsjC8rCb3O5cdTAwMTKBPeWpXHUwMDA3XHUwMDFhgVxifUazyeNcdTAwMDVxUYui1ri+83p46Tt6j5A//ltcdTAwMDOWuTuIi7VcdTAwMTb/ilx1MDAxZuqWp1ZVQCPh3Xxx8lx1MDAxN/uy72xixy1gW75jvZTfXHUwMDFl41gmM7fiSKFcIpDNzeVYzS5P1vWl5Cl60TO/kPSGWNpZXHUwMDA0XbzgtEm/XG61U8dxUpQg0FV5icqc41x1MDAwMp5cdTAwMDddyczm2Fx1MDAwNvQvXFy06pwkjKLo2MLEKVohQTvknzBn7NlTcVx1MDAxMNnY+9GrXHUwMDFmTGOFsozmQ7pcdTAwMTRcdTAwMTBgUeJcdTAwMDHz+z6ezFx1MDAxMFx1MDAxYd1cdTAwMWOIwMGmarc+u4mIXS9vrFx1MDAwMespwCcszH1cdTAwMWI5N/e+XHUwMDE1J7wzt0GWXHRkzKtT7nOfWvjHt41cdTAwMDI+UKzz2Fx1MDAxNlx1MDAxOVx1MDAxZZhcdTAwMDRcdTAwMTGraj536Fc/ZZ5RNlx1MDAxMuN8OrdI91x1MDAwNJDzjF9PdfJMNa78drZob7OVSdlcZq6eNZLL3Y02TDf5oHdfXHUwMDAzZlwiJJ49olx1MDAwMCXSg4+JXHUwMDFkgFx1MDAwMLBVQPLt2Fx1MDAwM1x1MDAxYeCIV8r4dj6GXGJH/PsqzX9fy/+vXFw3z51hXHUwMDFkXHUwMDA3ZDzRJWzJJ/ShTMhcdTAwMDWR3EjPsntE6Vx1MDAxMXRcdTAwMDDHXHUwMDA3SnvFOlx1MDAxMrnTtjXilpxfZU5qQKjwUNu+XCLAkT8uXVtcdTAwMTRu3C388vrMuFx1MDAwMVx1MDAxYdSyW6RD89p/XHUwMDFl20GjyylcdTAwMTBOb1x1MDAxMzbKhmv7T/FcXGYqWpV1K3dcdTAwMTKQi8HCM5GoXHUwMDFkUVx1MDAwNq9C4HBcdTAwMDCeXHUwMDFimWG4ri9cdC+MUVx0hWXM6Tm+fbgxn5JcdTAwMTPBd0E/Xy1WRSdcdTAwMTbL6qPBqZwzzrChOFG4Y13tL6HiujuTyKizXHUwMDEzkX1cbj5l5MvRXHKmqXOTr9Q9XHUwMDAzXHUwMDBiXHUwMDA2XVJ9wI47Z1x1MDAxNKLfX/t+QLNd8CHhttZ57TnVXHK4SMiey5ihS1x1MDAxNUuevpNcXJj3qslIXHUwMDA3iFx1MDAxN13ZVqSr25lub1x1MDAxNVx1MDAwZlx1MDAxMu8q7tf4RTRcdM7+XHUwMDEydsdcdTAwMDVUXTRcdTAwMGZcdTAwMGUnfe/w7yRcdTAwMTGkRVx1MDAwYvBL3MOpNaqJQd5cdTAwMWKKz/jzQH7K8Vx1MDAwZeLCu8U5sL1UadUn27GpYNB+rI/NsUHn12El0a5cdTAwMWNcdTAwMDCDeIVcdTAwMTmQsJe1ml2vguUpn1x1MDAwZjBndphcdTAwMTNcdTAwMTmZkGAzXFxP/oxcdTAwMTlcdTAwMGK44dFqXY8q95pcdTAwMWOqXHUwMDFiqlf0OFx1MDAxONdC0dLLqSf4uHXY/EGGSGOAnfWT/Zy5MEWx9LiA2XIteldcdTAwMThXJDRVaf644itHojWxXHUwMDFiXHUwMDBlXHUwMDAyXFwmXHUwMDEyXHUwMDE0wVwix0RmeinOU9r0P6XYsiw8qL/zO/9cdTAwMWVaXHUwMDE1g1x1MDAxYcd+uXjfb9nX6cND8K+sZyDHgFx0z21jXHUwMDA3os3uRZzOXGYx55RMPuQ2bofl3EBrL1x0XHUwMDE0QFaUveK/LyR6JlOCOqp7v6pcdTAwMDNGSLe0QWmeiFx1MDAxZlariHr7zotCumZwnL1UXHUwMDFhKednRr+opflSwlx1MDAxM1KxJ4meq3fFVzfymq3A/q47zFx1MDAxMvuDXHUwMDFhXHUwMDAxnCqPRWt5I1x1MDAwZfNcdTAwMTSpdq5cdTAwMGWXXHUwMDAz6IVfNMj/XHUwMDFm98P+00Mru9o9713+NVxmp5IwXHJcdTAwMDMk3TQm7699rZVcdTAwMDDG1EDVS2S8tTNcdTAwMTlcdTAwMGJfX7LQzDQ7UKOEj5OmSPSEsePl4l6w0iF/QVx1MDAwZf9OpHP2XHUwMDFiNrL3XHUwMDA1ppej4DRfT4pcdID59P3As7KmZptcdTAwMDOUd7apTeWfLkuqXFy5r1xceoqtKkeoiuWw7pHrzVx1MDAwN24qL2A2XHUwMDE1pFx1MDAxOWBcZlKd+Oeb/Z0juOhiXHUwMDE2OoR4m/FcdTAwMGWf9bneiFx1MDAxZOjeXHUwMDFhLJOohrT9dbPoJD7N9NC6XHUwMDE2z5nYWyB0iy5bb95EuT/1vILJYz50SOpKYbiVPZi3XHUwMDEwiYWlXHUwMDEyXHUwMDAy2N0hV78hXHUwMDFiKIdOXG7WrD0gvUzfUEuFzVx1MDAwYlx1MDAxYkX73IRt6p7x8Pc2sZ6+8SrvXHUwMDAwl1x1MDAwZTJcdTAwMDGgPUS3Vyqbtp5tV/vIbFx1MDAwMihMimOMMzjtmFx1MDAxMTzZK6roN23CV196TMMmcFxcToGHcNNusKifTHWP1e/D59by+lx1MDAxOPFESYNcYt38zu+bXHIlaHExK8fjV2vpplxya/xjqtUwucc3ldvSXHSrXHUwMDFiRVx1MDAxOJDgXHUwMDEx/uvUpJfeYO2qMdCu5OVcYvzqbj7+SYrLelrDmiSLXHUwMDE0XHUwMDAz8PjbUz9cdTAwMWVVJnla2V4maXZ201FcIkre5OhGJdB5S0M1NNGZuDdJr2bSrVhcdTAwMWLmXHUwMDExnazN5eRcdTAwMDdcdTAwMWQhTVx1MDAwNFx1MDAwNSp4wZGgQ5MhPG1cdTAwMWSoTJZ/uLPTXCJfyddcdTAwMDVEesTOs8Vi2+QrTSzq2lx1MDAwNYnx8euhbvxC9CdJplx1MDAxMrNlJXCXeddl4Z7LLf2VXbJcdTAwMDemyfTWspc1ro42xbHLXHJcdTAwMWPOt7v19fWBq8BcdTAwMTdpcuFbeVx1MDAxYt3HsFx1MDAxMO3Nf71cdTAwMWb2vnYqXHUwMDA2Z7+e4Z2ERnjoJ/5eUe57y1HmbeQ80mPGh66NXHUwMDE39+lKUHZcdTAwMTT1UCslVllB+/DZV9RmMlniVFafXHUwMDE0fn9cdTAwMDFAy/U2xE2/X79cdTAwMWTWJ1qlx8Heh5pBmqq8mP5kgGn9vuWYq8RjSlx0kmFcdTAwMTWci1xc3/Yrf/uoJ1x1MDAxZEdsL9Zd/2Vjj2HmyZ1aisftrnf1lOal23fk5/uR1K609iogXneA6m1cZvT0XHUwMDE55pmG/etmndpcdTAwMTZcZsgj0LlgJVx1MDAwMEFfx1x1MDAxOKhDXHUwMDBmOojqVCm7rd+gY7RcdTAwMTi60ExzrrdcdTAwMTahxFx1MDAxNe456K0hMtLuVV5n54wtiejhREZo6l34cWxZQ2FcdTAwMWJhSr6tXUa9vZntWHHmW9jlXHUwMDE38ohDXHUwMDBmXHUwMDEyXHUwMDE2olx1MDAwMGiXq6ny/M7LK1x1MDAwMGXQVk6LXFzKcikoy2VSXHUwMDE4XHUwMDA1UWOyit+XKZFl+/RDUKZPiM6URohcdTAwMWVcdTAwMTeiW8Rh6LW1obNKwFx1MDAxMVxyyVc19qN4J+rwe7xcdTAwMTn5rlx1MDAwNUudv7dcdTAwMDF/l/868URsvmlcdTAwMGZ8xfjihTuz9Ejt28L2frDgoVx1MDAxZJjIXHRcdTAwMDbMe3isNnDV/GaKurCCgtVcdTAwMWU0aV63gFJcdTAwMWWIXHUwMDE10bHU0Fx1MDAwZVI5rKNcdTAwMWVnQ/21ctzmzONIgZriRPhVrKzShit0dFFcIr7r3kstnXqL7OSHXHUwMDAza7XUPD9cdTAwMWMyXG5C3OHNZPX1qWlaplx1MDAxOcXhXHUwMDA1P0rb/SeXQ9Pgb2BcdTAwMGZcXHiESjySX+qOgu2r8fNcdTAwMWM069ispFx1MDAxZFx1MDAwZkn7rlFcdTAwMTfK9bxyMFv/2sDHIMb1OLFQ91x1MDAxZe0l6TvzXHUwMDAxk390qJ1cdTAwMTae3480t1x1MDAwN7Ar/+7x91x1MDAwMrxcdTAwMTnS4c6a91HD4oVcdFax/7f3RsOb+YJEXHUwMDFhclx1MDAxYVx0MtGzi+jacy3HNIJcdTAwMDSku5SOwbkgyVx1MDAxNM+7nP2RXGJKzLC/yGdxXHUwMDE5S+XVbEW1XGLnLOl77WrtxC1cdTAwMGbRXHUwMDA0ytxkPlx1MDAxMFx1MDAxM3uhOlx1MDAxYjhcdTAwMGa8qLJcdTAwMDC8XHUwMDFitqBqg5sjtKnlhYJzcjafn2VcdTAwMGaoPlK5qlxc2Fx1MDAxOMV2aauePsinjd+W9iB3pkW9XHUwMDFh/qhvnEfJJmrWXHUwMDBmg7uXXHUwMDEzQ3Gzf1x1MDAxZVx1MDAxYXOboPJcdTAwMWTR7kqT5FeIyLZeXlpcdTAwMGaNM9DRXHUwMDFmsnNrXHUwMDE0Qlx0RXYwhzlcdTAwMTd68mrRxUjzrFx1MDAwMiphdVhlh4P+XHUwMDE2T0BJIVxuVfhsXHUwMDEwPvNR11pN3EBoXHUwMDA3XHR6MflccuUrwSZr4qL22uMxoNjU6Gz87KVcdTAwMDbLzkNTLeFGaT6IJnNtTJlcdTAwMDDRXHUwMDE3XHUwMDA0+Pr9san/8epZ4Yjkm49NjIPYflhSuqHcjVx1MDAxYpVcdTAwMWRopPWO3zcpNKQv3v65dHv6Klxc2pOSWVxcXHUwMDFheJ7dUpFWXHUwMDBiYWDeY2r3O1x1MDAxOIp6tFRcdTAwMGbPXHUwMDAxwK1cdTAwMDR9q0yBnIc2XFxB28t2ZqLu87N559IrRt/aXHUwMDEwqO+9u37BJZftietht6H6XHUwMDBmo3jAv8fjN4RBLlx1MDAxMq38elx1MDAwMfpcdTAwMTA1qGNcdGmtOtMvU0ruMFrRKlxuSyBbPSDlXHUwMDFhJj+iwtnB6yA4duCwxmVcdTAwMTjeZkdVxDvPYWJcdTAwMDdSXHUwMDEzyORuXHUwMDBlXHUwMDA3XHUwMDEztjtcIipIY65/5sKH+fmfJ8t1vSuvXnmHs3F+O/3zsti4WqGtKn1dSUWmSKvJ3zP5W2fu1sys6rpVLJDi7GlcdTAwMGVUSf5e8VqHXHUwMDAxI6dO0IFBXHUwMDA1Nlx1MDAxNLuyeTtcdTAwMWGP5u7P/8/9XeGj/+NcdTAwMDGcJ1x1MDAxNv7meOx0x85cdTAwMGKAPmeGpFeDXHUwMDE2IJSfXHLs0pN4h1xioWZOXHUwMDE2XCIoO+vxN3Bah1x1MDAwNuxEdLIl/qbmMN6D1N50VWOcnPqsn0JiW9AlzJfmxFx0gLBFXHUwMDBlhtVL5z/+srhhTK2y+SPAN/5cdTAwMDNwf4gs0tqe3Fx1MDAxOZdcdTAwMTSfXHUwMDEx5JrilfqcrP/OelKeUN6NmCBa0oxDXHUwMDA3ZdJcdTAwMTEzmbD0fm5cdTAwMGahNlx05KizXHUwMDBmV8qPXHUwMDAxPWWXgT3kU1DDoH++Vp5cdTAwMDBss1x1MDAxMLylyMDmQ+7Hj//u8qBxgJL8a1YjpHBxhzdcdTAwMGUzveIy4tmeZ8PhP/2CTfV37vK4XFyFV85cZk1F9Vh0IN6CUIuUNlx1MDAwNC6vQ8vkV31cdTAwMTZnw7+C6YhTcJcome1cdTAwMWW1jKVcdTAwMTZUpVHojbyz9Ec4uiHgglxcm/Dyx1FcdTAwMDRcdTAwMDHb1/mpmN93dd1fN/W5dofqXHUwMDEyXHUwMDA21cObXHUwMDE2mGDa3ariXHUwMDE3JNmCykC2XHUwMDFk9Fx1MDAxM+fbXHUwMDE2OvgxJTFwlUclXHUwMDAwMbnV6Pq7lSNcZtPyXHUwMDEzbKzpxHyvb0O7lU5wfCWc/5JjyFx1MDAwYlx1MDAwMi9PXHUwMDE4ZnJcdTAwMDfOP0fZyqI3j41cdCB60EpHOThcdTAwMTRcdTAwMGaSnLhz482TlZihXGbSLppcdTAwMWJWRFItZ82RXGJcdTAwMWQnvNWvXHUwMDA3xOc5x9qfr381XHUwMDA0O3l0+vdcdTAwMDX0XHJcXPmuIT9cdTAwMWRmblbaroucmD+7Y5QlXHUwMDA1XqPtO3vTpnWjXHUwMDExuvmoRv1mVnbEknexfTL8XHUwMDAwqcTb18zOwlBcdTAwMWVPpqdBVUW1ivTbnU1WM61cdTAwMDD8PKGyJU5cdTAwMTiVc0z3atnlWVxc/Z6URHJcZrVkXHUwMDFjezOeeVZxXHUwMDA0mjv9nZBcdTAwMGZcdTAwMTnl8m9cdTAwMWPD73zNuupIzjV7+9tmS579KaRZuZZTl1x1MDAwN2UrwLpcdTAwMThz7Vx1MDAxMYPqzDO4fXs8MOVv3Vx1MDAwNUhcdTAwMWK7t2rGN72av69cdTAwMTFQy1x1MDAwM91cdTAwMTLrcqwl77BqTN3Pb6tcdTAwMWaWXHUwMDE2jtjhhmthS1xmT7cs7Vx1MDAxNfUuYlwibzufXHUwMDEwjC3beVxub3Iu1oDq3DbUxLJCbi3T4Kp7Vlx1MDAxYVx1MDAxZeXn2lxyRvuxsXA9Skdzr+aEL1x1MDAwMUqj2pJB7orsL0cvK/nYeLd1cfkxXHUwMDAy1ydcdTAwMDWUKV5WJjyjQzLz87HLvjTy/dKKXbDJM4TgmaJt6C1s0lvoc1x1MDAwMpOjoO6LVidUq01dyP2iIUy63Xf0+cp9JmZcdTAwMDNNXHUwMDFkscPKMWVcdTAwMGZ0Q8XlXqd1kjfY5J3Zk5mxXHI8rnjruPTMlvn7qVxyh374XHUwMDA30OBcdTAwMDOkpTQk9maJXFzQ54RcdTAwMWX4YMqrRZ9cdTAwMDS/eYOQdnTVTmRcdTAwMDTZy5itVeaFcS/yRpQ0oVx1MDAxOSDK1HJPXHUwMDAwv259NbhvXHUwMDAycDpcdTAwMTnIXHKzJKm+XHUwMDFjXHJcbsfqoZCTXHUwMDExNOzwXFzL8KjzXT/9p3ihedTOXHUwMDEyZF1cbkf2XHUwMDFhQI1Lx1x1MDAwMFx1MDAwMnpJXHUwMDA0JnrwwvxcdTAwMTKs1TxAjIWZblx1MDAxZfSxaVx1MDAxNvp1ecWanFx1MDAxN/qjbrhcdTAwMDM/W1wiPH2/pFVcImJLu6aYYFx1MDAxNdBcYkVcdTAwMTXGXHUwMDE5k0W9M3GfsID82cOK+Fx1MDAwMoXTfJxcdTAwMGV9xX5cdTAwMWNcdTAwMDbUN69cdTAwMTZQ0b16XHUwMDAy0ExQjPIhW/i5PPt2jFx1MDAxOe5cdTAwMGKVI5Aj4yhv4D0/6VVSX2BcdTAwMGaxzqTZu03b33KLzb1cdTAwMTK6OdNcdTAwMDRggVFARYpXx11cbqbbqr3AXszeXHUwMDE1/Otzju9rXHUwMDE4w8uuqmGLfzrl0o7OPd60mlx1MDAxY1KE92RjeypcdTAwMTk0mlx1MDAxOe5cdTAwMTicLSDkLiZNZHfFcsIlsZT0w/NpgCaWbOXoOTwjZ/orvzZcdTAwMDdXSFx1MDAwNvebz2HzXHUwMDFjzjRbk1x1MDAwNLxL8LzIoZe/WXItyH5cbvTUmvGJwlxchMHenVx1MDAwMEhcdNTw9tAngmnroCFcdTAwMGb+XHUwMDE2o59OhC3ZJlb0XHJOXHUwMDE0ikLPXGK8eqLniVx1MDAxYl13XHUwMDFla76I07a3JCM3hVx1MDAxZlx1MDAxM1x1MDAxMMbePLagKDg0Wq3u+llvJYI2rt8mXHUwMDEw+O5Vu154lvTBzYe0z7RHXHUwMDEwXHUwMDE512abyvhqaclI0f1oOTNcdTAwMDX7LCWM6bV5hWGKXGJX6iSos+BPf3QmYVx1MDAwYuGbl02R9VLklMClXHUwMDEyXHUwMDFk+6XmoX6j9zW9T0RgWLdcdTAwMWGgiiS3kFx1MDAwNIK8XHSXaHz/OVxiePl2XHUwMDAyyMJcdTAwMTBcdTAwMDK0U0RcdTAwMWPCry+W1/ir/GRiWYLZhL2JQWIqpuqWhKqzXXfbgVCtXHUwMDBmb1x1MDAxYsy3p0hf+thcdTAwMDGgJFx1MDAxNvfIt6LV+M2iSr06sDBcdTAwMTT4O61qZXttkk5+alx1MDAwNJmf/Vuuqzs5SSrHcuJcdTAwMTLYhukql6QxoWc42o1HXHUwMDAydkRcdTAwMDGSVpB561377aSkwHm3g5lvu+1cdTAwMTK2006pRY0oWjUqaYRW7/Bcclx1MDAwNsXD/kOxL1x1MDAxM0lcdTAwMTCWm1i1P605tULAQED31E+MK7iG4y+7TXPHaWRwkCs2XGI/pds5XHUwMDE0lv1k0Fx1MDAwNr3RsZJ1XHUwMDEzQjh+gXFnXHJorFx1MDAxMkX3gPl9XHUwMDEzwu2AXHUwMDExyFxmVqe4JKc1KSRwXHUwMDEznn/dos5TvaaCXHUwMDE5iFx1MDAxM2p98Dtm3e+9/j95/X9ZpdR55z/XW8Z6kuGKlyXf1kk2jtFcdLHvMP9YU1x1MDAwNFx1MDAwMtX6fi7NpH444UhiXo1cXHptOz7UVlx1MDAxM5ZEileGjbbt31x1MDAxONbzT46Lvz3e5Vx1MDAwNZ52vmjo63BSXFxoRclccsCGh2/798wwI0vMtPHb12nnllx1MDAwZjPdkyRu5vNl2tsvXHUwMDE55fhcdTAwMTfRXHUwMDFm441cIn0qfqYzrK+WxdwkXGYypsBPkKR+XHUwMDFhMoWberotWk+Kc91cdTAwMTU0RucoXHKGuTY0VpKpYFxu05MhZVx1MDAxOaw2tIXm2K5zcdK6mHPfZ1x1MDAwM0l2capcdTAwMWVxnZ717p5nzNmIOlDDmN+iwnSyZFx1MDAxNbqAaOy9PaJw7lxmXHUwMDE1/b4oT1x1MDAxYY0xXHUwMDFi8u/Hp/1aXGKwvL7GclZRXHUwMDEyqsEtaniOXHUwMDE3a6F8eF7QZVx0hFx1MDAxM5Vx7JDa5X/O0Fx1MDAxM7wqXHUwMDA1muVcdTAwMTU1wUlcdTAwMDKLlffPVc/I+JZcdTAwMTJ+iVx1MDAxZa90JnjG3pCBXHUwMDFjYabjLTTeapxcdTAwMTCPbpD2XHUwMDExYFx1MDAxNt6o20S+zsREbqW6M0RcdTAwMTNcdTAwMTfGbtB3XHRcdTAwMWJgmlx0bS1h5FVdXHUwMDEww5HhXHUwMDAwOVx1MDAxOWlgrO8+W6lh78RcdTAwMDCJRIlfU1baNeqCiDpcdTAwMDFcdTAwMTMlLTEoKFx1MDAwNsRuOVx1MDAxNJZSaH9cdTAwMTRPXHUwMDA3pFppXGbCLOArrKy753DqQUHsb9wt1oTgXHUwMDBildeyVqGg0lxySFx1MDAwM0SUsOj5iIeSX1x1MDAwNr+BbY9s3kvPXHUwMDA2fCstaGRcdTAwMDdsuzDdLOO1y02UquE3MCvY/Vx1MDAwNnhcdTAwMDfun8NkeeKsf993IUPAwzgr/UF7Lc9cdTAwMWF921Z1XHUwMDExg2lBnLvIvlx1MDAwM1x1MDAwNd/Nm4+TSpLCvkHgpzCR+i/XXHUwMDEwSU5uZXls50dawk/M2vvfM3HuKZRxeFtcdTAwMWJ6ZKwqXlx1MDAwNyjUR+J9+M1bOVxi6k9xXHUwMDA1XHUwMDExXHUwMDBlxLi97P1prFx1MDAwNaN11fVyJI/C+SGvW1x1MDAwMyre/v1cXFJS1raK4vw7XHUwMDA15l7sn5OZ2/xHnLfwo1x1MDAxObUphvUryqvPa+lot1XbvOYpep4pXHUwMDA1XHUwMDEyxtyfXvFU6P0stEZcdTAwMTkyj/owsI/SXHUwMDAxg8VcdTAwMTHWJVx1MDAxND5MyCDXXHUwMDFkfspcdTAwMTG3I5bG5r74ckHjz+WNfqbI50o9rMb7U3+RiqtcdTAwMTPG6OZWWFx1MDAxYYGJoNgzm1HHYMtcdTAwMTbDZbJk/+b736p4J8rEafCBjGdcdTAwMDew5C6fgWPvXHUwMDFh56FGW/7QO9uF9Hnrs8jqwD1XL9J/ldvwJDatyuPEjr2s/GCvfN42vSmiW0nq48U2vFx1MDAxYYfVvCtZoUNrXHUwMDA2fIWCwnB0xcrKhlxywy9rXHUwMDE1l1x1MDAxOL9iXHUwMDE45i3BS5m9jeA+XHUwMDFhuWbCT/5ccjJcdHzyODxQK2Rxcyq7L8byXHUwMDFjXHUwMDEzjZPAPHI7XHUwMDFl1Vx1MDAwNVx1MDAwNvOPXHUwMDE27pFYWTpTSDmkSnLSx2lrXHUwMDFiebrK2iyEv+vpq1h2xmjHzudcdTAwMDBcdTAwMTjgVkBHYLPXXHUwMDFksl74dohSQTmoizks2cVby1t7q0WzM4nxSlj3QVDAXG6J8jg5T1x1MDAxMcHNKdrCv1x1MDAxOeFBJD/H5cyko0LnXHIrvXeBkFx1MDAxNlx1MDAwMFx1MDAxNOtcdTAwMTMyrofuc2PMrUc2nWe3pk+8MPei1TVp23jETfpcdTAwMTQrcjp0n1x1MDAwMdRO4ujKXHUwMDAxQvPTsFYmWymynSNIY3JRXHREUsWz81x1MDAxNVx1MDAwN+VUgFx1MDAxOOzhOuWW9O33a96NXG5cdTAwMGKfjMIlYrdcdTAwMDOoglx1MDAxOcepLIpUQ1xuZkwuXHUwMDAyPvL/ZPB/Mv3HdLzC8KSn5+37j86Mez5cdTAwMTagelJQXCJsJlx1MDAxMcJcdTAwMTVHXHJrUCr+XHUwMDEym25zXHUwMDA1WiNLU1x1MDAwMib0XHUwMDE3XHUwMDAwnrTfTlf5XHUwMDE4+Y41/z1v2JSSMGWi+vLrxH5cXNJuv1wiI/xsrDzdOLtcdTAwMDO/Lcm2Nq6l9iMx0lx1MDAwNVxmP6jhbzuT36rBhFximDagnbNcdTAwMTMn/vS3lXzmV/tcdTAwMWTQJEV8XHUwMDFkR6KR1FknYEDh12enJu46m0qkKPXvkVx1MDAwMTVcdTAwMGVXZ1DwUOJZ+Fx1MDAwYrGvXHUwMDAyKr6HoOFwI9BcdTAwMDH00fEu/tpcdTAwMGYlXHUwMDAzt1x1MDAwMMS3XHUwMDAw4mCpLZxIVMc7ja2xl2y0wvtcdTAwMWP5XHUwMDAyUZ5cdTAwMWZ6WOCn8KM02spDZiSzJqKAoFx1MDAwMlGOmVx1MDAwNPuze3DQ5Fx1MDAxNFxmRZ5ccqG9W4GKVJGfpjhcdTAwMDTZdFx1MDAwZojGVz+3V0zSXHUwMDE5XHUwMDAxhsYvL/tkwkGeTVx1MDAxZaBcbuA9OJarmen09M7B+KZSdbntV1xm11xi+Ls2WJOM3pWKk+5cdTAwMGWCTqww/apcdTAwMDbYPlx1MDAxOWD1yupnML9BMdr4u/BCU3lKdvCcXHUwMDBlPiFaXHRcdTAwMWPTXYH7WZGl9Fx1MDAxZG8xXGLj6Fx1MDAxYkpY83enXHUwMDE1XG5Os0+6ZHr6rKR7sOJJ8WVZkFx1MDAxOXZC1Zl5UT/raYjdhXL4h+tzXCI6XHUwMDAzMmg/Jp1Q9khPitJA81Eu4uhfpaxN8U22fiypezDqv+lq0oH3aco64u5DXGKn/6PhfCbHXeaX6lx1MDAxN1xid0DYOVZx1qlHk2xcdTAwMGJ9jFojKuhcdTAwMTDdXd5OqUMvZuyM6WnFPy4gjaRZXHUwMDE0b634XHUwMDE24VxyXHUwMDA2WDmAfupgXHUwMDExPVZS7lFjrp55INen+dfviP3tN0K/U+Vvv1x1MDAxMZKe2Vxu7ifankB4281cdTAwMWRcdTAwMWJBiOjUXG7Q4VS171x1MDAwNnOyplx1MDAxY2syXGLy1YZPslx1MDAxNr1Bd8S6wlx1MDAxN0vynWh3stHhaOPr87OCXFwywbqyZ0adXFxhtpflXHUwMDE3S/nJ4t7ZJEh0XHUwMDFjpcvZaZEuMZnrf5pYXFydJW1cdTAwMTRtoPTJnLe19t/ecONQUOXgw1rN99NzbW/ovZ6l0a1kLX+22IbfblwiTnJcdTAwMTPvXHUwMDBlbLWysaRcdTAwMWUu/jDnTFUw7rLVRS2WSYC8XG6lSbNcdTAwMDVeiD48qDuNu3qLK1x1MDAwMUBcYpfFjZVOXHUwMDE0MVx1MDAwZiHeVmP81PNYjXxuXFz6LvNAJyGsc7J8wlxugP0ul1x1MDAxYVx1MDAxYX6oN6xcdTAwMTbsikxcXP+Hr/NYklBcdLrzXHUwMDAzsYDGs8R779nhfeNcdTAwMWH79GLuXHUwMDFmoVBI92o1Mcx0XHUwMDA3Juvk+YqsrIGksFxyPDeek8LHkb2k+WsgPC+kTnW2e29cdTAwMTYv/tQ3Pd47XHUwMDE47XpcdTAwMDKirlxioMvEMI7Ga1x1MDAxYcbGTsmcvKC4nT1cdTAwMWV8nbtcYlx1MDAxNESfXHUwMDA06lx1MDAxNit9RMXeVLt8P/NcdTAwMDawpKnaZFx1MDAxZC5cdTAwMDc6vsR4hsRiXHUwMDE16LjRusLG6W0vnqbALe4vmlx1MDAxNPxcdTAwMTYrVEtcdTAwMGXuObkvpFx1MDAxM9xcdTAwMDFcdTAwMWWbKbnu8lx1MDAxMOyGtapcdTAwMWJcdTAwMTO/s2Nb2DAhXHUwMDAx/vwkr/lg/Fx1MDAwN/p9w2ZZJnNvslx1MDAxNJn5Km5LtZFQOSxZe1x1MDAxNjiuJSGAXHUwMDEyj7m0XHUwMDFmM8o1XHUwMDFlpOlcdTAwMTCCLTlcdTAwMWN/tuHOYlNyyTlO3UyLoXdp4Loz7l9cdTAwMWTWs1+4tZBcdTAwMDFli8anXHUwMDFj26hl1Vx1MDAxM8O7ib385ogpy+tcbvKL/C1cdTAwMTGl9VWxVHlN0ClcdTAwMDcguFx1MDAwZf/48FWh3FLnf2dIs+/+8SQoeNFQLkuLUlx1MDAwNKSgg11cdTAwMWW7ICRgh1x1MDAxOb1cdTAwMTevn0iqtWpzXHUwMDA1ck74XHUwMDBlXHR24DqJd61cdTAwMTm43n7k21x1MDAwZc6omN2Xf1xu+Dq+jma5jz/v2uVVtaRv0tSrs57L4f73XHUwMDA2Klx1MDAxYpUhP1x1MDAxM2SAqTb+prRcdTAwMTVcdTAwMGbPZZ+q1yzjflx1MDAwZVKe8q/jprt+4ievU1wicIFKbCx1eEfJr1x1MDAxOWO5cFx1MDAxNtws7eIsKEJzf2lcdTAwMTlmt0VWXGY2SiEhXHUwMDAx6fJDdH9cIlNDzqVyN/+q1lx1MDAxN1Car4WurajdXHUwMDE1ky0xq2qpd/0u0lvwelx1MDAxMS9wve4y1ETt8TrEXHUwMDE52+Dw71huSHlcbotcdTAwMWElulx1MDAxN2pcYo9cdTAwMGbccbQ+MVx1MDAwNT2ZXHUwMDEwS1xu8nNcdTAwMTBuw43ipHZnTdXrJ+xuROBk2nDmskrySo+4jyFdKunCRrTaPn9xdX/doypNglx1MDAwNXZWzcvANq2ErXdcdTAwMWQxX1x1MDAwNbm8p2dreVx1MDAwMEiLzr3WkDysKbNcdTAwMTZcdTAwMDSnXHUwMDFiqk3adIZBQdHvb47zmZxNyOCiNWqqpn/GJ5m5UK3sb1x1MDAxMlZfU43PV5vsNJI9veUtMSNcdTAwMTVcdTAwMWTm64NS+2hXJKdXZFx1MDAwMfXdrPZcdTAwMTGU0XquhO6m4jRlQk2YwKRcYlg9VvyVg2d1/CD5RVx1MDAwMMia/FlcXFx1MDAxMXr5XHUwMDFhOMjhXHUwMDAyZ2X2XHUwMDBiXHUwMDE4XHUwMDFlyrHO6kJlq4ZVVFx1MDAxMELUzDkvvU1cdTAwMWVuXHUwMDFlzaaF00N2XHUwMDFl+nzQ51xijNll1N5cXFx1MDAxNI0kYZ/IXGLnl1x1MDAxN71OLe3eS99Flt/7szlcdTAwMDMrrE2zlfzLSutcdTAwMTX8XHUwMDA0h7FiNOZIeMOwkelFZHnwyUewL+P6XGI39nq1f1vb/lx1MDAxZYvqv7asU9U6fFx1MDAwNKDC7OBcdTAwMTRcdTAwMDeQjS+KP1x1MDAwMcqvX9XDc5dVdp6mjbrwftjndm9C3Ce8bLyGulZZXHUwMDE0rvHdqjZcdTAwMDH4XHUwMDBitSv9kFxca9+fXG7muT5m2Hdw8jk5Rzqx+NOC9vCWmO/3XCKxlb+e+lFLUc9IoDM8ke+uRaX8XHUwMDFjm4sk+9tf0kFcdTAwMWQxXCJqyVx1MDAwM6FcdTAwMWKvgFx1MDAwYoNcdTAwMTTE9H5ieGJxot8w+ePymOl3ZiZcdTAwMTbqcOAv7WZR9PVcdTAwMTVqsodcdTAwMWVVq1x1MDAwNsWGgYSm9qdcdTAwMDBcclx1MDAxMy11wHh8xzL1orbn74FcdTAwMTW0pJtX41x1MDAwMK3Ne0dTye1k5TZsq882UtVcdTAwMTnOkjx9XHUwMDEwa+Bzj9NbjX88p1WcXHUwMDFhXHUwMDA3wDcy0Fx1MDAxY5hcZsloXGKWXHSvRumiRFx1MDAwNdpyU6xPJ9a6Z2OnjDC+XHUwMDA3bVx0XHUwMDA38t9cdTAwMWNcdTAwMDZP61x1MDAxMZPU3XaE9uU+nD5cdLZcdTAwMDVs3ee/TVx1MDAwMyVJXG40XHUwMDAywHyVbuuVTLJxYptcdTAwMGbvUj2yeSBmUy/QrLrAW+a+1I0vmFx1MDAwMnzUiP2ZtXnLwPMoelx1MDAwN7S8b4Xu2e/BXHUwMDA0ddX561x1MDAwZe8g8HBDWOr9dY9+VU6btMlsXHUwMDFm+Fx1MDAxY6u0nzWeRkY+35xKiMN8LeZ2dkdZnCBORWk7p70jXHUwMDBi0DxcdTAwMTDtqSDyXHUwMDAyXHUwMDBis/WTXHUwMDEwrXEq0f498fm9VuHW5a+owEQ9fz9peMdMgTPrb7DvxCp5cNPtQyCVV4ecXHUwMDE3ozStLDqZ7ULz0Vxi71x1MDAxNS1jtila8Vx1MDAxZF/IXHUwMDE3UiwxUYKk6CxmsFx1MDAwNFnfNMiVXHUwMDE0XHUwMDFjNWh2uNE/TXRHp02UsTfs/1GXe3TnP32RyF9DXHUwMDEx3VYhXHUwMDExnqEkW1x1MDAwZrk8YfVWyaapy/j015eMZLqw0XrX0CfXrtXFtlx1MDAxMNqueVvfxPaZQcrF8c5cIo6VSXbVd/ugnEe5zfDy7NfRumO/8VhUj+/+6dKbYn+GoVx1MDAxM4J8zKb6wlx06vCO3TLzjPB14kCAXHUwMDA0fdf2hlCno+psm4r6/GGjXHUwMDA11W0jbFx1MDAwYreIP9zxUnxcdTAwMDI6s1x1MDAxOMWeSUV3c8g2hmX3feohVKF04L5hNdbb30pZ8rfmV51cdTAwMTJb/ibHv1x1MDAxZXrnzlwii1x1MDAxNf+t3YlcdTAwMDObqqNcdTAwMGVoa1x1MDAxN99+JZZcdTAwMTTEXHUwMDE3a7uj+ai3i8Y0oUhq0kyLXHUwMDAxc1x1MDAxMoicXHUwMDA3XHUwMDE5JTxcZrTqwFue61x1MDAxM4JcdTAwMDBMi8D6U92jvqOsNDpcdCVcdTAwMWRvc8xcdTAwMTFLXHUwMDA0ilTlgle4NtI0799e71xyXHUwMDFi61x1MDAxZs5IXCJmSoEyMqOVWFx1MDAxM1+kXVGJijdXq62iio6ymNSyVJPNXHJcdTAwMTGg56NfmVxcaVZccojyMJmw8q64R2x/6PHc11Tvblx1MDAwMGyBXHUwMDFk0UZlI5vExZ1cdTAwMDD8Oilw/c7fxkZcdTAwMDLoXlx1MDAxMH1TuNq4bkWc8ux6XHUwMDFmvVx1MDAxZLW2fFx1MDAxZjxcdTAwMDFfk1x1MDAxZFBcclx0tq5OzYVcdTAwMTZcdTAwMTfOXHUwMDE4tsy6jOxZprJcdTAwMDW4lVx1MDAwNnFcdTAwMWRM3Fx1MDAxM1x1MDAwYlxmoNvVXHUwMDFmfm6MXHUwMDBlVns/cP/2/NJaiGyxwVdcdTAwMDQ8MyG0RLSYXHUwMDEwWcc5XGbr4M5lVlx1MDAwMlxu2ekkf1D1KzD0dY6NWizqSv71od/ANpZ8S7i+wk91XHUwMDE0dV1CwCDle0jYs8fBQFx1MDAxYYD/rCdcdTAwMTH1f+Y+rtds3Vx1MDAxOUzSOqnFpKHIoWmcm93a41x1MDAxNNyHv1+Kn37Bq92/9DrxXHUwMDE4P1x1MDAxZd/ZJsVHpEzbMVx0nKPZK1nsm7yvXHLr3njVYGuoXHUwMDFj6lFvK+74T/dcdTAwMGJccjP17tRx8/rg/lZFs8PH+Vn9ofSdVdFYgeBcdTAwMDPbf1x1MDAwM9uv0JFRPlchz3NOtrZ4L2ZcdTAwMDC/2H7qXHUwMDEyrsPtaqHjiNFcdTAwMTJvf8RcdTAwMGJDOUnwh/iQx0bmlGBhQkXVko3Hj5UlalxukUEtuKk2k067vVx1MDAwZm9jIGlcbjj5h78yS95Ia6pSSL7xpfskmpW+MCh87WrnyXjljc8tqnMldzxXXHUwMDA3olx1MDAwNGWFuX3bPklFvp3U1ePvXHUwMDFl4aaxamanLnLcSErFx1x1MDAwMJtyn0H7l+i8g4hcdTAwMDBlyE1+hlJcdTAwMWJ7l2fvMPRcdTAwMGXUePd25NfwJlx1MDAxZPjswJLkglq5dcq/pqKcXHUwMDE4X1x1MDAwZTT/VVNyaXZcZkPFabiK/WpcdTAwMWGJJ/Fnp2Wf7SP9kYlcdTAwMGXYYYssXHUwMDA16SC1/sN2Vlx1MDAxOEBcYqiymFx1MDAwNmuBLGtzqVxy51x1MDAxMrxa2rlcZlx1MDAxM9ucU1x1MDAwNHXYh7yNiJChhe2Ob9aF4uWVS9T3zbJcdTAwMWZds8/PgfBMobfs0+fPO5RmgXmx8YxT/1x1MDAxYa+vXHUwMDA068rg6Vd17Vx1MDAwZm5ymW5I24p/Zlx1MDAxZVx1MDAxNkBUIbzfcZPBlf2al/tcdTAwMTb1XFx5SbnUoCNhflx1MDAxNtSCc4tr6jmE1Mp7QPtzXHUwMDBlXHUwMDAxzoAriFx1MDAxN+SJXHUwMDAyLkqiJzzE0ew7/nf9k6r/M/88PVx1MDAwMm4u4PklPttcdTAwMDP5b75u689G2vaAXG5cdTAwMDbvR4NssHjzYXhFq+aU49wuM1xyVZWqlC/fND9cdTAwMDRE4JBcXGrfLtWVXHUwMDExVMbnXHUwMDFma9B3m0eQVbqUIDxWY36TjYHvp1xim7RySjRcdTAwMDWV5uPKXG6bsuG3MbY97Fx0+MBcbplB86pQiWzsP4Py17O3cV939o7PXHUwMDFm6TgpjuKNXFyI6vZlMVx1MDAwZszQmNyaXCJZwZzFxJGsmNdccrzZhl/Tc/ubW1NcdTAwMTYqP+KxnSRyX9mzXHUwMDE1uKRcdTAwMWRZXHUwMDFm8Ua3g1x1MDAxZELpf1NcdTAwMWJSXHRcZm0xotqQ4/HG/Fx1MDAxNUXJXHUwMDBmirL7XHUwMDAxOX9cdTAwMWPIyCFCnT25/lxyrzBljbtcdTAwMTNR0d5SXHUwMDEx+0jn9GNcboE6fWF75U5fSfpvPuKchZFaXHUwMDA3xo2X12mVQC7gOVx1MDAxM8BY4vCkj6c8d0DRXHUwMDFiOTaDp2H9zeRiXHUwMDEzXHUwMDA0JLq05pzAU0wniqK9rNbiLGJcdTAwMTV04YCniV1cIj/ab1fU66iYuFx1MDAxMf31j7DIyJhcIuzViLTu+cXT3IJcdTAwMTfMsftNpVx1MDAxMlZcdTAwMDKyRdg61qu2XHUwMDAxTMz1iijokFFS0ovZj9TNXHUwMDE3XHUwMDAzg9j+t157KneGXHUwMDFmavvJblx1MDAxNJBcdTAwMDVcdTAwMTKtTVpAXHUwMDFl0GuNIXfWZ3H4sYWK71xu83DhkFiOWT9jb1x1MDAwMXlRU6vTe7+6p774JVx1MDAwN1AlV70vgHjKacRDgXlxXHUwMDA0hWqmQeDKy3xcdTAwMDDR2ppFOFuAYCqLTG6qoFx0XG7PXHUwMDE2s/9XfVx1MDAxZfs/9XmrclGXhXL+6sraT6tYlFJfWv2CjUXVUjQ3fFmN429TXHUwMDBiUUlWOTDiq1dw/meu8qczXHUwMDFmkWkq+1lF8ohV9WH8Wr792FBnZvRcbnfykutabEjQx570dWTctiZcdTAwMWZ+XHUwMDAx2aWCXHUwMDAxPOaPXHUwMDFjXHUwMDAzat/tSf/4RqLKhOgwRyqSQLNWqG9hnNTFtfxmzE9DV50qndFovVTi0IPeV93mhlx1MDAwM2ppqWXiOrJxQYrlp/lFOVx1MDAxNdg1XYXIeOVV23FX+Fx1MDAxNLzwXHUwMDE0MjvsXHUwMDFinS2op9bdRS65vq6ob4bLilx1MDAxYVx1MDAxZntcdTAwMGK2WyTn+N5cdHBgXHUwMDFlaOBVjGuv48J4XHUwMDAwU1x1MDAxMIuIRs7WWEFS4z64UzVhf9roSL6wPIKPpWeHx1x1MDAxNTw0qbNAgN9cdTAwMGIxotqHe4ff3FJcdTAwMGb/5sr+OOLnLCv8y0uVxcN5XGJbeKVYXHUwMDFhXHUwMDBmwYeAlVxm5/JcdTAwMTVcdTAwMTmmXHUwMDAwQa/XgMpE3J/0XHUwMDFjKWM2Xoh03SNoV+DHQ1x1MDAxNCC12ZS4fnGwL1x1MDAwNPvGzEc+zXVYuFNcdTAwMDbwolbtXHUwMDAxy+5cdTAwMGWWmN+IQ1x1MDAxM/rj799cYs5mZLN/vVad6Ldy+OJcdTAwMTZcdTAwMDXzQbJyXCLz78ygt8ZEX33BmKNIzFx1MDAxN7xcdTAwMWKtg41+cqiO/OTXQCxWV51qgVu27lx1MDAxZkpcblxmXHUwMDBlqHfJjzPK07hcdTAwMGaaJFx1MDAxYvaSiyBcdTAwMWWpVEVcdTAwMGVcdTAwMWJcdTAwMDa9MvKCL+To68mu3Vx1MDAwMT9cXHpcdTAwMDWAXG6SXHUwMDA0mta19Z3QLTN3kcGE/8+8mOP/My/mL25Fmj/KP488pF4qwJ0myytcdTAwMTfYtlfGr9JkTFdwbeqgWIVRZ1aFJWdcdTAwMTOUk9S3IHhU2IxhXHUwMDA1oFx1MDAwNUt7aewrwHzHoZt/MW55KfhJiezR+snctyvXlFx1MDAwN8EziqJgnkZI8UrvkC+3M4VQ27fThVx1MDAxZGlgXHUwMDA3X5xOyPDK/kK/W1wiXHUwMDFi0ElMmSZU+ewh5cTbo+R9s5mtyVx1MDAxMzCe4yltIFx1MDAxYSjscIatI452XHUwMDE4+bOGS1x1MDAxMuS9XHUwMDE1XGJcdTAwMTDp3XhziddLxUSeXGJcdTAwMWNNwDo06FPkq2WyuX654NYgbWRVZdVWXHUwMDAy6UFrr2+orqjm1VGT+NSOSsJUXHUwMDAzllx1MDAxY39Al71cdTAwMDNIXVx1MDAxMeKnXHUwMDA1J0rdUJ6aXHUwMDAzXHUwMDBiy/V7OUclnYBcYrxcdTAwMTnzXHUwMDA0jbp00/Bhtzg8xpd7m/JcXFKMNfLf2VpcdTAwMTmbXHUwMDEwmv16RWbIZ33M3HJXks5qtZw+OYi9465cdTAwMGWMNlNccte+XHUwMDE0iW/Iv7X0XHUwMDE1mqU4J/KD3FhrnTTF4iCvjfxcdTAwMTJccsvhKFx1MDAwZlGPiVx1MDAwNf5TSmRGn2KQXHUwMDEzXHUwMDA3XHUwMDE5U3gloSkve25+hMKkqVJ9q3SGp+hWdWxcdTAwMDGErXYm/FbHRe82aonnKjNb3+/2urrUXHUwMDFlrcL6On9NXHUwMDA3KuJcdTAwMWUhXHS4mFwilVx1MDAxOafvKnNcIuKlaDGcjVx1MDAxZFx0stWZ2pVcYkbSv77NV8ff783r9NOMvVx1MDAxYWFcbrN+dVx1MDAxNuxrnVx1MDAxZNOLXHUwMDA27lxc/oK+XHUwMDFmXHUwMDAz1Fx1MDAwN+eqN/1ZXHUwMDFkJlx1MDAwMzNcdTAwMTFKRsQsgGq0N1FrTNmtmYg+LVx0fkIoqMr3olFrXHUwMDFjNdrHXHUwMDA3W7Tv9kBQsXOHO5Oq9VK4r+aIW2hrJE3TNc1cdTAwMGa8XHUwMDFkuP+yxkZAXHUwMDE1WnVVXHTtXHUwMDFkXHUwMDFkvFx1MDAxOFx1MDAwZmtsca7k2lx1MDAxNlxcNy7RLVx1MDAwMC3HMzQlfVisszyR33X0i1FcXFx1MDAxYn7u8jo60ZpWnVx07M9cdTAwMDHY23O6Z0UqhFxcs8t+znEuN6x6XHUwMDBiw4JcdTAwMDVcdTAwMTGW4Jh16G4ne05UqFwihTrBX0+69/xlQXctXHUwMDExhfjXmpJcdTAwMTVcdTAwMTLIfn8voSB3bNhcdTAwMGKoj5luKVx1MDAwNj9pLSTgK1HAlsej0/F//Z/+pzb/XHUwMDA0ptKxNFs2XHUwMDBi0lx1MDAxMN3OXHQ+IZM4XHUwMDFjrVjUe7N1PjxrOsWv9apcdTAwMDFcdTAwMTBUietcdTAwMDZ+29R+Klx1MDAwZZKeQadccm1cdTAwMTlp7TtWZ8AkS0bnQnJaXpOAXHJ+PGDdXHUwMDA0K9vM937yZlx1MDAxOeNcdTAwMDRN8yZBKfop7yc+VFx1MDAxN9mdX1x1MDAxYze+kKBcdTAwMDExcCvVaVx1MDAwNJNcdTAwMTPHbtOcTkm3R1x1MDAxZYlz281lJf6Kory8IHY4XG5KTm3760HBoOEhh58vrJdVlNbpofgu6s/1ICQ73yjG3rVsTVx1MDAxZVx1MDAwNvNcdTAwMWGN+NRcdTAwMTRdm1x1MDAxYV6Gg5dcdTAwMTdcdTAwMDFuXdCSap9cdTAwMWSRcj1cYqIgXHUwMDEyurau+5/suLjyclhl5sqWoIoyL/vlS6VcdTAwMTdcdTAwMWFcdTAwMTfhXHUwMDEx4jyCzXO8MSYsmdOmILvXJlx1MDAwM0GunOL42Vx1MDAwMtXHQstf+rrorK83NbqLZSDs6eTWbIein4wvkDg98KA5zHxWJria0rfWXliVIEfuPkyK2lx1MDAwNqxu4CDvXHUwMDBl8281y38xWJcl+0+N23ls3YNOVpol0kKvs4U64LKSTlx1MDAxNFx1MDAwYjOrwMZHOMlPZ2i7VqItPVxuyz/zdmog4cpcdTAwMTDgqjiljVx1MDAwM9NEWUqr2n9bXHUwMDA3tVx1MDAwMFGl7EpVI9f5VGK+q1x1MDAxOUTFUuxCf9sjWWHzM6eEK0ms9VxiOeA937zCUrJcdTAwMTJSV7Ylplx1MDAwMHFlJl2q6Cne3mGuXHUwMDAyx2s30OQyXCKgfZmpYj7rYodnOr/ZXHUwMDA1l+htXHUwMDFhe9iPNotcdTAwMWFmXlx1MDAxNUyjLfRAXHUwMDEx1GhkROs23Fx1MDAwNfjQXG5BXHUwMDEw5Vx1MDAwM4pLaFx1MDAxY6fBsUdtXiVcdTAwMDOAXHUwMDFmour5v6pn7c1cdTAwMWJ7TFx1MDAxMiNcYki0qYFcdTAwMTe+Plx1MDAxZMeGg700XHLVWdtcdTAwMWVVNcpGTauOdeH9+pNcdTAwMWYp2lx1MDAxN4D3XHUwMDA2wFMnIGyN9sWkdTu3MCmH9Vx1MDAwMd/HXHUwMDE1XHUwMDE2JMtcdTAwMTNcdTAwMTigXHUwMDA3ioyqTuiUM6fWg4VElvxcdTAwMTdE1Vx1MDAxNXSoJlx1MDAwZX11nodu8Wjniuwql3JpiX9cbvret7icXFzV7Ekgfry5VDXSmsxKNlx1MDAwNbrr83ZcdTAwMTFfro+KXHUwMDA2nM/V2nSzW3A/XHQ3rGBkYqTlL22TwydCI+WB9j/jkF72olx1MDAwMMJXsUby+pT7lCp/fVx1MDAwM6Pmx/Z28+Kcg8ol5kIhrUxDXHUwMDEzKlx0qGVOhEKFmbrDdjZEXGa+LJpPw+Dy6Yd3iVdJwFx1MDAxNGh2Yszx1jSmXHUwMDAxw+pysuZcXOvpMvivPt3fdvunXHUwMDFmyHowILWJiSomXHUwMDA2h4z3eNB5l1s7bpbJWc/hLedoflx1MDAwMlx1MDAwZlx1MDAxZY7b3JbXV/nwv/U1mjdCY1F7iIJt32GsTSNcdTAwMTTlcU9cdTAwMTR8XZrsx+W/+05vVYAm/I8+esys/bFuXHUwMDBm1v3rU4NcdTAwMWLHXHUwMDAzUF1cdTAwMDZCjSGUiLykIVBcbozcirbL2Kn7plxm5Vxia1Kjbamk1ZFr1LkoTlx1MDAxY4yDyITBhtu6XHUwMDFmwZJmfUhcdTAwMWJMx0xjXHSJQdbvXUdoWFx1MDAwM8xcdTAwMTdJXHUwMDFmV2A77U5YXHUwMDBm0IRcXHp5+MOEuENcdTAwMTLcXHUwMDA34lx1MDAxN1xuJIpjXCK6c25pzDU/2iR8RHBm5/HYblx1MDAwNEBZ5avtelO9LrAr3uwu+Vx1MDAxZcZcXEkjhDYmT0hcdTAwMWZ5cV9WS1NKM5y9dKO1gy1sUaDwLFx1MDAxM8qpXdnhX+kvXHUwMDBmXHUwMDAytD7IPKTWNT83XHUwMDA3yfg4llx1MDAxYb8vcJC/SZ81Y1x1MDAxNVx1MDAxOVx1MDAxY6z9X1S947WOgWvnXHUwMDFljmqnRUVcZuGHSidxxSE9kYWzj2t9XHUwMDBlkdrV2G8qZFPORKBJoOJChMWxvlAxXHUwMDAwoj6q5pBG2fhpRUfhi4rjTiGRpudcYpyfpMYu/3TP4UmwgFJfaMt+hNSMX4ZcdTAwMWHsPTNcdTAwMTdcdTAwMTWPy4v9hlx1MDAxZkRBf/R8XCI2XHUwMDA3rVx1MDAxZo1v0G6rTFpMXSzJXHUwMDFhU1x1MDAxNbdcdTAwMTSAaepDPIv5Jb3Tu1rR2Fx1MDAwN4d/z1x1MDAxNKnSk1xmUW+A3H+pX3/5R3viv3nQ8ixNgnCJNdfaZI062XS++lx1MDAxYX/acu/NZi+PmHt/iV/kXHUwMDA1zFTiUE9RQu+6Yaohu4GIWVKK7mtcdTAwMDdcYp9cdTAwMTGkWeUmkvxcclx1MDAwMlx1MDAxZs/dNFxc2muFP1x1MDAxYZiFRWmhx07WYkpcdFx1MDAwMVx1MDAwYnbPV1x1MDAxNDp+UapQqKKd51dPbGTipPBSzK+YVWsyXHUwMDFh0vg2uV1yh1x1MDAwMqypg6ahfVxiuMb3jy1kQzZtQ7a2XHUwMDBiXHUwMDE0/DCMXHR+V7aSXHUwMDE1v1/iXHUwMDExk4r14uVtyDVcdTAwMGZcdTAwMTF44vPCeUl0KPSS1jd0JXJcdTAwMDBGwlx1MDAxZopmyuRvUcFpYZdcdTAwMWWeULVx5IBQ70isTlx1MDAxYaQg0zr/XHUwMDFjcnJcdTAwMTClVlx1MDAxN1x1MDAwMVU7v5bMeppQkVx1MDAxOImsSU7DaVx1MDAxNpFHnFx1MDAxZsWWIKtDV1x1MDAwZbT2jzxcdTAwMDTdLpvY+TWUdVx1MDAxZP7xXHUwMDAzXHUwMDBm/OdcdTAwMGWxt5Rny4xYcf6OXHUwMDAzZFxcxIHxXHUwMDEze+rI8Vx1MDAxY5dcdTAwMTI0ejpLo2LFWKdxsmX+Nlx1MDAxOcPER1x1MDAxM4r3Ro/Nb20mTl5cdTAwMTRxJKPPdHBcdTAwMWOsXHUwMDAz8yxK3HDTbWlGPvc9XUNcdTAwMGV+9qnm3UvR14Vpv4LlRkhcdTAwMTdcdTAwMWVkjVI02FxmmKmx8TOCXHUwMDFktSmSqPRDUvFUZszYok1cXJRcdMynO/2+TVx1MDAxMVxm3egqSE5cdTAwMDfjK3FfiXbhJqyRPH5/c1VcZnjMXy3iPncqZ74s7lxuT+bYg/4z/rVm5a9cdTAwMGXR6v9Z98k1nyfrXG64MmSa6zRMyO9R6ViqbH5eXG5cdTAwMTjx05718NdcdTAwMTEr3IKut3hHrrnUbJhcYlx1MDAwZV5cdTAwMWF0XG5ueCyVfvNbykevhlvu05gkb36IRIPhl6810ixcdTAwMWSmwMNcdTAwMWZR5yonXHUwMDAyXGa2XHUwMDAzbsq63M1cdTAwMDBcdTAwMTheIMa0XHUwMDBl0t6Lf9uks4H7mnTiTTEr7ka5pC16e1x1MDAwMWBHXHUwMDBlxKtp+F5z2ubwb4bvNFx1MDAwZvPYxaxzhn1v35M2fW3nXHUwMDE3mFx1MDAwNmeD6Vx1MDAxMFx1MDAxNFxmW41cdTAwMWRHNVx1MDAxNJVpvTbAhOeGcFhRfCEwZKJcYvNlxvj89l9zXHUwMDFjNcP8KpAjn0FrtSMx6tG2RCr+5p52KHlx1+xaZ9NcdTAwMWa+oVHvqPzCs5ddXHUwMDFhizBL21x1MDAwMlVhq1SN+Vx1MDAxYlwigJ+3LuItuZ3qjo02gVx1MDAxZqXlhFx1MDAxM02MOehcbtHFa1xiNrtIr5CrZ6w/YFxybPSwimVcdTAwMTQ7iYFrkzw2XHUwMDA2v37oqKeUODR+pDVcYnp6jj/+4+SbXHUwMDAzLWfP8pGhpfHw04WpYGPP8384+8VPx6Q0mCU2vHNcdTAwMTUnYlx1MDAwM6pcdTAwMTdrXHUwMDE1sOJ+miX/R/LxWFx1MDAwMbbU+tbNvDnTXHUwMDFilYlqtP2RbrXJT7T9ZjXnY01f7Fx1MDAwN1x1MDAwN59Wsdfy8WG/v1x1MDAxMLrspFxi7EYjXHUwMDFjr0xDYlx1MDAxZSct2TRcYs1cdTAwMDFuMYmILIqK51wik7ZcdJyug2S6YTQ0hXOqS4//V0/314dcdTAwMTe75bot5cKEXHUwMDA0eStXOp/mWMOvuvz6PlxuXHUwMDFk74OvLmGI4dfcIe2bZlx1MDAxMMZu+b+9aFBlaVx1MDAxONUgaIBccsbQosdccrCvxl+6LN08bvswerd+XHUwMDFlWMCTK2f4h1x1MDAxZlx1MDAxYrNY2Fx1MDAwZXdO04hIg0uiX0vHIVx1MDAxYp2Gtfx0ZH4ts6TaI1JvM0E35GxAaCRrZlx1MDAxZEVROYKtsCHrrT57ji15qFx1MDAxY4WAPDCpKKlfW2T6WpVWqWdUg2AgXHUwMDFmXHUwMDBleVx1MDAxMExcdTAwMDKq2zrqvF+8dDZCkFx0Uv1cdTAwMTVLXHUwMDExKFx1MDAwNNp5fcKq+SnoXY7b+H49cXRou7nkmpWH1qdcIo22qtl9Ia2awsSh+VtcdTAwMGXVv2jmgfo77n63uIjtY0DgZ6s/14iD6cxaZaOD7Fx1MDAxN1x1MDAxZVx1MDAxMKhiS71uPvK95Vx1MDAwN0CyU8617iBzJ9gqLoWN0LbmT4vtzEeZVqJ5MFFdffO8aY1cdTAwMWTkXHUwMDFm+1x1MDAwMlx1MDAwNqBYe1x1MDAwMVxiXHUwMDAxKH2zopHE+rVcdTAwMTmGm52aXHUwMDFhP4rrn2uw40IvcI+DvUi0iNCdXHUwMDFmk1qtqj53biCe6Fx1MDAwNJs2esJVIVnu1LRBc2ombuY9aeRJfSFJi7WFNXmPWn57LVdfK1x1MDAwNWCJYvRbYMUsXG5cXC3OUpnmj1hccmhA9y3igUpFXHUwMDEybVx1MDAxNsuIIGMlXHUwMDAyiT8/UYucd0vlQcRDe1x1MDAwYnBSPbTAv/s47TxZvn3DLDfn8khv01x0t4xcdTAwMDG4y/rrS/oppp2SXHJcdTAwMGJcdTAwMGJcdTAwMWPvdzAvjNNNO7xU0fp2fTnfeZdbXb79a3NcdTAwMWFeP4g3XHUwMDE2OZ5iXHUwMDBljLZAtCeZ5ns2y3Zm6ln3kOKtzudbp1lcZn2hhIs7rHZcdTAwMTZRKL74+3OUYNnMOCAghIy1mjOKN01cdTAwMDVccpTM6iC4Map9ZX98/Xvm6/BcdTAwMWTfQVx1MDAxOIHQXHUwMDAy9Vx1MDAwMFx1MDAwZfnlrapV9G3RXHUwMDBmyObIXCKxptty33xcXL0z21x1MDAxYuxVjv5cdTAwMDNcdTAwMGY/gjSTXHUwMDE1ISOMh0FcZpNym1xcXHUwMDBiQ6RcdTAwMGbEi8VcdTAwMDaFzzpwXHUwMDFl4ahOML67J1wimL89oVVeV0xBRZebXTDXdlx1MDAwMbVWoblRXHUwMDFhXHUwMDE32FdcdTAwMTRcdTAwMTPUXHUwMDAwY1/LJ1x0y4Y8prj6MVx1MDAwMpKec8vgSVx1MDAxYlulT1x1MDAxMPYjtyFAU/RXXHUwMDFit/JCgknuSlFg8oZpLLqj71x1MDAwMHuhYuVANIQ+XHUwMDE28ldT4VxuRIpr+Lf8nPaVe1bViG2oto6bXGb6XHUwMDA1XHUwMDBig1x1MDAxZZGjz95cdTAwMGJN/T6oMJXTj4/TZUoh40dxYmFcdTAwMWRcdTAwMTPOlc/PXHUwMDE501taf8Zrzj5D7eU3n2N9R5qV/o5018zbZ5VeemNcdTAwMWZrup093eLo6miEm9/0yN4gKTxDQj5cdTAwMTHij9bx2qyHfFx1MDAxY12gXHUwMDFm2dqboXg5JfhIao116izriGM0+C6fUyY6Nu982Vxy+c81K2bwz7pyXHUwMDEz8XSpqMR05JnpMV4ts1x1MDAxNqm4itclh2+m5Fx1MDAwZVx1MDAxY58gkePieIntXHUwMDFk51x1MDAxYjyKcZNcdTAwMDcmVlVcdTAwMDar+Vx1MDAwNVx1MDAwMT277yVdMO7OJm6TkaLsNtS2qTG55sWFpI5cdTAwMTVcXErVe6ZcdTAwMTa9XHUwMDFif/Qv8/f+q3lcct1ibHj+8PjHSIxE3kz4SVx1MDAxM4VBy51cdTAwMWNUdJOY5dMoYFx1MDAwNW5HOSCS8bLQ8eWHZlx1MDAwZi8+21x1MDAxNCtcdTAwMTVCumZl+adp6WXkQ7+74SdL14G4fp9cdTAwMDfb9vx1XHUwMDE54I3ccUbpT4xR3Y869mL47TeWqXM6u0KUu1xmLbqylNpcZl33VFx1MDAxNzo3XHUwMDFiwmZJXHUwMDEx8smcfem3tlx1MDAxM9NI23hcZt30yeY8Moyi1VFgXyQ3237e89h4WvlrmTRGXHUwMDExJ1x0YY7h6U+tkfxcIlJoXHUwMDBmgYCy81x1MDAxNnNnijh4XHUwMDA1q3VcdTAwMWTk33322fw0T7md+1x1MDAxMWtlI4bRXHUwMDAwhSgofMqpXHUwMDBlLGUlnW1sSDnv95Q/dLd8TGmUSlx1MDAxNlGwXniR52xu00JOyIuL17PdKz5cdTAwMTKzXHUwMDA15UVvv8zgXHUwMDA2L/lyXHUwMDE4i46UmDGNKlxmU1CD3Wg2XHUwMDA0zuNcdTAwMTiaT/e+9jvdOoF7pzD4fTaK+nqjR+198/XkW0dI/TWYp4YwZHqKXHRZXHUwMDEzJnFcdTAwMTdfZTKa22JK4Ga/QOTsRFx1MDAxZkKHiOZcdTAwMTEvwLuzM8lFZPXSovl9qZqH41wiuil3oXxI5oP8MIqJXHUwMDExMr5cdTAwMDTrIapcdTAwMTa9a1x1MDAxOFx1MDAwMf1cdTAwMDemPStcdTAwMGY0RClcIvlYR1x1MDAwM42vl1i9+OGzUdmLRI5cZqk4yI54dijZNVx1MDAwNFx1MDAwMHjwYkilzF+4XHUwMDE26JrnO5bFVVx1MDAwNJBJslx1MDAwMCU8SH5cdTAwMDVT1MR4ekWgfOg1+qRS3Hase0PQf+xNXHUwMDFioOjl2pPUVlxcN2LVk7gp1pRcIulcdTAwMTa4S50paGuKeX5SbVx1MDAxMlx1MDAxZi+s1VOqXHUwMDFj8jY/Yo4gyFx1MDAxN5OEzTbJ10KOXHLcmlx1MDAxZo/P8Fx1MDAxNVx0Ne+r41x1MDAxN2t6tIzkyF/N91fmfVx1MDAxY1x1MDAxMFx1MDAwNGdmvZ1VXHUwMDExMYaHhFx1MDAxMnJkQtxD1GU8+JI+j5/NfJhAysZfmeYplk+DYyhwXHUwMDFm0c5tTelcdTAwMWQ1qJK7h4Dq0J23P11cdTAwMTX1nOhcdTAwMTHm2SlcdTAwMTg4RTzQw1xmua5cdTAwMDdcdTAwMTRcdTAwMDKge9B8VVxy8WNcdTAwMDGfXHUwMDEzLCc5yMVPXHUwMDFjNFx1MDAwYmZW38k8eFx1MDAxOOm+XHUwMDA0m6xcdTAwMGI8MH5hukrFn7ijSJJm4E73QVx1MDAxOeGnc6JcdTAwMDCCKnRcdTAwMGXH5qZGnEKHTVx1MDAwNJwvc++/XHUwMDBmlO5cdTAwMDDiUXJcdTAwMDdcdTAwMGKy/H3C66+xVVx0jGM/v7Ly8Vx1MDAwMsmOl4lnpysygOqN5KhcdTAwMDdtqlOYy9Z+Q/WRU1xm4H3xqYrhhp43y6KHt1x1MDAxYlx1MDAwM8JH1Y7onH0z8HZ9coelM1xmaEvURX9stWtcdTAwMWNBKe5DXHUwMDFmQFx1MDAwNo57JYJcdTAwMTek7fZi9DNxTsjDXHUwMDE5diS4XG51JGYhpfl1SHjWvCacgLCOXHUwMDA2TPXkUPNry4O6n1x1MDAwYsN/y9Sa7cVcdTAwMDGDz7XB41x1MDAxZYfOl5uInul0pLxepGBcdTAwMDVlpNfUo5tcdTAwMTDNdfwm4lksULs/0lx1MDAwN55RSlxu1oNcXFx1MDAxYlx0XHUwMDE4XHUwMDEw0DTc1Pf8TyBcdTAwMTCePDHjiXCOrqPjndLw0nbzuexcdTAwMWGxsK/M7NdZp1xyRFx1MDAxNk/LWdY8mFx1MDAwMjorVcaBw7LEjG+zUy0ktOrSYU9cdTAwMGYy83dcZlx1MDAxNd9Y5aXLaiCk/NKP5lja4vf6Izz8nFx1MDAwYlXcQVx1MDAxZi7Yrt29/MLWSyOxzNuDKrvOXHUwMDA0drhcdTAwMGZLuerOj1x1MDAwN0QlhsSW15tex4m7XHUwMDBmqf68ccjYebNcdTAwMGVQOPdMprxa+ymXKjP9J6cqxcpCnDG1ekQ0/TwujybzpkSIgVx1MDAxMMCYL1fx3Mhax01cdTAwMWKhJFMpPmJlce/dPHDpWFe7SOtk1JF60dpV2oFcdTAwMTLozlfRXX5xx8nhXGZcdTAwMTFcdTAwMDNLb2nyXHUwMDA2XHUwMDE3yoh49KuJvfnDVGVcdTAwMDRexvhr0ZZIXHUwMDFmpthcclx1MDAxYmGv0pP5n11Jq/TbXHUwMDEwsNJlUS4/+s9cdTAwMWKrWFx1MDAxYlx1MDAxMY56XHUwMDExI315kdfK2lxy2Fx1MDAwMnXKSq/Xuazs6Udi6lO5bXyaXHUwMDFlzMAg/JKAj4BolzTOsJt9KY+7vKvcL7TNNFxuiiFbLTVcdTAwMTTL3tDyo3lMtVx1MDAxYorgzaqXmFx1MDAwMFx1MDAxYvFXX+qEXHUwMDEywzu1SMS6tCSjXG5/aIicXHUwMDEx93uMXHUwMDE4XHUwMDBlqPePsTMyP91hSL66ltlcdTAwMGZJtHBcdTAwMTVIMP9cdTAwMTi2J9FfQPjrmZPV+Vx1MDAwYp8/6ta0LdJngGCtv7Woz/6htlx1MDAxZFx1MDAwYvlcdTAwMTXivpw00FC6tmlcdTAwMWN2eSSdaVx1MDAxNPnVRHwnw1Jv9uLlhlx1MDAxN8E9Mip+ZmPhUHtcdTAwMWG8zu9d3bhqs34tzrXg0GpLXHUwMDA3f1x1MDAwNZhMarNcdTAwMDdcdTAwMDQxbPxaMOLb0C/ScaGuXHUwMDE1iLCi9U9f609cdTAwMWTDW8itg3dkNZOvlZKlZJCrXCKutHekT/5nXHUwMDExbtjLxlKM0jWZgttPXuE31tuH68n6i3dcdTAwMDZq0y6GsiawUFx1MDAwMev7WZbCrNXUXHUwMDAwiPVvIFxmnffJO8vglDTEXHUwMDFlXHUwMDFlKpsqyj5EXHUwMDBiXHUwMDFk5lx1MDAwN6BfI3BcdTAwMDbBXHUwMDA0X1x1MDAwZfFAMadBkFTMa1x1MDAxZFx1MDAxMCjou562zT9qZMV1N+LEhYD9eHmrQ4iS7N4nJthEt7VX9aJgcb56epmY6j51X2ZcdTAwMTHMTEBOXlx1MDAwM3GaLOZxeK9214TjMjKft1x1MDAwZi0kN/kkz+5EnNayXVx0vZ/5WPX6PkJcdTAwMDE6WalpnO3pv1x1MDAxNaah8i027FdcdTAwMDHlpKYpR+X2wkzFgTpcdTAwMTVIcVx1MDAwNWpwoZqw2Vx1MDAxMNi3rHzdl1x1MDAwZZ+rIarYPphcdTAwMTRcdTAwMTI3saVdbbtlTGUnsv5l3fxKXGLYxKn4me1QoNXO7Vx1MDAwZap7qUDh84uWS1x1MDAwYlx0Znk3x16z4b/61bZcdTAwMTIxa3qk8mDQwmGyoFbsXHUwMDEzYbZcdTAwMWEowsgrXHUwMDExXHUwMDFkxauOl9tcdTAwMGLMmrGkylx1MDAwYvhcIpSY26qaXHUwMDE4wV3/dUZcdTAwMGY+M/tcdTAwMTNKg8eyXHKtwKtcdTAwMWJEL5JHhzdcdTAwMDVFXHUwMDAwzFx1MDAwMPl++nbdnKOzmkKSLdJT/9+9ov/JnyZL+Fx1MDAxMPu6Z8pcdTAwMDRcdTAwMTBcdTAwMTDrId9XmEc4o6tcdTAwMTVa47GyXHUwMDBlXHUwMDA0xI1cdTAwMWNNSoJ/OL8gWkNcXC94v8RwSiVcdTAwMTbdmH/F3k9cdTAwMTROmPiyStGoy5y+XFwu3/fZrf6Q3cL+Xv1g+oVcdTAwMTPFdXfBnNxcdTAwMDCMWMuOrmZcdTAwMGVcdTAwMWYj28JeRS1qrf56iqKeNPbRY6lB6G8srKLWgFxmua3kh1x02lx1MDAwZqKNXHJW7+L1J1x1MDAxOE292fq+tIqUvSjl65aszFltZmIxXFwoXHUwMDAwXHUwMDFlU/olpcnnQm7WW3j7mW5cdTAwMDM4vHdKXHUwMDFlW5pDZcfSloFsaa1cdTAwMTV6XHUwMDA0j/RRkddDjJrSf1xc23fOZKvmXCKCmONcdTAwMDPbrppmc3iudCFcXDwlXHUwMDAwQfJccjtcdTAwMTVcZqjLMDeJZVQtJ8dkx1x1MDAwZYnIXHUwMDE52/pY5Y9HeKzNzk9RgqfOnZp3oYaM6pqPzeA6ksLJXHUwMDA1LTrXb3xfPD1/5WRL+vBjXHUwMDAxWSDd+O9cdTAwMDKlWvJmXHUwMDE07bJ1XHUwMDExdu87rPRTrruGqags6lx1MDAxNKCuSm3Jrzl3trmHuctGX+O/XHUwMDE5NcHNbYpZL0C3Z5pcdTAwMGWGkYqzXHUwMDE4XHUwMDEzXGJvYytUNFbGyP5cdTAwMDHcn/OErNI7oXSA5Iv6sN5Sx0E1fqFAXHUwMDAypFx1MDAxZYW/vFxuR1vrON1Ol2xFRN9cdTAwMTP4httdXHUwMDAyynBBKlx1MDAxMLX/b36z2fnk3/h6fVx1MDAxONg1M+PAszy/TPO3dqavQcdcdTAwMDTR11x1MDAwM1x1MDAxNEBcckZcdTAwMTDHP1x1MDAwMUbnXHUwMDE0ZdOv/u+H31x1MDAwMUR0PVwimy6R0Vx1MDAwNDeAiVx1MDAxZfx3XHUwMDBlXHUwMDEzu4BC5lx1MDAwZlFxIbwzv3r05f/eXG40svW5XFznXHUwMDE0UYLZQlx1MDAxOLtQ38JLOc5/ZoxcYlx1MDAxODPpXHUwMDFkWLZEZZuvXHUwMDE3+MRR8GkxrFx1MDAxY2k3+/Z2yk9Yl9xcdTAwMDFBT1x1MDAxNdxZsnBcdTAwMDRbz9RcdTAwMWIv/8N+XHUwMDExckvaRCB99tvcbFx1MDAxYfeSTCzFhFx1MDAxNESsd9aZXHRey4TGXHUwMDFi+U+eXGZ07oKoyEZb2DYqj43JxT90xobdOVxyX/jBJc3yxo09OCzNXHKHXHUwMDEz2J5cdTAwMWROXHJIefVjViQnw1x1MDAxOHjywplcdTAwMWF2z/rtNX2rNvBcdTAwMDdccsqEN+BueWtcdTAwMTFo2eJv2UlPcFSouWtcdTAwMDeUkCmqd7TYNSld1Ud82zvK12eoXG5cIvRzyWdfylx1MDAxN/s4XHUwMDBmlqFdVn+aXHUwMDAzTbj14cx5XHJcdTAwMTGx31x1MDAxNLfL5fpcdTAwMWRTl1iSoCTfNFx1MDAxNlx1MDAxMFxy6lx1MDAwNY7AP1d9fy4pkyD/XHUwMDA0dUpUvrNcdTAwMTNeXHUwMDE03/YrbfujoPjpXHUwMDFhrSdcdTAwMTD6pkNcdTAwMTCwaa+o5zOfUETFnIdyXHUwMDE1nplcdTAwMDJcZr8p99zChIZcdTAwMDGveDKFU2lU8Y1EldBw4M9Xn7f/K5/971x1MDAxY3ewo+oyXGZcdTAwMTmhRZ5cdTAwMDGcQPqxyjNqXHUwMDFiXHUwMDFhJ9nOe1x1MDAxN1x1MDAwMcyFXHUwMDFmyJZgJSpcdTAwMTeffJDULCaDmCtcdTAwMTFuKD6XrMNcdTAwMTHvcXv6t1x1MDAwNEtcdTAwMDUw+llcXOLn9EFptFxu34mD4XS09qPHQFx1MDAwNcQ24qKMVfzc2Mw60tuEQZtWvMD52kFybKaM0LlcdTAwMWO5S2NlOHd0ratcXNpcdTAwMTg1cmFsWlxcYq7XeG+qiU7XLLube5Xf/YdIzddcdTAwMDft0NjFQzlbXHUwMDAy++tDYLxxfEvLgzRfhbKoUmqujbz2qseC5UNsXHUwMDFhLTB24itnXHUwMDBl91+uUDh7OPT820QnseTM4cf0jd7D6KxRI9Oc5Lrm5Fx1MDAwNHRoTpaIWKTiIPohq0pIXG73hSSsc1D1TFFASTS+JKL9gGjPR1x1MDAwNFx1MDAxZspcdTAwMDKx6Fx1MDAxNVeh5+ej9ImMKL6DXHUwMDEyJ21ygXLpz1x1MDAwZkuM6lVWmWVcdTAwMTW2xlx1MDAxMzSrmvfBTL8ngNCylHVxnLM+obI39XVQdpvVXGaklaD1LIyIRXO71vl1yzvbivzaPZFBiTZcdTAwMTFcdTAwMTNcdTAwMTiri1x1MDAxMfJDOGUrKIjA6ur8nlx1MDAxMlVccuEnjvj48085yu23TiHEXG6r+lx1MDAwMFxuSV5gk2p2wru6XtLI5lxihlx1MDAwZlx1MDAwMoFlkFxm9XKVd3jbXGL42P/Bf/9nTvvS+Eeh612L5srVKlx1MDAxYaVcYoZHXHUwMDE1mZ3guUlKlGtgXHUwMDFl0r1cdTAwMDH8266QhobYVX+DjWUpwq5/XSdLXHUwMDFhh+NcdTAwMTjobXZP6yV9L1x1MDAxOFx1MDAwZb++gJSNppFh6Kfma41QXHUwMDEypeRv0cDCdLxxisSMNSfXkujo0OtdQTBrhv69S1x1MDAwNFogXG7KooXvXHUwMDAyY73UlPImXFyUWlx1MDAxMTR9XHUwMDE317Fv6cO261DhgqL/eMk4NVU/lFx1MDAxNkBJXHUwMDAw21FcdTAwMGYlJEFvcDKUN79LbFx1MDAxZDiFgchijFx1MDAwNUE/LKIrXHUwMDExysVJXGKe6jNipXMyV/XPOvI+XHUwMDFiQH9KuU5jV7dG3lx1MDAxOFrfXHUwMDE4qtVcdTAwMDQ+RLdZeCah1qzNX83aXHUwMDAw6Tdp1qm4m/GN1dpZsbvCmirVXVx1MDAxMr/pg5jtWuyW5sro20T0OFx1MDAxMkDS4S/rRTudaOJrbudWtoqWXz5D3zj6Rs17qHvuaOblJ1x1MDAxNiTu9eo6OSuvXHUwMDA2Ja9cdTAwMDZcdTAwMWSdxrxcdTAwMWH0oW0tTlx1MDAxN397uZyguS/9MUX4WztOZFtIN1x1MDAwNvL6m6KnhWPI6XQsP1x1MDAwYq5cdTAwMTPR9mdBmurJO9ZcdTAwMWSVwGG5XHUwMDAzeVqmO26JR5PFXHUwMDFko1HWv4Xn185cdTAwMWT1hNvd1tA2hkiCXHUwMDAzhT2DcZwxiLruV1x1MDAxZGCG1DdccuJcdTAwMDbfb+X63zqk043sXHUwMDEzgOnVv9/7XHUwMDE1iX+VaVx1MDAwZaNuclx1MDAxYc+oWFNZTWOD/+1XkV9uS1x1MDAwNFRF21JO5fzKstEkm7LUO8mPkVxmoVx1MDAwNNrfYmdKNryHQjkzc4LoXHUwMDFhgK1UXHUwMDE55KmGuZPY4eE6XHUwMDEyPV3gNo6Bqlx1MDAwM7XSXCK96nTPXHUwMDBmXHUwMDFilvhcdTAwMWZD603IxFx1MDAxOHk6/VSVtYViv1x1MDAxY9HJp89cdTAwMDFHZWJb8iU0pOMhXHQ+gMmxXHUwMDEywJFjTNlcIoskZFDcR5tcdTAwMTaf071vXHUwMDFl2sie/Fx1MDAxOSiu7/EthVx1MDAxONWUpn/oWlx1MDAxNVxcN2ZC2WM2ZTbSfHuGXHUwMDEwtvuTXHUwMDE0zTG7+v2tn1hJrut4qrLCur7xMUx31bympEzK/oKG1DKNXHUwMDAwKb5tf1x1MDAwMnVRmdV2Wu3wXHUwMDE5vPhWSy6+XHUwMDE3XHUwMDEz+eVfP4pcXEO+Kuh9XHUwMDEwklx1MDAxM7Fu8oecW6KNaaG01W1OKELDqftvKor96XZSOvWbesfKXHUwMDE22m9+Vvt9hYzVbVx1MDAwM70gcLb51Vx1MDAwMVx1MDAwNoWqOVUsXHUwMDBi21FOufz1wFx1MDAwMsDEbtRcdTAwMDAnq4ZcdTAwMWKnw0cnKjhVXHUwMDE3QqzBMTLPkr5ywkbtOVx0wkBKgE+Orlx1MDAxMIb8io+y39abs4XktVx1MDAxYV5QOJKKiG08WVCQXHUwMDAxRjvfy/PdXHUwMDFiXHUwMDAwnVx1MDAwYqnK4Fx1MDAwNGWvbFx1MDAxNzOEzPvi1P6T+yX/XHUwMDFm7sc/XHUwMDFlXHUwMDExXCJouJ1eVPsvT1x1MDAxYVx1MDAxMVZHj9eVVvkxSlx1MDAxNFx1MDAwMFx1MDAxOM1TIT32zOepwcB7bFxuPveQZFx1MDAxMYTyOVxuOPSykZA3g1x1MDAwN5z/qHt681+BXHUwMDE3kqhcdTAwMGLTm8LEXHUwMDFj/Fx1MDAxMqpcZsFy355Mk+S9ZZihWU3W++HDln3/jL9gXGLT4mD/LVxmalLTNrPfjTe61Fh/+2/Z4sLFXHUwMDEw3ePHZVx1MDAxM/Deo1aS+MyLkb9xTtF3XHUwMDA0gzQk5ZjZ7clCO5Sm6PfIhf6QuN1S8fzfYihpWDLv1r9ot0NwvFx1MDAxYbHS0GbNT58hvfpMjjZcdTAwMDXPX4BcdTAwMGaTv/25Pvs28zFt2Urxo7626qwxXHUwMDFi5N+hkDTPXU+zsV9/fGOX4W39Qq9XXHUwMDE1ulx1MDAwZpXC/Nk2jOVcdTAwMGJfXFwrXHUwMDAxQfeTX97ybcsuk4Np8fj9svndwn3QlHGApkPRkmC93SBoXCLE+3Hg3Hhbc4njSaS8XHUwMDFhI7pcdTAwMDXxLVx1MDAxYbhH0p4qbejZXHUwMDEwMGqGT+eHV2qXSXeEXSBcdTAwMWVcdTAwMDSQhvpccmBcdTAwMTZz6uHWelx0PWRcdTAwMTBuJ2t5vLTiToQll2eP/I5cdTAwMTbkWWpcdTAwMWLAXHUwMDE2qEc74XroMz+jbvNcYn2lzy5zMyxsi9NLmFSSXHUwMDBi1CfwY4nzbzFW1lx1MDAwM1x1MDAwNc51aD1MKDldy9KPZpa2O87ip1dcdTAwMTNcdTAwMWX1XHUwMDFhrSy1Xlx1MDAwNuFcdTAwMDXa9WIj5agxNnuWOZdcdTAwMDIzQYEudTxgklx1MDAxY+q/zpG+x/ZrZVxce0K2ipPJe/61NVa8vpdcdTAwMTnapcUj1EZPcp98YiNAZqJ8JjHkWVSm/T6SgiEmp9bDXHUwMDAyUr1cZpC+XHUwMDFj/plUQYeFdVZYbmtax/uyXFxcdTAwMDf1Oi6evE3Mi97ML8S4XHUwMDE0JeS5M1x1MDAwZlAk81x1MDAxNM3KNKNcdTAwMDNxoZ+1g1x1MDAwNalOYN/jrj03pNBGzCdcdTAwMTO84VbbkfVcdTAwMTWJldBEZiRa4iuI4iWZ8iBcYofUiLdcdTAwMDE70iEpxa3So+Z8oOG9w/yPXHUwMDA1XHUwMDEwI0HYXHUwMDExOE3oh2GsXHUwMDEz9kO9SXY37K6sTC/9orYscP1cXPPfhntNXHUwMDFlXHUwMDBmkpJDiH81bUsg9tBXNJldgoRcInhcXEYj/U2xXHUwMDA3y1x1MDAwNo5VXHUwMDFi1lx1MDAwNlx1MDAxYVx1MDAxOa9981x1MDAxNKG26UbTLE27vsNcdTAwMDQqhndcdTAwMGVb5GZ8N0JcdTAwMDCJ0lx1MDAxNFx1MDAxNrpBXHUwMDE3JSOZXHUwMDEy0XtcYsfjsrYnnalv5N/sitvI51x1MDAxNYtcdTAwMGKrwPSQulx1MDAxYT+bPc2sP1x1MDAwMG9Ecq/QrIFcInRbc4JBXHUwMDEzimhl8FxyiWha6jmYoXCkXHUwMDE0XHUwMDFjxe1cdTAwMDBcdTAwMTR4ZM9eoNA9sXmfktrNbren/fs/QOXAh2GW3oCFlJQyXGYqSOZ3QL5apby4jHb+5ICO/rpcdTAwMTgtv3/Wxk0n8Vf7jLJcdTAwMWLw81xc1us2xtbGXnhcdTAwMThBuF/pLVx1MDAxYX7TrGdcdTAwMWUu/ff7nSo89WxXonjgbLRMVohcXFxiyFx1MDAxZcBcXCYmjclcdTAwMGaD+GLT+O1cdTAwMWTisotpeVx1MDAxNm46zjulb1x1MDAxYkiz71x1MDAwNtvzf+bb91jJx/8zp+X3ja1JQ1x1MDAxZKqOmrdJR6IpNldSXHUwMDFlXCLt9+HPykFcdTAwMTSMXeoxebDU2PbhRr1RNGvZQIRcdTAwMDc9T9uGWdN2UEfrXHUwMDFm2YYzwzWrIGCtiXNcdTAwMTGuhoP5lXTg+/ExweNsmW2OjKbLXHJcdExcdTAwMDWPkSlPIfMje1x1MDAwNeiZ6iNcdTAwMGVcYlx1MDAwN1ZccrBHXHUwMDE1qZ6AgWzacrF6PpAscJva11x1MDAwN0iaaL5VnzgwidNPheRNMu+uTm1r2mM9v22Gc0hcdTAwMDdAgVx1MDAxMlx1MDAwMGNAPaWxXHUwMDAwXHUwMDA3I+aro49cdTAwMTTkZH6CYGHrglAt5KuH2t/WjGt1XHUwMDA2c6OC9stcdTAwMTZnps6v08F4XHUwMDE3Mes7oy+dNclBXHUwMDFlVIOQdOpoXHUwMDEwLkhcdTAwMTVWtbTB70h1KUXgpYSAXHUwMDBmXHUwMDA25vhCUtd3XGJcdTAwMGbhsNGrWNC+8v9NhuPVg0KXlaSzi+LDXHUwMDBlSLOHzZ00f3Cy2jCyXHQnbCG8QeUxklNxMFx1MDAxOOzD6r9cdTAwMTbBM0dfXHUwMDFlWD++n8H64Cpa9eFjYsLwt52Jxo67LVx1MDAxYyubnDjp4aZBxLVBlPT6kcFh6HjN21vYQSj1huyySPyqr1x1MDAwNLuRs1HY48vkcsF/dIRcdTAwMGa2JHmONF5cdTAwMWGykmx5fpbSxNq96DBCXHUwMDBmWMiboW7gt8Fe43ZcdTAwMTdnh+FJZT34XHUwMDE2N4NU/ZHMXZrHXHUwMDA0qnWb7Gtbh31cdTAwMTNcdTAwMWX2bpyvPbyX/5hH9ScxXG7+5r/mKlwilZCqyVx1MDAwNlCMPFx0Y1x1MDAxYdq5hGGQ6TRcdTAwMTT+XHUwMDFjXHUwMDEwXHQhoyj/ZrdcdTAwMGXrk/2Z5SfnXHUwMDAy3KBBWveCaZlUmvnG6V1+XHUwMDE0Jm/nhOr59lx07TWp05lcdTAwMTjgtlx1MDAxMbSipSNcdTAwMDdRV0hcIiD+41x1MDAwNr+FxTe6XHUwMDE361Y1e+yV5cgyM4LoXHUwMDA3vyCyXHUwMDFixH1iPFx1MDAxZs5rx+uYjmhLjlxmiXSPgZh7X/WsVTnXqHXGXHUwMDFlevah8Z1Pvlx1MDAwNVxcjzxVrI+S1mzMhte0mahJpnRcdTAwMGZcdTAwMDCvZSRLUZBwllx1MDAwNJjGf1D/9zWmPZA1OOPlnrtcdTAwMWVGqXPYeM8zysNcdTAwMDKoSGvLXHUwMDFkYdSnMbrKffruu1PoXHUwMDFjiFbWXHUwMDE0fdBn5rjSdVx1MDAwMFx1MDAxZdozbFxcQNJVi1x1MDAxMXTfPzDT44WLr1ggX853Nd0uJGzyYo3EpbKJfOqRnZPX+tJkW/uCK/ouJ4TgXl1rpCGwUsahRFx1MDAxYbCnXHUwMDEz52f1aUN/zXpcdTAwMWTcYrOLo1CURWNdNOJdQKdcdTAwMTdadGI6XHUwMDBmSbRr6uRPVn+cXHUwMDAzo9szk3CzmJMwPY0wXHUwMDE1NFx1MDAwNIo+tK1fXHUwMDEylGIpfK14XFzI67Ap7M3PTfYlNbmgKTFZsNbocKbRfGHE5XPiua6Tcq3tN4xAXHUwMDE0wq95rm3NlFW0/k2X7Hy5izWodKZB9MePfriIoVx1MDAxMlx1MDAwNFx1MDAwNTPG/qRSXHUwMDEwXHUwMDE4RIFyfJWJITDU9POvvvCfY1Gj0vaoUv+LrvNYklx1MDAxNVx0k/VcdTAwMDOxQKslWmuRkDtUorXm6S/VY7OZ2704XHUwMDFiTplVXHUwMDE0/OHuX0hQmKjXm8NdTmQ5Zb6JXHUwMDE5RM1cdTAwMTi97XujLSWprydfhrpNJtTCXGZcdTAwMTdcdTAwMWFO5oxcdTAwMDZcdPnVXHUwMDE0TPWMTpd73j6ynp3AZ1xcS5wtzmZcdTAwMWUsMNBnvKWN8T+tbI0kLVx1MDAxZkpdZaWGMyPgqz7v4eF5SNfflughXHUwMDFlTEQs15NYxq/OPXYsXSvLXHUwMDE2XHUwMDA3WGlNjNlxrYFcXFx1MDAxOTMkq1x1MDAwNvHxMFxu1uqw81x1MDAwNNTvsF74RUV+tOuML1MxiULArnlcdTAwMWaVeuCBXHUwMDAyvPq70lx1MDAwN20v1iGy5XxKP7UsMfpWKTz5XHUwMDFmgaDdXupcdTAwMGXMy6iuQIz6XHUwMDFjYb27eo5cdTAwMGJUXHRcdTAwMTH5rlxuYGxlxlxcXHUwMDBi0fZcdTAwMDTglmV8e5Lq3PGZNVx1MDAwNmvlb52Eo5tcdGSznkh0nFx1MDAwZn7s4HtQKc5k6Shrj4dcdTAwMDGHVrfjKHzReLeyeExWfUk9gnyT/K3s0dFcdTAwMWH8hZlxZD58kvhU+GDHaMd4Uirfk2bWiFx1MDAwN1vY/H0tn+Qgplx1MDAwZUrj71x1MDAxY1x1MDAwNLFIXHUwMDAyXGaJXHUwMDA0bfqb/4dM01x1MDAwMtW7Jlx1MDAxZiP3aVx1MDAxNFx011x1MDAxMSs3PzLrWlHM+vc3wXbzW6/UW/NhW7qZJHxcdTAwMTjP4zc6XHUwMDFmoDObw3bNZHRWrppgckfwXGI17OenXHUwMDE4xZ38/af+mVx1MDAwNlx1MDAwZlhdnE2QqPBeXHUwMDExZL52TPbt8nOD7SNCfWmaiiOEVlxmm9g/Z309Oz7kv4VAcFx1MDAxZFf/r9f+r/4t8Pp67vTbXHUwMDAw/YdcdTAwMWRW/IPFz+TNXHUwMDA0hG1cdP5FXHL4hpZm6uEgv3OgnNDpfvuJ38pcdTAwMWRpaaaHSdumqpqSXHUwMDAwLYhcdTAwMTK6T5KGXHLMzlwi+POqXFzy5ES+TKyDwOzN/oFHXaZ0PmPmsfkoUtXWXHUwMDA1edpl2Fx1MDAwMz9cdTAwMDQpPV3/XHUwMDE4blRzpXpTU5l/XGaWPr9cdTAwMDeWL7CHNifBYlx1MDAxZnGtVFJQ0MO+XHUwMDFhuc3ZQVxi1lx1MDAxM1x1MDAxMNgrXav1S6u+OTtcYi5mzen9mimNRlx1MDAwMuk4JLcjiH1z936vhFqITIYvTECJ8KPGv4pNd1x1MDAwYlx1MDAxYTKegkvYmH5cdTAwMTjbguIv9lG61aRsnnS/IPJLdnffypVGXHLkK05cdIZcdTAwMDb6i3pJROSaXmJm6dZdTKR4l7K3sbZJe36RosSqYlfh4emGSWRcdTAwMGVmhoB6veOo/Du+XHUwMDFkQ6/ak7NjyMJcctx3bJX52PP9/jph1+I+2Fxyjf6YZU9O0tgnaLG9lJuc8Jf6zVx1MDAwN3dcdTAwMTWOz67dLDlU00YwUthdNP/JyjlXKaJcdTAwMWHT2GSj13uooTpwi/VO4UbgXHUwMDAx1zckddnbi4D6/iZw8+2NbHyJyODTvMaHkIWaNFx1MDAwYkXRXHUwMDAxX8Oh9Vx1MDAxM8eTyEpInuqm8O8stZktWH4sXHUwMDAwdkVcdTAwMGW9z/NcdTAwMGXW/TNcdTAwMWJ1QmuwV45w0WmWIC2tIcy5oprsJ95sq76I27L+nUXeZ3T3P3kvXFwp+uf/Ks3Ec6Z9fuRTs5zmbdNcdTAwMWWf5rDq+UX/zt2/f8k5hFxiR+qlRjBrXHUwMDAxjVwiN+jIIFx1MDAxNYOaRYqGmM1mJ9mquqLkwq+Y7rpcZulfV5jfL8gzckw4XHUwMDE0X7RcdTAwMDJcdTAwMWHpdHow+cnalVx1MDAxM4f/aJ1cdTAwMTVLfq1cdTAwMGbTXHUwMDFlQV/wd9JcdTAwMWVeJt7tuYNb7Fx1MDAwNPZccp9cdTAwMWG7XHUwMDE0zMdcdTAwMDHA1y/bRyt6b0zQKFVcdTAwMTlh3Fx1MDAwZq+azLLOVrdY2Fx1MDAwMqPHmPlLkl+Txlx1MDAxOGXAOoxsSCflVzn0x7fMNI+jmVxcsVx1MDAxZL5cYlwi9ygtK/u3oJpYezaS2Ju0da1EPTxIS1xuP9meTq1C7HFcdTAwMTZsfVxymkqxZ5i5gVxm9b9L1TVcdTAwMDdBxudcdTAwMDepyaJcdTAwMDKloZbKecJcdTAwMTWQQ6v7XHUwMDE1/Vx1MDAwZeNezUVVMaZcdTAwMGL2zSV+jMKgfFIuXHUwMDA37L9cdTAwMTN/2Z+q7I9ZeE2rWCkm7SA8XHUwMDFhYMZcdTAwMTHF2J2gQeG2XCK7XHUwMDA1quwgoczFwexVUmtm01Tg4Yo/+eM76KZcdGVRelx0seZcImRRvqZ98W7DXHUwMDFhzEA6XHUwMDBiMzlcdTAwMThE+iMmcNrJ4r5AWcR2tkeDaNdUXHKD4eFcdTAwMWWRPe12VnFcdTAwMTldTY/XpF/GN/dzQExYh8RMybjbI3H0yuNFQ2BcdTAwMGK1Ulx1MDAwN/nbx9VcZruSMVx1MDAxZV8oOIowceQ7+1emsMRS80SOWqh8eTXLkOmaXHUwMDFlfp/sWzqTXHUwMDAxx1x1MDAxZYX/c1f2cYKoOqM1VChU/ilcdTAwMWNcdTAwMDSr9NC5vtvK/nj3rYbsXHUwMDE43Xp9Y/Qs1Mslw1OSuyGtidByJV/mcyNSaIyqkuWiN1x1MDAwM6eLfY112XMoXHUwMDFlbraZXHUwMDFhXHRcdTAwMTRccpvGfDIjXHUwMDE3QFp/XHUwMDAy+9acWY+X7X5EdFx1MDAxOHn+6Fx1MDAwZsT7cbdIXHUwMDE1kExcdTAwMDN8XHUwMDAzw+HhXFxhtjLfwv69wYtX3Yfmoih4nFlcXFx1MDAxN1pcYlx1MDAwMa+b/i4ua1xiXHUwMDA1Z8TP2lx1MDAwZYxwfXTCLpNcYiwvv1x1MDAwZalcdTAwMTLLrud8mFCKxJeN0fXQr/otoI5cdTAwMWR+rydzuI/lXHUwMDA1k2FcdTAwMWS6RPipVudcXCCt4GCfTPhe/i/+jdyyOIDzNfPnjd/Phi5jsKFSXHUwMDBixMq9I21e77EpUdtCkU1BndCfl8JT/5PaoJHi3KYmqTt3W1x1MDAxNVxcc6ZIK/1977dcXGb813xRPa6JXHUwMDE2YFx1MDAxYuCzhNVUw4LTtKNcdTAwMWRqVrebuWW+mnKE4YW/+Zy6TZJy+1x1MDAwMsxKqjbJ+nnBiffkeuidSFx1MDAxN9XsRK4tkozLXHUwMDFlT6HY+NSGKrOxlzddatSPebBP+ISbpj9nYY2uan64NrWodXRcdTAwMDSU5TKsTWtcZixJdXypXCJcdTAwMTZcZlx1MDAxOY9cdTAwMDaTzb6J+nVcdTAwMDLcIck199Sffv3bmEqALW/NXHUwMDA1+nW4eFxc4MvZ550n3ieggGKzgaFUXHUwMDA2isdyt5ezkpJcbmRDv6RtvJ5oblx1MDAxZs+QSSysXHUwMDFjRlCcXHUwMDE5J8OUUb7caFx1MDAxOaX11YR1O0n4W/ycwFx1MDAxZT/3oc6CXHUwMDE587wysEBcIlx1MDAwNXfQXHUwMDEy9abuV1x1MDAxNa5cdTAwMWRcdTAwMTnQXCLBcT6XiFVcdTAwMTHE7pqqXnTmJWS9rOpcdTAwMTA8/GlSXHUwMDAxMKnnnpzv9qJonFwiXHUwMDE2KvjVWexgvl80ZYlsbrmyXHUwMDFhuLda/WydfUCO5l97yz6yuFx1MDAxZJZT+k9cdTAwMTVcdTAwMTGzjbdwXHUwMDE3WDeh9ifcXHUwMDE0/daTNVxiyGCV/bToXHUwMDE22e/B6rehZJOjWr9cdTAwMDS4WGuXJZFcdTAwMDf8XHUwMDFl9svcm09cdTAwMGIlOfvJJlx1MDAxML+y61x1MDAxYqfM4ESCXHUwMDFm/F7j/J2gRNlQKFx1MDAwMtxcdKneaWynJ1x1MDAxNYHs1NdYT9yvaK2iXHK5RG3fvkPbboHLdXrRduNJqWcwXG6L6LHpV3Bd2vXdXHUwMDAzuUfX8ZbXl3+NIde5XHUwMDAyXHUwMDExnj8n+zaTKTs0I0JwIM8tU/+S9yWpcGONXHUwMDBiXHUwMDAyi3GEXSBBKM/M4YHgb6R0QVx1MDAxMa1Ri5xWtoC32FhvdqYrP+6PXHUwMDE3qGprZm1TP5839k6Y51x1MDAwN/M9XHUwMDEyIUQ6tpAzO+ehbFx1MDAwNYcvb8FYh1x1MDAwNPhcdTAwMTZXX8VcdTAwMTd/2ZU+lVx1MDAwZuSDlGQ5XHUwMDAxPFxcXHUwMDA1IPEmXHUwMDFjXHUwMDFk9q9rXHUwMDFiM6lcZluNxaJcdTAwMTPYXHUwMDFjiVx1MDAwNdpcdTAwMWK8XHUwMDA2XHUwMDFkfSgj/7bW+Vx0XHUwMDE2zo1WeXw4NOtBLOGv31x1MDAxMfPCxVGRM8pcdTAwMDYwhqCkc9yTPu77wiTcLmmfKZVfjZSjm3Pi6V3kLLrIkkzrh/y4Ylxc17Y429Wm+lx012zu0Fx1MDAxNXKmSuaeWTWFvOmGL0qEuXCa9j5+zYpcZvJtjN4kzkRcdTAwMDZQaSHPRVLL5Dz42f7yM/vygHDdXHUwMDAyOpSpjPatQr+MY7dcdTAwMGZcdTAwMDdAyDq/5lJcdTAwMTaQglx1MDAxOcF38XBH4GDWXHUwMDBi2u5cdTAwMTh+lfpUJFChLb47l/RisW5cdTAwMGJH5niipf0mVE4zlU9yzX9cdTAwMTKQVZpcdTAwMTlcdTAwMDXEK4HTw7or7euRYHLB0JA/Xvfq/lx1MDAwYuQvTVx1MDAwZYkmTt9b5ENcYo3TqkZ6zK+1+s0rgcjTWjE+XHUwMDA3XHUwMDE2XHUwMDA3P2g0+c+tYUCk2ioz11VRvqZEslNcdTAwMTGFXHUwMDA3S9lVXHUwMDFl6cPFXHUwMDA2vyzlvlx1MDAxZoEpk1VCiK6vXHUwMDBi9DR1I7Pnwbuo9vtbTbL0RUepQ8xi3pT/JlRcdTAwMDFS6nJZVv3CLnQk+dqsplx1MDAxMVx1MDAxMa3Pm69cdTAwMDJcdTAwMWQlI0qrqoPfPiPjrtCxkvh8ZGWR6clp+4T04n1cbugsKcLGXHUwMDEyoy99mGckLYWLwdmVv0jluvVcdTAwMGJxqCk9OVx1MDAxYfJPrMJQtP+dqySXQO78Qlx1MDAxMkdb4E74zbhf/CG4xbJGLSlFL1/s1t1cYq9rJfTlr83zR7ORaWX+8ZF3uqpIav+qfe+zV+/+xpN/LcxcdTAwMWTYbGfhrVx1MDAwZngx5e7bv7rNena+clx1MDAxYZqQ0Vs80yFdXHUwMDE1qOWFfFxijJNp2llcdTAwMDby/kVEaE9ltdDqXHUwMDE5OnEvvHHZ0lx1MDAwZYPX1jVEVFmbQninZ2+2ap1luOXuu7dcdTAwMGKVhPnnv8NQXHUwMDE41HWpqjLCsVWkJOA1OtDBPGeN/ddcdTAwMThcdTAwMTEyXFyFc9ON+DbQ1j6GYMcsmuO3XHUwMDE47l6mKTVlKjVDY1xuc3vJdrJKXHUwMDE5RYeGaKFdcFjxuyFcdTAwMDLhJevmXHUwMDE2pGPK3s/CkGeoiPpIIFx1MDAwN5NN0rJNJHeAueFcdTAwMGKdUbf4aslbqX/lYahcdTAwMTbWyM1cXEa8kPq7TeNcdTAwMTCTjUXLrHRUXHUwMDFh4JfXNybyXHUwMDBihTRYt1x1MDAxM37W67FkfJ36XHUwMDExv6Z0Tk7iXHI6QZXKm+nUXHUwMDE2r2JNc5f6J13kR0Vid45S9GaXXHUwMDFiXHUwMDA0mMHSeSjk/a1gsNKvksNcdTAwMDdcdTAwMTZcdTAwMTRj653pvlx06J9TP+5cdTAwMWRXzoFcdTAwMTR0k9dMRSBY22GP89Crtv7UXHUwMDE1o1x1MDAxNOYgyHNcdTAwMGbpobGOuuj3XHUwMDA33iTr5XTcVGF7rOFd1lx1MDAxYmmLNTrx1UlcdLJG1KT5k5z6XHUwMDAxXHUwMDEwN5GNR8lcdTAwMTeb0Vx1MDAxNr1cdTAwMDbpwepcbiBcdTAwMGYsXHUwMDEytLHSZVx1MDAwMoSQrYmA7Xao9G5QoFLV2lQvczpYVM/5nlx03nemmeLn4N/H5t5nJ7P+M3fGnTMqw7jENyYyy/O3uVx1MDAxMq+WIMqxQOHta+jP+SxcdTAwMWbYylZoV8q8ZM1UuHbu/lH1N++tK47Hm5BPfEjBlC1vz5pJeelcdTAwMDCG23+Ggu7zXlx1MDAwZswoXHUwMDAxXHUwMDFmXFxP6oOU4pfMOsv0VIJv3HtG24rtnpF0qo37lMrV4la8ya32MftVL6lcdTAwMDbc+V/a5PlrizxAN4VcdTAwMTe8LcNPfqZG5sniUb/UUW0s00lcdTAwMWZYqC0mJkxfibOOnaztVTP1XHUwMDAyQeW7LFx1MDAxNixcdTAwMDaasXj5c1x1MDAwMMNRv97kiMKKQdeUgnxlpCDGhsXJTl/Meuq0nbrtbpkyV5hcIilJnYmA4lxyVKM1/so7/LhArfyKQTM2gkO4yLZCXHUwMDE54oChXG6Pj5kmT41CKfn51rJjNb+0usk8i2VrXHUwMDEwQUOBJJyBdcdcdTAwMWTHUudA0JyllVNd3+K6xjmo5bNoOrOJhFiK7aR7m5zlrJovf1nFLIRxVu5ZmFx1MDAxOJ/piuB53FfwbYpcdTAwMWU6QfxOpVeLld6z0y+I2T4/MEM20uxe+bdLpqvolii7lTCqzO1kUs29XHUwMDE4rdxEUVx1MDAxZMxccvZy1ZeUh/uuXHUwMDEz5udcdTAwMDZcdTAwMWYrLm3njult5KqsXG5tWCYsmGRuLcOoalRy0Y2/wuXkXHUwMDE3YFx1MDAwNYB3/p8xt3/G4VwipHKU11BcdTAwMDA9jupr+DG/KkTTuOZWolpquEylXHUwMDE4hOJ+QaQ1y9C1aDox3Wf2XHUwMDEwfqvjVyaiMYeKqMBHJ1eTLtRM0UW+3lx1MDAxNffxWdZeRYn73lxuXHUwMDE1jKRfSuxs/5S3W1XGqFx1MDAxMZXUTWnT+Zpu9HPkXHUwMDEx5GTkW0VfXHUwMDA0XHUwMDFiv6U79Vx1MDAxZG/CfpxXy1OTRiynuz5cdTAwMWPYsvP0yVx1MDAxMsdSo3zO83lcdTAwMDFhSJlcYrp42lN5jmMkw8ZhXHRK9WRccvFdhfrvVuPsR0JcdTAwMTfYfGWQlkPV/yhcdTAwMWZOwTvY/l7L88mGSyA9XGb7MHR20ShcdTAwMGVSRkOnIEt+obeaRv1TO1xiQExTL1x1MDAxY8dcbt5dqLEhXHUwMDAxMFx1MDAwNOYwamadPWMxXHUwMDExu0tCq6ors5lAXHUwMDA0aPN22UL4vV1cdTAwMTG7ojNcdTAwMTPqvUVcdTAwMWR6M9HzXHUwMDA1n6e6Y0nE+dFotrcnX9Nv3FHDnEMnqyqJXHUwMDE5O72tslL84UFqobNcdTAwMWHDZtDQXHUwMDAwXHUwMDA0LU4sllx1MDAxOVx1MDAxN4deIFx1MDAwNyaZPFx1MDAxOeFcdTAwMGZesyZYXHUwMDBl/e2ltn3mWcbvXHUwMDE3XCLXc+qyuVx1MDAxMEXdq97i1tytsuJcYn91x3ZDXqB/Z39R3LR+k43ondBQRSnDmNguvlFGnbT53MRcdTAwMTFg+YfasFx1MDAxMlx1MDAxN7bBXHUwMDAyp3PetPg5hy8kqbM27pdcdTAwMDezIYxccn6uXHUwMDEy5ZxcboUjliN2vqFUzzrzv+a1WmamauatNVx1MDAxZFCS42jNfMeby2WxnOPXU/azVEqGNWpwf8fMX4lXU368oejFaWiUaFx1MDAwYo6Ker86QVx1MDAwYu1JPy093FxyXHUwMDAykHBRUJ6FiC6oj0HGXHUwMDEwuYLX+SDagr8j7FasLtI6h7k4wIjT+fBcdTAwMTJ5noc0T66o/Fx1MDAxNPx2Tc1VfVx1MDAxYyOvTZRUmn44kUl3XHUwMDFhsJEhWd+aXHUwMDAzdDhcdTAwMGbFa1x1MDAxYVx1MDAwNeNVqUVcdTAwMTZcdTAwMWWb0TWlPFxiP5+o61x0vnPemXysSo7rt93OZ59cdTAwMGKseVx1MDAxNITIv7U9n2SgaXPHNnS34tHwvD39XGJVfqV/a1x1MDAxZFx1MDAwYtskXHUwMDAxYckyNqtHX9G+fSVcdTAwMDHeaqsxT55cdTAwMWOrjKGZfXSvOGd8elx1MDAxZVFTXHQxW3hcdTAwMWJiQ3qh2e+vhMpuXHUwMDA2MEOYI59cdTAwMTLqXHUwMDEzZV7XXHUwMDAylZn+PLzVp56CmFh/6CD1XHUwMDFjy4BpxL2+XWtcdTAwMTb7Ky0l9bKdIVx1MDAwMyxcdTAwMWY5ZJCkXHUwMDBmTfv1zZuTdGD8TEHliLFYQ6C2nPH711x1MDAwN9WWfNLBRY9cdTAwMTEliC5cdTAwMGXE7/dcdTAwMDWDMqGinvo+V14g+PdYXHUwMDEy2sttUkOQwdAhojEkXFy76i+RRcZdu15ezrM7WPtcdTAwMTNcdTAwMTRj0NmRQ1x1MDAxYSptwPpuOlx1MDAwMpznkehsY9PDj1x1MDAxZnxcdTAwMTCxXHJcdTAwMTfc7TPbjlx1MDAwYqndLMXLz8r+XGZcdTAwMTR2SM5yy+h/zWH9+aSeR46i1ylcdTAwMDF+j6FcdTAwMTefVFxucXnuVMgnPs159tjMd4XL0yZcYkpcdTAwMDf6iKRcdTAwMTTUkqwjPSert4BkvelcdTAwMWS13Tnx0idcdTAwMTWhIHwu05VCYoPhsimbcdgyK3XhlKCWuY1cdTAwMTdcdTAwMWTxj6A6a3w0mnNcdTAwMThcdTAwMTQ/vjVcdTAwMTVcdTAwMWV8fX5nI3Wce+bvrOT+NoxN+k0m58bq/CkyR9HTv4viSz2510dRjZv2zvqH8uNCviprvpDSM9PnTfBDw08944vva1c/9Zhm1vf5uy5kOX7uw8Sx86a8SnZQNDW4XHUwMDFmOlx1MDAxNfRcdTAwMGWvqlJcXJE/Z9i9gVxm9IGWX6XVaSmMnr1ym0+7s3h8huTeXHL6/S2Ovki1mjlcdTAwMTmGNbjTXHRcdTAwMWJruqurXHUwMDA3UigkwKuFXHUwMDE0iNWZw1x1MDAwN1x1MDAxMLPaXHUwMDA20DqPrcyNIPXAfr9cdTAwMDFcXDpcdTAwMTZccqjxn/uJllx1MDAwMbEqjJJXlvhVeFtNXHUwMDA0Pb7B6+dDoCylN4XANeOx4FlcdTAwMGa7sqG/gqjDbjeN+lx1MDAwM3eTXHUwMDE4XHUwMDEw0NB+0eu1srTouLwp5X3++pFOykbfsU1cdTAwMTFrVvNNOHmZo91hvGjV11xmUnkj2ePob0dg+lFx7jafXHUwMDE2qFx1MDAwYkvktK9vZvU+9ZRM3XfF5eyi7DVKv1LFJuD09qb6wsRK4krVXHUwMDA0WIpcIvJxed5EJVxuQpVhrr5Uzvu1o8FumKFU74v492yGklx1MDAwMSdULlxi3/YpTKDNU7MgXGJuJOPiRCSyylta3H9p5lx1MDAwN1xcOs/fRJP2sOFXklSK/Fx1MDAxN+ZXi9P88GlsflqbXHUwMDFhXHUwMDFmgckvQePe41xuMcTn87dcdTAwMDel6KHFXHUwMDE4daRcdTAwMTJcdTAwMTJ+t1x1MDAxMat4s/uy2Vx1MDAxMk+qglllfFx1MDAwZlqKRTrk72/O+otcdTAwMDFcdTAwMTb/XHUwMDEx57xCus6VjaorOINvodDvdaskvr1cdTAwMWZeXHUwMDE26CVs3FxuXHUwMDAzx7FuXHUwMDA2hbe/xVma6fj2vIFcdTAwMDdcdTAwMWKeRJuOXG6YOuE8UOpnsmvR7fGgP9xzKSBcdTAwMGb3QlW4hpWxzJFcdTAwMDVWXCKIjlVcdTAwMTdcdTAwMWVNdmpcdTAwMTVgXG6zvFxcySXdzj4wmfArXydXXHUwMDExrrTOfJx+OE1cdTAwMDHLgFx1MDAxY3DFp1Z1XHLxRFCnMo5Nmp/GSV/8rOfUlzK3n1D2ILh4j14/tiMkKjhJwifyx45cdTAwMGLqzdgww6yAN1x1MDAxMFx1MDAxZXWfQ1x1MDAxOS0wQ9DxU5adW4RjUpBcdTAwMDJR4CiUP0416plyvqiZXCLa0ptJZ5us8UNJvSsu80SG17tcdTAwMWZcdDLiwVx1MDAxZZOStiNDz4D6belcdTAwMTVZx494Ulx1MDAwMPJC48yQnFx1MDAwNtDPs1x1MDAxNzG+flx1MDAxNFx1MDAxMY079U2mkrXp2iVcdTAwMDagOOVmSMlIiG/u2U1fhVx1MDAxZtwvJftTlHdPWjxRQVxyyL9kr788prEmlLFcXDzatFjqgtHTlfxVziF9Ruzq4qGprGGRj1VWUFx1MDAwMWpcdTAwMTfmfcfii7pBXHUwMDE49d7mp4ZaaVx1MDAxYlxm745cdTAwMTDY3kjWUvMqT7U4nS1cdTAwMTa5XHUwMDE35omxfkbkdFx1MDAwMrwu9530xcxIo7v3XGI+ij/FNc2tYV3f6PtG3plcdTAwMDGj4iZrcGB+71/Uj8WaMKU4R9wrYT7KXGJEWV7471j5w5noWCfTm5GVqT5cdTAwMTFR3kZcdMF7ksLkXHJs9KRcdTAwMGaoRrdcdTAwMWNVVLGyiWTFqCfSXG66MEvN4ZHEXHUwMDA1z7DzxaR5IbyBqSjVqlvh/USX2qnb3/7AMdaPlpo/MctaVvwwRZ6X3aBIXHUwMDE1WzGw1klcdTAwMTFcdTAwMDVZXHUwMDAxXHUwMDFlXHUwMDExhkLJXHUwMDBmxynpoZKd8lHAqVx1MDAxNTNT0VxuqFx0XHUwMDA1359cdTAwMDf8Ts9cdTAwMWJcdTAwMDbBXHUwMDEwfVx1MDAwMNxcdTAwMDcou2U1vsPrlqS3M84+9cub2z4wXHUwMDEwg1x1MDAwNGL3t1GiUlx1MDAwN1x1MDAwYlx1MDAwMUrLMlVcXEqDs1xuVa+mZqhNd6SjtfsxhZ/fyJ9tldrub7OZ7L0xUF5cdTAwMWZEIWOk9uCnXHUwMDA0LVx1MDAwM8zL9IeCY1x1MDAxZZGSXHUwMDBlblx1MDAxN481fFjfXHUwMDA1XHUwMDEw79hYXHUwMDE1c5r31KpcdTAwMWRcdTAwMGJTuD2eWFxyVlvZzFx1MDAxM3xMXHUwMDBivatcXFx1MDAxNFwiO+CIWvrYdlx1MDAxOFx1MDAxONzseVxifjZcdTAwMTn//7z5/9bRRlx1MDAxN3/z51x1MDAwN1x091x1MDAwMFCGTcnwuO60jrY4wa2F2mWdk0GeWpeukoWb0Vx1MDAxYZWwXHUwMDEwUFF1XGLAXHUwMDE2zzZ6JsVY/06vrVx1MDAxZDvnXHUwMDE18Oe2KTouY4nxNTPIL7hszGT+jcVGtlx1MDAwMNyHPlx1MDAwYlx1MDAwNeOhNYLdtpZoXHJcdTAwMWFcdTAwMDZKL2RcdTAwMDGMZEu/n1x0XHUwMDE542kg8syTn1uQio+A5FW+9NB2RqqRX4KfcJGjiTjK8aArkHKYf2GYrsBCl9eNLS4kssldKHNrdVx1MDAxZc6p0oLQX9K3wdGetW6t2rHDVv9cdTAwMWFQ9Vx1MDAwYlB/tf20TUfrNuXR3Y/yXHUwMDE1rFx1MDAwN08t+TpcdTAwMDKvllx07mSUIOxAbIWhrznu1u4pdUxcZldFPlx0Wq5d4LViMWtg+W7LrJObidK4zdxAaN70/LBy3OOZ9lx1MDAwMXXygiuMdlxmXHUwMDA3Y4MpXHUwMDBmP0L2uD5cdTAwMTbybshcbqHulSr4UoNuJz5Ss8Qz27eT7VxmmErTtlxyv2SS92Eq/vRNk8DXg8maWMXbaTC7XGKFWpbygN7eP2tMXHRCclwiXFz1XHUwMDE5w/84h01YM4+zoX5vRWlQm4GR8fXCXHUwMDAyPrypeT9EXGZcYi7VVK+Zm9mMjsieJs9SUWvMb6Nk499OtivTPM/l91k1hWxDgDWQL1COgNAqPfbBlIXcVYBcdTAwMTgj3bL3XCI5TFx1MDAxNtc6qv3XdVx1MDAxYf88XHUwMDBiWo0nXHUwMDFknOL8/lx1MDAxYtp2T+gscuimLmX9qudzfIxcdTAwMDVYwvEhqL2EJ7uETTNe38LTkK26VHPIhM13R4RvXcqX4MQmeP/ayqHMkjXCiVD0WPWGcTdlxVx1MDAxM3DceePS9/xcXFx1MDAwMb549bE7a7/OZCDiTpUwXHUwMDFm4cOJ69RPnlx1MDAwYl/5h+xVVFx1MDAxMzhfU1Shupb3+5/ZQvztNUdb91x1MDAwMOHgZbtHRCXNKFN2XHUwMDE3XHUwMDE0/0fGcefp8lx1MDAwM1x1MDAxNrhSOS/ANvCAg+hTXHUwMDFhnFx1MDAwMVx0I4bsXHUwMDFkyaSu4l8767B15+ZcdTAwMDGGRlx1MDAxMGuDxJvFRWBcdTAwMTPYUndxnvdwVrXxXHUwMDAyQVP+Q1dcdTAwMWPU4qU+XHUwMDE4eYxcdTAwMWSg+eYkXHUwMDEwl3SoXHQ2/3GinENcdTAwMDFf6Vx1MDAxOH7bvnRcdTAwMTHn/Fx1MDAxM+RcdTAwMDJd2IlxKYFzsqZcdTAwMDN22O/nhIdcdTAwMDaO3nPqg5fMyK33uLvvSEJbn0VWi7WO7/hcdTAwMDJ7Rlx1MDAwMaOcyKxB0i8pLc4nvSNGKJNEvFx1MDAxNO3j0IV1XHUwMDA1XHUwMDEwOlAt+ytl/Iqe4Vx1MDAwMNmJJlx1MDAxNqx0XHUwMDAwRPNT9lFrKlx1MDAxM91PUfnmU6AjOZz6hexE+6XRSlsvlimjp6NduTDDXHUwMDFiZDKsKIBcdTAwMDAyXVx1MDAxNj4sdk8jXHUwMDE54SnK4SSc+JtcdTAwMGKQuOXn9DKf8W5oVcHwkUdIhVx0iVx1MDAxMs2mXHUwMDAwXG5M4kFcdTAwMDEvsFxy9Fx0XHUwMDE5788g8DrjLlLXq3SNyp8wXHUwMDFhMk3HXHUwMDFjwO9wQ3fmdOFcdTAwMDY0R/XbpdRn3W3Y+Y+zXHUwMDBmXHUwMDAyTP2bg5IvhT00VFx1MDAxZdNNUVx1MDAwMkyuMVx1MDAxM8vI9lx1MDAxYj8mSulzXHQv0M0wjMKwqiuIXHUwMDAx3PhcdTAwMWVcXMVcdTAwMDGMcX3g3OKTc+Ggi1x1MDAwMd8/KWtcdTAwMDXKr1mCL1x1MDAwZaWYhUQqXHUwMDAy/SBlbnlH+GzT+lx1MDAxMl4pr53wWVx1MDAwMpNcdTAwMDfCNtNcdTAwMWZAp/pcdTAwMTJ2SldHrEgqM6Xwwd9Tosi4uqvXw1UxUL+T4uHs+GGhW4HZ9VtcYqXRkCuacLQgi9W+qixO8dWdyfG24zCDdH5zjFa+vZh5Q/hWm8tIoFRGvOzMaFXCn1x1MDAwZlSBvEe8uVuDqJa7uKnZpSnxXHUwMDAzvNJ+cTLBX7qxt5Z3yU81N93ZuqJkJeBcdTAwMTdCJDC1outcYlut5olYcZ3vRUsxjVx1MDAxOFnzO50qXHUwMDEz+2FesZLGmuXUrWJFzcJEROX96UI+w4aI/8IoQFx1MDAxNVks7Z1sLLaakXPPNj2PXHUwMDBlwppWi8yh4E5Qe4uDpTJ393VcdTAwMGL9VmdP/XdGaurvLLl8USjkf+Wojq9hm8ib91x1MDAwYt64npPaTdeENfuI0zdVINos6tFqZtDfPDW6XFy/htKze7dbhjqy2uXuxaSfeFx1MDAwM5VcdTAwMTYp1VjGXHUwMDFkkJOCqDmfXHUwMDAxRVXP0uprrUznrFtdhsRcbpA7xJRcdFx1MDAwNVxujTzUQFwiXHUwMDAzUJeHXHUwMDE081x1MDAxY2TlNzn//1x1MDAxYY2/Wit/yFK+KFx1MDAwNqD5SvepXHUwMDFksUewIVx1MDAxOL1iiUyB+UmCouhcdTAwMWJcdTAwMGZcdTAwMWHL4TJMSm5cdTAwMDVcdTAwMWGbNcrUqVmBXHUwMDFi3de7euCRuD9cdTAwMDViNfuFg3g3XHUwMDE27StygsTPlYz5mVx1MDAwNfuOXHUwMDEzyFx1MDAxZvFehI89kuSqW4tmdexcdTAwMTdSOKWvg7ngO6+sXHUwMDE2Wlx1MDAxMFx1MDAxOEfvyt/OlIpD0k1cdTAwMDakXHUwMDAzsY812353XGZMt54sXHUwMDFmSLFgOupcdTAwMWRcdTAwMDbmXHUwMDA2d+QheXVQwEGRkoKJXHUwMDE0XCL8XHUwMDFmgJAg/3VItUA/11x1MDAxNy/ZKFxi+ag8h1x1MDAxZGww4mNcdTAwMTD1ZJVknlx1MDAxMdhcdTAwMTJypolf1fK0KqdEXFy3tyVO4a+KK8n7MkGe2mLz0lx1MDAxMDnju1lZn8a3ilx0m1Q+6HGvzKxX7Hpddlx1MDAxYlx1MDAwNUqUkV+i8mM5Q8I1XHUwMDE4fZaj4iRUaYniNpZcdTAwMGX3XGJo/XQ6dPlxM/Zm40ZcdTAwMTS2WOCZoYV2Xm5L9MKsuk7OS1x1MDAwM0RoP3xFj1x1MDAwNa6BIVx1MDAxObU2yPa5LFx1MDAxON/4SidTN+Nxjp9pJKBcdTAwMWO+2COCL1hywlPLqTWn1Z3cZCqbXHUwMDAz/aNcdTAwMGZIZ1VcdTAwMDTtPrGmVnpvXHUwMDAxeTg1XHUwMDA2isaI3rNcdTAwMTVx8Iis+yt7lcDFwZWT9tMsXHUwMDExsGpANoH9QGhHPm3VJFx1MDAwNrmbi1glmFx1MDAxMHyrsI7T2l+cn1x1MDAxZFx1MDAxN8Tf9aOoelx1MDAwZcZGojeJ4vmFpKDe/cdayOk0/iaT7KpsTFMnuVx1MDAwMP7AZqXd5CdAjbhPe3bHaKCEfnqJValcdTAwMDRcXJ/gXHUwMDE57LbnzozB9IpoLL63UqdxvqJF2Zqx7F9458drzKKTIdk8vFo3m522h7hcdTAwMTLu8KeOXHUwMDAwodqlVOGLwFx0XHUwMDEwo9X82KWszp+PXHUwMDAyOkfsd8v5tfTdXHUwMDE2RyopXHUwMDEyZlkux5cqU+lcdTAwMTKSe38yqb/6czaT8zlYfFx1MDAxZWb74Fx1MDAxZF9cdTAwMDTHXHUwMDAxO6QvdMmKXCKydpZI6HQpNFxi8Fx1MDAxNmTKcWXBOlOo+JfPpS1ccllcdTAwMDPE/dvbXHUwMDA1+LJcdTAwMTBZXHUwMDEyQcCiX/bijXb59C3qINJlOlx1MDAwMVx1MDAwZsxSxjpk/Kfna7maxMAoocQ8fcxccoywlffZydDv9WV3uX9cdTAwMDBcdTAwMGJcboz/IGDwMntcdTAwMGLkKqXbKubmjv7kQU3Vn9z7iOXK/F7mXHUwMDAxq2eB0l5cdTAwMDQysYU6LdllPVshmlx1MDAxNjJCispj0DdRXHUwMDAzsXLHWXOjbc3SXHUwMDE0abFEp1x1MDAxMt5cdTAwMTji1UtcdTAwMWH4g/ezR53o+TjEp5yb4tWSr0Q55ohcclx1MDAwMVx1MDAxYU5SN9t931x1MDAxMepcdTAwMGJKNd9S918oSypcdTAwMDI2i/yV8KooMM+E2e/yLSpoXHUwMDEwt/rZqrD86Vx1MDAxYVx1MDAwZq6ivbIo+9mg+O/qelIukWrh3EZIPIhoZiCmYfWDKJ8xSK3MppBtXHUwMDFjM2TBh5pt8OBonX9cdTAwMWKH/Z9nz12Wzk9IM/FNhcdrXHUwMDE3NaFcdTAwMDK/MiBcdTAwMWJcdTAwMDBojs2HXHUwMDFmjjbiXHUwMDFi2lx1MDAxY9E0/Kd8XHUwMDEzMm9cdTAwMDaqd2f9XHUwMDA0jVx1MDAxNj1cdTAwMDBcdTAwMTLJQ8zFOFYkz4oqmlx1MDAxNtBmR+COhNtcdTAwMDAzZ25ekM/SvrN2XHUwMDA3ubPQcNdcdTAwMThqpDEqXCJXXHUwMDA3waDx+kfwylx1MDAwZlx1MDAwZiT1oPZcdTAwMTak6+8nua044lpcdTAwMWV9k1x1MDAxNMKeOFx1MDAxYn+6vahcdTAwMTJvgsrrXCKVJmGtXCJHRoKlR6NDXHUwMDBiXHUwMDFi0+Cb3159ge73nX6yIFlXXHUwMDFiJ6xcdTAwMTKrL/DVXHLa+aBQNs/Hpk1WL1xmJfFA7vR2XHUwMDEykftdXv/+XHUwMDAzKlxcXG5cdTAwMGbMY/BcdTAwMDPk3Fx1MDAxOGVcYu9cdTAwMTJKvHZcdTAwMDNEQ8mMtzUnqG/lb/9oXHUwMDE1vERqZNSZuNUuXHUwMDE4n2pFylx1MDAxOahcdTAwMDZNqajGJVx1MDAxMO4peZehomzPXHUwMDFlUFx1MDAwMb5cYrN+kPRjNMfo/XO0XHUwMDA2foMg51x1MDAxOT5cdTAwMThUg7lcZtXsqKauNyfszffRgZ26fyM2nazVzVx1MDAxMJzGl7lO9zejbfNp5lx1MDAwNsy6fzdh6V90TPhDX/VyPK5a8ltcdTAwMTTM50xoveNb0qulf1x1MDAxMq1nN5DeoNt8WJ0vsE/RXGJcYoT9ZFxyMVx1MDAxNWR44YavlNE83etGMsTenmfDpCu6flx1MDAwNtpcdTAwMDKPg31GTSvlXHUwMDAyXHUwMDBlRZr1KDfRzjl0UnVqL1/G3FvJr1x1MDAwNLx9NT1099/PoaL+zqGya6d5WjSdLTlGSSefpPvNJN9fXFyR0KuCP3C8xSYuMqVd7G/lXHUwMDA1tySNhYNhQE7VXftcdTAwMDZlXHUwMDFmvVx1MDAxY1x1MDAwMylcdTAwMTFFbHb1zO6i7viB1bjlaWbrXHUwMDAyuWd++0ClWtmotImCflZcdTAwMTLPYvKbXHUwMDE12U/gv9153rtm5Fx1MDAxNigowkhbqPBcIqW3YzbNyU3m3O3aXG7MKjD4pfppY7KQXHUwMDA0K5gje1x1MDAwZUpcdTAwMTKgQfJcdTAwMTR0XHUwMDE4SSCxx0qouKZRXHUwMDBi+83l4m/sdVx1MDAwNytQ98ab9a1cdE6x6aw9LryDMlx1MDAxOLelU6P8Kq7t+ZjxfYB+UKg28IlOsy1cdTAwMTI+fkmwlVx1MDAxY1xu31bJXFxqZ1x1MDAwNCeYV1CwYl5cdTAwMDW7USFcdTAwMTghS89cdTAwMDVsXHUwMDFmR/HuJC93RbRcdTAwMThcYlx1MDAwNqJcdTAwMTmhTmqMjyPavXpcdTAwMTBQZ6JCY6jTM7dXQdFcdTAwMWVAIOtRZl9cdTAwMDKoXHUwMDE5kljh1lx1MDAxOTKjxvTNU492XHUwMDA02YG+q7W1orTtbFx1MDAxOJ/+wl2teGVcXGvcinN10j/TtVx1MDAxZdBmmp+3uOqS1ZfZQZBE/1Qg8ftNXHUwMDE209Y2PVjtrqBClbLYmMVDXG6IUNGntfZ34eind1x1MDAwNeKJKOT0YVSEXHUwMDE5mtHFQlx1MDAxYlNnq1FLba5cdTAwMThcdTAwMWXTqGemRXtcYlx1MDAwNVx1MDAwYkbE0WZcdTAwMDXX1JRDb6f9LdGwRlx1MDAxN/qve0czLp1cdTAwMTVGuOKcgjlEyjVcdTAwMWND5DhMS1x1MDAwMko+YFx0ZW+ar3C6pOWvXd9DXFydL/e/mYlo+eNHld6K21x1MDAwNz2k9sDWWXBcbuSXUuEocLnAdftcdTAwMWMwgEP3Z1x1MDAwZZzcritkT5FcXPdtglx1MDAxNr9vXHSk93NdXHUwMDAxnVx1MDAxN2/qMj7/TG1cXE1iO1x1MDAxNrC/gc9olCg7j6fH0FZUvkNnfVxysl+13P5mpIl/8zdcdTAwMTnZLo5cdTAwMWYssrY/sVx1MDAwMZ/j9kRcdTAwMDXTydbjW8KfLv5cdTAwMGJcdTAwMWVpXCKBk9OKRVx1MDAxOXGjgPiow0uwSzhcIvfy19e8TJ3zXHUwMDBmLJSpXHUwMDEwK7tcdTAwMWZcdTAwMDaL61kgqns7XHUwMDBiX5BIXHUwMDAzRatcdTAwMDOok2Zjvn/A/IFeeztqTbVzXHUwMDA05riwXHUwMDE4XG4wp0D4QVx1MDAxOabfgk5EnFIz1uM0NFx1MDAwMSqRL48+XHUwMDE5XGa1265h8GCof2OtXHUwMDA2f1x1MDAwMVx1MDAxMrUuXHUwMDA2+kzBxyBbXHUwMDFmXHUwMDA0iT2/j1fTl1x1MDAwMUlqYsD7nSamXHUwMDE5mFxiL8BcdTAwMDdcdTAwMGbV3bp2qlxcr8enKVBF3lvk53zMQlx1MDAwMtWzMZhrvoRcIiXTvkxy8qTGXHUwMDA0JVOntrBcbnjFSDTSXGaoptdcdTAwMDev+lx1MDAwNVl5RVx1MDAxYVx1MDAwN3lcdTAwMWK86iahXCImXHIub4WD9jVcdTAwMGZcdTAwMTNXNF99/btDXCLXrI3o4Vx1MDAwMOezV1xu3POK43hHfk/Xh/xcdTAwMGVcdTAwMTmgnZV891x1MDAxZnOQZlx1MDAxObSajG/BQKEy4DlcdTAwMDHW1UxSQUh2NFtcdTAwMTikXHTe4r6BWdiPbJJcdTAwMTfHduVcdTAwMTHCUvtcZkUysr7e1G3u3qtcdTAwMTL0WUTGnj10XHUwMDExV/draeFcdTAwMWFTL5dgfj+5XHUwMDFioXGipoMs8Fx1MDAxMoeqrG2JcZ7vmbtKfEzwO4Nkwlx1MDAxY0ug5EtipcUpXHUwMDBiRWS2XHUwMDBmUK5cdTAwMTA2/Vx1MDAxMbtcdTAwMWYuqpNQi2XAJVfJnPVcdTAwMDe3XHUwMDE49lx0a1xuXyrSob/RfjiAVbyU/ULUXHUwMDFh1kqi7Xs5XHUwMDFjXHUwMDExWPKDdJJccql5MVZcdTAwMGLOrEOoXHUwMDA3ROF1xU2teY5+P6mx5ZfoU1x1MDAwNnavIFx1MDAxZn6G6IjXPS0/f1x1MDAxZX7DN8LHuOBC+1x1MDAwN88tbMtcYtTW+WgxuKXSODJJqoRcdTAwMWTGvCbmjCTkfjt/o6ffZq3OVuiLlKb0iVFQ7iBcdTAwMTauU6JcdTAwMWTnjsm2K7qPSyDFwj9cdTAwMTmdOrzCclx1MDAxNWhy11x1MDAxN1x1MDAxYoTFaOfXmWTRWl+rVlx1MDAxNzdcdTAwMWb5MuZtJSOI0jKq3u8whCt9VqvvxSleXHUwMDEwjbyfNSZcdTAwMTLC/k1F/t2K4ORihtVKoGnSjJJrWVGgg20qNtUv2091gry5uVx1MDAwMMVbOO2py1xuxTLXXCJcdTAwMGZ0mj1IyfX930s9n0AwpXEkXzakpCWUkYoxxZ91QVx1MDAxZkQ35lx1MDAwNY9a8rfCJlx1MDAxOZKRXHUwMDEx0Fx1MDAwMFxidNJnuP9rnnvM3L9cdTAwMWHjXHRjJJelt1x1MDAxYVx1MDAxNlqEyYbj6MhcdTAwMWMsyyRxSryzXHJcdTAwMWbpbdMvbVx1MDAxZaC4/7lblU7wPt9cZlx1MDAxZkJsa+ImX17Q1pQwsVx1MDAwNFv/p1x1MDAxN/N3QpPoxfpSXHUwMDE1qqzvXG7+2pQn4U6yXHUwMDA2dcpcdTAwMWRdWFt3mFPhU35cdTAwMDPIVFx1MDAxZpZWfU1cIqkoxHeeXtyzM2dcdTAwMTX7NTA040eCR1xyPUD5tVNOZvK/i2GcvFh+W2jviVjKpEd1gdRcdTAwMWJRlNhXYIVv28l/pVx1MDAwMz+VYs6/a9tcYlx1MDAwM3tV8m/xu4mCIODTLFx1MDAwML61irnXmCqG739/46Kpz30n0Vx1MDAwZY3OQGGbXHUwMDE4ySSTfT/gY0ndQT3Y+jpcdTAwMWVW4lx1MDAxMrzDo7a3+3nIfMlmdlx1MDAwZrKhU1I23Fx1MDAwMWCFaEpDJ9rB39zQXGYroUit/CZHlWDTPmlcZrnMunB4I9YyXFxP6b10oNRcdTAwMGZTfoVGQXJcdTAwMDTK9M+CuesxbfI9Kna1RiRcdTAwMDVcdTAwMDE/kI8yKe2VZ82mUPDdN6s7ub1ZSlx1MDAwYsRcdTAwMTjjgmh8XHUwMDE4T933XHUwMDAwpUj9R3afXCLEzensJYiihahRNpbtXHUwMDEyTopE+FMtXHUwMDE29tmFV/NcIlx1MDAxM7BQ66xcdCXB4K01/JDGgnPJ1edcZlx1MDAwMTWtXHUwMDE02tiK03ioUM5cdTAwMDaS0NasoHtls5Xe6qRUvyNcdTAwMDNnediPMCPw7Vx1MDAxY2j3K7ttK6OvN3K5zbHonlZcdTAwMDE681x1MDAxNr7IKO6i+YTWvUF35ujNlbRZWCZOl4a3XHUwMDAwr1x1MDAxZVwi9J2E9vybg8KCXGav4P3r/NOfvzLpOP6tmVx1MDAwN1x1MDAxNYen87/NVFx1MDAwMf1cYkGvSDnysndRXHUwMDA1/EVsPMdP6SA9llx0mafGXHLp/TOjXCKdUJx4o1XsXGaW3vXYim+vyp+M9naYXHUwMDE2d71vyLpcdC84b0TEZ2tcdTAwMWVcdTAwMTVre8uqNNI7nd4mX3xQwri/5ehcdTAwMTlcYoxcbmWV6ojQnL1cdTAwMDXoLd8mxoRcdTAwMDQ+UVx1MDAxODt0WH9cdTAwMDSqKH9qrt5PP/dq32NcdTAwMDJcdTAwMTZqQbndRaBwXHUwMDE5qo6fSmqJge9cZj6ZXHUwMDA0ui43XHJplPvuuJDOvj9cdTAwMWLgZUK6jtKYL0tcdTAwMTEyRLeFzzmN46dk+qlmXHUwMDExJ+PO4yP/3Vxy70VSXGJipLFidShcdTAwMDbQqlppaLFmMDJcdTAwMWZHYZiUy8wwXHUwMDE3nEBQT5JxtFx1MDAxMkBGXHKsfoFcdTAwMWE9XHUwMDAx4C/X94n4uEiaz1xcXHUwMDBiSbE4csBEidEnmnLNiZp8xDq+VrRIgGbasUS9XHUwMDAzab2AXGb/wXik0Jvptd0vmshml5NLslx1MDAxMypRzMhwMKFpenLQmS3EWMdXNfZcdTAwMWNcdTAwMTVv03NcdTAwMTiTfbRI/WBoQyAqRT7UaVxcralcdTAwMTPxfTRcdTAwMTN77jb5wVx1MDAxZkAuaS8w9du05mAzlr6VrOdcdTAwMDNYtc+MXHUwMDAxzrolXHUwMDE1IbtcdTAwMTQttkHcu0xcYnl8sOZHYE/anlx1MDAxY5tcdTAwMWVp7lxiL1xyMXnQ7oTm+LFdgVx1MDAxOYbRI1FWXHUwMDFj54fQK4Jrg69cdTAwMTiy+Dkmyu5A0LI9NFxmirXRoP/ux//zLDQ9PLzien7fSLizuFx1MDAxNKctsp03hlembfDnI6DZayBcdTAwMWFcdTAwMDRcbqrGxHSm/d2y81GwKlM2Un+IPNxpgTX4RpZcdTAwMDVcdTAwMDcvmNWGXHUwMDAyXHUwMDAxYDqKVcO6lL+5mMDqXHUwMDE3xdBm+nz9Lqyt+lx1MDAwYkBQ8dNcdTAwMWIzby7upu2PXp+JZEXzrL5R3Fx1MDAwN4fvjmVcdTAwMDDVX3UsrbrjlcDHyeBcdTAwMWGj7oqHiO/5JVt6jLlcdTAwMTlcdTAwMTF5mDFuKLPiK9NkUOZcdTAwMTjSOl/Wqlx1MDAxNlx1MDAwN47aXHUwMDAyp2lCpn5cdTAwMWFcdTAwMDF9vlx1MDAxYpi9VYSrXHUwMDExlS/qXFw6oJyti7hel6hFlMdcdTAwMDNcdTAwMTl0XHUwMDFkP+Vj7KeYl72K41x1MDAwYlJxXHUwMDE1c27ilVJcdTAwMDItVsi2KUF2uEhcdTAwMDRcdTAwMDW034OM030+kKLBwuh3rGBcdTAwMWNs3euNJYr1KbtQYoR25PR/91x1MDAxMtNNSzbh71xu0GIhJdx2xpT78Z8sXHUwMDA0TMZXfTuTXHUwMDAyL2REx1x1MDAwNGLyiuyTXHK0QHVd0lE0gblcdTAwMWWn1Vx1MDAxYYGJv15cdTAwMTAmXHUwMDEyPl/fwWpoNkAxnzo4XHUwMDAzMlx1MDAxMHrgc/ugXHUwMDBlmMNNetWh5mI1jFx1MDAxM9tr7ectRr+NfOTtXCLJNMWRXHUwMDEyLCSei2khjzDSvm6y2lx1MDAxNVeCcoS9db+vLODBWHKJvPP9bHpB91x1MDAxYrlAolk0XHUwMDFiuPWnSJtagDW91O1dW9BcdTAwMDJt3W3AXHUwMDEy6/teyfym5G5cdTAwMGI7XHUwMDFjpuNcdTAwMTT+iyWW+Fx1MDAxZq1zXHUwMDAwXHUwMDFlyJOsdlx1MDAxOIHn/F7sXHUwMDBi941qKGFi306v1eO5XHJOSItjtSszx2GKtsQgaCGJLU82e2aru1x1MDAxNVx1MDAwMVx1MDAxMsWNTevyN0VDmHBcdTAwMDMpmUGo+9X7RUqG6fCfOryhqi9LedZwY+q0VVxiKOM0Qj+0y537fkI8O1xyU9M9vFx1MDAwMM6NV+zM8W+SV84k4+Y+VqxrXHUwMDE5jHaTqdyKqlmPz07Kxri0k+FcdTAwMWVP/Wt+1ERcdTAwMWaRUIbyXHUwMDAxN5eRRCvbnDVVRFx1MDAxMJvFr55s0Fx1MDAxMKlpm9E0jEUguM73tZfrXGJgclt9yyCTR0v3k3rPWVx1MDAwZnRyy7NNd2Odi9lcbqFUroevSzKtPatkO8YhXHUwMDA1XHUwMDE1pnegsvbMXHUwMDE3XHUwMDE513aGnIvnyZtjJC21tIXTLO9cdTAwMDLh0oFcdTAwMWLXXHUwMDFiXHUwMDE1YYdMTnfp0UHKylx1MDAwMfDn8lx1MDAxYf5cZkbDhPNvf61cdTAwMGJhXHUwMDEznHiZSG4uXHUwMDAwdkxcdTAwMWWg5IvK8czDNruTckN0dkJu3SvwWlx1MDAwMqGIklx1MDAwMNzp71xmP6Xes1x1MDAwNuN3k2xcdTAwMWV86Fx1MDAwZfUzXHUwMDBm2ShHzNHLfH/HaTlfXHUwMDAw50nqTJeFPXp4XHUwMDEz/5QvbimIIVx1MDAwYqJcdTAwMDPnvcD3XHUwMDA1mlx1MDAwMVx1MDAxYirrkubQnVwijlx0bGYhu7MzPjtRXGK5pjNyrVx1MDAxYSbaMLnDb6Nhzlx1MDAwYk4455zVN769qnmkWiNGLYNeQb5cdTAwMDUpTzilXHUwMDEz/3W2KOtoXHUwMDFjy1KJXHUwMDEwX1x1MDAwM0g7/snXMGJVRvgq8OAnL2rQQLWgf33DPXqh65bYXHUwMDFmZ9edSDKyXG6guvZm/1xyXHUwMDFhQLJcdTAwMTixp4zrmEs1XHUwMDBifvLtq5u7SvikeSrTPjCbwuPns5brWFdxs0iB7lx0XHUwMDE3VF5A60Zj8+Zk7kl9eZCHtfO+vr1cdTAwMDeUXHUwMDE5NTNcdEUg+Lfecen/We+YT5arYVRZJZNHPYtcdTAwMDZp4Vj5XHUwMDEwNrxtX9lbQW93M2M0g1dVTdlyNqZcdTAwMTZKmW1M+0d0L1x1MDAxMJBMdHujzbgyp/SFXHUwMDEyf4bXTFpayU1M9plcdTAwMDUmYuApvyBcdTAwMWJ7QPk2J/D8qrh4t1x1MDAwM19l36rO7/ac/674XHUwMDE405Lbh/FrtmamZneCYsjrKlx1MDAwM1x1MDAxYutcdTAwMTB3QTFcIlx1MDAxZCpQXHUwMDFiR+5/NTF+ZCDbVbbPSbCuJGHhXHUwMDFiXHUwMDA3dFfBpyw5kDQyXHUwMDA3WY3Ob7xJ+jjr8WNcdLjhPrPVhFHvgJJcdTAwMDE9op94XGY6XHUwMDBl/rovbvtcdTAwMWVcdTAwMTnE0LKYXHUwMDA2S6abUpXKODpcdKqHXHUwMDEwZlxcqUzw/YdZNWp8Wfb9+StcIup1qrckJCpcdJOH+kj733pYsTR1gmE+4SMkXHUwMDA0JTed163fSXdyRm/4yrPWqIGzk1x1MDAxNCmaoe9BQ1x1MDAxOVx1MDAxM+HmuTyFXHUwMDFi19ZrcT8/qpDWyVx1MDAxYZd5lF2h0dYvgkD+qseu1zmAmFx1MDAxYVVcbr1cYmdcdTAwMDKB/O/z9FHx/Z+5+nZcdTAwMDQpSnxcdTAwMDSeWeh0n35cdTAwMDZmsFx1MDAxYyqSomudSNHG4Fx1MDAwNfizXHUwMDFksr6i2nmaO8CFcDJ52ak8mnXnXHUwMDEyb7dBXHUwMDEwp45cdTAwMDK1c7CbXHUwMDE5euxTQ0KMdjgs/n7lXHUwMDFjWmm0mp2FaddcdTAwMTLikT7YhcDRzcGu4P5cdTAwMWR5+Vsxsm4sXHUwMDEyJFv2XHUwMDBidMVcdTAwMTFRupMxXHUwMDE0gtV7nbjUI2xcdTAwMDLXIFxmW360XG7xXHUwMDA00FxiyZJcdTAwMTLK6K68jmNA7bd9w5N/syamjilwSPxD4tvTfIuSZGPFZdnHpNg1asPZ73PHP3J0cq8vJEviQHPnuYEnhCxMfs6FUO/F1Y7kXHUwMDE4SSyKt6O1l9Y4Z3w1IIreuFx1MDAxYTPi2olimd6qI/mdXHUwMDA11SRH2unAbLBYdXUgRqVuieSW7u9cdTAwMDJU64TFyYlfXG4hZk1QXHUwMDE2waR/VyaN8Vx1MDAxMSFRltio9NyWXfhLz62IZe/5unpcdTAwMTM2KrNleFx1MDAwMdAsvU1P9rWsVuiVWCBcdTAwMDamtvSp9U0lXHUwMDA07VwiJ+hU1Z/swYhUXHUwMDAx+DnQ5qmodo6mXHUwMDE4/Z7a6nWimStvLFi+XHUwMDFkXGJ9W5ihYPXI8NdfiVV7vse917OovVxiUJVkXHR+XHUwMDA21lx1MDAwMEylh/g4QN/mXHUwMDA2osug0Led6Fx1MDAxNFwi4OHbqFZcdTAwMTBQrkxcdTAwMWH8kfY7XHUwMDAz3CBkbU/VOs64LiHxJ1x1MDAxN8hdcdCiKYVcdTAwMWNcdTAwMWZ08Vx1MDAxZq7/V55cdTAwMDPg8Z897fSPo0BcdTAwMDOjdXyPOUb5U//3Q+FClHJ+6lx1MDAwNXhDirFcZo7Fm3lkXHUwMDBmLc7qXHUwMDEzjIbG3Vx1MDAxM9xcYk7xXHUwMDE0N1x1MDAxYknpktBcbrPudnL5XHUwMDBl2Vx1MDAwNlwi0PSvzV3mi7x08lx1MDAxOSCxIcT1b0tcdTAwMDHTXHUwMDE3hlx1MDAxMrRHyq3YhVx1MDAwN66ZadlFOWJ9cSzg9MiFgI0guf3rXGJcdTAwMWEjl9DfOUZcZrReSO5ILOdIwU/Q9jr4XHUwMDFlNDFcdTAwMWJINOBQXHUwMDA0UGQmXHUwMDBiJEuwxFQgXHUwMDE2XHUwMDFmXHUwMDE4uuJcdTAwMDOgqELDXHUwMDAzcFxyh1x1MDAwM/WckHxyn13V1ky8juzfpVSt2Fx1MDAwN9X8W03v+tpulVx1MDAwMlx1MDAxZVx1MDAxMH9sKlx1MDAxNLbY+1x1MDAxMsUs8lx1MDAxZIfl1T9aXHUwMDE3O4vTWMGYpDLzNlx1MDAxYYPiizX8TfVcdTAwMWQ/4Iyx/sJMXG66kuXWWJls/sNUJOs38lx1MDAxNviBXHUwMDE0m+0nXHUwMDE3MVYgufi0cime2lx1MDAwN/FBkKqo05RcdTAwMTNcdTAwMTmHPi9cdTAwMDZcdTAwMGVcdTAwMDRuXcjej5ODnmRWXHUwMDE0fyucXCKDTVx1MDAwMTu2e3bBmlwi2ZRoV87wluKuXGZznpD+zsdJmuFX51ZGJlpcdDarOlx1MDAxYdH/o+s8tlx1MDAxZFSaLP1AXGbwboj33jNDeIRH2Kdvzq3qtaq77j/XklBmROxvJ5mR3lx1MDAxMv2afVx1MDAxNqZcZlIvc2hEXHUwMDAxnUPV8b45N3Pnr2NimbInko+Ma8DrdFxi8rZyhpBcdTAwMTRcdTAwMWS9Q6ugbFx1MDAwMEdfr1x1MDAwMlKM3KFp+keiXHUwMDFmL2pkqdXcW+9cbmlaa6T9ilx1MDAxYSz7hIXTXHUwMDFjlK/PYspcdTAwMWHC2PhxbDFcdTAwMTGxI6WgKT3pXFwwgWuW3TRcdTAwMTD/p95cbsdcbv2zP7ekIFx1MDAwYuX2ss6DUrOTqmO+X4NXXHUwMDExTePZM5pcdTAwMTcmzqvYkIs7os7hath7up9cdTAwMWL6fc1cdTAwMGX7W7jtzFx1MDAxMWN797ZkncdcdTAwMDOfXHUwMDFhXHUwMDA1IVx1MDAxNFx1MDAxZM9ebojo5rXm50Lsbmb9cm15feBcblY0WjFuxvFcdTAwMWOwtTC8Rkjp3NiHXHUwMDA3M1x1MDAwMaDNXHUwMDFiqDfJrdrz95CSXHUwMDFlaTZI5fUtuzlcdTAwMWXvPTtcdTAwMGWcylx1MDAxYbEtP1x1MDAxN5Kwdj9Xtjy76vWFXHUwMDBldrhePdCOR+bXz0NY7U+YMDB+fGDBsmzCJKXKWqtvVFx1MDAxZTFcdTAwMDdcdTAwMDJcdTAwMDcvzcb1R1wiXHUwMDBiJ09TXHUwMDFjy0RpXHUwMDEyjq9gep9/9p1S7ECo8aFcXHtcYo1sXHUwMDExmE6sLb9bZp5bvVx1MDAxODWf+Vx1MDAxNOY+YGRcdTAwMDapXHUwMDBl2F9x+spG9XXaKPGUIDKHSOUoYv5cdTAwMWFmXHUwMDE0fFpcdTAwMTXNvS6Ir4eObVxiJVx1MDAxMVx0qb6pqlx1MDAxYSrBfMwqUlx1MDAxYvdncPLMQ+coVlv1XHUwMDE46evfbFx1MDAwZTxJ74naKFx1MDAxYkyD9s+n+vw0aWZSL5a/4UpBPTT6rXxcdTAwMWR/Z0Sz8GOY7TeTXHUwMDBmOMmwwubL6yg1MmI01YDMRyPsZPR2ljCe3yV+XHUwMDA2wJPW39+yScGjJjhRIEriPcEm85bRm8ROjuPmo3r+NCbFn1xycKvINXd/XHUwMDAyXG62WH5vaY2zkcmO6lx1MDAxNFxi7KRC4K+3/r/vPfo7XHUwMDAzemn/nFx1MDAwMZ3jhZxtXHUwMDE0rT/ij6dtO+qIjnC0XHUwMDE03LXm28xcdTAwMTfkbtgp71x1MDAxN4G3gC2G7zObSlx1MDAxNO5UYL1cdTAwMDKyXHLvfO4/XHUwMDEy/lx1MDAwMdLnnayyVvg96JJ5kstVf1x1MDAxNunC2UubukAhzjQge+5on6tVJ4zTmJY3Slx1MDAwNNR4XHUwMDE4iZloXHUwMDE48k9LNM/Og3FcdTAwMWL+KLNT0Or8u6ND9MypUSj1mkVcdTAwMDW5Y1x1MDAxYjfWXHUwMDE3XCJPZa9cdTAwMTKdPkpcdTAwMTWyMFx1MDAxZP3wJjBeQOlhm6lcZl3/ibD9TnmUX3B+n5ZcYudM/leR2lHb51x1MDAwM1x1MDAxY667ys3+0ZV96dLRbNFcdTAwMTZcdTAwMDPXMkHXReOjv1x1MDAxN11ZLXA+79cjdnTNtLumV1x1MDAxN+VQS925iJLvj4qvoaIrXHUwMDAx8nAqgupcdTAwMTKRKLKlmDVQlo+EtK93pbSF48Y4TWjzRLVJfnFcdTAwMTg0tr/ZP/x8kblrXyXtLF67IY+k+Vxu646h+OW2nOOIkutcdTAwMTlk+yOvMfeOXHUwMDEzliiEgrZ8Vopu6S5j+sye6LzoXHUwMDBiPa9OaTjAKo5cdTAwMTNnXHUwMDExXHUwMDA0Nqm5pbBcdTAwMThULiRcdTAwMDJGorGnnvA9njyH048wePHazMLRxM8zi8qkkfC8gVx1MDAxNpfcblwiKcMs3Vx1MDAxOOu4ouZcdTAwMTUt2o6t5Vx0aFqoq84ncd1cdTAwMTBVucKJXG5A/KJJPvFiyGxcdTAwMGVnXVXBoXlIIyGQ01x1MDAwMc7A08dqxbKawSfzx1x1MDAxMXfC/7R+x1x1MDAwMf/cXTBCqKrRQ4NcdTAwMTOfsDzBXG5VXHUwMDA2VVxuQ27Of25cdTAwMDVcZtvfSVx1MDAwNF/OK5TxXHUwMDE11Io3l6tcXCM1nJ9cdTAwMTh2NXF+bE3WfoyympOFykBznqRcdTAwMWOQtWVcdTAwMTPnqyh8sZ+Kkimn58Z7y+sqX/7TW9zaZ3Yz1Vx1MDAwMppcdTAwMWXix1sqXHUwMDA3j36njqrs81TN+lxmaPVcdTAwMWOtXHUwMDAyzoe7votccrnfp6aiUFJSXHUwMDE5+Mmf6orRXHUwMDA2oOs8XHUwMDFhXCI5WthEYj5cdTAwMTLPoDTIY5+1jPizKZ+gzmG5XGIxs15cbsWWxm3tZL9F3pAjXHUwMDA0sCv/+oH8nVuwRNXhZohwJVT+3m2+QFx1MDAwM+9cdTAwMTKlrHFcdTAwMDD6ok2GIT+wo6V36kqdqH7Kjm+Gw7ixuXCTcXy6ScX6fKUrv5a0oWRcdTAwMTk5meegVFx1MDAxOFx1MDAxZH+c8TyPJpVcdTAwMWVL2PB61Vx1MDAxZLZwZfBs+qgs3TWMToRupTvBqW/xXcX193dfx5H133/6h2F2Rmdg194wXGKAwE1cdTAwMTOxmeN4PFx1MDAwMMX5XHUwMDEzb1x1MDAxZumKWq1rhv1aXHUwMDFj4M3e9KRKXHUwMDFmht9dh+M970M0jFx1MDAwYoPWK1xcvdP22G55nNt0YChcdTAwMWH2IVx1MDAxYcOWPYvLXHUwMDAw9bBj2/YoXHUwMDE1hkB7Xa54MeRbkZPi5twhLj+WVdLiyfTZXCJ/XCJ52GtcImHSXHUwMDFm2dM0Tlx1MDAxOVx1MDAwMPnYe46XJl/xPY1cdTAwMDI6kovU5Vx1MDAxMyyNUiWoZyZcdTAwMGbJcLZokoxAYfXY2uOeXHKG1ZNcdTAwMTLNt1x1MDAxYZnbilx1MDAwNs4j5u61WkkkMTc0aVnLZE5cdTAwMWODecMtr030gm7k5VXDncZr4Swv/SsnXHUwMDA1+0BY1MJdIP9Adlx1MDAxNk9xh+A3/VxmwWjKuevkpMVcdTAwMDNGfVx1MDAxY61mK1R+Olx1MDAxOIRcdTAwMThcdTAwMDI3b/Kl+P5hVVx1MDAwZYlCce5pXGb1O4WRX1x07vrpvmZcZrNbeMpcdTAwMTJMutVPTkI+kvNFKswv4I1R4oLpaJI8QtyEOYepXHUwMDE1xlx1MDAxM2pW8Vx1MDAxOIFlOOfLKJxcIstCwzWANoBG2TTIXHUwMDE0yudCWzx9fKlWp+HN0iysalx1MDAxYVx1MDAxMp1Gu1bG0kBcclx1MDAxZUJ5cVx1MDAxZrtcdTAwMWRcImKl8NpcdTAwMTNO9lq2n5zRR5GzT+prg+wlOlxmXHUwMDEyeMp1XCJcdTAwMTkqXHUwMDBlaVx1MDAxN5xK/9Y5S83YM1x1MDAwNFx1MDAxY3jSZCrqqsOauFx1MDAwYrVcdTAwMDE18o2wzUV8XGZcdTAwMDRM1c2nZFx1MDAxOKZmhF5wQqcwhbZ702lR/ElRwVx1MDAwNH7lefQ8fz+mY/3dRLeDeflPXHUwMDBmXHUwMDFh/c1cdTAwMTbBe3XNzJj99f2garNfjsf70dHzyVTjXHUwMDEy74b6y1O5NVLVioL1I0tcdTAwMTDQZVdS7Mx3nvDkZ5c1XHUwMDEzXHUwMDFhda3zPFx1MDAxNIJi3Vnm81x1MDAxYsF6JnpcdTAwMTmRS6JUjHDDXHUwMDA2uLswfzo/XHUwMDA19Vx1MDAxZFjFZ6bTzVFEZoNf2d28uFx1MDAwNqpccivNfFx1MDAxZlh1XHUwMDAzXFw8XHJ1XHUwMDE4b4h4VoYsXHUwMDExilxuXHUwMDA3qTy8UrCwXHUwMDFmmCbjbqRcdTAwMTb6JEFiXHUwMDFj1KGqXHUwMDA1y7XwKX1Nx5KguOvmsbQo7U9iqfdcdTAwMDPD8siv0tJU86J31MNlt5dfpWsovKMyXHUwMDAyu+tNs5KkXHUwMDFk+can4kM4c7vaXHUwMDE5K+xGkviVJT7wYpzzX5JliatfXXt83Vx1MDAxOGnykXhcdTAwMTe1JHmHP2m7diZcdTAwMWK2f4riPjxcdTAwMTk9Qaf566IxIFx1MDAxZs/gXG5g/MiAjj1GXl3hpWFEXHUwMDA2XG6fgPR3XYFje1wiXlxydFx1MDAxM1x1MDAxNFxu7V4k5uNcdTAwMTTzKr137H6kN/hcdTAwMTiH+apcZsf8V1x1MDAxODZcbuOU8qS2XCJP0VxuSSPzi1x0t2RLzTZbl6Ffn0m+t5+BjEYyWitcdTAwMGKW0kqwXGLdzWPoRO7r+qfXVmHPwvuJd4rrWEwgj/vFI0idYpZd8FxuvlrYl823u1x1MDAxZv9YXZ2ZMMZ04m+tYZHb14QqXnR9XHUwMDFkwJKrtPwwsihcdTAwMDMkk5tPa1xiLTFcdTAwMTXmwmNPm4wszJdcdTAwMTRVoNJCN8fxM1x1MDAxZuF14Vx1MDAxZu4nRa/zdvy12bCQrpYvXHUwMDEwSFx1MDAwMD9cdIgqjVHFUzx7oWIlJuJ30Vx1MDAxNlReXHUwMDEw+e9Kzi9cdTAwMWHoJfiOXHUwMDEx3Fx1MDAxM/r9aaaumFu5nsOF3UKu90v1LkKSUEeQS9JoScZC02q+J6TUaztcdTAwMDQ2gZtzhIbianboctxcdTAwMGXbbmG+JkDo8oulqE4yIIBcdTAwMWWvXv0wf4ltYd9TXHR+aK+BQ4BQpVx1MDAwMvf9aq26XHUwMDAwvknax3eU3CX8Je1cdTAwMTD9OFx1MDAwMNRcdTAwMDb8x+JcdTAwMGWsXHUwMDAzo4PExFx1MDAxYXL2XHUwMDA0noOQgeVf5NyfjqpCsVxmp2FwqOJcIvZaNM1cdTAwMDSdMo4xpr07M/VbXHUwMDFh0Fc0LU7Mw4tcdTAwMTXmQ1x1MDAxMI8tk77fMVxijYchuoxUQtD7qyNccileX5BcdTAwMGJcdTAwMDDdOcxcdTAwMTkrPLH73jUmkYo9ksYvNjZcdTAwMDHd8TgjtSCRcWm2etT+0btcdTAwMWZgwVx1MDAwMXFE+7MmXauFopeOaerwcbQxgFx1MDAxYVuPL6f5p/HvXHUwMDE0/sWXwKj/o/b5jHgpzlx1MDAxNDZ792X5QFPLzPDbnam9ulx1MDAxNGvlg1x1MDAxOHUlky9M3vY4jevrLVJHsdr4TT0lXHUwMDFkTjD0XGbeXHUwMDBiv9WA+c4oesfzVLL2XCLsdTzBj88v9HtcdTAwMDWzM/S7qtDRgVx1MDAwNfxspH5cdTAwMGbfbINcdTAwMTf6s6Frpp6SsGH5fH75PstcdTAwMTZcdTAwMDOXXlxclF2CLaxHXHUwMDAwuumY7HV1gWYnSp515dijjNNcdTAwMTSbqGHC02qMfcVcdTAwMTNcdTAwMDdr32jEQ1x1MDAwNcNNhzTr6eZoKVx1MDAwN0x15GGcy0rbTo52mqZcdTAwMWGFhyZNkaRwv1x1MDAxZphT3elO4WOS5pDfpZ5cdTAwMDalXHUwMDFhiKqETneXelx0cObtrrwnVCU+wmufQcXjlZtcdTAwMDa5unVw3Fx1MDAxZnRsuiiLqVx1MDAxZmJmPqVqykZcdTAwMDfkwK2PgZ3fu2xLXHUwMDEyuiadIFx1MDAxZrVjoqFcdTAwMGJ8nsU/j1x1MDAwZWI0siyb4lx1MDAwMEHbNvhccr2d36RK2VIgOGBcdTAwMWZyLFx1MDAxMSTsy6fXviTAXHL8hzapLDlcdTAwMDSBbsJw0sfZXHUwMDEyiMJWSmlvkr89qCug7ueUpdpcdTAwMDCwXHUwMDEzXHUwMDBivvjLf7dRxIzvJFx1MDAxNDOvrINY525VTWLsXHUwMDAwIFvbXCK4XyMnS69cdTAwMTJ4hyh4Vldkv9Q/aGzPL1x1MDAxZoNl5WFcdTAwMTRIqmrQoE9bcKDLpsA4q0nOzbSeZl4+obdcdOK8XXR9J4fHM6QkLtPvn7aT+1HIlbL831r2/8RcdTAwMWGfyTXTiVx1MDAwM2W+iYeErNhZLebzfI95ZN7Sc0NcdTAwMWFVUZeGTlx1MDAxMU1FpFx1MDAwM1mjVCtcdTAwMTMqgLefMczSd3A5TcowXWS2Mv1GUFlPbcn1Q0aw6W65jrJ/JO/DXHUwMDE2TVx1MDAwNSl6tu3Gm1x1MDAxN0Lujdoq8OVjfcyEy6+AXVx1MDAxZS3/jlPq5Fx1MDAwZnnP5zHL40396mSYXHUwMDEyuUDR3LKji+yq0jVcdTAwMWbqsZ1cIlx1MDAwNcqjlNwj2Fx1MDAxZYyfXHUwMDAw3lhKnKuu0dMkUsU/TWZ0Jlx1MDAwMyPXN8UzN9jtilwiOCqQl2Z3+zR65fW63Xs2uTyknKd7IVpqhOFnX5hcdTAwMWTSNEOCOHVcdTAwMGXjKS805qF/xrktrkFx21x1MDAxZfI7NDGFp3eUXHUwMDBmJ7G8/JgpI/uUXHUwMDBiXHUwMDBidHRcdTAwMDYuRrTqgd387lFtjKjf+1x1MDAxYZrhV2ctMbxcdTAwMDSXVZSl8XxcdTAwMTCu9KJnXHUwMDE2QDUjSOBcdHglOvNpod+DXHUwMDFht8VKXHUwMDA23CGv34lRdSqbXHUwMDFjKUNcdTAwMDOFXGLkpGWWtlGhRTHgKfPh/k4rXHUwMDE063/3d1U7xlxywG68ObazWcjmjVP5k3w1ZoGsrFfDNiqGXHUwMDFlzaPdhDflPVx1MDAxOI9cXLY5qCz7r09thYO28ylm/YLubzk0NnpaXHUwMDAweeW8XHUwMDFmN1x1MDAxMZ2golx1MDAxNm4zXHKjWDxHXmvBXHUwMDE511x1MDAxMM2daVx1MDAxNNBZK6WWRS+O8rEhXHJmeEghb8GPZjqHqOtOtFx1MDAwMNv6ksb/0tM3XHUwMDA2bf1cdTAwMTTcdlx1MDAwNsutzFecvKR8Yu9cdTAwMDBtP1x1MDAxZXqZ3UcpmftcdTAwMTcpJkNcZpOdwlxcR6j/cIAj1o+Jblx1MDAxZoZ4XHUwMDFjXHUwMDAwU7tXIz7DXHKqXHUwMDFkOZTVRCdXO3vPZ6xRTG/010z4XzOzcKxRrH5cdTAwMDalYz+1VPyqz1wi5lx1MDAxNtk7P6cuiS7WXHUwMDAy5CNr01d2uMy/Xlx1MDAwZivxXHUwMDBiXHUwMDExofJcdTAwMGZoQoimSZG2T4xcdTAwMTRO7et1Peq8XHUwMDBlXHUwMDEyZSRj+uqVXGK1olxysFx1MDAwNVx0L/LQjLLpRnKuoseBxJaMblbpj73PVkJ3XHUwMDA3mlx1MDAxNFxi3Nmxhq50ssxSMoDoNqTHpEk32mjxVZ5cdTAwMTE+XHUwMDExt37LWFx1MDAxMcjBP2lcItR0e8dKs1x1MDAwNY1cdTAwMTFFfCFcdTAwMGWB2dRewJatcKRu4ObjXHUwMDA2XVx1MDAxOWVjSm+vsVimXHUwMDAwUI9EwO5lw4jRXHUwMDE0z7ZcdTAwMTfB7/Vyu935NMk+xVZNxEHKXHUwMDFismWjuF9EJ/yYbtpC1sBcdTAwMDGPMFx1MDAxNdr/sLKo3GMz6MSBrYJwf5d1z/VcdTAwMDbWxVx1MDAxMZK5k/ViXHUwMDExIFicWMPlaFx1MDAwYnz03Jzf+dFKZvbDs45Kw2LHUfa0282M1Fx1MDAxNVA7flx1MDAwYlwiXHUwMDBiNknN6oBcIkaSXHUwMDFkIO1aMlx1MDAxYVx1MDAwNkNmXHUwMDE13i6fRZJcdTAwMWFFJCRcdTAwMDb7Wz/WXHUwMDFmpSZcIjlcYndVoOCuXGaTduOKR9mhpXZ5ZVp756b+VTeLxnCmuCVdhHspgFx1MDAxZeJ71dNcYo2a0iQhSVr0Q/g8XHUwMDEzUmaPWbI/Y1XQ+qxqqzjhyrHpQWpcbocypamdTZG3JOhcdTAwMWLwz1x1MDAwMu9B0lx1MDAwMmxsf1x1MDAwM1x1MDAxN2CJ2CvywNxF5/qYk8bvcjsp0qX338GGXHUwMDEzx1x1MDAxOd5cdTAwMWO6hins/TRvXHUwMDFhuVx1MDAxM4pcdTAwMDafyC5cdTAwMDBeXHUwMDBlQFbxU+2VoiN0/zH0mfdcdTAwMDffXHUwMDE4dtXLXHUwMDFh4bCLov5dXHUwMDE0XG7ZXCKA/yjXXHUwMDA1mSovPadlXFyh47BqiVx1MDAwZZ4mwdPku7JwuTubPaWr24z3XHUwMDBlNomRpk6cWX9cdTAwMDctzqVcblx1MDAwMan3yWKQmX6bXFxO9pBSVs2LXHUwMDFjXHUwMDAw/N1cdTAwMTFVND9cdTAwMTX/77g6XHUwMDE4uvesjXAw6ilcdTAwMTWFazle1oyALr6gI9rNXHUwMDAxhU3KUobubNk7f0+kj3DvaYu4s9OUQNn59Fx1MDAxNlfbfPzpbqJcdTAwMDRPdCqO11x1MDAwYsz9YDilSubvXGYp3sq9rkeCOe1701xcT3g22nxOM1x1MDAxYpkp0qifvowyRlx0w2t2MPY6icr54lFcdTAwMWSuTNBXpoE9xIDiMlx1MDAwNdsnn+eX4C2RZkWjoZNJXHUwMDBi/niZYFecm1x1MDAwNvGbndlSNdmNQXzjRlxiUFx0hZQu56pC4lxczYFcdTAwMTCnqd9i5FNbIfxcYnWMjIHqhsuuXHUwMDFj5uS8ZnbyIIfIzlx1MDAxMnNcdTAwMTSyeDn/f/jPf0rWX4CxWFtcdTAwMGZKYJ9cdTAwMDFP4lx1MDAwNPQj6lx1MDAxYlZ9OU7SL8aNSetgXCJuVfFcdTAwMWNiPZrcg4hcZv4hoVx1MDAxMI/frPOW3LDTXHUwMDFlxsf7VjYu7Fx1MDAxMGn5MiBXUI1rXHUwMDBiy1x1MDAwNJ6WXHUwMDExK/k/r8m3o9D30V9LsenD62ROQcrFyMy+PdxFfvvRbFx1MDAxMKQ3XHUwMDFl/lx1MDAxMlwiJF8/P4Kol5df8Fx1MDAxYvbC4a9DoO+xJ1DwuyXM1Fx1MDAwZlx1MDAwMniK+1LzsCq04sjx47GtK4pFlNCdS5FccpyWQJOtmjXXXHUwMDAzXHUwMDFlK15yzeh3boONsTW6cJiQtFxcmkmujdb4borBzpR7XHUwMDFhlyG3XHUwMDFmXHUwMDFjYzyzXHUwMDAyz0VtzoWkkbRcdTAwMTFlXHUwMDAz3Fxubd5cdTAwMTFcdTAwMTEuNT/xjWxcYj/1pKg8XHUwMDEw42tTU142+INNKVx1MDAwM9uw+crQ+atu+JDX+VbavYn48EPBt1x1MDAxNvw4J1x1MDAxNlGhK45cdTAwMDN7qlx1MDAwM3RcdTAwMWSb7XbX5+DnJaGDXHUwMDFl7mfDW8tcdTAwMDct7FPYrdKi1JJkyc9cdTAwMTRRNortnPqFXHUwMDE3kFEoUkPdT2/zzkHlzXpwmJTO9I1cdTAwMTc2iqgqV1x1MDAxZY9cbmJCbjtFXHUwMDFicu9FV1xuNrNA9PQgXHUwMDFkQDEwXHUwMDFlNKspQIBpXHUwMDFlobpCwqvlxNrnRJugLi8qXHUwMDFiRqkwa+Kb3lxu8XLg5ysxZDxK5bXz7EtcdTAwMDPwJ1x1MDAwYqOoW75aXHUwMDA0tKSvwMbOtFx1MDAwYjlEbotcdTAwMDPZQ7r58i9eXHUwMDEzUVx1MDAwNMHlurJOrHvO8oDbYogxXHUwMDBl4tRcdTAwMTdlmTVWrrrtNNXE1tJcbslcYrMtXHUwMDAztlx1MDAxMPD8+qAuSpggyJDUqSHDc7ziYsTO67ql4O9cdTAwMGXSwOxFWvRAZ1q4mmD/rreLXHUwMDE0yb4k44jdIfiUQeDOf1x1MDAxYqqL8aL5tHT3XG5dW+N3fNZBndJcdTAwMWHBPYdIXHUwMDE000S4qfydmqy0XHUwMDAyf+UwlvaBk47q2pZ6XHUwMDE2UcRJS2/h+aU45/eJ+aQ4KVx1MDAxM5FcdTAwMTHnlZ5cdTAwMThUZ+pR2sQ/KM8mgY3mtShJLG6y5JPrXHUwMDFjR1Tuz1ZvstnkMEaEXHUwMDA1STLIrLea+aFxYk2WdVx1MDAxYcVcYq2GXHUwMDFmtV9gq/9Z01BOh9KzkDojgrvCJ84tITG/eZlqhuZcdTAwMTYyvb++3b5cdTAwMDWQOJnWrVx1MDAwN1x1MDAxMmj7vcFelnO/pW74bFxyyP4qXHUwMDFjLv/lq1OCqdKK4kxCyHaWrsSvkTYrm1pcdTAwMWboaVx0vKaLrIzgQbq7YzYy71x1MDAxN1xmKHI2mFVcdTAwMWKrLyDHXHUwMDEwZ0ya18l7YVx1MDAxY5jlXykqfSnH8ajwgX9B4vKYMJdcIsSrgFx1MDAxNM0tqHl97ulcdTAwMWZcYiG9/Np/rfnbXHUwMDA124rmOVx1MDAxZlx1MDAwNEHKQSBY5Fx1MDAwNPb103Zz/Fx1MDAxYumB2IDilC/6wlFkV+ib9nXh4VdyXHUwMDA0Z1wiRWjsRvTXdkqBoVx1MDAxN5FdRFx1MDAwM3TJ11xcmPpcdTAwMWY17P/GW8uSnlE7h4xsXHUwMDA1XHUwMDA1u/AnPV5cdTAwMTEmbZsvttROorlcdTAwMTdYlFx1MDAwZmnmydnA7l9w2laN8USHJnT1w+1+WVx1MDAwNEK7lsX4ZW3dgVCAc8/9wHzp7l5cdTAwMGW9XHUwMDA3OVxyMp7adZj9rt9US99cbpmSUGiRPjhcdTAwMDS9XHUwMDE4zuckyXfWuz89rE4gWEnghVx1MDAwN66Mvucv8b2wXHUwMDE5mmSDMH1cXKZWXGIk13nNXHUwMDEyku6Ngjzx+YKZUERT4knk6lx1MDAxOJdzdVBltT/Dbk60Jj263fScXHUwMDFin1x1MDAwM0GB17lcdTAwMTSVI4Qz72nuwmqqVexByPV6XHUwMDFimrk2Y8LBXcji0D26ScVcdTAwMWRcdTAwMDPyUrgmXCJcdTAwMTJeXFyKVGNUgq919M0lQmOwI1x1MDAxN3PKJa6RwfdfL/Rf06t1m3Zuo9GRMiz5XHUwMDAwkU8muzdlKIT2QnlcdTAwMTLcKHhcdTAwMDTzgkZ2+7dcdTAwMWS/QF3sXHUwMDEzWFVgjbxcdTAwMGX6lvckTi/pXHUwMDE1qXthhSO0XHUwMDE0LD84P/rOjdpC7EePMqleXHUwMDAzr9vsl7PMQ7OXMp9+YVdcdTAwMWKH2Hy+Ymb1b1buo1x1MDAwZSj4b35ug1q5XHJcdTAwMDdHR0ChzJFGJ3tz3vRSvC5WUZlcdTAwMTdzXHUwMDFjXGLhPNgtJyFcdTAwMWa+2Fx1MDAwZuJ/wvbGXHUwMDExVircd46SqI9QXHUwMDFl/7lD4nF2rH2LXHUwMDFmWn9fkVx1MDAxOYR5n/3bKjEunCf+Y1U/uMB6XGJcYv63Tv7FmF4vZ/tq5Vx1MDAxNTaWX8G0Si1cdTAwMDWDinZcdTAwMTWcoEC5S05cdTAwMWF8XHUwMDE3dsdm25TOt4H4XHUwMDA1OTdHTI4zXHUwMDA2IZJ4x4xS8cXSXHUwMDA0mjRy09VVf1xig/rhyVx1MDAwNyZGw7OVPYC/V1hmXHUwMDA0aHKHN+68LKyEjtF58mClPyH1XHUwMDA2bDu5ptVcdTAwMDXA5IioSNHcwy8l6DsgsIm/0mbHVU6740I2XHUwMDA0TtpBeT3WTPaV6zUh5Ep41vGEMXjalny0rOd4u7fq5Vx1MDAwMuGKMoBNo7maRLxcYlx1MDAxYlx1MDAwMc3rWOqDXGZHQI5cdTAwMTBcdTAwMWTk68NgetH4XHLX3zjQUi0+qPSq5zLXdYPSMt9cdTAwMWb+JrJN5ZowXHUwMDFiXHUwMDAxtXVsn9vMlj5ot29gVaiNs6+BqUXZjlZ8dVxyXHUwMDFmXHUwMDAym4lcdTAwMDIqpzpcdTAwMGWQXjtcdTAwMDWzlVxi9ZOJeH49K5NERUOYVl1cdTAwMTBcbp/7U6nkLtlgtmYp2bJjtWn9x1x1MDAxNVx1MDAxYX+cpC3StmWFilx1MDAwYpKswjpcdTAwMTRN2r9/jcx85lxy4zQm2atJroytXHUwMDAyiOopOapm1tWJbn+5xZdMJHGuXHUwMDAyoyuXrlx1MDAxOOL9oPyV3cHiy3Q07yFcdTAwMWS1/UCK5ebNO1xizVtSoFBEuYnmXS1HJsdcZt3IVMUoJ77KXHUwMDE1g1tcdPGIenr/e63VYKpcdTAwMWVj3s/Q+Tj+7lx1MDAwZrDgQ0VWYVx1MDAwMIOVaohcdTAwMWOz9Fx1MDAxZb88g0ilXHUwMDE3jjZcdTAwMDUtPCVcdTAwMDO8ZGcqe/cyYvp7XGZcdTAwMDZcdTAwMTa+rrE6cl8y16rpXHUwMDAwW1+hXHUwMDE44C4t+MI+uW9cdTAwMTWpl/I1UVxc91WV/dwvyVr44UQ/3vCGybm+jru/capcdTAwMTZKXnabz4hcdTAwMTlEfi47XHJMJv/dtCtrXHUwMDAwoz9cdTAwMWOK3FVdXHUwMDEyRllcdTAwMDGsjFZcdTAwMGJR0Fx1MDAxOfxcbtdofLliXHUwMDE0wH2WQHtAwTOTeVx1MDAxY1x1MDAxNlRW9f3ySkTt44aMdvpI/Fx1MDAxYmX5d1x1MDAxZaE/XHUwMDE4XHUwMDA3NHEgLtDvX2ZFXHUwMDBmbU5S4fq2nt5cbj2GXGKqhFx1MDAxZrxcdTAwMTEu0lx1MDAxOFx1MDAwZdfEXHUwMDFh1k6GOoE5I4ZcdTAwMDdN00RpXFxuRri4l9JcdTAwMWJsx+VPhYumXHUwMDE1v1xis3TPS3/pgGfa1iAzsJi5JMpheJ3KXHUwMDEza3hcdTAwMWP6mbVjtbdXYINcdTAwMTVxXHUwMDA2JbL7XHUwMDEzrNlcZlxmXHUwMDA3pFx1MDAwMM+5+j2RzItzXG4sdVx1MDAwZZXofUa9XHUwMDAwXHUwMDEx4lx1MDAxMPbv1Memu0EsWkJwWUFlT5r8TuF6e4OQblx1MDAxZacpZGMzI4TFXHUwMDE2/Vx1MDAwMlCrLCvnuttsJuON8Cjiv/NHXHUwMDE29cZcdTAwMWJgeX3neTR/TvKAOZRK4Zig4Gao6+IvXHUwMDE2TrS3tlxyk1x1MDAwM3/0OLWk0/2qYm386f+/cTqf7I4raCaBJ6TZPe1cdTAwMDWNocSuw1xmzPjUfn2cVT9b8IY9VF5F4ZCVa9GEtmXhvr5cdTAwMWaHZKjYXHUwMDBi0Vx1MDAwYlk/wlx1MDAxMD7N3CcrTrlnw0hcdTAwMTmeYbOyfaC3SZxXJY3jNP86L4lqaaBMmX9uvsCZXHUwMDEzSVx1MDAwMmqJw3H+0Vx1MDAxManJXHUwMDAzfOBcdTAwMTJVfo2Qw1x1MDAwNNuCpMvkmvj1Olx1MDAxYdarOIdg3Fx1MDAwM2KZZFx1MDAxNjBJXHUwMDFlq9e+qNNIgoLvoGOu68/7ZcS08Nq8YVx1MDAxZsNcdTAwMTeW87XhjeZcdTAwMTVcdTAwMDbXsb3ObF0pbWlcXE0o2KdXk5dsnlx1MDAxNnhYXYRcdTAwMTK3IbSJy06FXHUwMDAyLvXx08Yxh95cXL+bp7hke+We0zWeX0OyWi13y1x1MDAwYle3yXdpLlx1MDAwMfByesZJ38MkLN7on+SnVaS9XHUwMDE0UYvTVOL0iW5IkOtcdTAwMTZMiKZB2Z1JkEerXHLd9JN6aSuYXG65/Vx1MDAwNtWz9Vx1MDAxM1x1MDAxNFx1MDAxY/ZcdTAwMGKCXHUwMDAy1Vx1MDAwN2V81P2UJFu071xy8Sl2XHUwMDFlQ1slYsWgb1Dmm9vyy4hC6d7bJ1x1MDAxMF2ww5O+X1xybi9cdTAwMGba+7VcdTAwMDBcdTAwMDFqY91cdTAwMDFT/XxTKbGE88dcdTAwMTMsfrh5NYXJY1x1MDAxNbfZ6yCLxmJcdTAwMDZcdFooXHUwMDAyf/fpXHTxS+Fe/YpcZjP1s7UzXHUwMDFmrSVWllx1MDAxY1x1MDAxM+NXvi5cdTAwMTGIsf+tXW89sq6ceeWLpO9cdTAwMGLxxfHX4D8vUzY7eNXYT6mv9qlWf9KlNz6drcL4yjPirVxusIaLgVDPXVx1MDAxOVxyNd/fLEy6SSb9uq7t2FxmUmKQgoZ+QXSQo1x1MDAxN6vmXHUwMDA12iXEXHUwMDBmOJmzr848XHUwMDAzW9hqjeuOlTvcXHUwMDE19qdIhvziUmU4Ulx1MDAwMIWY4NPb2UKO5W27XHUwMDAyK1Zl462FejHw4/DwLqpR2Cf2M5NcdTAwMDCbUlx1MDAwNFBz//RMKzSFnTVeSlx1MDAxYeT5RbqXYNzGeqBxfZGeJ+lcdTAwMGI8S35B4E7jOb1TjyGcXlx1MDAxZGI1XHUwMDFhrtOG/DyoW+a73uS870S82edLJd9B8MV/XHUwMDE4XHUwMDA2UE/UrC+XzoGrgnJdnqBcdTAwMDPHrZp7pnNEOL5NL4xcdTAwMDKNK0ahU8reNENs0fD2833lsirAOlx1MDAwMVx1MDAwZbAh/C9hnodcdTAwMTnXXHUwMDE0hOJcdTAwMTc36YOudzDu258gqdxudKxKRlx1MDAxYlwi++tpQr/urlx1MDAwMPqBn9Jt0lx0mr1cdTAwMDHhseRxY5p16Vx1MDAxNmU68Fx1MDAwNlxcKf9cYuxlKD06L0WvLdfGNUf7r0VlcrYtocKHXHUwMDBiVozfXHUwMDE5N+SAJvUyRnUm7796mlx1MDAxOHT0O1x1MDAwN5Mm3f27uC67Pa7w9jUkXHUwMDFmLT3UXHUwMDFms8DOPK7/7Vx1MDAxZLV0KC3LUWHufkdcdTAwMTDkXHUwMDE1XHUwMDExnu+vzvc34TOgKM3Jk19tRkKfkVx1MDAxMFx1MDAxMMOvKm5rtUmLeq6q+qt/RVdJflqeWGO+gfCkXHUwMDFiXf9R+qXwYqreuDuxt1x1MDAxMF+kUJ5CXGa3ecJcIshcdTAwMTY90Fx1MDAwZqH/wFx1MDAwMaJG9mbSdDp9aVx1MDAwMa5cdTAwMWSQnlx1MDAwMf++hW1d8uTOXHUwMDA1WlJYT+tz63NcdTAwMTNcdTAwMTN8yrGilHen6JSwkiCFo91cZnWFXHUwMDFi9afI3Fx1MDAxZlxi42NN+GD70nO8xuqkXHUwMDAxNa0pXHUwMDA36ce130mmfZni3Vds0qvvqWNcdTAwMTBcdTAwMGLEbKzh96WRvFNcdTAwMTecspj+moXce0v103bpi+7FWzrGUYGylypBKOObmFx1MDAxMozIxa5TJJE9XHUwMDAwIcxEoHqaXHUwMDBmOlx1MDAwMpw5t1xyLttyytRcYrCoWDq2R6hCfVx1MDAxODV8g+S3SnesXFzhUCVeiCy2qNA9OCxYzmD/OW1PKJ5cdTAwMWWSWeF2nufYXHUwMDAzXHUwMDAw+p1XscrYzbDs0HAjsq9ZnkeRlmE+XHUwMDEw6mtcdTAwMDavXHUwMDFlqVx1MDAwNbzr8j3Kejw3QjVBr4vhIT98hLOY7VWx/s5SSVxixfmLd801IYt1Qlx1MDAxOOCTWdG63GtwcT5nhPb1OrC1V/6tllxm/9RcdTAwMTLg41wixPzEZFx1MDAxZbBQboxGvGzhiZc9ZFx1MDAwZTveQSHKXHUwMDAw5smor96+oGL2llx1MDAxYk63O9qk0lx1MDAwMU77wTJcYryyTc6jmZvN6+dcdTAwMTRGxVx1MDAwNzWZXHUwMDA1l9EtXHUwMDFhTTxpRqK3Rs44OahnWVx1MDAxMyVuKLbC4H+Nluea8Vx1MDAxMcVvOXlcdTAwMWIu25/4ot7PiZ7DXHUwMDA3Ysr4XHUwMDAzlV1cdTAwMTC6IWypn1x1MDAxNcRgvUNRbtBcXJJBQ1x1MDAxY8e8VKrzV+9zXFxcdTAwMWNJff5QhnNvIDOjXHUwMDE3SPHzT0FcdTAwMTO3VVx1MDAxNWltqbJC3EBPvjCgXHUwMDFlgqGQPMSNaPxpXHUwMDFlwN/xXHUwMDFhgdGqXHUwMDAxXFynwijZXHUwMDEx7vad2tQ/XHUwMDFk2u2rYFx1MDAxMdqm/8aVXHUwMDE5XHUwMDA0J1AtXHUwMDA0xVx1MDAxOSpWn7X2kPll21x1MDAxM0PT84HZK8yTg6eQXHUwMDAzwSrIyt5d5CT2uiRtPX5egVx1MDAwZn6hq3V5eVKWzJRKJEpBXHUwMDBmf5o3qNSRb1xifoLkXGJm84AhfZ49cqgqsl1s8TOUjZ6Yp+B+PWpPMpepMFdTkVO0Zcu0f1x1MDAwMpb7uWpcdTAwMTI21Me0rYFcZpjxuPfeIJ9cdTAwMThcdTAwMDOgL/Kv79ZcdTAwMTSf8dv89diiJVx1MDAxM1KRy/ha58JcdTAwMDfYYFeKzSSCfoNuTVx1MDAxY4/b5utHXHUwMDBm8aUrL6yHr9J9lWzt87+LvLx6XHUwMDEx3jHh8owmtsbzpVFcdTAwMGVNcjtR4Vx1MDAxZdRcdTAwMDZvXHUwMDE57C1wdOlGVVx1MDAxYyeX3eWcXFxDNcThuE62xMblSdBcdTAwMDXMNUov0lx1MDAxOZ3go6T/1VxcdqpcdTAwMGKdTkRcdTAwMWWxq6m4XHUwMDEzrYVWXHUwMDA3llx1MDAxOVx1MDAwMSXfcLhOsPjOPXeY+pJeRVx1MDAxZlc+WvL4a9VhXHUwMDE0s3/6YEfkpvE4XHUwMDBmNFWVyoNcdTAwMDFcdTAwMTiKpDlfTfsuXHRcZiSzaI/jTeEsbKuY6IhiauKFM7o3ulx1MDAwNJapsGfSTnattuNHba+HqXNvXYRcdTAwMWYlIdFlkJwxSszcbf5XMYHCXi1cdTAwMTZiXHUwMDFm6Vl8T7tcdTAwMWFcdTAwMDBRKl1cdTAwMDapaIRJUJGZ8PU9zlx1MDAwM1x1MDAwN4Ks2SeQaMzHXHUwMDFkXHUwMDFjOrhgrGGwmbF0U7avSuSPMFx1MDAwN66o9Ey3VCaNgLl/3kNLN15cdTAwMGKGXHUwMDFjkU1Wr5pcdTAwMDHHpZ9cdTAwMWQ8mmn1XHUwMDE5f3atK7ikPJNZxeDeouK2XGYkitHS4yztuvLibHlcdTAwMGJaUlx1MDAwNSZcdTAwMTlQdrXmv8Hy6n9lXHSmZVdcYmZcdTAwMWFLO7pynqtdzD6VkjVCJURy5lx1MDAwNm37ZWf6pURcdTAwMTfNMoDzpTaS6yFDiX78XHUwMDAwMTJt1a5YVpLclVJEXHUwMDAxXHUwMDFm1f78hrXXXHUwMDEx0oOf+I6uN0fvxJvz0JtcXC+LXG6OUeoky1x1MDAwZlx1MDAwZaFcZvF3W+pcdTAwMTeZ+ZnGXHUwMDAx04nbzFx1MDAwNWB17dFeqIvuryWAJ3S3mXud5TfYxHzHrlx1MDAwN5krtI5pWZZmNN0wSyFMmL9T2Pbej8OgXHUwMDE1cVxuIbm2Q2nk5Vx1MDAwMZjNWFx1MDAwZqrQynpyXHKk/EUuYidcdTAwMWNcdTAwMGLZXHUwMDE5kYPf0YpDbGVVLGJm6v2G0PdcdTAwMTRcbvRuJ1x1MDAxOOApN2dtw2BFcD9cIizJcYpCakHOQKPIypmx2lx1MDAxMlx1MDAxYtX226OlXHUwMDEz+DzWXlX4cKdlQG+dXHRtXHUwMDE0isGALaN++DQlg1x1MDAxObarQL9zvys9T1x1MDAwZlbT4JQ6c3xcdTAwMDBcdTAwMTmyU1x1MDAxNJfTis9cdTAwMWN1t/F4fDtIynJDXHUwMDA3hKGyw13wYU27yFxi2KRrZMfKXHUwMDFmXHUwMDEwNrxf3M6GPab7XGLVgonYLo0ju7IwTv9MjJXfIEc+315afjkhXHUwMDA3YpnuzV1K4r/tXHUwMDFkemtC5Xw5IVm/9G86XHUwMDE5XHUwMDE3Ulx1MDAxZLNNyFx1MDAxMFx1MDAwZVbA5tlRcXRcdTAwMDRcdTAwMTVOs5O4Z8fI3URcdTAwMTHNn4joXHUwMDExXHUwMDAwK1+4mY1cdTAwMWFq54poJ6j0nTAqYL5oc3ylxF9cdTAwMTGagSScPJSuXFzZP0+Pqa9fuNlmnaWUyz1DgD13qY1cYlx1MDAxYvXaXHUwMDE108xcdTAwMTPZiTjT/YqK/KG5XG5Y0EiW5e2zeE6cXHUwMDA2XHJk4JOuqIwnnZrjUp27QNabuPf5g9Puo2E3UO9cdTAwMTVbTf5cbijtebhU0J6ijF/q5HozWG9MXHUwMDA017Wt0SX0IVxy2bSul+JnxIbMqmpGd3ifIL0yvFx1MDAxN4HetCrQRNovbC+xwlx1MDAxYpW1sVx1MDAwNvmG/rWzqsw3oEhl5lxixf47kJOm0Vx1MDAxZO7RT1x1MDAxMlx1MDAxMo977qbUgOwwpugrn//CYu+wb7KhtFwiR+VU2vo4pYpgIFx1MDAwMZ9Qi0TX7FxyPXF/h5lI6lwiilx1MDAxMP35/N23akFF8XDnrlx1MDAwYsN66LNbXHUwMDBiaNElXHUwMDA2XHUwMDAy21x1MDAxNL1cdTAwMTItbEZWO6czVttcdTAwMGZcdTAwMDWcRP/LXHUwMDAzJYxfQ4PE4zFbd6fpgFwiNd55suEoafVcdTAwMGaKc2408lc8g3vQd3uHdVCGtHlJ9nKQc69dQJ5cdTAwMDLMtFx1MDAxYZrL5fizZ426IPVcdTAwMDXZX+qb2trTlFx1MDAxYpo4XHUwMDEyjYhOrZpcdTAwMTj/OqlAh0+4K1x1MDAxMEBNicXVSCtDXHUwMDBmYSE14lVcdTAwMDA+iJfgw9THPp6vXHR2X+T4JdE8s7Dy3LYl7711q+sj7UmUXFw/XHUwMDE4XHUwMDBmXHUwMDA3lz1lXHUwMDE2iMTAxo92gkwyrlx1MDAxZl3SM2mimuPOg6YlnkW7XHUwMDEzx8dcdTAwMDHwptVyXHUwMDBm4tOCXHUwMDBmwfnXXHUwMDFhZ1x1MDAwN+xb41x1MDAxNPpcdTAwMWR5XHUwMDEyc/XEXHUwMDE3Tq+mlS+m9+x5XHUwMDBixcZCn1x1MDAwMDW73bRcdTAwMTGtJCA0UGXgglxyv4b4fSpcdTAwMTLbUCzDrOBJ2lx1MDAwMtuTLNiA0s9cdTAwMTXAjoM32cZcbmnxcT3WXHUwMDBmxVx1MDAxN9efiKZEXHUwMDAyXHUwMDAwaDYx7sZRY1x1MDAxM1rAyZZcdTAwMDJ4W39w1pNcdTAwMWNcdTAwMTGhsWDoIPWCUVx1MDAwNTBU6r9o9XAgY0RKelP/vVx1MDAxZlJtZGeJhY+Zoj7jQVwi+lx1MDAxOC5Mze4wXHUwMDA22i9cdTAwMWUrV0BbsXQ/fHpeq6S+6Fx1MDAxN+dMXG7zyZNcdTAwMGVcdTAwMTSurf2qtzZJXHUwMDEycotXYFxyS9dF1V94YD/Fdj5mPcQ5P5BiXHUwMDAy21mId2WCnXqmfjE60Zlfr7549+luKUfK0oXswnCdsO9FXHUwMDEyrlx1MDAxMf3b6+rWXHKdMm7hv9RcdTAwMTMueXNb0ERMxUhN7qBRmOaQf7yKj1x1MDAxMGJJ73lcdTAwMDKM1yP0x1x1MDAwNUR2hdnWOv71XHUwMDBifPrxy1x1MDAxMUzcUsRoMO+XMl7gsiFf71ZcdTAwMDFMstlcdTAwMDTSp3mz8KTbofvo2Fx1MDAwZSmXxiq4oHjTquef7rLeXHUwMDFmpK/Xo44rIHjllTVcdTAwMGZMXGKfbnh53Ejh5ap4TadcdTAwMTlcdTAwMTR8bCM95jpqXHUwMDEyqLvWNFxyvU4zh3/WZkRGy75/XHUwMDE3m+ZcZmSHLLBcdTAwMDW7Pzc03/WStfzuOM+6U4dcdTAwMTm3dJIhsyXJ/imQULyouKvDrN/Z9eY03zwytU33Plx1MDAxZZ/cRpG0uI5cdTAwMDOTXHUwMDFiKMK/pFx1MDAxOCU/u/Y/kig6aW1cdTAwMWXcN6Z/wFx1MDAxNZAv3lx1MDAxMaqoN8Du4cJHZVx1MDAxYv9RiCVb5KPfNS5pTrpsslf/SFx1MDAwMfLM8ZtcdTAwMTbFKWkk/oxsMjevXHUwMDFkKj//vtat1uv1z76Do1x1MDAwMzlr/1x1MDAxMPX03CSid1x1MDAwZv9cdTAwMWP+XCLLXHUwMDA1WiWfXUbHXHUwMDAw9SF0k1x1MDAwM5hvclx1MDAxMzOnkFx1MDAwZs28OZeOT2uJTShcdTAwMTje9eVXXz1cdTAwMTnK/uRcdTAwMGJyo76oWIjqYHTfvFx1MDAxM7E87XaZXHUwMDFm/lohj4FcdMOBiGBEnydHnOXMT9+RQcBcdTAwMWaTl8SHUs9zqDBrhuNfkmdZLV3jtFlcZlx1MDAxOUTtS1x1MDAwZb6HtHaN85pwMlg7sV9gVFx1MDAxZLXF3Fx1MDAxNk2isazudHZa7XvUs2m5IFx1MDAwYu5P/LWs0Kn8+arTt74pJ5RcdTAwMGKU6n/6tao/qF7q7WNNuo3qI1x1MDAwZVx1MDAwMkWJldWPt0xswdTf+vUt290oXG7aU8jF2Ut+dXvOyZiCnWdcdTAwMWZ5YFx1MDAxYaZoXHUwMDE5XGL1XCLeYp/NjFx1MDAwM0KqLdvD32Y2W1naelDLgfcmXkk+4NQ7XHUwMDA3Z0ihgHP/f178sXdcdTAwMWRAvVwi6Ne8a+GYUb7CiOzlxk79THhcdTAwMTNcdTAwMTXjTPMuhKX2ulwiskSWh6L2Wa2lK6TosVx1MDAxNK9YLlx1MDAwMFx1MDAxN8e6z2RcdTAwMThcdTAwMWSHN9tcdTAwMDCpXGaMXHUwMDA3zmh8Mc041+von1x1MDAxZeS9XHUwMDFjXHUwMDAx2nVPznzVXHUwMDFmedn9j/GAs6jDd+H+XG6DXHUwMDA03PPejmn/2s7x8Vx1MDAwM9nvXHUwMDExflJZf3RoKzaBOE+z4n3elpFoc16XkEtGR1x1MDAxZVx1MDAxN5mlw6rZr/RWftHkvzX9U31WTaBzV8FLOXlcdTAwMWZJV2DHnZa1os+aXHUwMDE2ziBJXHUwMDE2Xj7jXHUwMDA0MPnSKvlcdTAwMTiQ6Vx1MDAxYqG7Ylx1MDAxNF5faESd2Pj4r9hcdTAwMWZurKJIuXasoHviXHUwMDE3n3utvmjOc3hSXHUwMDBlREPHNfNsXHUwMDE5MFx029/ezO1R8de95da4x+NYrrfFXHUwMDE58S25xr/GP/lP/Hdv/Fx1MDAwYtZcdTAwMWXovcZgaF4vtv88wvj5rLv8wD+kpcszQr5QXHUwMDAyiVM4R/vSpzxmxdpccuCU9VxyXHUwMDA2XHUwMDE2XHUwMDBmf0BAVVx1MDAxZVx1MDAxNmWMRzlcdTAwMDIvVvuSl2NcboOyN/uFXHUwMDFi9o/ZOVx1MDAwZSrt62tcdTAwMTSMXtBG9j5cdTAwMWFdXHUwMDEyYKC2XHUwMDBmv8JKXHUwMDE3XHUwMDE2ijORTWmZ0l7SXHUwMDEyXHUwMDE1xTA+XHUwMDFhZ//paUSrPYGxWOw1XHUwMDFl9ymqbYdn3PXVLv7gXHUwMDBmPXI/fdaoh7LwbkHzWenkvklcdTAwMDeUa1x1MDAwMG32/eqzXHUwMDFkrJJcdTAwMTJVXG4ovCbTLryXXHUwMDE2ULm/qCp+c5p+5j1cdTAwMTlcdTAwMWL8I2A1iNLsnZ6jOFx1MDAwZlx1MDAwM1x1MDAxN1x1MDAxYmHjrlKGx2dUW2OWvTOYwuopO1x1MDAxNV5cdTAwMDZcdTAwMDFcdTAwMDaNTiZCXHUwMDA0WI/WqFx1MDAxM0L9w+pYp0JDV6n9X33lXHUwMDFmS/+9Wruh7nCt3UCayaWn1lxu34G60+sgt3CkL6y5jjRwsaGHxlWtXHUwMDFmvrZKglx1MDAxOFxu3oyq+8NcdTAwMWVAQqpXQWk9mYSPwklibMRXyagwgFx1MDAxZtd5vChcdGj452bGcGHz5udU7ygt5rOoYZWM5kf4XFxcdTAwMDXvrbRcdTAwMDDQYP5GXHUwMDBiwKZz54xcXGM8XHUwMDE4495cdTAwMWXfXHUwMDA11i3cvlx1MDAxNnyEV7/s5+JS1pGVXHUwMDAzo6TTXHUwMDFld5AxkVx1MDAwN6vqO1x1MDAxYjFOXG5D5v4g4yZMRFx1MDAwMDa/IF1cdTAwMTFtVylcdTAwMTPNmKGo0/G0flx1MDAxMrcwXHR3XHUwMDEwwXdiXHKcqLuEPnJEIzrgSlx1MDAwMMBuKyheR25cdTAwMDYoYVx1MDAxYWFcdTAwMTd+ROuR1sF4XHUwMDBiPrlP61x1MDAxNvqv95rWxa5cdTAwMDKMeLIxXHUwMDFkJ9L7ilx1MDAxY/pKP7fg8ZC//zjPXHUwMDFiQ1RcdTAwMWH/dZi0j2TG/+fn/4sxrdd1c0ZAljKPIEt/XHTPXHUwMDBmWf72i324LNpkiGRbotyBZq0gxFx1MDAxYefM8Cfk1kdB8PZcdTAwMWJvk8G6cvVcdTAwMDJWWuUzz9JcdTAwMDRxzu2VXFyjXHUwMDAy7d15p9LnTXPTXHUwMDFmmL5r3mJxa91cdTAwMWVcdTAwMGJ+nlFcdTAwMGKCXHUwMDAxf/t1OlT7xlChUlxcI/lccmfARetopXfWUsG/TopcdTAwMTRMnIPSh0tcdTAwMDGn5jVcdTAwMTLkXHRDXHRcdTAwMWYpIaLM90zHytJTI1x1MDAxOJpGJ91Q/nt/4cdJOK5cZm7rq4mhXHUwMDE1rinld0rz6Fx1MDAxY5Nu9lx1MDAxMIXh5H0uvnxssEuXvCVZajdZXTH5ftB2zeLMXHUwMDEwq6YvXHUwMDA0Po2yXHUwMDA3R7LI/FmdaF2CV11Wh4KGcFx1MDAxNH5Jzj/evJiPLsOi9JRcdTAwMWEoTMc7XHUwMDBi5Vx1MDAwZo9TfItouiNcdTAwMDZ3csVpr7a4XHUwMDA0NKhD1GhNdduiZc3fQdukayCgW5ckXHUwMDA1sGWF7cqJalJ+1vati2zgf4X/wKXXP1xcaus1SdBcbuf4ypRmyVi8wI/F8+xcdTAwMGKAPZFcdTAwMDDI09V+TID1dG9cdTAwMWXPL8u16Vx1MDAxOOHMvLjb5vRsp1x1MDAwNoZtYGss3fSv0DlcdTAwMTHbK2s/Pj873Vx1MDAwZVx1MDAwMVtCefGE5PeD//bb5Fx1MDAxZlx1MDAxZlx1MDAxN1VcZlx1MDAwN1x1MDAxZTVcdTAwMWI2opvWW5Ke+TpW763/hrmrk/l8yjr7c/dcdTAwMDIoO3vCXHUwMDAyfVx1MDAwMbRcdTAwMDdcdTAwMTGiiNAgXHRcdTAwMTWmp1x1MDAwN1x1MDAxY/Vqbnq3oVWliiXOKKCome0/+7ZFR+1kXHUwMDAwXG7IXHUwMDEwUm+mXHUwMDBlXHUwMDA3u1xcbpTSmqmhWpdcdTAwMDZtrMV7abPsNVx1MDAwZrbNbFxmo1x1MDAxZNdcdPd7XHUwMDAyUa/E+cSfkdA6XHUwMDAypNlcdTAwMDPh0bRJJbFoTH+Cl9WvLc+VXHUwMDEwalx1MDAxMYmz5ChcIs2JoqqWalx1MDAwNlx1MDAwMjN39V715mQlxiRTxNKaRs+Uu93GqMqaXHUwMDE2XHUwMDA0XHUwMDE3qlx1MDAxZVOVOlP/rr8leFrQbJKArSj8XHUwMDBm71mi/3rPkrlcYlx1MDAxYY9r4rZlR4xcdTAwMWHz7Vx1MDAwM1Xl+0ppvnhbjS+ag1x1MDAwZlxmXHUwMDE1etxUx1bwr1x1MDAwN3L4hX5cdTAwMTSN/8wqXHRcdTAwMDfMkFDGfevRXHUwMDEwXHUwMDFiQeCSUpS4J6T9ZjjSP9/mZahcIo/pwM1cdTAwMTFcdTAwMDNzbITM3Fx1MDAxZbfkXHUwMDE2KKpzO2zwXHUwMDFjl6xfXHUwMDFjMVx1MDAwN1x1MDAxYlugvLavXHUwMDBm9VfW7obX1G9wJc3nKVx1MDAxZjZmhGhzQP57Z+JZUItDJEdbVU2UrtxlgHLuyUGfZoSpaf5jL4FzdsZlduGOrkRcdTAwMGJSlFb29Vx1MDAwNi+135JdXHUwMDE5aFx1MDAwZnottcGnXHUwMDAx4eRoXHRPfmsoVV5cdTAwMDPIllxm7leQq8ymQvL9tVx1MDAwN5hKXHUwMDEys79fXt2XcuKLXHUwMDBi9YKJs0vzsEfX57SjXHUwMDEzp2+yXHUwMDAzNVXDZG4+tt9aXHUwMDFk5LRcdTAwMTJcdTAwMWHBftTM9nRcZvNmYKXFnHljiYbw/aJ7+vSUof+bf37nXGKp/97DXHUwMDE3P1x1MDAxNsy+lLpcciZtslx1MDAxNrPQXHUwMDA0y1XuwF6f4ZvYpJ9F/Z5fln2+9Vx1MDAxYy/OXHUwMDBmiryJ85E29c5nrFwiXHUwMDE5lG+sV5F4T8+x4+818FxuMFx1MDAxZaxcdTAwMDVcIqRcIun3c5ROQ5AtxT/crXzPa7Ll61e8Rui2elx1MDAxOMeEm1x1MDAwMsH7o3lbM7/Fclx1MDAxN1x1MDAwZVdFvGI0ZCeW6lx1MDAxZFx1MDAxMP45/lx1MDAwMImdXHUwMDA2XHUwMDAw7cuo4CV02kWfwlxyLWVWgFx1MDAxMNU2ktxdpoH2xvhJ/9lfx2Kc/S3+2t9cdTAwMTTyOzNi7/avd8hIvXC+Xa21XHUwMDBmsYKSNIqfy9HMXGYn0j2T706HqWLRpqGBfJLCVVx1MDAxMGCqao8h47ZzXHUwMDFhv0Uvclx1MDAxNO1cdTAwMTKmY1x1MDAwNtZcZlxcXFxcdTAwMTj0KYa7XFzTr5T0N4NcdTAwMWR5PUzbXG7lXHUwMDFkhGHYwsb412C3XHUwMDFmXG43XGJcdLX+Xa2Y9mzv0a3yI8pcdTAwMDF+/239b/sjOOTvLGQpXHUwMDFll1xyQTJcdTAwMGYqO1x1MDAxMsRUlIlJ5qxQoFx1MDAwM6ellCzm4W+uVG3x22DaTlFFQsZIY+o6bW+zy5FQNM1206m7Ylx1MDAxMuSmXHUwMDFkUrvdqnBdUFx1MDAxY66B/WbWqN1cdTAwMWPMxvlZXHUwMDFmtp1nz4xcdTAwMTPyOKaqOjup4E0yOJ5cdTAwMTFztksytE6knrZcdTAwMGI9g4P9+W0vdjbwXHUwMDFhfUKut0t9zfG49Tv2Lb+Yx+3JUF3fj+EyX0pmUuA+l95cdTAwMWNLqLNgTXFcdTAwMGUjIepcdTAwMTWQmVxcP6ZtW+FWnXCXfY6x/zt401witJZZ0TDNhHxl4Vxm2lx1MDAwNnlQnGlddEdIwlx1MDAxMfb2Q5pan87h5v1txb1cdTAwMTCmr/Tfx8vNXHUwMDExMIbKarOmevJkTOxcdTAwMTdHXHRpQ+RusYhpJour9Fx1MDAxNvVrQLFHxcfQLsI3pVPq28InlvjdV/xcdTAwMGZnZ9J/zs6cV1KsgOuYtfOpXHUwMDEwNqJCm9Ve+ZL02HmWp/7JXHUwMDE3+3dcdTAwMWZcdTAwMTFi5/thzOqQl8ko4vKaXHUwMDE1r+vj5ON8y6+wTq/mXCI/yFluflx1MDAxM1x1MDAxM9k2j/6TXzJpb1x1MDAwNSbItm70XHUwMDEyXG5erPVcdTAwMTNcdTAwMWZmSO2/+yh2Q9NcXJ1N1UW6PmKq+dHfkqG5rtp4JZ45raXaXHUwMDEw8mnqXHUwMDA3xSrUXGJtXHUwMDE2YVPWqPhcdTAwMWJV53d7bIaW3Z9L81L25fqBITmV61x1MDAwNsX8xlx1MDAwNu/4hlx1MDAwN8um/63Ow2QrKmrK1L2EK0M00f6kdX+M0lx1MDAxZfeAciOeR1jk6lhH4YP8XHUwMDA1V/lpd1x1MDAwMVx1MDAwM5NmI7Hp2Le/q4i2iORcdTAwMTPkfZg8gGBcdTAwMTQrasRcdTAwMDRWvVx1MDAxZILOwlx0e9kmKa7/eqGcVDv9NCE5pPpcZuU+XHUwMDE5vsdsXHUwMDA1nnbfVJffSEK4X8TQ/lPNaqa3ZoVcdTAwMDdcdTAwMWYlxF3nXHUwMDFj4Vx1MDAwMNtf429f1Tlqmzh3e+tcdTAwMGVN4zyBIythtURccruD6PZkUVwirN04lEOLiek1L48n4t7qZ8ZcdTAwMWIk/TFcdTAwMTdidXZRKDdOIKqS+dg2uFx1MDAxMXxXlk4ssppz3KtxyrlL5iM25Vd2t5Z1nqNcdTAwMDDZmCF7NqLWQEpdXHUwMDE5mjfYXHLf3GfRxowxslhJl1FqQLx4XalcdTAwMWFzk/xTM+aFvDTXT7PIYam0lJ0gZUBdljNcdTAwMGXc9qiVr/DLXG5S5V+SRFx1MDAxZPOiM4yf9Vn8uDBqJOD/oes9llx1MDAxY1Z2dc1cdTAwMDfigN5cckXvnehn9Eb0nnz6Zq1z43b32WtrUFxuRZRcZpFI4PszQeRR/tVccoSF08w0Y5i/QZQ5SVx1MDAwNPVcdTAwMDFsN1x1MDAxND5cdTAwMGYmN/VMiC8vxPB+2k1cZmycXHUwMDE1qVdTJu+1n3hcdTAwMTnY8Eum/to/MOP7hUpMasq/xaG/OGqt/9QpXHUwMDAziElhXHUwMDA0dj56mVx1MDAxM1x1MDAxZruXM1x1MDAwNU5cdTAwMDM8cVC1uV+DT3sp/t2/XHUwMDE1+zdY1j9LwaJrfVjTZ0fhQoXoVm1cdTAwMTB7hVv2LY9dPYr++1x1MDAwNyyHcq/GI5BcdTAwMDDj31x1MDAwNF3bll9fouLIXHUwMDE2RbBM2s/eXHUwMDE3zl+Pq4aSXHUwMDAyhEn07jX8WST4dy+N9WN+O5ElXSxFg1xcsZPJ/Wyn1S5Wy7NcdTAwMTHrfn+nt/CbcjGA0P9cdTAwMWNcdTAwMDZLhFYx2Vx1MDAxNPnaXHUwMDAyMXys3YhhM6dcdTAwMDXax7uLXHUwMDBi6Uos3knMi49VwlTYRFxm8Wlp6eLLh0BjsKU3aFx1MDAxMVx1MDAxOXRxvomLt1x1MDAxN760YDVccnG6XHUwMDA20Pi1f6ZAzvpcdP7+XHUwMDBlnrd62vXhXHUwMDE3TjJcbqBqUd8mnFxyvctek07M2m50qaeRgi/SQ2W/1K6QUMasXHUwMDEyONP+J9f+zzhsXHUwMDEz8GqRMLXO2Lqcnm9cdTAwMWOm/n4p+ifoXHUwMDA1rpopTzVcdTAwMWEsde+cuHvSfnq8pptMqzRcdTAwMTjBgVpac+PhSVx1MDAwM7M6PFxiomklXHUwMDFhhkPt4sI7wTnW7oPkV7CUtPxcdTAwMDWNN6qb6Fx1MDAwYlx1MDAxN3C3akbWp3vQdWE7XHUwMDAxbn5cdTAwMTKFmqosXHUwMDE4L/TN229SVWJiRFx1MDAwNcFYT/64277YlkRfc1x1MDAxZs3Cklx1MDAwMCnuJFx1MDAwNlx1MDAwZvvKyq2G39KSPahjv4hosZTwmtTUaG9cdTAwMDIrXHUwMDA1id6LM+r7M0099ZEtXHUwMDEzxFxyidhMdplqOZHjW4pcdTAwMTYobsFcdTAwMGZth6DzXHUwMDExfuHy8UBcdTAwMWVcdTAwMTh40HS/jy8xXHUwMDFmdWam8TlcdTAwMDL7np1rXHUwMDA3IVwi3UiA5/IjpCRcdTAwMWXnzUKBnmd91Vx1MDAxYoFa1rU11YKlJ15aqPCEXHUwMDEzarS2Ib6cXHUwMDE2WtijdkNWaljhf31cdGJ2t+LXXHUwMDEz0N5cdTAwMTiyXHUwMDEwxyxcdTAwMWHvP3k57nzfWURF05tcYthcdTAwMDcgNvHrn/+5NvW3r1x1MDAwMpy97GlcdTAwMGZ5oYxcdTAwMTXaosIh4o+xYFRcdTAwMTRcZuZcdTAwMWOYwT+LfdNcYolcdTAwMDHhvODa4K+e+aMg6dT3r7AmQ5Y7OEuGXHUwMDFiPmlTK/O/9fGiysKVNmO8qshpk53hn7biXGL7xrdK4mCTJ6T6fMdon1x1MDAxY9GiPf+mKFY1JXc3QOVihaFVqFx1MDAwNElcdTAwMDJNXHUwMDAybpRe+mrDxLw+9TicTr2dU/pDXHUwMDAy55u4XG7iTvD6dlx1MDAxMc/9W/OJL82OJFGuKihcdTAwMWR2gC2PlPI9XHUwMDFi4vBAgVG2okTaXHUwMDE5Qo/JXHUwMDEy6Fx1MDAxZEbg0NdUeVx1MDAwNfJq57leyC1H+c+4VJL72TRTnZIgRjlcdTAwMTKtUFxuXHUwMDFmXG7QsejKpEBtXHUwMDEwkd2hi9lK2lvGYfPE5uhlP26ZVoYy/ad21DlPsIKN96ButCe+XHUwMDBlvc7IIVNcdTAwMDT7XHT53tU31lx0Ma6tMbxJjWGAfDr86t+g7Fx1MDAxOPzgTInVcfX+11xcwp9S9M9cdTAwMWG7XHRcZtrq0lKlzEtta8w1VipfXHUwMDFkPVx1MDAwZfzlOZOndzJNxFfZaigt+fUr8Fx1MDAxNdpRjatcdTAwMTdcdTAwMTM9Q42cXHUwMDA0zf2FcKn3XCKW6vSgvD5QbCgwj5GLmkiR/OHfzFtcdTAwMDVcXI3/nVx1MDAxNd4+gFx1MDAwNDX2Pi4uXCIvUrVcdTAwMWKE0jJcdTAwMTdE7lTXTaRIupvhb7yrhlx1MDAxOWe/SS5cbqVfXHUwMDFhUXu4XHUwMDE2LlRBS5q/Snipozefs1x1MDAwM181TficW2b1XFyoeVx1MDAwYiRBYVHENcnvVHPMVEroP+Jqm6Dhx8HPtsXn2+8xXHUwMDFkXHUwMDE1XHUwMDEyccJcYk7D85T1vlxykFx1MDAxMbrtUFx1MDAxNuBcdTAwMTMmc6G0kf2dcnlcdTAwMTJcdTAwMTItjJxcdTAwMGZ0fb+tmcnRdeTDYFn9oZ/AgmGFVmNcdTAwMGU8wntUzvHMj1x1MDAwYv/Xo3iAXHUwMDFl0f7G7Ug2IyMjxlx1MDAxM7ZcYs2+15t0ku9524OgXHUwMDExxjJFfnbatjrmXHUwMDExhN3xX+o8g0puXHUwMDA0kdrSZ0j8i4tcYrYy60KxXHUwMDE16UNcdTAwMGLXXHUwMDBmbVxu0Sm360ghPy3uVWSW9dxcdTAwMWb2jfdo7/U1obl5jVxcTPr15Fx1MDAwMVx1MDAwN1wi4EpDzux/k6BcdTAwMWbM1n++4XD9oFxuW61ofFx1MDAxMVx1MDAxOGTmm6ZcdTAwMDRcZoWdN277Z+u2Ki6UxNnK8F4zez2dMl1BTsdcXNRTRlxih3dwfVx1MDAxNpPEyCOwxlxmpznwKZPCyW6fXHUwMDBm31xmQL19vKBccs068Vx1MDAwNlxmrOXVOsHYqZGEPShcdTAwMTFAjdKBiZ9YJ2/+f8Rfu0dTJ4SO6/Hcl4yR5CB7Zc4vXHUwMDA1QVxislx1MDAwNqjThHJcdTAwMWH9a3b8XHUwMDFild/7O8tnXHUwMDAzTOzgP/4+XG6+ZFxiYYcmPEnkoTpcbniZXHUwMDFi0F2XXHUwMDAxZlTx649cdTAwMTMkKpE7REBTXHUwMDFkaqZyO6+MaYCyN+7cKvtcdTAwMWKd5lx1MDAwZarkisd/zliaVMtcdTAwMThcdTAwMWNcdTAwMWJNXHUwMDA37uXZ/1qHq//P+MRJO9jwXHUwMDFknLpLoYL8OthcdTAwMGKqcTu/anDAv6VcdTAwMGLlgFx1MDAxNKDJjqEo5nqP2Wbcda++eC6rhF/EmFx1MDAxNTnCXFxtT6LiV1Gi4iiemVx1MDAwNFx1MDAwN39cdJfuQ5dcdTAwMDEux5CGoIndMGGDe/uBrfBcdTAwMDHWrFx1MDAxZqfBqenjV/ml81pTTtNcZqmvWXVRz71cdTAwMGXmZ1x1MDAwMSjgRXMqXHUwMDAy1ctcdTAwMTf7QDN9wDTWZadgfGTp43mXTlxu45JrOls94MouXHUwMDA0LLz87eHpLSCvX413XHKwWyfq38c+J3FcdTAwMTJGevx5XZnTXHUwMDAwsVRgXHUwMDBlKZxcdTAwMTJzXHUwMDFm3HpcdTAwMTPDUryscFx1MDAwMVRcdTAwMWKJdTrj/CjDN4a8ijOO8mvCb9HQKVroUMo0xIopMeODXHUwMDE0xFx1MDAxOT/QsVxciUNDpTp+V1dHXFzWZIlxJP7qmYRfnj69XHUwMDAy4rb0w6+sXHUwMDE1R/jK5fi7y2ZbizJKfnXvUlx1MDAwMDaAPrtn//teOSV6L8c1XHUwMDAxgFhcdTAwMTKfV6NgWIpVKs9o8cQwmsL17SB6I6WhPELIMFx1MDAxZVx1MDAwNjFdXHUwMDFirpWl+rJcZtfLXHUwMDE1xlx1MDAxOCFcXF6s786kuDOVJUEvk9RcdTAwMWaVwlx1MDAwMddcdTAwMGX7XHUwMDFk5PTdinz45nxcdTAwMTinPjdF01ekUr8t+rJCjl9iKVx1MDAxNettO/r6ZOJtRYBC81x1MDAwNaaDXHUwMDFkXHUwMDE4NVx1MDAwZvxcdDI3gaTfZWSTstGXgd/Zj2GwoGoxc/hGlHz+LFx1MDAwMZBwXFzBxDOANkaBXHJH7/xWn/lcdTAwMDZo1D23PGek27gpntJcdTAwMTKCUUfbRKE7wYzKXHUwMDE1VbiTyTRcZibJvLyeY1x1MDAwNXFstq7Yw1x1MDAxMS7uxlx1MDAxOZRcdTAwMWP6XHUwMDAzhDJcdTAwMDGOWaXxXHUwMDAzXHUwMDAxXHUwMDE2NWaqXHUwMDEwX9Ak+rnA3CN5XHUwMDA3XGJcdTAwMWJxVl+HmE1MXHUwMDBlKqJ0XHUwMDBl9Fx1MDAxNVxcrXJ39GNEWUPls59KjFx1MDAwMIFbx5//uab8f8Zitlx1MDAwZoroaqxW7C9S6cwwZFx1MDAwZXTroODETPGN4qir60xjw0G35lNcdTAwMDL/1lx1MDAxZspcdTAwMDUt1kgyOylcdTAwMWJcdTAwMDKBQstcdD2hXHUwMDFj+sBuk6G/xvSzRy11L7vZtlx1MDAwMixcdTAwMWJ7Y4ldlrQvJIE89Pb9XrPsh5mmdWLgdLjtNF7AUiy0cLBTjeVC9pHkTkKN9+VoXHUwMDE2QEw3xqaLrqvj2e99T0sn4oJcdFx1MDAxYlx1MDAwNmV2VclVQis271uOysY3yFBcZo5cdTAwMGbMq1x1MDAwNdhcdTAwMDdfhXFsXHUwMDFilT/h8SFAXHUwMDA2qJSjTG9DX8ZyQ2Tmm1KaXHUwMDA3ldJUyip+d7J+g4Eyblx1MDAxZmDbXHUwMDFlkHnctVx1MDAxY8GNMa8owClGsZlTcSSTf6Mz5MeWszyUtby6XHUwMDFisPCkelx1MDAxZV/XXHUwMDAxXHUwMDFlr3f5unRcZpY+XHUwMDExXHUwMDBlYWBcdTAwMDVZsFx1MDAwM1x1MDAwYok3vlZcdTAwMTX5KvnkjcFS37mBqFx1MDAxMMSZvFx1MDAxOKi+crvY+8/99n/2XHUwMDE1U9iwZbc5XFxcdTAwMDTYgWU+1lo5XHUwMDA0/pxcdTAwMTalK5dk+H06YDuK89ct/ItcdTAwMTSgOVx1MDAxY1x0ZFxiMHNaXFxcdTAwMTk3eU9p912pILSo4/PXg0BwmoWfm4NelG0+qjJcdTAwMWKU9TAt2mGtKzRcdTAwMDNEhEq3/GvfeT8o9b3kK7c9uJe+7JdQZplKh4JcdTAwMWamqXo9XHUwMDEwXHUwMDE0eXOxKFx1MDAxZiPaOED5n0rBXFx8WY5UmyqdbYecXHUwMDE3XHUwMDE382nsV3qr5lx1MDAxOFx1MDAwZact/0mPxjzLTN+q+GU+SXJvfvDeLHxcdTAwMTi504FcdTAwMWLd8a4ly/i6tPbHVXCyyFx1MDAxMGWlcF9/fj5x6qu2olxyllx1MDAxOVxmqrWP7lx1MDAxMlx1MDAwNNDgolTht/w83zr0XyRGJDFcdTAwMTNKw6aPnFElu1x1MDAxNfGaXHUwMDE4ajWAvFx1MDAxMFx1MDAxN2U8+VRcdTAwMGL+TWFcdTAwMDeii2qS+lx1MDAxZt6gJD47Klx1MDAxMolcdTAwMGIsTUdcdTAwMDfrbuvVmT43XHUwMDBm9I6jovy3+jpcdTAwMGL725PxQZ6LcVxiiVx1MDAxY0DTosZl0uDzk9WaZtjkjX/z7yfUcVx1MDAwZnHwyZH/XHUwMDA0syN8ctGpXG7HncGPrlx1MDAwNK9RbfUqhOiXiMklyl9cdTAwMThH9PrchnB10lx1MDAxNMR84ihQmc3IjtRcdTAwMDFcdTAwMWJccjvPXHUwMDE2XHUwMDA0NkNMktLC31JcdTAwMDHUQle6NYBRJqZ1YbhcdTAwMWaK91xcRk1cdTAwMTJcdTAwMWRMoNv6pHQ82Fa0MFxcon30kJ/1zmae21XPj35cIsVlYNd581xmXHUwMDA3y3dtXHUwMDE4M99cdTAwMWZN+v6lXlx1MDAwNIh0OFx1MDAxZmarmFx1MDAwZlGGufA4LaVY2L5+QrtUcE7b847kUlx1MDAxNFx1MDAwNHXUgbZGzIOCx/u6cHZzrHpcdTAwMTlcdTAwMDDHqXvVP+iC/a9lXHUwMDFlM5dB5NI+W1x1MDAxY/hcdTAwMWTjZ/YlcTQhVPncv2xcdTAwMTNgSmSoZC9PwF3DYbuv9HFcdTAwMTZgwD9cdTAwMWXCksN/r7tS13/qrmYsXkhcdTAwMWNcXK/m6z2Ub1qibFx1MDAwMeDDWY9H9tNENlx1MDAwNsFcdTAwMDBAuya/XHUwMDFjTa9NvM7oPFx1MDAxZY77VO9U5bWr8vayepR+nMdcdTAwMDS9+79V+2d7YG5QXHUwMDExTjP9XHUwMDBmXHUwMDA0wXz7+Vx1MDAxNiVcdTAwMTjBpflOOyiOsy+se6NcdTAwMTC9Pz/UU/6lx/uut467fltzhYBM3Fx1MDAxNqifiVx1MDAwYp7wZMpMb/90kVlzQlVcdTAwMGL0nz1K89I/XHUwMDAzVlx0kqG3r7hcdTAwMWaDyXQgZX+1fVx1MDAwYvV5Ql2cmy38kVeJUZTUXHUwMDE3jobwr4dccpapXGb+XHUwMDBi/P1pRoLl6lfGN5Dqa1x1MDAxOYKCXHUwMDE5U+yhtFrb/TNcdTAwMTOtXG7v3Fx1MDAxM3omwZvvj1x1MDAxYlwifKG494tcdTAwMWM6XHUwMDAwnHChTty4p1l9TOnJXHUwMDAwgVx1MDAxNJtzaXatKZNqfsGdq77GX71cdTAwMTBTnVlcdTAwMTKwbl98t8xcdTAwMDFcdTAwMWNhsXwlNS19MuQ+VsmkXHUwMDBmi2lQvH/du0Sg7lOb2jaxoFx1MDAwNM66O2rab0o8oeUpfUzfRP23pu1cdTAwMTkkXHJDq6bDjPH42FLpJTPYX6dcdTAwMWRcdTAwMGWTsd2OM2P/s6hH4t6Enm/f396/yJUrnGpcdTAwMDO8hp9cclx1MDAwMf9+MtSN5rxcdTAwMGUjlVx1MDAwMZh/WOlcdTAwMWRQtSFYXHUwMDFjPEtXLVxcXHUwMDE4XG7aKy+QeFx1MDAwMkxcdTAwMDAnXHUwMDA0mc5cdTAwMTPvlOTSJ0ebXGLkIHRNXGbdw+PmVvnxn3spl72oPpkmjf29XG68PVNBjZpAq1x1MDAxZFx1MDAwMi3wQTIyq1NoXHUwMDE4s9RgNVaEdb98UGNcdTAwMTBLZlpjMJiem1ZAeuCJfVx1MDAwYvAqW4hXlet79iC3e75z8iB/JWLFqlx1MDAwMlwiXHUwMDBl+nj4hFxuoSVESJMh8KTF0VLrVCpLLXZhVtFfjr9UkbtI8dhcdTAwMTnNSVx1MDAxNCe/2pNcdTAwMDTIbSv/XHUwMDFhxmJX9l9qQclG/ru/cVx1MDAxYnXT/1xuXHUwMDFm3ndSkV2zX51bXHUwMDAxMqbow9WYTovMXVT3Mt/rWo3fuCMulNHR4pxw0Tc1KnahXHUwMDE3icFDxoBWwWZNRbmGeEHJLHnWrWmSWYSxq1x1MDAxNTIot2A9WOKFoc50t+i97tmNzvXALGCK6VZcdTAwMTmQXHUwMDEypVxmVk+OmVx1MDAwZrqfctFcdTAwMWY5/Uis1Xo4jz2Bw5o92Y/NXHUwMDA0MlX2Rb1YwIR0eFU3RmB6UvkvJO9FXHUwMDA2OTnH/l5WYIY4XHUwMDE3SePByFx1MDAxYSbvXHSgaeyAuDJi89yinKuNrztyfvZcdTAwMTZcdTAwMGUvQrhvbtNcdTAwMWWNcsKfVFx1MDAxMflT4WG5fahcdTAwMWaOyjbi41oxzT0tUFx1MDAwNNPO3JO0m1plkFdTSypcdTAwMTVcdTAwMTihavlWNGhNYFVhf/+z9v5v/aj1XHUwMDE53lx1MDAxZdEt5JS7XHUwMDA0XHUwMDAzW1vskbdg1Dx37pbGnFx1MDAwN1DtwVV/Of7u3YK5OtCxjVnm+D5TqT9cdTAwMWRVuo4+VFx1MDAwNDtKMDErsOB6TpnoQjKE3bRuXHUwMDAzXHUwMDFhYG7EwGHG2WsqgCPXxVx1MDAxMypcdTAwMDbcxlx0Plx1MDAxZOvJ0EdcdTAwMDexZp9yoDWIeEC4YI/231xu3WCdSMto4N/3fcKFXHUwMDBlXHUwMDFmtDk+ODfzr+5QKtlpiJZcdTAwMWNcdTAwMDBX2H2l24REJuhqTLJcdTAwMDNLOvdcdTAwMTdGRVx1MDAwNWnwpztcdTAwMTNcdTAwMDPHOUJ6/Z7qaFx1MDAwNvqt41x1MDAwZnJLuyqLXHUwMDAzZOKNRsBcblx1MDAwYivQ0lx1MDAwMVx1MDAwNqNcdTAwMTdcdTAwMTUs9ojSO2FRf4Km+diEc25Ue8pFpLXcm6QuQzzRv99TpFD21Fxi8Dnnu9+dIfY0XGJurENlcVx1MDAwYrXdkoxcdTAwMWO00/GfpDn/PVx1MDAxZrP/5ONcdTAwMGbn4DeF9TzTevA6J1x1MDAxZf7zuc+FYFxiSXKli9KIUs1cZvTolyErXYb94vxFxMZcdTAwMWI5oFx1MDAwZbRcdTAwMWJccsXaa2ZUvbiwPDeJi0GWk8DzJbEsc7KvvN7Nrk8jJz3CIFx1MDAwNFx1MDAwNWuncbRcdFx1MDAxZFwiXHUwMDAxXHUwMDFhXHUwMDAyWoD4jL9SJmDrLPNcdTAwMTZkXHUwMDE299aZK/87djKZbuf/rGNcdJdZ9Z/8ppHpyivJ9TpRgSOF20tKzf9qQDvix8jsbFdt0tiJ9m2/kifeRjNcdTAwMGJX6eTPa5WR0G4jIaBcdTAwMTLLXHUwMDE2n8aFXHUwMDE3kSxXLbH+s2VcYqzcXHUwMDBikJ6YQM4qXHUwMDExgKn/I1x1MDAxYoc7NeXr+bNcbm+Oadb8U9/Ex341xKuzke92gcDq+K9SoUcsfyFcdTAwMGJcdTAwMTjSK9GbiT3/2zrw98/eadOt5tZ7/MwuXHRzvVx1MDAwNPidxno1O0iAc1x1MDAxYeXap/chmnTaUjrf9yBiPKmnnWCIOmQ9lH8/+EPO3ba/XG6N8D44Tz5YXjvKa1x1MDAxY6qIf1x1MDAxNFhcdTAwMDM0SIv4N3xZbK5Vwv1hVOJcdTAwMDTwXHUwMDE4qWVMfkhozCzkh9dGTjAwXHUwMDE20sJDu1x1MDAxNqZ0k6g3XHUwMDFj3vuVyHRI5JnWXFw0inZOKDq5y2+C1M9XOp07/7RcdTAwMDVcdTAwMDZcdDi+nybfZy9LPlx1MDAxZsW7OpyzKczyXHUwMDE0nP6aXCIzVp+P/GFcdTAwMTSHXHUwMDE3PHFcdTAwMTDpas9DZHOJf6p9bDqump6onzcmu/Opu9BT1/smXHUwMDAxwmCBwCEqVFbNxXYuXHUwMDBlXHUwMDA0MFx1MDAwNP5bjS8zziHFXHJGNUd2s4iy89dHbT74O7aGzFwiV6W4j9nLXHUwMDExuVx1MDAwM/zKaj5RzlKTk6LSUlxiXFxvwlx1MDAxZrb5b3WhXHUwMDFmVjrzv/qG8oJVappym+JcdTAwMWVfw7rYn0Wt6y3HXHUwMDBlXGLmU7hcdTAwMWWiv1x1MDAxYVx1MDAwZWUrXHUwMDEw33Ppi44hUImo8dJcdTAwMTJcdTAwMTPTwnePRrCorOCLd/CLU/Q5dm7g+pPqNnJcdNzHklx1MDAxNaSupM9ccmqF3cNcdTAwMDdP0lxcZHt/94O/zHtjm1x1MDAwZuBcdTAwMWZ2ZqKsXHUwMDFjz+04a7JcdTAwMDHBXHUwMDBmlFx1MDAwZcuqon4vTGbESINgeUhFXHUwMDAxLOQ5ifBFtOmf2iCyXHUwMDFiuf4qmFx1MDAwNVx1MDAxNluzXHUwMDAyNTxpP4aEdoRcdTAwMTVMzVx1MDAwMlx1MDAxONWZ5vYvrIPLe+yqflxmOXmEeqJp4Cd1XFxuXHUwMDA27lxmVEex7uWBpFx1MDAwM6GRZ4jq2kgylC+fuTjtXHUwMDBlXHUwMDAxVNPUeG5x1j+Ud7ZCXHUwMDFkZ7XmS1x1MDAxZnLF/TAxnVx1MDAwMyqizUNcZlxcXHUwMDA36Vx1MDAxOYnfJ4s8wSBbZ5/BYuT5U/Ov9SGkcrP1Rvmvc2RcdTAwMTT/2Sv5XGKQucc//uW+L6rzv0qTXHSJcySqZ5P51+XIr2vjIcokXHUwMDA3QbPCQlx1MDAxNODch27P6r1M1dmKaOTDu4t36qj+PGjz0Fx1MDAwMEJw1fFcdTAwMTFcdTAwMDJcdTAwMGY2pde145N8R8Gg31x1MDAxMNUgMVx1MDAxN1x1MDAxM6jkO4NcdTAwMTE2LEawX+SHXq1smkfELrDskDpYXVxcXHUwMDFmXHUwMDAx18rJKlxuNXf2sdFzx1x1MDAwMDcsq3Wr9SBcdTAwMGJcdTAwMWJ0O9Y36dMsJlx1MDAxOVxu/9FcdTAwMWPlidzOXHUwMDEzj0pcZvXRNkRcIiqdqLvEsVDBd1xmgJxmXHUwMDFjdrN551tcdTAwMDfqLdit4MtcdTAwMWRLrDZYUoCIb/ybcraYhFHpeX75SJCNMFx1MDAxNbauceYsbvPmf6WxUeqrnca/e2S8XHUwMDBinyzs1z5BYFx1MDAwZlktXHUwMDFh3vY1smZ/clx1MDAxNZr0uO3njPq5zyfho1x1MDAxMaVOwint9V/3Prp/9j7u0Fx1MDAwMYvp4KKvJviujMrifF46MPmzL2ZRp/61RtNjV0fMaGgggYQsZJPc/KIs5lhP43lcdTAwMTnwxNDEt9JiNDs0mt1aVG6shihIrsNcdTAwMTD9aThcdTAwMDRQlaxSWd8kTKb/gsb+/Vx1MDAxMDnrJGYxqpVcdTAwMWV6unHig71NxYLcXHUwMDEwl6lcdTAwMGI7vDY1umvjpqSzU6ulXHUwMDE4SGu0+oxSnVx1MDAwYrzhWas3XHKkTMqGrTcxsvI0SW/mblBadd9X4etcdTAwMWPQ1/XC0sYs+Fx1MDAwMzi9f1x1MDAwYn33MznmiyeQ3oGuqW59u0/3j2vNzJfMxVTXqGNCi8RysM1cdTAwMTlcdTAwMTLkXHUwMDFmXeX7nqL6eYUv9Vx1MDAxY5txQcc07eVcdTAwMGbpS5TE7E3sdTstZSGGc4o5m0/Kf0+XzfVcdTAwMTZtrvSB6/395URcdTAwMTIthdniN/rf6tX1/1x1MDAxOYdcdTAwMTfWwlx1MDAxMoGaXHUwMDBm82l897r6QJLFLPnMP6mdi1xuu7nqXHUwMDE3nUi77DJMpn+9IcxF+Fx1MDAwM1x1MDAwNYnLXHUwMDA0hIzrPv62e4HbI1x1MDAxMWtcbke6ZdukOWQ9k8SBXCJIb9QpjJLSMTgxLsXzoY6VPG9cdTAwMGWjUMCkXHUwMDFlPOkhsHlSXHUwMDEw8oNpMWVR4WHIPT2BiW9w8VImxixcdTAwMDP8LFx1MDAxNvRcdO1cdTAwMDPUyDFcdTAwMDB7YEVcdTAwMGV9/Vx1MDAxY13ybUNwvK6v2oKhpfjmvfV9M3br3/WSPMbSn6HHXHUwMDA1+uY3a0DznMFcdTAwMTax7/OH0lx1MDAxYjpp/eXZnzpcdTAwMDKabDRkmmNAhPxcXFRwy/u6ZmFYJZQgZt/MLfi290m+zVNccjBcdTAwMTDyhVnQZrLgR+vZO7eseNbP4zwl7klbQOGfhLsgUVx1MDAwZt65dGJG31x1MDAxN0i1dVJ6PP7EPkL1L+t++2dS2L/7xnWMkDRFXHUwMDFksSZn1sHD9mhgSO6vbd/TkDtcdTAwMDHQrItSKb6Xw8vxroEpd3wpvMV6iHeamIOvXHUwMDFklFx1MDAwMfVXnfhYWlxmv78gayTbk+PY0IxhO37MO5VXgVx0fKxsXHUwMDFkXG5tW7xcdTAwMDDqdKBcXEPEsMknhlqU/8qZqtZYmfJTIFx1MDAxYjYrsFx1MDAwMEPagdHFy7CflY65yLnMkZTsjo2+zk2wvDei4+h0iC6/dP6mXG5Nglx1MDAwYs26Vlxuuco+cuqHbM38jFxyXHUwMDAwtPlwjTNcdTAwMTc+e/ZqZPnHiU1GeeRTIbN5u/PFrFx1MDAwNCNdw3beeYhSllx1MDAwMf9AXHUwMDA3RqlcdTAwMTIoO+Gf827khJDpuszOXG5cdTAwMTbs3PY12+K/O1x1MDAwMa6pcfhuvF//qrdem9er/Np4zU/TvT1cdTAwMDZcdTAwMWVsvFx1MDAxMXQ8Y6ChLUK/iC7L4lx1MDAxZPR9ZMehX/UvXHUwMDEy1/SmPsZmyoX5q85cdTAwMTiHVUeJTimmYVx1MDAxOFhcYj61XHUwMDFknepcIoTC16trvs5KpN+45/sob7ugeqJvXHLpTP9xl8O4WEmdjjPpXeHpy129sd9cbjrZXHUwMDAzXHUwMDA1Z+xXrtU3XG7zXVBcdTAwMWVcZlx1MDAwMypu4opt51x1MDAwYmhysFx1MDAwN7FCmuM8+e7xlelcdTAwMGboWr9cdTAwMTE+dn1cdTAwMTGg8oorXHUwMDAyXCKFVU65mdGNPcfb3LdcdTAwMGJ2K3M8RzFpd3DJTlBxJPhXsoVUqOSiq1u2XFyyyEaNXHUwMDE23StcdTAwMGKS67PsyVt3MI4gOM/O1lx1MDAxOEXoX1i8wLbcM7pTklx1MDAwMKNb5/dCQSHb4UqqXHLiMvCXQlx1MDAxMviFV1x1MDAwMeh+/3UtW1x1MDAxNrf/6YeQON1ureJHqd9cdTAwMGY/u0g2MvPLUFx1MDAxN7IuKl7lQ8RGgEFcdTAwMTPmstlcdTAwMDJdMlgsXHUwMDAxXHUwMDBmT1x1MDAxYudLXHUwMDAyolx1MDAwZVx1MDAwZq9ghNVWXHUwMDE5L8dcdTAwMTK5XHUwMDExT6VcdTAwMDBbXHUwMDA2rfZcdTAwMWPsbL5cYnRQUNg0XHUwMDFk12dO8WdqXCK+5LtJL0TknV27V6EuzWNUnulVSmFcdTAwMDA9a2/io4DTuDpcdTAwMDV9htRcdTAwMWX/OEJqXHUwMDFmslx1MDAxOZrRV4FcdTAwMTmbXG5KTHzNt0WZnDFcdTAwMGZcdTAwMTaYt2hcdJjBaFqqme0yXHUwMDE4uPflT4bmZfX0PIV3K13UbNKW48yAP3mORk6HqzJV2ihq0iRcdTAwMGbSXHUwMDE0YI9w/oFcdTAwMTD4c5+MPH9iXHUwMDE0/jzWXGKM2uCa+vdbvWaFlvk8RnJcdTAwMWb4xzyhbNBuT1x1MDAxMIqmUFx1MDAxYn39tkEy46g/c+b612p/nluOkjvtUv5tnfovzzL/xPdTYmBvJ7JVSV9Fwnl7a9/62aTUj9U2hF11XHUwMDBiQEWQutI9J+NcdTAwMDYwee7RYSNyXHUwMDAzelx1MDAxZVx1MDAxZF9oXHUwMDFkT1x1MDAxOLjxZM26l4hjXHUwMDA1a7Ug0t6djk21XGLKY87Ce8JHJ5tcdTAwMTWgg/DAXHUwMDBlV8FxJvKJiV/iWFRzjFPgXHUwMDFjcke8cpHvXHUwMDAxh89x+1x1MDAwNyObmlx1MDAwNZUoytGNPkBuOyVcZtlcZtK6NFwi7ug9Y0VIlTKsbN3Uclx1MDAwZcKhcL+Pmii78oq6/Vx0s297hIS+XHUwMDE2lVx1MDAxOESpXHUwMDEwke8/PndHnbNcdTAwMDRiYC9eXHUwMDA2cFYjfz9xXHUwMDExdlx1MDAxMKfg9TeM8J/Ts2knnqXm8mK/ujPy6iVcdTAwMTKAiDfy/Ps9LdPF/93TNbRRkz1XZI98jIpnmNnyVXmeXGafX8sx3rxcdTAwMTNcctfMskZbOlVCeMJcdTAwMGJUkM5cdTAwMWRxk1x1MDAwNX2xYpOivHqaXbRcdTAwMDHqtqg30IhcdTAwMTCJx3knVOeoW+5iRu49f6eNmYt6Zlx1MDAxMrfdTE9T2E2ftMUogVx1MDAxONvCSlx1MDAxY4qaVWxcdTAwMTa8bFx1MDAxOVpwP1x1MDAxYcOON8jSa8fxK0ekRN6LRKX1XHUwMDAzYfdcIlx1MDAwNqr8SjhcdTAwMGXo+DcmxzB7ivJAZYkxNjUlnzJ6RMt3YVwiXGI/IJhuSkCweufzfDCjUfWeYFx1MDAwNX2ahdz0Tm7OubC7XFxcblx1MDAwM5Pq+KHFR1x1MDAwMqe/psEvhqDfXHUwMDFmhHP3v9aF/a1xXHLRP2tcXHRthoT1y6rHYjr7XHUwMDE1PeNo9ulvplnZaVCYuziF4ODsvJUmebmjpM1tSYOHJ8yxXHUwMDEx8PBcdTAwMTf8Wj02L2b65rZcZuKMLWJRlYLYp+bRqbOaxpE4i3ZEJVZcdTAwMDUqPH1zIFx1MDAxYlm4QYAtplkkOI7jXHS5XHUwMDE2MZPvUNRSzFx0kVxu+6ztXHUwMDFl6krbKFx1MDAwMUtcdTAwMTRwSoA6lKn5b3P0yf/UQbJcdTAwMDd/Ns9t/oh3XHUwMDEy6lxcb8ypWiSBIVM8L4nhT278UVNcdTAwMTczv3SzIGd+plx1MDAxYdkpzu90qlx1MDAxZll6XHQ/xVx1MDAwM9ZcdTAwMWN9Lln1XHUwMDFjrGEvJ3DtcuriMuVcdTAwMDVcdTAwMDVcdTAwMTaoh+/sX/tFPI3815PRXHUwMDE0K1xu72+oslx1MDAxOd4hrctcdTAwMDd7ya/Yn66ZSVx0p1x1MDAwMK/Fzzghzs34+sM9/GVGXHUwMDBmg/n43z6tcEqfMu6L4efNXcRUv3FiR/vYvm6Hdlx1MDAxMI1cdTAwMTBthFtnWyiXhlx1MDAxZiPHgixcdTAwMGZcdTAwMWKaW5NA22dcdDdb5dfz1SbhUFx0PseUXHUwMDE3XuRcdTAwMTeIeaJ3XHUwMDEzu/FWy0VhXHUwMDAymFx1MDAxM3jjZKjQXCKEkdW4WuX2PKu67Y+M/+rXJ7pNsbnglJ/sutNcdTAwMWbSUN9cdTAwMWZJkEbCuNZcYlx1MDAwZbZcdTAwMWEprEqZzMVso3ZUdTMrQyQuXHUwMDFlXCKTbuuZx6pPXHUwMDA2fqv6KcK62PLwfq6zqcsqh4+oXHUwMDEy4I1cbuVJ23j/YsPXXHSlxvury81+XHUwMDE5Ndj2qD/6WFx1MDAxNzHwTU5jxWSVYJ3lJ5iRPnT+0Fx1MDAwMDjGtySdnnr9y1xuTCTDPPxrNlx1MDAxM9rUh+3jO3GeV17s9Vx1MDAwZkvHSIgo8zT1mcnn/sfHSp2Emy7xnlx1MDAxZKXvXHUwMDE4wD/jnlxm3n8tzFJcdTAwMDWMuSPAcVxiS8wjXHUwMDExci0q6US+Ry1cdTAwMWTbsKxYKlx1MDAxNsTQN/7re7NWKj+OcMGeepK+ijk6O1x1MDAwYpLKc6Wu33HaX1x1MDAxOFx1MDAwM81zMlx1MDAwMutcdTAwMDOx14hcdTAwMTKKYfytsVx1MDAxZN78Ic54XFyL9Vx1MDAxMYhcdTAwMTbvOFinblX4Jm7dw9252U+2yeZcZmh/Pfdv9Fx1MDAxZj9cdTAwMWSdgu1cdTAwMTfs68nXg1x1MDAwMpSMLMDXhtA29OqC1z0mg+lkXHUwMDEyXGYtbZX/Vvf5ys/UhlhcdTAwMWXb0Vr7lXltO94k61x1MDAxYfz+ypVrpDX5OdxcdTAwMDdHM8okl1x0Q1x1MDAxZf02TzTKiE+Ck6jDXHUwMDFicpZewe+MgirAz4Q8KtOg2mKqlVVcYlx1MDAwMNNcdEXTN5KLKt5grkpcdTAwMTSui2/Yg0fx1Vx1MDAxY1x1MDAwNkx1n1xuXHUwMDEze+BPjsIl+NlL65BrXm4zO+GeQlx1MDAwM46alEaTgoTt1IqTfHk2XHUwMDA1fuCIWrWF8DN0SmVDmlx1MDAxYcSxXHUwMDAxXHUwMDE2XHUwMDBlavT9n7WbXHUwMDAy1z/4XHS6qGqSJNtcIqHj0adrft1cdTAwMTFdXHUwMDEzLdRrVUpcdTAwMDcxKDI3MJGsh7n50+PwL3usX6/u8lx1MDAxYql879N9aVlZ/3Xf5Vx1MDAxZk3CjqxcXLvHvIvfXHUwMDFmXHKrn/3oIHNccjaaw50lQlx1MDAxMao7Jd4/yuvYc1x1MDAxYVx1MDAxN19cYlx1MDAwZae5lFbtezeSTXCeXHUwMDExyuN030kvuvWD2Fx1MDAxYTAkn0NcdTAwMDVccrhcdTAwMWHO3aJcdTAwMTGHXbOUzGDIV1xugUjiRmx/NiX9c45QlqJgVbRLkNVcdLE15FVPgyT/fjhXU1x1MDAwN0tHT95cdTAwMTQkXkKcXHUwMDA1vmKYPK+XV8wsQa5ZXHLbdVXi/+NzwFx1MDAwN69WjVx1MDAxMoc9I7iJXHUwMDFibkNYonHBW1x1MDAwMJJO9/3seLWcLGZ2XHUwMDFmYTKywlx1MDAxN8yAX1x1MDAxNsNcdTAwMWNsXHUwMDEyXHUwMDE4XGJbYPBHVT5b/ctcdTAwMWHN375DVNvHJ5P8Lzm1kFFcdTAwMWTOlVx1MDAxOMmQ7pLAKXPd59TgO39cdTAwMDVCvfLbPkBulfl5kJD/OS16XHUwMDE1kG9cdTAwMDUj0VRJnKfK11x1MDAxZU1TeI9tUFx1MDAxNGK2XHUwMDBi19lqm3KpqlnEbFxy7HZhWkzmwz9cdTAwMDVVXHUwMDFj3ye0XHUwMDFmVJRXaL3+lHAgSpM5XHUwMDE4vY6AXHUwMDE0OXjiX1x1MDAwMqGfXHUwMDA1P0WASFx1MDAxZKFvUkZgcf2L8Nt68Vx1MDAwNiR/RYx9taZcdTAwMWF9vvjNXHUwMDA3XHUwMDFmjcnMqN5kiTXxnyxFXFz/wb7ipSm6393GgFx1MDAwZXtPJ0+nUVx1MDAxYVx1MDAwMWbEPFx1MDAxN1j0TJy7zjtcdEizXGbrNOznXHUwMDFlTj/zXHUwMDBmXHUwMDAxXHInfVx1MDAwMJAlXGKJOKdcdTAwMTF+c2VAlu1WkJhcdTAwMGb9cNwjc6IkXGJtRoHxXHUwMDBibOC0o/fQ5SNippsk4OlcdTAwMTlFn8+Yx7KmKFirhF5cblx1MDAxNtjDOOTnSICMSsQjXHLBWHfRPKHcIS0gc9hp9EuAMW5cdTAwMWFcdTAwMWLo2LtcdTAwMTEroTTojHWhXGbz+Xz49/E+2e/jwzL2vX086Vx1MDAxYd1cdTAwMWK2SPGnkFxu+qGzXCKfP1x1MDAwMPLNz5VAti2D/HBcdTAwMTmAmaZBUEThmypyYpXwUj3BPVx1MDAxOay2KjV2XHUwMDFmt20yXHUwMDFhTVLnXHUwMDFkk4SHyixJrFNcdTAwMGZA1XTK06DyrzdcdTAwMDfUXHUwMDEwsdt4WewpSvtoXHR4XHUwMDEysMZcdTAwMGJcdCzenFr1j4NGrrZcZjpcdTAwMDVcdTAwMTejfG57mVx1MDAxZlxupaG83K08XGKfXHUwMDEymTtcdTAwMWHnRTx6h+NcdTAwMTX7UP35XHUwMDAytuKnn6rKjEo4tCNcdTAwMGJ3XHUwMDAw0MWiPketRc2XR6DZbffkXHUwMDFi0870mFx1MDAxYkYgQU4u94JcdTAwMTHokSxcdTAwMTLebMs1dlxuXHRSXHUwMDFicFE/os1/r10+XGbz/7fVKyRcdTAwMTmG8nhcIrieXHUwMDA1/vjikfGItz/tLr65Q95EjT9jTkvgbcAtXHUwMDAyWC1aXHUwMDAyS1x1MDAxMNpoyjJLYteElvxcdTAwMTJroD1cdTAwMTe0fGEmh9aXXHUwMDAxXHUwMDBirI2ERV2On4KJd6KnyT70XG7o+f7z62PNXHUwMDEzRmyGXHUwMDBieih2KfZBPy1BXHUwMDFhpYPjXHUwMDAwl+Vlpb7y52ORQz9cbljwXHUwMDFkXHUwMDEz5krMi/STWO/oXHUwMDEycFx1MDAxOOBcdTAwMDChMidcdTAwMGX6oFNccr6HeXzM9VnUXHIzJVx1MDAxZuSq91x1MDAxYTW8+LzK8P5rXG6X/DxcdTAwMWbbQmFAjjFoRVxumJHu8HWczOH1MFx1MDAxMXdxS9jT7nFausPQZGCL0vCXOd8hjf5ff/p/7cZN48cuXHUwMDA1xkT0jCQx2VLncjeIy73q1MfeXHUwMDFjaFx1MDAxY7/QXHRUmLM+cF1ksWfkx+E9ZUhOXHUwMDFlilx1MDAwMsC3eFx1MDAxM655k9uNL8e+qMDymsJvst20XHUwMDBiTvakhkJ8XGJcdTAwMDSsXrxf7pDOjtJcbvmVLiRKuSVapCBcdTAwMWShIOLTpI2Vt8w/Q7LygGDcqrx9PjhIL9+mfWFsRVx0XHUwMDAwqFx1MDAwMeh3oHryKGvRcoGtdDB/Z4jrN4JzvEy/VcqnatdcdTAwMGX7XHUwMDFjXpdv9ZdcdTAwMWVcctItM1x1MDAwM7dcdTAwMDa2duRn3uvyy7ZLXsKoRlY/XGYp4VBcdTAwMWLyXHUwMDAy6jVidbafnOK+0Fx1MDAxN05OXHUwMDFhfktcdTAwMDbkgiTAcFx1MDAwZdi/+JpcdTAwMDOwtshiXHUwMDFkxbbkWoSjJDFZiCwqZCFcdTAwMWYlXHUwMDE47lx1MDAxNGFiYD1QkzImSFjjnVx1MDAwNuglRnItQVx1MDAwNjg/XHUwMDA2xSFRkHpteN92QZRlIebHkkqrXHUwMDEySaRcdTAwMDRcdTAwMGLdoVx1MDAwN1x1MDAxMFx1MDAxNdTES0+LWPg876hcdTAwMTHccKnK9DNcIlxue2xcdTAwMTE7hFx1MDAxZcRcdTAwMDbSzFxuQt1+XHUwMDFjiVx1MDAxMayA1Z5kXCJlTrs91Fx1MDAwN3yV6XNcdF05U4FcdTAwMDRcdTAwMWODKlx1MDAwMY3bumBQXHUwMDFjfTy+TuZMOLEpT2pIcsZfdomue1x1MDAxZaNcdM98Yy46QIO3fKrfaoC63Xmuzfzv3Fx1MDAxMDdGt5JcdTAwMDeGfaentVxm1P1cdTAwMTBvse+kNmkn8KWI2kMx1KlOzTV6+/yPOWqbQsUyuidcdTAwMTHodW3GXHUwMDFi4F/vXHUwMDBi3oRATVx1MDAxZpva4pRcdTAwMTUtTlx1MDAxNVx1MDAxMCfArkxt1lx1MDAxYvV3fIa28J2sXYKDIzFcIto+XGbvaFx1MDAxMjtquFwi/sqQk1x1MDAxMFZ261iMcrSq2E8lcqWWplaVJ+CVNKer8LqjbKlcdTAwMTlcXHqDJN7JWVx1MDAxNlx1MDAxY1x1MDAxOK67U/jXXHUwMDE2trAnXFywr2dXmOpbz/guvdNaXHUwMDBlJaDyXHUwMDAzioOR9m1cdTAwMDGbMHljwaJN9Vx1MDAxNHtQ51x1MDAxNVx1MDAwMrOG2E/C+lN+k1D0amrx+o7PXHUwMDFiyYU819y+f0OypD1+XGbPXHUwMDA3XHUwMDAxu+RcdTAwMWL2Ue1TYJPZcnfBe0atNSGkpcjRgXtcdTAwMWM7gkL1LOZcdTAwMGXVyr6P11jy+/g7/bDK+D9fa4x7XHUwMDFj+iQky0/MwbzvdPVcdTAwMGaN/bQ9I05cdTAwMGJdhHZFeEDzfTiMXHUwMDAyW0HwsLkwJYkmTVx1MDAxMONccmcrIVK3aDNLXHUwMDAz8UI4W6k34jA/85TWztpEvqj5Xlx1MDAxMlx1MDAxMtRkXHUwMDAyXHUwMDFig4tf7lx1MDAwZdJIXHUwMDBi2jtcclx1MDAxMnmKwsBQQJvUZiRcdTAwMDD8XHUwMDFkxMQ4XHUwMDAybqZcdTAwMWYgXG7igs/2gNjBnrE2lHDJmaCcnNCtyzuRWvvG9rJcdTAwMTazondxUdp3/snEXHUwMDAzuJaGciRcZre/lDarp3S4rEBA65t5XHUwMDA1qLRcdTAwMDRV1GH7XHUwMDAxXGKFnOiQaN/gTEdcZtknTVx1MDAxZv5tzCWxt2qtk0OHteZDMVMzXHUwMDEwXHUwMDA2PTytQ6ejgVx1MDAxZrXJb5t9RXiJXuawYkHDNPjFQ9um1i1cIl9cdTAwMTBttVxufe1aVZ/P/8fW3KesRlswgcE4VsKrtIK6dqkwfLJccmFm9+S0J3ZcIi92YuluclKPUFx1MDAwM5ZcdTAwMDB9X2el+fV3soT21JxcdTAwMTZ5pSl6c1CpsVx1MDAwMzorXHUwMDEzjLT49MdcdTAwMDJcXPdiktUlybT2TWV/QfeVK+97QJpcdTAwMWNBmGzfeWxccu5DXHUwMDFjcdKFXHUwMDA1RrnJjlx1MDAwN1ogXHUwMDA2serNa8FqYVd6IJxcdTAwMDMrWFx1MDAxZjmJXCI/cGDyKY18JY42XHUwMDA0gbfou6RcdTAwMWFzNXq6trktPfFcdTAwMDfIbLEvP3q7aUnS/4Z2TC+ti91IbXZcdTAwMThORZBCxJVsWt2H8lx1MDAwZlx1MDAxMKjsb1x1MDAxMEw0y2ewbf1cdTAwMTJapJ54llx1MDAwMphic9OIaS+/lLjwwqVcdTAwMThHfYhcYlx1MDAxNImkydXV/57jtsloLPPxyvP3S0fto92KzZBcdTAwMWLsiVx1MDAxN1x1MDAxOHT1+qNMzvZcdTAwMDFcdTAwMWGd0sDoclx1MDAxOCwnvyxcdTAwMWblXHUwMDAxXVx1MDAwNb/AXHUwMDE53pHlhfZcZrq5lLLD7njzoaF+QruXtVx1MDAwNkAusiiAK1x1MDAxZJpZ9UONvLtcdTAwMTJ82Vx1MDAwMHZfZFlp7YtlXHUwMDEyikLmfUE+RLVcdTAwMDHYpLV+XHUwMDBlRLAvoSFcdTAwMGUqXG78hofENnhMw05xaNXDcraQMFxu81x1MDAwMp+eOv5cdTAwMDXoXHUwMDAxcziT4D5cdTAwMWal3DFcdTAwMGVtt735kaQ89bDhlFHvwt9cdTAwMTEy0rF4YiFVwcuQXHRvnlxypPBcdTAwMTfJ3ECvSXs0f70j/EKdRjT5IESkOeNcdTAwMWXc5Vx1MDAxOXjLalx1MDAwYq3Kk+eAuv2Y//BD7uN/XCKtmVP2gW598vQ/j1LYrJe6/X6sLV1cdTAwMTD7TcOhkcBcdTAwMDSeQ1x1MDAxOFx1MDAxOHdoOj1OWu6hXHUwMDEx0lx1MDAwMFnAR65rPJW4gmPPXd5Aq1x1MDAwN1x1MDAwNVx1MDAwMjmgYk2X1oygKFqHb3hPLVpdNFx1MDAxNObIPMny232pVf2xXHUwMDAz4t93oVJYXCJZXnCP7v7CiTfQIG1LXHUwMDA0XGJWYXJcdTAwMDdcdTAwMTcmXHUwMDA3XHUwMDE486t8Y4983Vx1MDAxN6TtdFx1MDAwNYZSWDpcdTAwMWRcdTAwMGWX4aNW+4r+ety0d4R42jTo2NrRPFYwXGL/RblHWebLy2FYI8UvgoY081x1MDAwNcY56Fx1MDAxMXo8juDu2umYVa9cdTAwMGLSXHUwMDFk3+hcdTAwMTRcdTAwMWJcdTAwMTGPkb1xXHUwMDEwtpEyWSxT7f9cdTAwMWJcdTAwMWL/r+1OJXNltlx1MDAwNbJcdTAwMWaZsaNQfnV2eOGhXHUwMDEyyyxcYuA6K1x0XHUwMDEw0KVcIuDo8CCRXHUwMDFhjqAgXFxQYFx1MDAxZFBcdTAwMTDbwFx1MDAwNcJWXHUwMDFhxlx1MDAwMcxIgyuVsvCjYI2mXHUwMDFm5rk7XHUwMDBiXHUwMDA2h1x1MDAxZszTXG565vKigMqy3EtcdTAwMTLYcLScuSfG8XCkha9cdTAwMTfZPn2rZPZ9nyfh+euoTpSvRVVyvPdcdTAwMTiEgWIpXHQ1PdLXJnRcdTAwMGJVXFyjmFx1MDAwN57dj2x51OZnzO2XxkNcdOQo74zOXHUwMDAyt2NcdTAwMGK/XHUwMDBlO7JcdTAwMWMvOEtcdTAwMGUpo5bbxtRcdN9cdTAwMTmXb+Y9OrGsYd8/S1xi+kHeXHUwMDFmgNm9XHUwMDFjkDRcdTAwMDRMXHUwMDA04jKT/IRcdTAwMGKNQ9sgqV1cdTAwMWZt2CFDXHUwMDFid5ONXHUwMDE2lPC/t3ja/4trmEqtZP7yjTomculcdTAwMWKwXHUwMDEwKyC02qEwzlx1MDAxYnRteNSk6lx1MDAxNeJpXHUwMDE18GpcbqKcjVx1MDAwN3VcdTAwMWa8XHLz3Vxu4mVcdTAwMDOARdnRXHUwMDE0aFx1MDAwMdDxtzSgxvt8XHUwMDFkXG5WhW/vx9NcdTAwMThcImyJnlx1MDAwNlxiXFxvXHUwMDAyzkui+Zu7+15cdTAwMTCse/WWMNlqkVxu6I9e+LFALXKAXHUwMDFmnFx1MDAwMCEoMsBcdTAwMDXZ0ld/bVhrdH571FxyvMTxhPLy995ccoBa45/+qeKfr4pXssunr3hmqWmJQMpLhm1cdTAwMTCe50ZLzOmw5V9sNK3cR78r6EHb1NOznFx1MDAxMlW6TL9cdTAwMDTeRa3A/TJzgzdcYuOqXHUwMDAwR5GiXHUwMDFi/5uZX2quqM+bJ1x1MDAxOLDIqPXpSfVDn1tcdTAwMTjHOFx1MDAxY4i3XHUwMDE0K39HXHUwMDE0Klx1MDAxNoso7ZzayStko+FLXHUwMDEzXHUwMDEzpFxiv+Iw79rPQfPiypJzmD+/+1x1MDAxNURcdTAwMDFcdTAwMTaBscThkVx1MDAxOVhv+TR2lFx1MDAxMShcdTAwMGX0eoEgXHUwMDBiotWRg1x1MDAwZVx1MDAxNVx1MDAxOEPKxPY2174g9GOEUXne5aLfwjVcdTAwMGK43b18t/s6QPvV1TSYwzHYXHUwMDAwTa9pnzs9XGYyUOxlXHUwMDA3a49AKlx1MDAwMYrrXGJY+cuxgGhq6LOiwpk977olXHUwMDE1WaKH32+VRWL03NRrY9L1jrVcdTAwMWLih+xekCp9WiOdXGZcdTAwMTKeNz5cdTAwMGKwUIeIejJp4qr22nVKSug4XHUwMDEw+d+aUqtcdTAwMTZ1SFx1MDAxZm3ue0Fn50th8r/l28iRK5XD9fhFdL3TWal2yKi3QFx1MDAxZZxZ4lxm52+1laV91JlZXHTLPk6kjPuj8lxmNoHsaF5cdTAwMThcdTAwMDGdQ1x1MDAwNIXDaLqh9vNcdTAwMTf/XHUwMDEy/2XEXHUwMDA1nqBUrHCi2EnqXHUwMDBiLldcdTAwMGJcdTAwMTJ4eYTpQVxiyFxmr3Rax1+ilVx1MDAxNVx1MDAxNq7xWzzAbaqxXHUwMDE3yO+twVx1MDAwMIC36CeFwSlcdTAwMGbvbZdcdTAwMWLE9ZaEXHUwMDE3XHUwMDFly93GTyhjUpOoMTCyXHUwMDE48rFcdTAwMTHWsFx1MDAxM5M5XHUwMDAw9pt45HZ54zGt8DRcdTAwMWaq01x1MDAxMsGWpFx1MDAxZGrbh95paVxc+C9cdTAwMTn6nJrIWoTOZ+pPZ/0tXCKUXHUwMDE4yXSm4Vx1MDAxNrNcdTAwMDK2XGZEhvv/a/8/v/tg6eedl1G5tZZCxb/yI1x1MDAxMMBcdTAwMDOMqa1cdTAwMDa3e1x1MDAxZeHXk/wxuF4uQOymsXxcdTAwMTChXHUwMDE0r05cdTAwMGJcdTAwMWVcdTAwMTjdSzZAXHUwMDA3Od6rSVx1MDAxN2gtyf1cdTAwMDSB4YazQ1130Vx1MDAxY455kUisf8BvctNAQCHYlFWAXHJjW1wivOmwNWor81x1MDAwMnJ1XHUwMDAxvXS3M5pcdTAwMTDqd1x1MDAxMKW5g4RaLCD8JvDOzJ67V1JZpOw+9GiSndC96odcdNaav6pgiWdcdTAwMWK/1FxmI9BdpLmAKDVzXHJcdTAwMTgy0DpcYt8ltVxmnTqJVk+DYqi2aFx1MDAxN62iQIm4aNxWU/wnXHUwMDBmzyi/8ZuHkDeBXHUwMDExO1x1MDAxN5ebXHUwMDAzutjfjbP/oS1e7rBZ5/OKi8W9Y1x1MDAxZE8/qutRfbfZp8V0S1x1MDAxOVx1MDAxOFx1MDAwNfdOW2hbknlcYvGyXHUwMDAxLe21XHUwMDAxcshYaVx1MDAxMjyURs+srVx1MDAwZqs2IOtofFx1MDAwN0/DXHUwMDBi1tdvXHUwMDAwhodBgfmLb+A07NyA/MiDUMWacqZZ+clcdTAwMTlFkGevgCybqFx1MDAxY310V2nFXG4myUXDzcxXXco8OVx1MDAxNHRtryZhRlLOhVx1MDAxMVtlxO9cXFj0gDsz3utFZFx1MDAwMfUoOn+G7thO/G5MdSWuTz5fljVcdTAwMWJKXGapXHUwMDA3XCJ22/668GuiL9Ivf1x1MDAwMU3IXHUwMDA2K+n6XGLqXHUwMDE0+HNrXHUwMDAxSnQ/qbyfXHUwMDA0ps9eRv+Xjvhn/nmXXqlcbpa8/ixi6ipcdTAwMDdyMdYpUVx1MDAxZutLKthKUSQ99Lk75cq3XHUwMDFm3Vx1MDAwMlwif3pRe1etXHUwMDE4P5QlXlx1MDAxOCjpRHpcdTAwMWUsfzlcdTAwMWZIXHUwMDAx6Fx1MDAxZPBw1O5DVWg31pBcdTAwMTb+hSv/Ypfv3FxitOBcdTAwMDNEQS5Lb3T3tYbt1TJ5JEhwmuvuXHUwMDBlp3C0Q+Ndz2pcdTAwMTlcdESoXHUwMDFjnyNCU/CEXHUwMDBm98i3vEBK+41cdTAwMGbFXHUwMDEz3PA0XHUwMDBlW0xcdTAwMDHEYz4lYlxu02IlT0d7XHUwMDA1im2CXG7P8JzOM5hNmFx1MDAxNf/bOlx1MDAwNy810Pt0+edf1+S4klx1MDAwZjE3zaRZeYnPfJ+XXHUwMDFjN1x1MDAxY7KsTuyp/Fx1MDAwMOh4b7FFa8bLlDJatICjhZhfbjjw1flCL1x1MDAxZlx1MDAwZvhcdTAwMWRcdTAwMWJcdTAwMGZcdTAwMWPG57aE6iuf31NFvqJcdTAwMWRPfvhcdTAwMGVeyGxcdTAwMDP7891dV8CwVZWMXHUwMDEyRVxcXHUwMDE2j8XKyL2s081cdTAwMTlfzWNg6z15/eRcdTAwMGVTxlx1MDAwMt1jbjHmUbthkKFX/IKcVmzicUo/ra9cdTAwMTcjj8IublBcYlx1MDAxNLK4h/UmMZdcZsZ2uL2urbz/nFx1MDAwN1wil3wqV4BcdTAwMWWMI1x1MDAxOYBZbvvkxo0+21x1MDAxNvp2X+Z3+upcdTAwMGVkXHUwMDAy6SbOlVwiXHUwMDBl41x1MDAwMbH/Jl26XHUwMDE4kpK2SFx1MDAxYaVLle5cdTAwMDd0QrNGmOrVXa3lTogmWe373lxmssiFXsR/9sm+n1x1MDAxZNnKXHUwMDE4b5FBXHUwMDE3biA0iLi9aXxcdTAwMDLHTe40XHUwMDA0dr7oTlx1MDAwYlx1MDAwN05o2ZIp2ONuqlx1MDAwZfWd/ubj0ZVoI8OePk80pPPeML5cdTAwMTlcdTAwMTdcdTAwMTWAlmJ+w3lcdTAwMWXrR1x0hVx1MDAxMO7C1XBMXHUwMDA0XCLb071V/vkm6kWA11x1MDAwMkbrznn/n3zCloQpmO+LXHUwMDAygDre9u3/8XmdqYX7M1r7NfRmjrJcdTAwMWafJVx1MDAwNMPiulx1MDAwM8Mw4TQ+hHo9lFx1MDAwNsWsl7xcdTAwMGWVXHUwMDA3fy2VXHUwMDEwXHUwMDAy6ECYKKIy4Vx1MDAxMHCEokz9XCLWN1x1MDAxNyqYpyjxa1x1MDAxYfZ9an3VR9wuXHSXYCXMyb/xXHUwMDBl+lxy812tJmBMR0S/40520Vx1MDAwNfPhPuxiQTW58ruTgnefd2L9aSt8OqxcdTAwMDTEr8qHMdSap6b0vnHqNdqu3p3TwZ/V11x1MDAxN1x1MDAxMlx1MDAxYjR018Iv8lx1MDAxOC3iy6GU8+B6Xt0gnP+ZU0/HfnMqXHUwMDEx4Vx1MDAxONJarczuV+H21f25cIvfXHUwMDFmiZ0sXHUwMDFlM7VYUvl58uHHf5WklVx1MDAwN68kRr9/d35uuFF4+Gl1QJKo4067J1x1MDAxY1x1MDAxZLo71MEnT+k+oyB/o2Krxseqolx1MDAxNFs6JC05XHUwMDExXmuJdSv8KzJcdTAwMDEg0b5Z/IIwkk6q0Fx1MDAxZmpcdTAwMTO48+FcdTAwMTY8mf81Y0pSouVcdFxiNXJcdTAwMWE4y13iSe8341+ZXGbDlOKHejaJXGJcdENcdTAwMWRtp6Isl2q+8Z7Gv4X1XHUwMDAxuP9cdTAwMWTLWJY55Y8tN1x1MDAxNcgnhVxctVx1MDAwNPEpgyeLR41cdTAwMTNN7idYUqTILvuD93GwuL1hR0KdnMXPdy530TF8L4k0XHUwMDAxqH9cdTAwMDP6ViBcdTAwMWFS49S4out0KPd+zisp4VxuXHUwMDFkMobgxCzglVxyXHUwMDAwlejrOTpcdTAwMWZW6mfwXHUwMDA0J6y2XHUwMDBi3ftW2uZrsGbFLGBIupiGgrSgv4Hp5fNcdTAwMTlZXHUwMDA0/Fx0Sm3eU039xdrdI00gWSWls91cdTAwMTNdIZPeYa+Vdlx1MDAxYlHgsWGWt1x1MDAwNu9PUHFcXJT+bY17Plx1MDAxOYZcbnh6fe7Dvlx1MDAwNTs4lrYoaJ7MjJ8oui9cdTAwMGbgXHUwMDE37X9IKmlcdTAwMDRS11xmXHUwMDE28pDSb37ibtOp54dcdTAwMWKXUJNcdTAwMTFsLenhIG8vXHUwMDE1XHUwMDA2+jdcdTAwMWPBXHUwMDFhXHUwMDE3QY+Qvc+Fp/pWLWGGJeT9L3NRvGDrX+HIMqlcdTAwMDBviJ44XHUwMDE4za3ag3xcdTAwMDDZp9l7P0+MiFx0eT+9NeZ5W7GJXGJF4uWgulxu5+41gqFcdTAwMTSFR0z75mr5rFx1MDAwNI05NEu3sJWpyEfSXHUwMDBmsK6aXHUwMDFmU3vuXHUwMDBioVx1MDAxYT+2tJxxXHUwMDBmXHUwMDE061x1MDAwNvdf/Pvj6H/MWL2xhLOCl8OAWfk7Z1fBSpRjRMnUKjVDLDJcbj1ux1x1MDAwZlx1MDAxMC7xd+aWb7zGU6T5vTHGSCGSySA83pPBOD3koL/wspXJ11x1MDAwMHt/i8lcZlJfXHUwMDFiOKdcdTAwMDV+/5/2zmNXWi5L0/O6ilJOaVx071rqXHUwMDAxgVxyIPB+hjeB9yDVvTeRJbUy8/tr3oM80tGRgIOCXHUwMDE1a7/redfegLSkK4q85mCalWtmmVx1MDAxNm3mkGhcdTAwMTJN3PyPdlx1MDAwNJpvmDjjgbNHljEgI+dcdTAwMDW71P1cdTAwMDBq93tUQb30U8v1XHLHOPGX6EdcdTAwMDBnXHUwMDFlPUMj+qEkJF+3Olx1MDAxM576r+xB8NXOrz1pwlx1MDAxZFx1MDAwNIZS4Fx1MDAwZoSva0uaRFx1MDAxYZLxlPew2+Wuk1x1MDAwMvPjvUcheYjsmJ1+UFCDk8NcdTAwMDDkzrsgi1x1MDAwNo5cdTAwMTI+m1AyXHUwMDAzsF1kW0BCK7dw+fv5XHUwMDFh36hxMoFk2n/ywOeqXHUwMDE4l7s4XHUwMDE58zizY8FX8b5gOFx1MDAwMkxko2nUXHUwMDAzcVx1MDAxNKJF6dqaXFxYydxCYVx1MDAxNtxigtE4JzAhY/pQXHUwMDE3LKSxxENA3lx1MDAxNeidb62nXHUwMDEyN4tYSac4e5PHzFotPtA6XHUwMDBlnnhuXGKIXHUwMDAzXHUwMDAymVwiXG5cdFnfNJPRgUFUXHUwMDE2UKZcdTAwMWVcdTAwMWajXHUwMDAy+mF2e5o7XGJcZmTRgNP8b3Zoj1x1MDAxNu7JRsJcdTAwMDFKwfi+XHUwMDEx8Vx1MDAxYdM1h7WWlchcdTAwMDZWeF+sXHUwMDE3XHUwMDFlO0BcdTAwMDdkn4Y++NhiMX1cdTAwMDZdioxcdTAwMWR+m+GuXHSq41x1MDAxNbCnkk5cdTAwMDSPRbtpo/L9Jm3+StBql2HnTVx1MDAxYd/wyHjCcc7kj1rKsK/i51M0rI+lmDv4Q21cdTAwMDU555rA3cpE2PpZqOZYyekhXHK0SCRcdNV/PVx1MDAxZSTaXHUwMDFlQLDOLVx1MDAxZV/7lJmHw1jJR09e3eo5iH7WrGouuVx1MDAxY4pcdTAwMDORp1x1MDAwMGd1n8ParVxcfnVbVqxcdTAwMDNcdTAwMTf0XHUwMDFkfFxyvd7dTo0xXHUwMDE3ZVxuY6RcbpHnI7BsXHUwMDEw61xix65wkp3ww0PyznyJQHHojtK19Vx1MDAxMlx1MDAxYVx1MDAxM1x1MDAwMVMwXGLRjupQwu5NXCK6ymmuvkpD9feOg8HXs4czwkIgXHUwMDFlzjhcYsru4O+oTWe5+pZcIvFcdTAwMDFUPIDJ0Vx1MDAxZSSeOynYLlx1MDAwMG7vXHUwMDA2PGSM6f95PP53XHUwMDFlfYTPr6d/Z86AiYzdyTpbOGrBTPBcdTAwMDCp5NtYulwivnx6XHUwMDFjQFx1MDAwMF/LuCCgXHUwMDA0nGmzmLu231x1MDAxNCVcdTAwMDPfvHhGY+BcdTAwMWW3kllBTE3Moo7vY7C6XHUwMDE2QyZZXHUwMDEx/KUqs4meMk3INmi0wU4z58xcXKpOora93cSEL23S+D2xsfFcdTAwMTaXXHUwMDEyPMNcdTAwMWS/ME5cdTAwMTczwStnQWSTvlx1MDAwN3EnwvxJxkKPXHUwMDE15DkjoVrvx4xcdTAwMDfCd/y21ntdLT1cdTAwMTHbp1x1MDAxON3IXHUwMDE2zddcdTAwMTKio59cdTAwMDLfR8sncFxiXHUwMDAz/+/1mtD8XazRvir9tVx1MDAxZIJcdTAwMWNEhMq26diOXHUwMDE3i2rtjC/GYbPx9/DP/SmGkVx1MDAxZIFlhr5+XHUwMDAz28OgUWlS7Wdog/s28uHkfNZrxTFOric/pKl4SuJcdTAwMWWLLenHT1xyRi1cdTAwMWGYtCBcdTAwMDfgISlcdTAwMTRnxWy49eO6XFyYXkPEZTi+XHUwMDA1Pme7Z3bqnGGwXHUwMDAykO9wnvt5clNcdTAwMDeiMsS4Q57+XHUwMDFhjD5Dq6gmXHUwMDA3jW1xfkG8t/bXNZomkk1QKnhq6NNcdTAwMDRcIlunaG8yP1x1MDAwN41cdTAwMWVcdTAwMDTN52HvPX41c5LBs4Ho24L2WVwin9aAYNNlxe5rjEj0xX3DglxyqjLvt7GpMH/s19ogMIH+1z7dXHUwMDEzXHUwMDA3KVxi2Vx1MDAxMlCqgnFO8MWrhPaYXHRjtS97XCKnnm4lLNY+OuFcdTAwMGJnkEOthzr5XHUwMDBlXFwqxqJGclVBj1x1MDAxN0ZcZo++9nuoXHUwMDAwXG5TXHUwMDE32lpcdTAwMTlQ46tcdTAwMDAtNtxcdHCaLVKwVjzle4hcdTAwMTBcdTAwMTGi3lx1MDAwZXitpj0lXHUwMDEwU1sjj65NMlx1MDAwMqqKys40aEWLcGUmhGKdpnzvXHUwMDE2XHUwMDFlNmM6P4XryCnc4qRcdTAwMWRIZ079PVx1MDAwNy5q/lx1MDAwNPqEj+rP75pcdTAwMDQsaDFdqM7Zg9DULv3onI3aXHUwMDA0nsF/j5A/i5W0XHUwMDEyXHUwMDA2/Vx1MDAwYo86sI/kSlx1MDAxNHrfsyaGcsFEPLkwUVx1MDAxYrihuVx1MDAwM0BNXHUwMDE24EVLglkldU8+1szuXG44SKR1p7xcdTAwMTnZvIiUkOpcdTAwMDbk3lx1MDAwNyp6XG7Rl1x1MDAwMOaiXHUwMDAyVCNcdTAwMDa7dlXax0B/yTBuRJKSJcBMvNDngszPRonSvmb3xplkd51cdTAwMDFcblx1MDAwNqIh1zLMKbhdl1wi21ZcXHY6XGJ4PIdDNFx1MDAxOIFcdTAwMDaZcuNLM2tcdTAwMWZg6n53hj2QZ2WRP41+klJ6Ty1dLd2duH/LOjtcdTAwMDDjoWVwXHUwMDEzMMxtiU8wPPllu8WZKZhCXHUwMDBmXHUwMDAz86/9XHUwMDFmiYFe5aY0aYTj7cOSZsp28rZcdTAwMDKesIfXKddcdTAwMWSBLDygha4j5oVq7TmKt4llKK2c+i+EXHUwMDFlf++Yi/pI8MFcdTAwMWa33TkkJYipwrVXoJ9xONBdozCVXGYhVU2pkCVcdTAwMTXn7WlcdTAwMWZjqYNNMtp3W89rRPM7q2P+fFv5qGx4wlW/elx1MDAxZrlfNfGhgXu8vd/RXHUwMDA3KLLOQaNi9+TDTT7K8aJA9fDFXHUwMDA1mFpcdTAwMGJ33nBru3VcXJ2LOnnEaZ9cdTAwMTmI+a9TYzFcdTAwMWEhxEc/w2bBwSiOb1x1MDAxNJp57S1xXHUwMDExi/VcYqFopfZHT0xi+ZdZK1xyyMk48W0+PCnP71x1MDAxY+66IeWcXCJGVUY4ijjKP1x1MDAwMD9RoO7RrjngnFx1MDAwNlZcdTAwMTDgt4A7JvLlXHUwMDFmxlx1MDAxYVx1MDAwYqWu2Vx1MDAxN7JGaFx1MDAwMe1zOcyx5JHuXHUwMDA1KC3y6nPISJres7xcdTAwMDeA3Prub0VXrl641mpcdTAwMThLNcUpnliCxayYZN5Ws3yM6Hd2PHuL4V69lsev6jaFXHUwMDA2j1fDrUDXKGDm5fvAnEnxxc5T48xyI1x1MDAwMVx1MDAwMHhcdTAwMDGi61x1MDAwZdyHwVx0miEw6SVR41x1MDAxN1x1MDAxOVx1MDAxMlfC3tRcdTAwMWIlXcRGXTBcdTAwMGVQqHUph8zY7vizJ/38KUCwtjOprZ+Nb7FRXHUwMDEyXHUwMDE2zZF3vWpz1sGjIeogPUk3zOjiTfv4UJBcdTAwMDFbx2dcblNk2ZdcdD61yc3dbjhPWzD73z6gXHUwMDA1vfhcdTAwMDI0NkfE6UBaTbpHXHUwMDE23ahnWfRMbEftnuTKVYrB38hJPlx1MDAxYcSdRVxmlmxcdTAwMWXrkcvsWFwiiNdnf1x1MDAwYtd0dFx1MDAwZrPM8cRfXHUwMDFjsLO86lx1MDAxOFx0XHUwMDE2XHUwMDExTLrXWVxy5Fx1MDAxYfFcdTAwMWVcdTAwMDYs9XV2a/aGXHUwMDA2WrshQpKh/YnbgFx0zWJwf9+dm43kXFx8XGaTbSicXHUwMDBiXHUwMDAyodZcdTAwMWW024vk9teBnOP99lx1MDAxZrVFXHUwMDEw3Vx1MDAwMCaov4fW62WrdVvv4H5vqmNcdTAwMTF0zFx1MDAxZGqx9TZ1tzXiiTXS2vlcclxcc2udgVx1MDAwZbeuXHUwMDAyk364T3Y3tFx1MDAxYVx1MDAxZtHOirY+mduYXG6dvUdcdTAwMTVY5MhcdTAwMTEuoPBcdTAwMWFaJ4ByWv4tKcBW7lxi/lxi58NNqIk84qpPrIdcdTAwMTd/1U9cdTAwMDKujHHVXHUwMDEzhLdDLt3PRlx1MDAxOSzrgyHQqmnUPlx1MDAwMUr2PV63KrRcdTAwMWPJXHUwMDFjtNv0elxcesbsI2RVXHUwMDAxrclRNfGNwLNmwHpOk0h8bET12bPROYC36thcdTAwMWa28k727XAnOEv+XHR1/vxK/TVbhDzwzNx4XHUwMDA0zc3NtqhwhWyfXFyUoWbCeq2WKmxxylxiXHUwMDEwvm8wI9XHWCvuKVx1MDAwNolcdTAwMGWUwVx1MDAxNUVhNH/oV5HtmVx1MDAxYozcN3PPhk080jq9sED4L+pFMJhcdTAwMTaP58Zk5IJTYH1cdTAwMTiwxYuwfVCayDyRYoHX8tkn43h91VDclVL/zk+Z6JxmneVlnrRf3XxYXsDfb1+sUqi9rznpxzjOZO9AsGTEZo82+1x1MDAxYVFyqUe5PFx1MDAwMmE+7Y8/5rV+8TZ4hVx1MDAxOeRGZUqe70eVOSDhzEVGJYmDQ1x1MDAxY1xcSW5k8Vx1MDAxNjzOXHUwMDFmXHUwMDFkhd5cdTAwMTFxgGtuJaJjZMzx5DtSfOFoif0sXFyDWSlmvN5nfOpjRTPROzFRJb9cdTAwMDaqUGOikabXwlmfxJuDJctcdTAwMDL/XVKixYpf7XVcdTAwMWbIbOtqKND5zKTfd5mx/lx1MDAwM5CzO8KfXHUwMDE1V5/LIZJiXHUwMDFhsVx1MDAwMW2WXHUwMDA2qCueuzDD9zjqXHUwMDE0uWRDe06b8SejXHUwMDE1iDxILlx1MDAxY1x1MDAxMu+GPqtcdLdahKUjXHUwMDE1sNkzgPFsg91cdTAwMDbI0KlOOFxmqlwiPsdcdTAwMDNkR1x1MDAxYXSresvz9961x+9UN15300dcdTAwMTNWxefdl+0+fsfx9Fx1MDAwMPTbyvM5rPO4NE/8kVmKaEtzXHUwMDA2XHUwMDAwkK5Ez9CT0IVcdTAwMDPMr+K9XHUwMDAzdVxcQMOuWFx1MDAwZq7+Mb/zhD+A3Dfb5Fx1MDAxNnJcIlXKVcJaOt2GXHUwMDEyXHUwMDExXHUwMDFlpI5NvHFIKMnhwZN2pkvGv4xdn82EWFx1MDAxZjZcdHywhVx1MDAxM5PYK1x1MDAwNVxcqn6OjIiipM6ar+m6XHUwMDA29cVkcLnWQjrQXHUwMDA3g7vRg1x1MDAxN63qv/3HUN/7KMFPcclcdTAwMWJcdTAwMGVcZvySOITbgI5cdTAwMWQ+hNbzi7K5tUijJDY/6FxmXHUwMDFhjVf+glxcXHUwMDE410Gt9JaqSU7DXHUwMDFjQVx1MDAwMunPIKQgbig4QapcdTAwMTFcdTAwMDI9w0U+vl5SLUNcImuCtq9h/2CExEfE14xdb1tzvs/O9rvKXHUwMDFmen4nSFx05MnddUDu3lx1MDAwYj52XHUwMDExZX9713tcdTAwMWRo+6lYPEzqy8A32qo8IzWD3a9ppZbT+aCk612QbUrcf7nmRz5cdTAwMWV/4EtcdTAwMTT5XGaCXHUwMDE3XHUwMDFillx1MDAwYrdccmqzaXPITf6kntiKXHUwMDAyJrC2tVxubdlcYlx1MDAwZbRP2e3iOtSk7v10XHUwMDE528ejg2vKeS9cblx1MDAwYlx1MDAwMCBPVFx1MDAwMn3ZXHUwMDAxs5NoLGDwbvJx6/uv2UThOCplaX6SXHUwMDE5TSZBLmxzcvhyeXDD9vFtelx1MDAxM+fxnrBJxWVcdGZqiSkkez0q583RzCZDXHUwMDFh2tFJLmRcXLBnXHUwMDFmJ1xm4MjzXHUwMDFjzL3uOzBcdTAwMTEwS9tT7Fx1MDAwM/dB+Fm0UVx1MDAxMpY4J1x1MDAxZlx1MDAxMidyfNt6ypyc+E3kXHUwMDA0tp54XHUwMDBli3nGVG2Zyy2aS/mP59RcXLRcdTAwMTBhXCLLWVx1MDAxMrqqbVx1MDAwNSdVXHUwMDE5ifpG9cFcdTAwMDTwvVJcdTAwMTG6d4tBNtjBVv7Q2d9cdTAwMTT3232Zt+7/XHUwMDE42rDzlyWlXlx1MDAwMWpP6VBrwPbqylx1MDAxOWVPoEsogmvonj4ke4xqXHUwMDA3qpr2Pi8unHJgxkq0g1x1MDAxZvL5McA1kfnVrWWOwimFrjJeeGyUXGIs7bjeXHUwMDA0Ulx1MDAxZdtmtpaMoVx1MDAxM4Rve1X0s1x1MDAxZtI9VOq81lxys0TOpLNcdTAwMTTY0GBLd0SiXCLrXHUwMDE3hDX4liOydsC63Vx1MDAxM4g05UND9Poz8mollFx1MDAxZS7/XCJcdTAwMGWCJFUhnJqorEtcdTAwMDW0XHJcdTAwMGJadJhcbq5rmXOzJDB3Jlg26nf3XHUwMDA1jSnSU1xiPS9r19fotoO+fax6XGb7XHUwMDE47tS6INhII0QqKob8XHUwMDFjj6G5vY7D6zy7dsJcdTAwMWPcojyvocw6XG4v+LRNJJXHn761/HBcdTAwMGVfM0PRTrbBYCzLndabpVmNgNtcdTAwMTTXXyhSx1xi/8FZ9L1Cqm48RS70KOQ5M1wiODYrIeVbLd6FUO1cdTAwMDNgJ0csXHUwMDBm0/qt1T2214JcdTAwMGX776NcdO1jcifTx8CdoKstjimUIdFcdTAwMGJAkEfEb/+ud4mc3lx1MDAxOMmZflaKXHUwMDAzXHUwMDE0xVx1MDAwNMVoLCFFQ1x1MDAxN1VcboKc25X5znFNqaGocT6WwNBiXHUwMDAwynLyXHUwMDA12lpJRjtQXHUwMDFkN+tOiaVcdTAwMDZHj8zk2SxTKZxcdTAwMWZcdTAwMDJQJmNcdTAwMTLIIFx1MDAxMrY3JVx1MDAxZKi4RM3Vy2I38yk1N1bi1XLiNVwi9IyrTotcdTAwMDRS09mTbYlQJSZHgt9DXHUwMDAws2VcdTAwMDCH31x1MDAwMOZcdGPCoUXxhGApJ1x1MDAwNVFGnmhcdTAwMWaM7XQ0zvmDaIg4UUhA68f7qGmnQ4/8duUgOcGl74l9XHUwMDA2Mlrn0OVXv/6Yn3mLu/fzg+Le4ilvmVwii5ovXGJqllx1MDAwZjLhVHijL71tZnclekBiXHUwMDAyXHUwMDExto3HKlx1MDAwM9lcdTAwMWLcv2lcdTAwMDHd3Vx05pTzwlwisq7n4uqyIUZXXHUwMDBloVx1MDAwNpRcdTAwMDRMXHUwMDE1Xeb+l+hcdTAwMThcdTAwMTbUYOLKT7hcdTAwMTjrkkqE0shcdTAwMWWCNJmNw004SPruUXubrmKpdVx1MDAwNMHw5nT9XCI+XHUwMDE2gL5wcN0zJGDDqdDUjlxu4FwiwoC8P2ApXFyCXHUwMDAxpHk7WGiPslx1MDAwNP7u2NHx9FjBkMdPiPWgslxik1xctew32Fx1MDAwYlWFXHUwMDEx061wTZs0XHUwMDBlXHUwMDAy+/PzkeDGpjhcbm3yPJbzfFIgIVx1MDAxZXOzPnWKyVwiUXaOfTdcdTAwMWNcdTAwMTRI0O0+enxcdTAwMDCzuopcdTAwMTdcdTAwMDdgcfFcdTAwMDS9doV/K6dRXHKHuf5cdTAwMDRcZlx1MDAxZFxigJxcdTAwMDP/osf3JPahMe67XHUwMDFlgU5cdTAwMWVcdTAwMDDh2e8wbTK771xcgpN8LaRmx1rAKXPwXHUwMDBidC+kJWudVi72UOL3+3LzXHUwMDFiXHUwMDFlv77rXHUwMDFmmVNTI5BiXHUwMDBmJjpzXHUwMDA1aWuMvLJz3OP2tVTwoNCO885w04vPMYRJydfsXHUwMDAz1T43ee1Klc2yx4Wrhvue4fuCc+lLjFc7XHUwMDEwwVx0UrBcIr1Mdf3Ioitjhz5cdTAwMDZcdTAwMTPhjVlZ5k2z7sxcIk1cdTAwMDTaqbdRlI5gTHTmV1xycEZcdTAwMGKIX0V6TvGWXHUwMDE0n7hO6tZaT6tbjtl2RuU7xLHfWkGEu11cdTAwMTJ7o4fB2F3n0pdomi9lnVDrOCNWkvam6N0qUuIqsiDdKo/P/WzD1ESDn1Xv9i4u8JVcdTAwMGbnjUSe/Vx1MDAwMptKXHLDQ3iYkH/ssVx1MDAxZMBcIihOXHUwMDBig4hgXHUwMDEyQC9xiDRjXdZcdTAwMDM0XCLJmSRmQE/uqHUg86W/mrugft9JXHRcdTAwMDJ6bkZ/X1x1MDAwZnFcdTAwMDRcIlx1MDAxNUN73+VJXHUwMDE1rt4hNsVCt3Z3TVxiO+xAylx1MDAwN1xcwa/JXHUwMDE5XHUwMDA0MFWmcSTvk1x1MDAxZsPCPsmv8IF8I3uVsVwiXc3je6zRfYiJPtecjenrlTRyLSQrRFlcdTAwMWahTVhhnmtZ8bzktVxmuWnM7WKQ+pF6lYatXHUwMDExWO3MNefDQVx1MDAxYSTs7ek3XHUwMDA3to0uRl+zalLuu5mEu9ZcdTAwMTJJcl1cdTAwMWJXRpGVJvM8S1x1MDAxZcxcdTAwMDNcdTAwMTjbs1xmZ1xi5XpSyjdFzj7sn86RJSf5UJflheq3r7KKXHUwMDAzpXf7jvLr3iBKXHUwMDE4YcGOfaWaNUtQwdVTXHUwMDA02lsyzdfn11xci4lvv5LAXHUwMDBlgak7aW+ShE/Ttam9XHUwMDEy29R0Vv1KTfNcdTAwMThw9V1WbZ7yzV/1JynJffMvXHUwMDBilOKBksv3+1YjJs70W3h4/HTtkLPhZXH2VdF0v+7UYU+9qFx1MDAwYvpgKSC6QWdcdTAwMDUuXG6l9nnAXHUwMDE1sI+nVd8lXGY+lkvj+1x1MDAwNFdb7lZcdTAwMGJcdTAwMDSlOEliQVx1MDAwYuBr67tZv5L3XHUwMDBi0i5cdTAwMDQp0ppcXHMkqFx1MDAxYcSw0q5cdTAwMDXVI7M/hWXCkNHG/YiGslx1MDAxYmbJazborVx1MDAxMTE1mVx1MDAxNrthR417xSBMwUORXHUwMDEwyvdSlohUwl18XHUwMDE1gmpcdTAwMDH2mrbFTlx1MDAwMsKGeJLdvtu4nmTxO61sLU9K2MWhx+NcdTAwMDD6XFzFNj5Y751cdTAwMWXyhUiUQrA5tp/qvDfjklx1MDAwYnXW2qTw/Kuii630XHUwMDAwfO0oRiDg/lx1MDAxZOvaXHQ605fY2zrzYFbyjKZChiban1Kll3/h0Vx1MDAxZsTbn01UyIOVczy7OIwoXHUwMDE1ZzVcdTAwMDW4XHUwMDBlXHUwMDE5YbaSyGmcs518xS3Es4pyoVwinXxqXHUwMDBmYXmUJTfZ9PFcblx1MDAwYmyZyVx1MDAxMJOsucm1jWn1gWk9i3/vR+/g0Vx1MDAxNyos4YXL/Vx1MDAxOMP+uShokFjscTQsplx1MDAwMOSj4WhcZlx1MDAwNtw+elPFTsxiXHUwMDEwM/lbjUI553pFgqtcbpVcIpFkKnKp375SXHUwMDA1+Xav9JWMSIeFu6pXrzSwPktcdTAwMDEm4Ir7kup7k1x1MDAwMn3XhcVcYl843lx1MDAwN16lzuP/XHUwMDExXHUwMDA15oUwecaa7odcYl9R1qqgo0l+sjAr6Fx1MDAxOCc/NorRRlZs34WCit9cdTAwMGJS36hcXFVDXGZcdTAwMDJ1oFx1MDAxOda/zi0wf4+VbD460NOyqVx1MDAxM/qTt1Jgs/xZkVx1MDAxY1xcPjU7blx1MDAxZtxNVlx1MDAxY/WruShwoSHkXHUwMDE4TD9M/Hz/349cdTAwMTdUdKWZ4GM3XGZcdTAwMDY+5K47WaSH233ZUFxyXHUwMDE4mLVWw4/OO+5jsefWpFx1MDAwMDc/1Tl3c17LPdHBXHUwMDA0MG20c5JRNV99z1x1MDAxYvl6Wmt0ao5vOe09yNRcdTAwMTVV+6myseGxQlx1MDAwM1SdkrTAlfO4Mlx1MDAxNacmpyb7zNN8o5pcclximL5qX6FkyiBxrGF0yUblXG7Q5y1cdTAwMTFSPVtaXZjfmrVQiVZeJVwigNt1XsxqbPWuvrHir9bZhczXXHUwMDE0XsBCUYH1XHUwMDFlOMY903eTylx1MDAxNZNYJ05cdLxcXN1cYqGBIXC7VtRgNcOg9+WFzccjTlx1MDAxNXXWs1xyXHUwMDExLFx1MDAxN5YpwLymjVxyI5vPXFz24VFcdTAwMWZcdTAwMTTwXHUwMDE5KVx1MDAxYjczXHUwMDE1YrGNa4RcdTAwMTlAOpDh1eVcdTAwMWGcgCRqXHKFXHUwMDEyVY52wqr72lx1MDAwMKerjUjVVXqtiYyL9MLTXHUwMDAx9MJehdE673s7v9FRKvo+KK1vtuKPT0udVfTpc78xXHUwMDA3cm9wN9i/4M+fVvGH8mjTbdi/Nay8S73nujrkXHUwMDEyxFwiXHUwMDEwTjeSLFxiYVx1MDAwYvOJ+76Lb8753/xcdTAwMWWkkqaxq7tcctxanPtcdTAwMDTgtKAg2dlOSSCdXHUwMDE3/FxiJUVfyG7AyZZNVEFcdTAwMGbrvjLTXHUwMDBlLOnWV1x1MDAxM73r7y/mmz1rXHUwMDE5gvO7r0ln/nJM51xu9PhccsZnfz17XHUwMDE3eaFOIGRGK2hcdTAwMDKdO1x1MDAwN2CUXGKbpVx1MDAxM9JHen09eEb1PN3JkWZ26VKgouWupDx+1nFNgtRoTJrvQaOy4vzaUmQ25Fxua3fNdSRcdTAwMDC9Pq60nqxcclx1MDAxOchcdTAwMDOyhaM071x1MDAxZVxiI5Ba8zTaK6Rr69xcdKOtmlu5y7GLdrCQXHUwMDAyxFx1MDAxYVx1MDAwMPvG/6uYfn49Ke68R8zkzJJ9gZZcdTAwMTRcdTAwMWH5m2R7msZcdFFcdTAwMGZX++RcdTAwMDXV/ohcdTAwMWRFIDhpYT1cbu57JUhWXHUwMDEwq1x1MDAwM6prsPdUXHUwMDA3fVm2/pGb8kPLhfhcdTAwMTQhbNRgXHUwMDBlXHKNjaKxTK23oaqLXHUwMDFlnHGkgFiHaybUxEkhuZRcdTAwMTBQklxyiys2JFFcdTAwMWOUe/WPeezfZ21cdTAwMTbeZlx1MDAwNnyUn018o1xiL2N3cYjWwlx1MDAxN6XbxfdWXHUwMDFhRv3oZr60+Fx1MDAxMlbU91x1MDAxM8VZsOp4p5A9XHUwMDEyXHUwMDA2iY5uKIbp0ZdcXFxcLlx1MDAxZMihXHUwMDAweXFiQOoy473d0Vx1MDAxZGwovum3pUlgjU5/z5RDXHUwMDAziXYk95UmXHUwMDFldsOULrlFJqGf7cpNXHUwMDEzZ1x1MDAwMCSCqVx1MDAxN0tcdTAwMWJ98/7LXFx1T+a3dozV55X/U8f+6f6ozn6YPpdcdTAwMTP9teTsn+zzj+euPubvWGZcdTAwMWXI1/vPtUz/eG65bH9r431nSCTmj/tk/nVcdTAwMWS98DtWidnb/qu+8j+cO5RDnn2PPeGfh8r81Wf8h3XmL/M5durLXHUwMDBmtvHu/3T9/z1v7P/mjWWiXSjx/J+v/9+x/Xds/1x1MDAxZNt/x/b/z9iWXHUwMDA1ZVx1MDAwNCqo4lx1MDAwYmVcdTAwMTXTczbm9057T7dcdTAwMTScXHLf7//zt//1XHUwMDFm//n3n7+lc1x1MDAxZa959rf//Z8wiZA0iUAkjVH4/9vfxstq5etcXOf7n0f9/aD/+o/f73/9XyEjRVx1MDAxYiJ9 + + + + + \ No newline at end of file diff --git a/posts/From-OpenAPI-to-KarateDSL-Tests/OpenAPI2Karate.png b/posts/From-OpenAPI-to-KarateDSL-Tests/OpenAPI2Karate.png new file mode 100644 index 0000000000000000000000000000000000000000..14b31ae26b283b065f14b8f06b95e9377ff0e2ba GIT binary patch literal 115872 zcmeFZWl&vRvo4AS36_ORa0m%b(BQ${CAfv)4#6$BySrD0*M$TR?(T5sg7-aV zf9LF7_s{)#t5y|-%rQrIKi&Owj~)ce%Zj1CBzOr01%)ahF02Rz1$PPs1-*<25B#Kq z;4KgE1=?OwOc1Jk`1Ljv6e*O1@JD55oxOAf_t)#mk6tX*&1MPong^}8jh8TZ7^HeI zer9`q7_LZvVVoWZ7W{3H3aG>+VEjh8XI{Z19mtY;zq8T{qivYqY26+@zSMzq&as=PHxO%zOM5l45h&T@L6_+A?W1+-v+_QKp{o_w;ykE z0p>^qA2@OE|Nax>2i4m`X^S;P35`Me-+w|}cwqm>Eksemz1^S+&NX@SKWqRBNq%q* z|9@B-gVcwTOn{kD;b6cA_XWJLc@kzTRDV4WHSBw)rqt(!*yth>GCc#!-bidz-)Hqg2IWKZ>^Egx1= zVE3qLgY^Gl009_4Xem;62AQWlMY#ex%FmE%r1%dN+h783usVUaBzw}kxGV7fm_`3T z|0!!j3REwTT65sf=x1>Wfrox=FwaT-hq%8)fNj}bhfY85qah7=D3Lp80 znU$3I7cKAlS@r_}8zb5eS#1BIiYPP4Zd1e>NuEXY!vG$Vztc+l4?QSm0Jw>BV&)Kk z+Q%z7VDqaIspkLr!W$6qtS8@Q#Itb?09)#ytk{|ThaO0w0fdnKgAkv$!0T{DlF~x{ z<8|W8uYeagzx@Zsq#?i_ML=%~$^R3wSxJ2?|2j(*C19EahYuY8+WjBBQk*)&|GzB5 z2{;80@yma98AJ}KT*2>G@&DmNZ#Rxn{?#lUVDL~X?cryG|GNdsj((nue|PvlErSL) zKxE*zf5gp!s0d5nj^_VR(SLEmS5gq5N+jAp1NDFTJ=6P0<9~hVe^|yx2ocbA_Wz5n z|Et6G!~k~wG`{}lKQJNy6ZXHI`u{iC|Mw;ncZ8`!ZSEyzlaV^tw)c8gz9oR@if||w z?tc)?N(~@q^EtL>Q9)nNl9HzzsqdVQ!8MPL#EcqigOTF@fmI5`?)v|&-D9Ez#2b+B zc@UAD0&lNLm$>)9MoVHhI@SHHqZ$%H!Ec^nR^tNzfxTnx`#(S!1%Sbmfdql6xE#!o zKihTvjf>v=5dut6S(&he1k&$;0R zOZiStPDYEBsL!ph+j7r|c)J*Rc{{Zs?-SU8gsL094YcRTu?lgE*ZTJFAnyxe@!81H zjCH2Y(XM{W1=_qgSO`t$b~3m;;GJpr;+K??l-E!V2nl&PIW?VKP>18_SZiWo;b*Gh zU6Mw<`dSZ<`19w_q}=nMGdnxG(QF}vznh!6N_`PqW7X8I=R3h|9=9|;6-K|U-p*CH zOfHR$yRL;r4?IVYLK|U z?sZ)3&sQ0b=UJ@$aGTpx1!@~nONuqs0E{B5xaDb_3wBAmR2M#xktcy+*W_vkzTm4;?yX$DaSoV|--TgWCd ziAbzuCchop~TMEPPg07L;LMc()(Y z+Vbf&DY%q!(dI?Zq#dD?5G41!lK`M0*%Y7poD0OUfM^{|KH>-g4yh;{C59aNDxK6+ z%k5tENTu17S($b-+U>=@ia{D{zK!A+Uv}}s&@US`dnRr+2K&+bXhUO)LDlq9NP!Wr z@ot1-zV93c)59X5bTk|rGP|674kKWbWSe{yeeCVSY|v}^4?G2dJ!mo6gPx+cj{}6$ zX!8tt0NFV2y-z`tV`pXK&5diBZaXoF`w=wX{h5*qx*Qm_u-f8n4Z~Qpbh z$M%`QFnOR`YIWlP*l57|fSTUv#?X;#>nPiTsW&Jr#9rxTsYwWphCFz5bS4X~4+-2CA{|aOsHZd^~@Z5C2TSlN> zu9=YS&id$^b|~?g4B>g@aR^6nV94!!Mvv7SfRqd^W&^yuh!SsY4TN(oI1;Y$YdJo zX{HvS%sS~A4!3`+<0i697bW(%IqNj7{-Qr!rW8HjcK>m^PP)}H7T1{tB36$-;2{lq z8|2SIZA0+US(aHFNAoYVXbT4`X6E;fCb?;Lx|9nS)DMl`HySi`l5T zGK5R=SF5#iP=(xhkMm-gjE7%SZQ%zrn?wIx5x03t6gIp7e9N6csL#cQ_#2qwD`egG z$AwQxA{i2K;Ci`Q9Y8>!NkOEBM zn`g{Ie3_y|@i?>|k)@M3p>--ah~#Y|A-j!I2GBwk-)utnyofGGCOfhHut@=YKU z9b8%AriwO=NbbWHrTp0vXC4^>A#ui_v%S?4a*R|o{~#B6n5CNS37hjNHNy_?hn?oK z%tWh-*9VDk;vGZ4+Ksc^&yt9fZUb3PiYswU4{&O%H=|npm{nHba_y`6CF0IN63-&? zBTkK1QHZ^IxVn-0dKWKnm+wwTL;}%>QhH=VTzQ@fohWCBvmC-|JhSvDLEshnQ7nzv zz?yl~qj$+#N=m*!P}9r@{~mQjO^E-x&(L*J>~J1``IsDnh#*)1-L~F?RL^z7cp#wnvtu?VNkB)h;r=$#k(h(adl#IR!du-gIi~uQ zf@@7vblg52BGLK_?;vRGoYt65*i5OY<>?KE_24qqiZdFIM`c>~rScjUnwXT-@r9$dnm?S#%)sE; z%ECM@-xsFfckahg=`km^S8x9K%CmSis1%IQgKh16KNdVo!CgV)i(Zn zr2PE+Fq+WO?-;F|7FRZZY`V|!*e!~hQlni!fTKX3e`N%0D+eWR;+ZPtaRB<*-uF7l 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
+

This article was first published @medium: From OpenAPI to KarateDSL Tests with ZenWave SDK.

+
+
From OpenAPI to KarateDSL Tests with ZenWave SDK
+

From OpenAPI to KarateDSL Tests with ZenWave SDK

+

How to save time and typing by generating KarateDSL tests from OpenAPI definitions...

+

Writing tests manually can be time-consuming, especially when you’re dealing with large API payloads and multiple endpoints.

+

What if you could streamline this process and generate tests from your existing OpenAPI definitions? That’s where ZenWave SDK comes into play, helping you automate KarateDSL tests based on your OpenAPI spec.

+

In this article, we’ll explore how ZenWave SDK can help you generate comprehensive KarateDSL tests, including business flow tests that connects multiple endpoints on a single test/process, saving you both time and effort.

+

KarateDSL

+

KarateDSL is a popular framework designed for API testing and more, known for its simplicity. It allows testers to write API tests in a scripting language that includes built-in support for making HTTP calls, verifying responses, and handling complex JSON and XML assertions with minimal coding.

+

In KarateDSL JSON is kind-of native, and it's quite easy to write complex payloads and assertions in a compact way, without much boilerplate code.

+

Still it takes time and effort to bootstrap a new test from a blank page, especially when you have a large API with many endpoints and complex payloads.

+

Thanks to ZenWave SDK you can leverage the information about your API you already have in your OpenAPI definition files to generate KarateDSL tests, saving you time and typing.

+

Installing ZenWave SDK

+

ZenWave SDK is composed of a set of tools to help you convert models and APIs (including OpenAPI and AsyncAPI) into different software artifacts. It features a CLI tool and an Model Editor for IntelliJ.

+

You can install an evergreen self updating ZenWave SDK CLI using JBang:

+
jbang alias add --fresh --name=zw release@zenwave360/zenwave-sdk
+

Following these instructions for complete details about JBang and IntelliJ Editor: https://www.zenwave360.io/docs/getting-started/

+

Now you can use jbang zw to generate a complete OpenAPI definition file from your ZDL model.

+

Customers OpenAPI

+

We'll use the following OpenAPI definition file as an example. It contains a simple API for managing customers, including endpoints for creating, reading, updating, and deleting customers.

+

https://github.com/EDALearn/EDA-Playground-Online-Food-Delivery/blob/main/modules/customers/src/main/resources/apis/openapi.yml

+
Customers OpenAPI
+

With this API and ZenWave SDK we can generate KarateDSL tests that cover all the endpoints and operations defined in the OpenAPI definition file, as well as business flow tests that span multiple API calls.

+

OpenAPI to KarateDSL Generator Plugin

+

ZenWave SDK is composed of several plugins. One of them is the OpenAPIKaratePlugin, which generates KarateDSL tests from OpenAPI definitions.

+

Use the following command to generate a KarateDSL test for each operation defined in the OpenAPI definition file, grouping them by service:

+
jbang zw -p io.zenwave360.sdk.plugins.OpenAPIKaratePlugin \
specFile=src/main/resources/public/apis/openapi.yml \
targetFolder=src/test/resources \
testsPackage=io.zenwave360.example.adapters.web.tests \
groupBy=service
+

This is how the generated KarateDSL test looks like:

+ +

Generating Business Flow Tests that spans multiple API calls

+

Now we are going to use ZenWave SDK to generate a KarateDSL script skeleton that tests the complete CRUD operations for a customer, as an easy to understand example of a business flow test.

+

Notice how we are using the groupBy=businessFlow and operationIds parameters to generate a KarateDSL test that covers the complete CRUD operations for a customer.

+
jbang zw -p io.zenwave360.sdk.plugins.OpenAPIKaratePlugin \
specFile=src/main/resources/model/openapi.yml \
targetFolder=src/test/resources \
testsPackage=io.zenwave360.example.adapters.web.tests \
groupBy=businessFlow \
businessFlowTestName=CustomerCRUDTest \
operationIds=createCustomer,getCustomer,updateCustomer,deleteCustomer
+

This is how the generated KarateDSL test looks like. Now it's your time as a tester/developer to fill in the blanks and connect the data from one operation to the next one.

+ +

Run and Debug KarateDSL on VSCode (Open Source)

+

Now that you have your KarateDSL tests generated, you can run them using the KarateDSL CLI or the KarateIDE plugin for Visual Studio Code. ZenWave Karate IDE is, besides KarateLabs PRO subscription, the only free and open-source alternative to Debug KarateDSL scripts in Visual Studio Code.

+
KarateIDE
+

Read https://medium.com/@ivangsa/debugging-karatedsl-scripts-in-vscode-open-source-d7b8938f9eb4 for more details about debuging KarateDSL scripts in Visual Studio Code.

\ No newline at end of file diff --git a/posts/JHipster-As-IDL-for-AsyncAPIv2/index.html b/posts/JHipster-As-IDL-for-AsyncAPIv2/index.html index a660e6d..658df33 100644 --- a/posts/JHipster-As-IDL-for-AsyncAPIv2/index.html +++ b/posts/JHipster-As-IDL-for-AsyncAPIv2/index.html @@ -246,4 +246,4 @@

< - } \ No newline at end of file + } \ No newline at end of file diff --git a/posts/JHipster-As-IDL-for-OpenAPIv3/index.html b/posts/JHipster-As-IDL-for-OpenAPIv3/index.html index 89a9321..5a1104c 100644 --- a/posts/JHipster-As-IDL-for-OpenAPIv3/index.html +++ b/posts/JHipster-As-IDL-for-OpenAPIv3/index.html @@ -230,4 +230,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/posts/ZenWave-AsyncAPI-Code-Generator/index.html b/posts/ZenWave-AsyncAPI-Code-Generator/index.html index 329711b..8990914 100644 --- a/posts/ZenWave-AsyncAPI-Code-Generator/index.html +++ b/posts/ZenWave-AsyncAPI-Code-Generator/index.html @@ -300,4 +300,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/index.html b/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/index.html index 6854299..1739b20 100644 --- a/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/index.html +++ b/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/index.html @@ -276,4 +276,4 @@

/**/ \ No newline at end of file + } \ No newline at end of file diff --git a/sitemap/sitemap-0.xml b/sitemap/sitemap-0.xml index 93e5fb9..8e9ae77 100644 --- a/sitemap/sitemap-0.xml +++ b/sitemap/sitemap-0.xml @@ -1 +1 @@ -https://www.zenwave360.io/blog/daily0.7https://www.zenwave360.io/API-First/AsyncAPIdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/api-testing/karatedaily0.7https://www.zenwave360.io/API-First/OpenAPIdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/api-testing/spring-webtestclientdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/modeling-aggregatesdaily0.7https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-languagedaily0.7https://www.zenwave360.io/docs/event-driven-design/event-stormingdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/consuming-async-commandsdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/exposing-a-rest-apidaily0.7https://www.zenwave360.io/docs/zenwave-sdk/jpadaily0.7https://www.zenwave360.io/docs/zenwave-sdk/backend-applicationdaily0.7https://www.zenwave360.io/docs/zenwave-sdkdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/producing-domain-eventsdaily0.7https://www.zenwave360.io/docs/examples/indexdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/mongodbdaily0.7https://www.zenwave360.io/docs/event-driven-design/bounded-context-canvas/daily0.7https://www.zenwave360.io/docs/domain-modeling/business-domain-modelingdaily0.7https://www.zenwave360.io/docs/zenwave360daily0.7https://www.zenwave360.io/posts/JHipster-As-IDL-for-AsyncAPIv2/daily0.7https://www.zenwave360.io/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/daily0.7https://www.zenwave360.io/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/daily0.7https://www.zenwave360.io/posts/ZenWave-AsyncAPI-Code-Generator/daily0.7https://www.zenwave360.io/posts/JHipster-As-IDL-for-OpenAPIv3/daily0.7https://www.zenwave360.io/daily0.7https://www.zenwave360.io/docs/getting-started/daily0.7https://www.zenwave360.io/plugin-euladaily0.7https://www.zenwave360.io/page/API-First-with-AsyncAPIdaily0.7https://www.zenwave360.io/plugin/daily0.7 \ No newline at end of file +https://www.zenwave360.io/blog/daily0.7https://www.zenwave360.io/API-First/AsyncAPIdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/api-testing/karatedaily0.7https://www.zenwave360.io/docs/zenwave-sdk/api-testing/spring-webtestclientdaily0.7https://www.zenwave360.io/API-First/OpenAPIdaily0.7https://www.zenwave360.io/docs/examples/indexdaily0.7https://www.zenwave360.io/docs/getting-started/daily0.7https://www.zenwave360.io/docs/zenwave-sdk/modeling-aggregatesdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/backend-applicationdaily0.7https://www.zenwave360.io/docs/zenwave360daily0.7https://www.zenwave360.io/docs/zenwave-sdk/consuming-async-commandsdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/exposing-a-rest-apidaily0.7https://www.zenwave360.io/docs/zenwave-sdk/jpadaily0.7https://www.zenwave360.io/docs/zenwave-sdk/mongodbdaily0.7https://www.zenwave360.io/docs/zenwave-sdk/producing-domain-eventsdaily0.7https://www.zenwave360.io/docs/zenwave-sdkdaily0.7https://www.zenwave360.io/docs/event-driven-design/bounded-context-canvas/daily0.7https://www.zenwave360.io/docs/event-driven-design/event-stormingdaily0.7https://www.zenwave360.io/docs/event-driven-design/zenwave-domain-languagedaily0.7https://www.zenwave360.io/docs/domain-modeling/business-domain-modelingdaily0.7https://www.zenwave360.io/posts/API-First-with-AsyncAPI-And-ZenWave-SDK/daily0.7https://www.zenwave360.io/posts/From-OpenAPI-to-KarateDSL-Tests/daily0.7https://www.zenwave360.io/posts/JHipster-As-IDL-for-OpenAPIv3/daily0.7https://www.zenwave360.io/posts/JHipster-As-IDL-for-AsyncAPIv2/daily0.7https://www.zenwave360.io/posts/ZenWave-AsyncAPI-Code-Generator/daily0.7https://www.zenwave360.io/posts/ZenWave_ZDL_As_IDL_for_OpenAPI/daily0.7https://www.zenwave360.io/page/API-First-with-AsyncAPIdaily0.7https://www.zenwave360.io/plugin-euladaily0.7https://www.zenwave360.io/daily0.7https://www.zenwave360.io/plugin/daily0.7 \ No newline at end of file diff --git a/webpack-runtime-b637ae79bd9a61e573cc.js b/webpack-runtime-b637ae79bd9a61e573cc.js new file mode 100644 index 0000000..61b4357 --- /dev/null +++ b/webpack-runtime-b637ae79bd9a61e573cc.js @@ -0,0 +1,2 @@ +!function(){"use strict";var e,t,o,n,s,a,c,i={},r={};function d(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={id:e,loaded:!1,exports:{}};return i[e].call(o.exports,o,o.exports,d),o.loaded=!0,o.exports}d.m=i,e=[],d.O=function(t,o,n,s){if(!o){var a=1/0;for(p=0;p=s)&&Object.keys(d.O).every((function(e){return d.O[e](o[i])}))?o.splice(i--,1):(c=!1,s0&&e[p-1][2]>s;p--)e[p]=e[p-1];e[p]=[o,n,s]},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},o=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var s=Object.create(null);d.r(s);var a={};t=t||[null,o({}),o([]),o(o)];for(var c=2&n&&e;"object"==typeof c&&!~t.indexOf(c);c=o(c))Object.getOwnPropertyNames(c).forEach((function(t){a[t]=function(){return e[t]}}));return a.default=function(){return e},d.d(s,a),s},d.d=function(e,t){for(var o in t)d.o(t,o)&&!d.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce((function(t,o){return d.f[o](e,t),t}),[]))},d.u=function(e){return({6:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx",54:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx",94:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx",127:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md",137:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx",184:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md",205:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx",217:"component---smooth-doc-src-templates-posts-js",254:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx",261:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx",265:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx",402:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md",435:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md",438:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx",467:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md",503:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx",532:"styles",542:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md",591:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx",596:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx",633:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx",682:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md",716:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx",772:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx",773:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx",789:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx",811:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx",821:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx",869:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx",880:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md",938:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx",940:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx"}[e]||e)+"-"+{6:"f52a470792e8f01974f2",19:"32a4c7c1561060d4c6e8",54:"25be2730854d84c6bb41",94:"e62e033f87dd2f794ff1",127:"741eb7af54bcdcfe7fd0",137:"3bb60b3bb0051b090c85",184:"c3458087f798bd137f55",205:"a0d0c99878019ebf66e6",217:"7bc1befc86f88b8b51d4",254:"e04373b436cbc0e4911a",261:"19a290fe199802416e0c",265:"f7ff6c24371ac379093d",402:"c7132b305acf50ba1388",435:"0c818aba46627903584c",438:"ffb1ae8eb218e70e6e9a",467:"97225eead728ba1d4e29",503:"59a6a8c5fcdafbbefaf5",532:"04ab8589188b84ed378e",542:"f603b6db30d0d1723e19",591:"464984decae049fead2d",596:"fdea056af048cc28a09c",633:"2836874328ba27fc0b3e",682:"73c829bc2b7b2d4a816c",716:"888fca796e60313af3ff",772:"e07a32c6e8bca500cdc2",773:"1b9fc05a6e9976671d27",789:"61ec906e458bc8d38d5f",811:"3e0247df1eb5749958f1",821:"3827602ba58e50eedc02",869:"d5466363cf6ae7fe5c0a",880:"f75f4fec2768c2b971de",938:"ddd4956a36a91847a6f0",940:"b599555b0868fb91066c"}[e]+".js"},d.miniCssF=function(e){return"styles.3e7bd070c93523531fef.css"},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n={},s="website:",d.l=function(e,t,o,a){if(n[e])n[e].push(t);else{var c,i;if(void 0!==o)for(var r=document.getElementsByTagName("script"),p=0;p 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"website:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t658: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"532\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"6\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx\",\"54\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx\",\"94\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx\",\"127\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md\",\"137\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx\",\"184\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md\",\"205\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx\",\"217\":\"component---smooth-doc-src-templates-posts-js\",\"254\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx\",\"261\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx\",\"265\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx\",\"402\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md\",\"435\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md\",\"438\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx\",\"467\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md\",\"503\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx\",\"532\":\"styles\",\"542\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md\",\"591\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx\",\"596\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx\",\"633\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx\",\"682\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md\",\"716\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx\",\"772\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx\",\"773\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx\",\"789\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx\",\"811\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx\",\"821\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx\",\"869\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx\",\"880\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md\",\"938\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx\",\"940\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx\"}[chunkId] || chunkId) + \"-\" + {\"6\":\"f52a470792e8f01974f2\",\"19\":\"32a4c7c1561060d4c6e8\",\"54\":\"25be2730854d84c6bb41\",\"94\":\"e62e033f87dd2f794ff1\",\"127\":\"741eb7af54bcdcfe7fd0\",\"137\":\"3bb60b3bb0051b090c85\",\"184\":\"c3458087f798bd137f55\",\"205\":\"a0d0c99878019ebf66e6\",\"217\":\"7bc1befc86f88b8b51d4\",\"254\":\"e04373b436cbc0e4911a\",\"261\":\"19a290fe199802416e0c\",\"265\":\"f7ff6c24371ac379093d\",\"402\":\"c7132b305acf50ba1388\",\"435\":\"0c818aba46627903584c\",\"438\":\"ffb1ae8eb218e70e6e9a\",\"467\":\"97225eead728ba1d4e29\",\"503\":\"59a6a8c5fcdafbbefaf5\",\"532\":\"04ab8589188b84ed378e\",\"542\":\"f603b6db30d0d1723e19\",\"591\":\"464984decae049fead2d\",\"596\":\"fdea056af048cc28a09c\",\"633\":\"2836874328ba27fc0b3e\",\"682\":\"73c829bc2b7b2d4a816c\",\"716\":\"888fca796e60313af3ff\",\"772\":\"e07a32c6e8bca500cdc2\",\"773\":\"1b9fc05a6e9976671d27\",\"789\":\"61ec906e458bc8d38d5f\",\"811\":\"3e0247df1eb5749958f1\",\"821\":\"3827602ba58e50eedc02\",\"869\":\"d5466363cf6ae7fe5c0a\",\"880\":\"f75f4fec2768c2b971de\",\"938\":\"ddd4956a36a91847a6f0\",\"940\":\"b599555b0868fb91066c\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"3e7bd070c93523531fef\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwebsite\"] = self[\"webpackChunkwebsite\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","Error","code","request","createStylesheet","miniCss","installedChunks","installedChunkData","test","promise","error","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack-runtime-f05823ddcda14387e807.js b/webpack-runtime-f05823ddcda14387e807.js deleted file mode 100644 index 3450ae8..0000000 --- a/webpack-runtime-f05823ddcda14387e807.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(){"use strict";var e,t,o,n,s,a,c,i={},r={};function d(e){var t=r[e];if(void 0!==t)return t.exports;var o=r[e]={id:e,loaded:!1,exports:{}};return i[e].call(o.exports,o,o.exports,d),o.loaded=!0,o.exports}d.m=i,e=[],d.O=function(t,o,n,s){if(!o){var a=1/0;for(p=0;p=s)&&Object.keys(d.O).every((function(e){return d.O[e](o[i])}))?o.splice(i--,1):(c=!1,s0&&e[p-1][2]>s;p--)e[p]=e[p-1];e[p]=[o,n,s]},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},o=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,n){if(1&n&&(e=this(e)),8&n)return e;if("object"==typeof e&&e){if(4&n&&e.__esModule)return e;if(16&n&&"function"==typeof e.then)return e}var s=Object.create(null);d.r(s);var a={};t=t||[null,o({}),o([]),o(o)];for(var c=2&n&&e;"object"==typeof c&&!~t.indexOf(c);c=o(c))Object.getOwnPropertyNames(c).forEach((function(t){a[t]=function(){return e[t]}}));return a.default=function(){return e},d.d(s,a),s},d.d=function(e,t){for(var o in t)d.o(t,o)&&!d.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce((function(t,o){return d.f[o](e,t),t}),[]))},d.u=function(e){return({6:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx",54:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx",127:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md",137:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx",184:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md",205:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx",217:"component---smooth-doc-src-templates-posts-js",254:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx",261:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx",265:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx",402:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md",435:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md",438:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx",467:"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md",503:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx",532:"styles",542:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md",591:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx",596:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx",633:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx",682:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md",716:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx",772:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx",773:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx",789:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx",811:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx",821:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx",869:"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx",880:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md",938:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx",940:"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx"}[e]||e)+"-"+{6:"ee3d00ad136162ab61fd",19:"32a4c7c1561060d4c6e8",54:"e8a6e4a6b211283a5c18",127:"741eb7af54bcdcfe7fd0",137:"0e3ad3292a03d9a22129",184:"c3458087f798bd137f55",205:"5dfea7aa350e3c4afd04",217:"7bc1befc86f88b8b51d4",254:"ed66d15e91c452bbffd4",261:"ae36b694942129a5586f",265:"9bc708fdfec483add1b7",402:"c7132b305acf50ba1388",435:"0c818aba46627903584c",438:"3a30d098aca25a16d4f6",467:"97225eead728ba1d4e29",503:"59a6a8c5fcdafbbefaf5",532:"04ab8589188b84ed378e",542:"f603b6db30d0d1723e19",591:"4b082355caa99c2b85fa",596:"4d99b8c883418132ee79",633:"968fbdefe46e2479867d",682:"73c829bc2b7b2d4a816c",716:"feebdfb4856197c2d53a",772:"3f9a322a85003f0b3c2c",773:"73dea327fe27ecff2730",789:"3ed83e9247dbc2c15ab0",811:"bdd281a7488454d08f0e",821:"21b2045dd9265ccd6f3c",869:"e683ee7cdc9531942c0f",880:"f75f4fec2768c2b971de",938:"ddd4956a36a91847a6f0",940:"7c1598de38ab04ef390c"}[e]+".js"},d.miniCssF=function(e){return"styles.3e7bd070c93523531fef.css"},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n={},s="website:",d.l=function(e,t,o,a){if(n[e])n[e].push(t);else{var c,i;if(void 0!==o)for(var r=document.getElementsByTagName("script"),p=0;p 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"website:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t658: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"532\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + ({\"6\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx\",\"54\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx\",\"127\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md\",\"137\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx\",\"184\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md\",\"205\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx\",\"217\":\"component---smooth-doc-src-templates-posts-js\",\"254\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx\",\"261\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx\",\"265\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx\",\"402\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md\",\"435\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md\",\"438\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx\",\"467\":\"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md\",\"503\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx\",\"532\":\"styles\",\"542\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md\",\"591\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx\",\"596\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx\",\"633\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx\",\"682\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md\",\"716\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx\",\"772\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx\",\"773\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx\",\"789\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx\",\"811\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx\",\"821\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx\",\"869\":\"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx\",\"880\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md\",\"938\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx\",\"940\":\"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx\"}[chunkId] || chunkId) + \"-\" + {\"6\":\"ee3d00ad136162ab61fd\",\"19\":\"32a4c7c1561060d4c6e8\",\"54\":\"e8a6e4a6b211283a5c18\",\"127\":\"741eb7af54bcdcfe7fd0\",\"137\":\"0e3ad3292a03d9a22129\",\"184\":\"c3458087f798bd137f55\",\"205\":\"5dfea7aa350e3c4afd04\",\"217\":\"7bc1befc86f88b8b51d4\",\"254\":\"ed66d15e91c452bbffd4\",\"261\":\"ae36b694942129a5586f\",\"265\":\"9bc708fdfec483add1b7\",\"402\":\"c7132b305acf50ba1388\",\"435\":\"0c818aba46627903584c\",\"438\":\"3a30d098aca25a16d4f6\",\"467\":\"97225eead728ba1d4e29\",\"503\":\"59a6a8c5fcdafbbefaf5\",\"532\":\"04ab8589188b84ed378e\",\"542\":\"f603b6db30d0d1723e19\",\"591\":\"4b082355caa99c2b85fa\",\"596\":\"4d99b8c883418132ee79\",\"633\":\"968fbdefe46e2479867d\",\"682\":\"73c829bc2b7b2d4a816c\",\"716\":\"feebdfb4856197c2d53a\",\"772\":\"3f9a322a85003f0b3c2c\",\"773\":\"73dea327fe27ecff2730\",\"789\":\"3ed83e9247dbc2c15ab0\",\"811\":\"bdd281a7488454d08f0e\",\"821\":\"21b2045dd9265ccd6f3c\",\"869\":\"e683ee7cdc9531942c0f\",\"880\":\"f75f4fec2768c2b971de\",\"938\":\"ddd4956a36a91847a6f0\",\"940\":\"7c1598de38ab04ef390c\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"3e7bd070c93523531fef\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwebsite\"] = self[\"webpackChunkwebsite\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","loadStylesheet","installedCssChunks","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","linkTag","errorType","realHref","err","Error","code","request","createStylesheet","miniCss","installedChunks","installedChunkData","test","promise","error","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack.stats.json b/webpack.stats.json index 79e4c4f..1c6c79e 100644 --- a/webpack.stats.json +++ b/webpack.stats.json @@ -1 +1 @@ -{"name":"build-javascript","namedChunkGroups":{"polyfill":{"name":"polyfill","assets":[{"name":"webpack-runtime-f05823ddcda14387e807.js","size":10622},{"name":"polyfill-d53eaea3fb5a063f1232.js","size":85013}],"filteredAssets":0,"assetsSize":95635,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":237810},"app":{"name":"app","assets":[{"name":"webpack-runtime-f05823ddcda14387e807.js","size":10622},{"name":"styles.3e7bd070c93523531fef.css","size":15809},{"name":"framework-3d3a7efca4dd5226a42b.js","size":141400},{"name":"43ccf438-32e6d1cf4e6e55d1245f.js","size":458},{"name":"abba1267-b3ca71b6c3dd5e2149cb.js","size":4959},{"name":"bac1b955-e61624bc5e5c6716a653.js","size":169832},{"name":"app-406129d1921e7b710a5d.js","size":953828}],"filteredAssets":0,"assetsSize":1296908,"filteredAuxiliaryAssets":6,"auxiliaryAssetsSize":5928785},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md-f75f4fec2768c2b971de.js","size":19336}],"filteredAssets":0,"assetsSize":19336,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":32523},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md-0c818aba46627903584c.js","size":3364}],"filteredAssets":0,"assetsSize":3364,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":7005},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-21b2045dd9265ccd6f3c.js","size":17594}],"filteredAssets":0,"assetsSize":17594,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":32361},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx-ddd4956a36a91847a6f0.js","size":13444}],"filteredAssets":0,"assetsSize":13444,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":19006},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-9bc708fdfec483add1b7.js","size":10599}],"filteredAssets":0,"assetsSize":10599,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":21343},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-4d99b8c883418132ee79.js","size":18540}],"filteredAssets":0,"assetsSize":18540,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":34505},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-4b082355caa99c2b85fa.js","size":32880}],"filteredAssets":0,"assetsSize":32880,"filteredAuxiliaryAssets":25,"auxiliaryAssetsSize":7161387},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-e8a6e4a6b211283a5c18.js","size":49753}],"filteredAssets":0,"assetsSize":49753,"filteredAuxiliaryAssets":4,"auxiliaryAssetsSize":2872775},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-968fbdefe46e2479867d.js","size":9541}],"filteredAssets":0,"assetsSize":9541,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":20350},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-5dfea7aa350e3c4afd04.js","size":24694}],"filteredAssets":0,"assetsSize":24694,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":43249},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-73dea327fe27ecff2730.js","size":49661}],"filteredAssets":0,"assetsSize":49661,"filteredAuxiliaryAssets":4,"auxiliaryAssetsSize":824135},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-bdd281a7488454d08f0e.js","size":23573}],"filteredAssets":0,"assetsSize":23573,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":41870},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-ed66d15e91c452bbffd4.js","size":29229}],"filteredAssets":0,"assetsSize":29229,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":98042},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-7c1598de38ab04ef390c.js","size":23396}],"filteredAssets":0,"assetsSize":23396,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":41447},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx-59a6a8c5fcdafbbefaf5.js","size":7183}],"filteredAssets":0,"assetsSize":7183,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":11516},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js","size":25331}],"filteredAssets":0,"assetsSize":25331,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":43548},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js","size":37221}],"filteredAssets":0,"assetsSize":37221,"filteredAuxiliaryAssets":10,"auxiliaryAssetsSize":1818199},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx","assets":[{"name":"styles.3e7bd070c93523531fef.css","size":15809},{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js","size":75791}],"filteredAssets":0,"assetsSize":91600,"filteredAuxiliaryAssets":6,"auxiliaryAssetsSize":686634},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js","size":19250}],"filteredAssets":0,"assetsSize":19250,"filteredAuxiliaryAssets":7,"auxiliaryAssetsSize":1387326},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js","size":7953}],"filteredAssets":0,"assetsSize":7953,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":43724},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md-97225eead728ba1d4e29.js","size":27828}],"filteredAssets":0,"assetsSize":27828,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":46344},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js","size":66287}],"filteredAssets":0,"assetsSize":66287,"filteredAuxiliaryAssets":9,"auxiliaryAssetsSize":2590763},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md-c3458087f798bd137f55.js","size":3323}],"filteredAssets":0,"assetsSize":3323,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":7130},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js","size":10943}],"filteredAssets":0,"assetsSize":10943,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":249730},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md-741eb7af54bcdcfe7fd0.js","size":24896}],"filteredAssets":0,"assetsSize":24896,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":40519},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md-73c829bc2b7b2d4a816c.js","size":8623}],"filteredAssets":0,"assetsSize":8623,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":14572},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md-c7132b305acf50ba1388.js","size":5972}],"filteredAssets":0,"assetsSize":5972,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":10316},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md-f603b6db30d0d1723e19.js","size":26117}],"filteredAssets":0,"assetsSize":26117,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":39298},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js","size":21985}],"filteredAssets":0,"assetsSize":21985,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":39177},"component---smooth-doc-src-templates-posts-js":{"name":"component---smooth-doc-src-templates-posts-js","assets":[{"name":"component---smooth-doc-src-templates-posts-js-7bc1befc86f88b8b51d4.js","size":1371}],"filteredAssets":0,"assetsSize":1371,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":4190}},"assetsByChunkName":{"polyfill":["webpack-runtime-f05823ddcda14387e807.js","polyfill-d53eaea3fb5a063f1232.js"],"app":["webpack-runtime-f05823ddcda14387e807.js","styles.3e7bd070c93523531fef.css","framework-3d3a7efca4dd5226a42b.js","43ccf438-32e6d1cf4e6e55d1245f.js","abba1267-b3ca71b6c3dd5e2149cb.js","bac1b955-e61624bc5e5c6716a653.js","app-406129d1921e7b710a5d.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md-f75f4fec2768c2b971de.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md-0c818aba46627903584c.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-21b2045dd9265ccd6f3c.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx-ddd4956a36a91847a6f0.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-9bc708fdfec483add1b7.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-4d99b8c883418132ee79.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-4b082355caa99c2b85fa.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-e8a6e4a6b211283a5c18.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-968fbdefe46e2479867d.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-5dfea7aa350e3c4afd04.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-73dea327fe27ecff2730.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-bdd281a7488454d08f0e.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-ed66d15e91c452bbffd4.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-7c1598de38ab04ef390c.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx-59a6a8c5fcdafbbefaf5.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-feebdfb4856197c2d53a.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-3f9a322a85003f0b3c2c.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx":["styles.3e7bd070c93523531fef.css","component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-3a30d098aca25a16d4f6.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-3ed83e9247dbc2c15ab0.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-ee3d00ad136162ab61fd.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md-97225eead728ba1d4e29.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-ae36b694942129a5586f.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md-c3458087f798bd137f55.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-0e3ad3292a03d9a22129.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md-741eb7af54bcdcfe7fd0.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md-73c829bc2b7b2d4a816c.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md-c7132b305acf50ba1388.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md-f603b6db30d0d1723e19.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-e683ee7cdc9531942c0f.js"],"component---smooth-doc-src-templates-posts-js":["component---smooth-doc-src-templates-posts-js-7bc1befc86f88b8b51d4.js"]},"childAssetsByChunkName":{}} \ No newline at end of file +{"name":"build-javascript","namedChunkGroups":{"polyfill":{"name":"polyfill","assets":[{"name":"webpack-runtime-b637ae79bd9a61e573cc.js","size":10831},{"name":"polyfill-d53eaea3fb5a063f1232.js","size":85013}],"filteredAssets":0,"assetsSize":95844,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":238055},"app":{"name":"app","assets":[{"name":"webpack-runtime-b637ae79bd9a61e573cc.js","size":10831},{"name":"styles.3e7bd070c93523531fef.css","size":15809},{"name":"framework-3d3a7efca4dd5226a42b.js","size":141400},{"name":"43ccf438-32e6d1cf4e6e55d1245f.js","size":458},{"name":"abba1267-b3ca71b6c3dd5e2149cb.js","size":4959},{"name":"bac1b955-e61624bc5e5c6716a653.js","size":169832},{"name":"app-d9ab9c44c5fe2ea75a4e.js","size":954042}],"filteredAssets":0,"assetsSize":1297331,"filteredAuxiliaryAssets":6,"auxiliaryAssetsSize":5929637},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md-f75f4fec2768c2b971de.js","size":19336}],"filteredAssets":0,"assetsSize":19336,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":32523},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md-0c818aba46627903584c.js","size":3364}],"filteredAssets":0,"assetsSize":3364,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":7005},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-3827602ba58e50eedc02.js","size":18698}],"filteredAssets":0,"assetsSize":18698,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":35779},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx-ddd4956a36a91847a6f0.js","size":13444}],"filteredAssets":0,"assetsSize":13444,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":19006},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-f7ff6c24371ac379093d.js","size":11703}],"filteredAssets":0,"assetsSize":11703,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":24771},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-fdea056af048cc28a09c.js","size":19644}],"filteredAssets":0,"assetsSize":19644,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":37923},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-464984decae049fead2d.js","size":33984}],"filteredAssets":0,"assetsSize":33984,"filteredAuxiliaryAssets":25,"auxiliaryAssetsSize":7164815},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-25be2730854d84c6bb41.js","size":50857}],"filteredAssets":0,"assetsSize":50857,"filteredAuxiliaryAssets":4,"auxiliaryAssetsSize":2876202},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-2836874328ba27fc0b3e.js","size":10645}],"filteredAssets":0,"assetsSize":10645,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":23778},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-a0d0c99878019ebf66e6.js","size":25798}],"filteredAssets":0,"assetsSize":25798,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":46678},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-1b9fc05a6e9976671d27.js","size":50765}],"filteredAssets":0,"assetsSize":50765,"filteredAuxiliaryAssets":4,"auxiliaryAssetsSize":827563},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-3e0247df1eb5749958f1.js","size":24677}],"filteredAssets":0,"assetsSize":24677,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":45299},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-e04373b436cbc0e4911a.js","size":30333}],"filteredAssets":0,"assetsSize":30333,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":101471},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-b599555b0868fb91066c.js","size":24500}],"filteredAssets":0,"assetsSize":24500,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":44876},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx-59a6a8c5fcdafbbefaf5.js","size":7183}],"filteredAssets":0,"assetsSize":7183,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":11516},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js","size":26435}],"filteredAssets":0,"assetsSize":26435,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":46977},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js","size":38325}],"filteredAssets":0,"assetsSize":38325,"filteredAuxiliaryAssets":10,"auxiliaryAssetsSize":1821627},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx","assets":[{"name":"styles.3e7bd070c93523531fef.css","size":15809},{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js","size":76895}],"filteredAssets":0,"assetsSize":92704,"filteredAuxiliaryAssets":6,"auxiliaryAssetsSize":690023},"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx":{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx","assets":[{"name":"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js","size":20354}],"filteredAssets":0,"assetsSize":20354,"filteredAuxiliaryAssets":7,"auxiliaryAssetsSize":1390754},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js","size":9057}],"filteredAssets":0,"assetsSize":9057,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":47160},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md-97225eead728ba1d4e29.js","size":27828}],"filteredAssets":0,"assetsSize":27828,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":46344},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js","size":67391}],"filteredAssets":0,"assetsSize":67391,"filteredAuxiliaryAssets":9,"auxiliaryAssetsSize":2594193},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md-c3458087f798bd137f55.js","size":3323}],"filteredAssets":0,"assetsSize":3323,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":7130},"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx":{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx","assets":[{"name":"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js","size":12047}],"filteredAssets":0,"assetsSize":12047,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":253156},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md-741eb7af54bcdcfe7fd0.js","size":24896}],"filteredAssets":0,"assetsSize":24896,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":40519},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js","size":21267}],"filteredAssets":0,"assetsSize":21267,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":39275},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md-73c829bc2b7b2d4a816c.js","size":8623}],"filteredAssets":0,"assetsSize":8623,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":14572},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md-c7132b305acf50ba1388.js","size":5972}],"filteredAssets":0,"assetsSize":5972,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":10316},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md-f603b6db30d0d1723e19.js","size":26117}],"filteredAssets":0,"assetsSize":26117,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":39298},"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx":{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx","assets":[{"name":"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js","size":23089}],"filteredAssets":0,"assetsSize":23089,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":42606},"component---smooth-doc-src-templates-posts-js":{"name":"component---smooth-doc-src-templates-posts-js","assets":[{"name":"component---smooth-doc-src-templates-posts-js-7bc1befc86f88b8b51d4.js","size":1371}],"filteredAssets":0,"assetsSize":1371,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":4190}},"assetsByChunkName":{"polyfill":["webpack-runtime-b637ae79bd9a61e573cc.js","polyfill-d53eaea3fb5a063f1232.js"],"app":["webpack-runtime-b637ae79bd9a61e573cc.js","styles.3e7bd070c93523531fef.css","framework-3d3a7efca4dd5226a42b.js","43ccf438-32e6d1cf4e6e55d1245f.js","abba1267-b3ca71b6c3dd5e2149cb.js","bac1b955-e61624bc5e5c6716a653.js","app-d9ab9c44c5fe2ea75a4e.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-async-api-md-f75f4fec2768c2b971de.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-first-open-api-md-0c818aba46627903584c.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-karate-mdx-3827602ba58e50eedc02.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-api-testing-spring-web-test-client-mdx-ddd4956a36a91847a6f0.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-bounded-context-canvas-mdx-f7ff6c24371ac379093d.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-business-domain-modeling-mdx-fdea056af048cc28a09c.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-event-storming-mdx-464984decae049fead2d.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-ddd-zdl-domain-language-mdx-25be2730854d84c6bb41.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-examples-index-mdx-2836874328ba27fc0b3e.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-aggregates-mdx-a0d0c99878019ebf66e6.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-backend-application-mdx-1b9fc05a6e9976671d27.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-consuming-async-commands-mdx-3e0247df1eb5749958f1.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-exposing-rest-api-mdx-e04373b436cbc0e4911a.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-jpa-mdx-b599555b0868fb91066c.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-mongodb-mdx-59a6a8c5fcdafbbefaf5.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-producing-events-mdx-888fca796e60313af3ff.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-sdk-zen-wave-sdk-mdx-e07a32c6e8bca500cdc2.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx":["styles.3e7bd070c93523531fef.css","component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-getting-started-mdx-ffb1ae8eb218e70e6e9a.js"],"component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx":["component---smooth-doc-src-templates-doc-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-docs-zen-wave-360-zen-wave-360-mdx-61ec906e458bc8d38d5f.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-smooth-doc-pages-404-mdx-f52a470792e8f01974f2.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-api-first-async-api-md-97225eead728ba1d4e29.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-index-mdx-19a290fe199802416e0c.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-eula-md-c3458087f798bd137f55.js"],"component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx":["component---smooth-doc-src-templates-page-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-plugin-mdx-3bb60b3bb0051b090c85.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-api-first-with-async-api-and-zen-wave-sdk-md-741eb7af54bcdcfe7fd0.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-from-open-api-to-karate-dsl-tests-mdx-e62e033f87dd2f794ff1.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-async-ap-iv-2-md-73c829bc2b7b2d4a816c.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-j-hipster-as-idl-for-open-ap-iv-3-md-c7132b305acf50ba1388.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-async-api-code-generator-md-f603b6db30d0d1723e19.js"],"component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx":["component---smooth-doc-src-templates-post-js-content-file-path-c-users-ivangsa-workspace-zenwave-zen-wave-360-github-io-website-pages-posts-zen-wave-zdl-as-idl-for-open-api-mdx-d5466363cf6ae7fe5c0a.js"],"component---smooth-doc-src-templates-posts-js":["component---smooth-doc-src-templates-posts-js-7bc1befc86f88b8b51d4.js"]},"childAssetsByChunkName":{}} \ No newline at end of file

{& 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 literal 0 HcmV?d00001 diff --git a/posts/From-OpenAPI-to-KarateDSL-Tests/index.html b/posts/From-OpenAPI-to-KarateDSL-Tests/index.html new file mode 100644 index 0000000..fd6d489 --- /dev/null +++ b/posts/From-OpenAPI-to-KarateDSL-Tests/index.html @@ -0,0 +1,263 @@ +From OpenAPI to KarateDSL Tests with ZenWave SDK - ZenWave 360º